019c0ea9-097d-7034-a546-1aa22ef5db1b
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 |
|---|---|---|---|---|
| 42089 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 42090 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 42091 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 42092 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 42093 | capability.graph | complete | 1 / 3 | 2 months ago |
| 42094 | detector.run | complete | 1 / 3 | 2 months ago |
| 42095 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42450 | report.consolidate | complete | 1 / 6 | 2 months ago |
| 42451 | tool.slither | complete | 1 / 2 | 2 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-aysfg4pa)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-aysfg4pa)
Position.editDefaultPosition(ISetToken,address,uint256) (contracts/Contract.sol#1514-1532) uses a dangerous strict equality:
- isPositionFound && _newUnit == 0 (contracts/Contract.sol#1522)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities
Reentrancy in SetToken.removeModule(address) (contracts/Contract.sol#2188-2199):
External calls:
- IModule(_module).removeModule() (contracts/Contract.sol#2191-2193)
State variables written after the call(s):
- moduleStates[_module] = ISetToken.ModuleState.NONE (contracts/Contract.sol#2193-2195)
SetToken.moduleStates (contracts/Contract.sol#1944-1945) can be used in cross function reentrancies:
- SetToken._validateOnlyModule() (contracts/Contract.sol#2469-2476)
- SetToken.addModule(address) (contracts/Contract.sol#2172-2183)
- SetToken.constructor(address[],int256[],address[],IController,address,string,string) (contracts/Contract.sol#1996-2012)
- SetToken.initializeModule() (contracts/Contract.sol#2217-2228)
- SetToken.isInitializedModule(address) (contracts/Contract.sol#2277-2281)
- SetToken.isPendingModule(address) (contracts/Contract.sol#2281-2286)
- SetToken.moduleStates (contracts/Contract.sol#1944-1945)
- SetToken.removeModule(address) (contracts/Contract.sol#2188-2199)
- SetToken.removePendingModule(address) (contracts/Contract.sol#2201-2209)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1
SetToken._getPositionCount().positionCount (contracts/Contract.sol#2444) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
SetToken.constructor(address[],int256[],address[],IController,address,string,string)._name (contracts/Contract.sol#1999) shadows:
- ERC20._name (contracts/Contract.sol#466) (state variable)
SetToken.constructor(address[],int256[],address[],IController,address,string,string)._symbol (contracts/Contract.sol#2000) shadows:
- ERC20._symbol (contracts/Contract.sol#466-468) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
SetToken.constructor(address[],int256[],address[],IController,address,string,string)._manager (contracts/Contract.sol#1999) lacks a zero-check on :
- manager = _manager (contracts/Contract.sol#2001-2002)
SetToken.setManager(address)._manager (contracts/Contract.sol#2236) lacks a zero-check on :
- manager = _manager (contracts/Contract.sol#2238)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation
Reentrancy in SetToken.invoke(address,uint256,bytes) (contracts/Contract.sol#2021-2026):
External calls:
- _returnValue = _target.functionCallWithValue(_data,_value) (contracts/Contract.sol#2024-2025)
Event emitted after the call(s):
- Invoked(_target,_value,_data,_returnValue) (contracts/Contract.sol#2025-2026)
Reentrancy in SetToken.removeModule(address) (contracts/Contract.sol#2188-2199):
External calls:
- IModule(_module).removeModule() (contracts/Contract.sol#2191-2193)
Event emitted after the call(s):
- ModuleRemoved(_module) (contracts/Contract.sol#2199)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
Address.isContract(address) (contracts/Contract.sol#25-35) uses assembly
- INLINE ASM (contracts/Contract.sol#34-35)
Address._verifyCallResult(bool,bytes,string) (contracts/Contract.sol#145-160) uses assembly
- INLINE ASM (contracts/Contract.sol#155-158)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
Context._msgData() (contracts/Contract.sol#183-190) is never used and should be removed
ERC20._setupDecimals(uint8) (contracts/Contract.sol#709-711) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
Version constraint 0.6.10 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching
- EmptyByteArrayCopy
- DynamicArrayCleanup.
It is used by:
- 0.6.10 (contracts/Contract.sol#1835)
solc-0.6.10 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
Low level call in Address.sendValue(address,uint256) (contracts/Contract.sol#53-60):
- (success,None) = recipient.call{value: amount}() (contracts/Contract.sol#58-59)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (contracts/Contract.sol#112-121):
- (success,returndata) = target.call{value: value}(data) (contracts/Contract.sol#118-120)
Low level call in Address.functionStaticCall(address,bytes,string) (contracts/Contract.sol#136-145):
- (success,returndata) = target.staticcall(data) (contracts/Contract.sol#142)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
Parameter Position.hasDefaultPosition(ISetToken,address)._setToken (contracts/Contract.sol#1463-1465) is not in mixedCase
Parameter Position.hasDefaultPosition(ISetToken,address)._component (contracts/Contract.sol#1465) is not in mixedCase
Parameter Position.hasExternalPosition(ISetToken,address)._setToken (contracts/Contract.sol#1469) is not in mixedCase
Parameter Position.hasExternalPosition(ISetToken,address)._component (contracts/Contract.sol#1469-1471) is not in mixedCase
Parameter Position.hasSufficientDefaultUnits(ISetToken,address,uint256)._setToken (contracts/Contract.sol#1480) is not in mixedCase
Parameter Position.hasSufficientDefaultUnits(ISetToken,address,uint256)._component (contracts/Contract.sol#1480) is not in mixedCase
Parameter Position.hasSufficientDefaultUnits(ISetToken,address,uint256)._unit (contracts/Contract.sol#1480) is not in mixedCase
Parameter Position.hasSufficientExternalUnits(ISetToken,address,address,uint256)._setToken (contracts/Contract.sol#1493) is not in mixedCase
Parameter Position.hasSufficientExternalUnits(ISetToken,address,address,uint256)._component (contracts/Contract.sol#1493) is not in mixedCase
Parameter Position.hasSufficientExternalUnits(ISetToken,address,address,uint256)._positionModule (contracts/Contract.sol#1493) is not in mixedCase
Parameter Position.hasSufficientExternalUnits(ISetToken,address,address,uint256)._unit (contracts/Contract.sol#1493-1495) is not in mixedCase
Parameter Position.editDefaultPosition(ISetToken,address,uint256)._setToken (contracts/Contract.sol#1514) is not in mixedCase
Parameter Position.editDefaultPosition(ISetToken,address,uint256)._component (contracts/Contract.sol#1514) is not in mixedCase
Parameter Position.editDefaultPosition(ISetToken,address,uint256)._newUnit (contracts/Contract.sol#1514) is not in mixedCase
Parameter Position.editExternalPosition(ISetToken,address,address,int256,bytes)._setToken (contracts/Contract.sol#1557) is not in mixedCase
Parameter Position.editExternalPosition(ISetToken,address,address,int256,bytes)._component (contracts/Contract.sol#1557) is not in mixedCase
Parameter Position.editExternalPosition(ISetToken,address,address,int256,bytes)._module (contracts/Contract.sol#1558) is not in mixedCase
Parameter Position.editExternalPosition(ISetToken,address,address,int256,bytes)._newUnit (contracts/Contract.sol#1558) is not in mixedCase
Parameter Position.editExternalPosition(ISetToken,address,address,int256,bytes)._data (contracts/Contract.sol#1558) is not in mixedCase
Parameter Position.getDefaultTotalNotional(uint256,uint256)._setTokenSupply (contracts/Contract.sol#1593) is not in mixedCase
Parameter Position.getDefaultTotalNotional(uint256,uint256)._positionUnit (contracts/Contract.sol#1593-1594) is not in mixedCase
Parameter Position.getDefaultPositionUnit(uint256,uint256)._setTokenSupply (contracts/Contract.sol#1600) is not in mixedCase
Parameter Position.getDefaultPositionUnit(uint256,uint256)._totalNotional (contracts/Contract.sol#1600-1602) is not in mixedCase
Parameter Position.getDefaultTrackedBalance(ISetToken,address)._setToken (contracts/Contract.sol#1606) is not in mixedCase
Parameter Position.getDefaultTrackedBalance(ISetToken,address)._component (contracts/Contract.sol#1606) is not in mixedCase
Parameter Position.calculateAndEditDefaultPosition(ISetToken,address,uint256,uint256)._setToken (contracts/Contract.sol#1627-1628) is not in mixedCase
Parameter Position.calculateAndEditDefaultPosition(ISetToken,address,uint256,uint256)._component (contracts/Contract.sol#1628) is not in mixedCase
Parameter Position.calculateAndEditDefaultPosition(ISetToken,address,uint256,uint256)._setTotalSupply (contracts/Contract.sol#1628-1630) is not in mixedCase
Parameter Position.calculateAndEditDefaultPosition(ISetToken,address,uint256,uint256)._componentPreviousBalance (contracts/Contract.sol#1630) is not in mixedCase
Parameter Position.calculateDefaultEditPositionUnit(uint256,uint256,uint256,uint256)._setTokenSupply (contracts/Contract.sol#1659) is not in mixedCase
Parameter Position.calculateDefaultEditPositionUnit(uint256,uint256,uint256,uint256)._preTotalNotional (contracts/Contract.sol#1660-1661) is not in mixedCase
Parameter Position.calculateDefaultEditPositionUnit(uint256,uint256,uint256,uint256)._postTotalNotional (contracts/Contract.sol#1661-1662) is not in mixedCase
Parameter Position.calculateDefaultEditPositionUnit(uint256,uint256,uint256,uint256)._prePositionUnit (contracts/Contract.sol#1662-1663) is not in mixedCase
Parameter AddressArrayUtils.indexOf(address[],address).A (contracts/Contract.sol#1698-1699) is not in mixedCase
Parameter AddressArrayUtils.contains(address[],address).A (contracts/Contract.sol#1712) is not in mixedCase
Parameter AddressArrayUtils.hasDuplicate(address[]).A (contracts/Contract.sol#1724-1726) is not in mixedCase
Parameter AddressArrayUtils.remove(address[],address).A (contracts/Contract.sol#1745-1748) is not in mixedCase
Parameter AddressArrayUtils.removeStorage(address[],address).A (contracts/Contract.sol#1756-1757) is not in mixedCase
Parameter AddressArrayUtils.pop(address[],uint256).A (contracts/Contract.sol#1776) is not in mixedCase
Parameter AddressArrayUtils.extend(address[],address[]).A (contracts/Contract.sol#1798) is not in mixedCase
Parameter AddressArrayUtils.extend(address[],address[]).B (contracts/Contract.sol#1798-1799) is not in mixedCase
Parameter SetToken.invoke(address,uint256,bytes)._target (contracts/Contract.sol#2022-2023) is not in mixedCase
Parameter SetToken.invoke(address,uint256,bytes)._value (contracts/Contract.sol#2023) is not in mixedCase
Parameter SetToken.invoke(address,uint256,bytes)._data (contracts/Contract.sol#2023) is not in mixedCase
Parameter SetToken.addComponent(address)._component (contracts/Contract.sol#2028-2029) is not in mixedCase
Parameter SetToken.removeComponent(address)._component (contracts/Contract.sol#2041-2043) is not in mixedCase
Parameter SetToken.editDefaultPositionUnit(address,int256)._component (contracts/Contract.sol#2050) is not in mixedCase
Parameter SetToken.editDefaultPositionUnit(address,int256)._realUnit (contracts/Contract.sol#2050-2051) is not in mixedCase
Parameter SetToken.addExternalPositionModule(address,address)._component (contracts/Contract.sol#2064-2065) is not in mixedCase
Parameter SetToken.addExternalPositionModule(address,address)._positionModule (contracts/Contract.sol#2065) is not in mixedCase
Parameter SetToken.removeExternalPositionModule(address,address)._component (contracts/Contract.sol#2080) is not in mixedCase
Parameter SetToken.removeExternalPositionModule(address,address)._positionModule (contracts/Contract.sol#2080-2082) is not in mixedCase
Parameter SetToken.editExternalPositionUnit(address,address,int256)._component (contracts/Contract.sol#2099-2100) is not in mixedCase
Parameter SetToken.editExternalPositionUnit(address,address,int256)._positionModule (contracts/Contract.sol#2101) is not in mixedCase
Parameter SetToken.editExternalPositionUnit(address,address,int256)._realUnit (contracts/Contract.sol#2101) is not in mixedCase
Parameter SetToken.editExternalPositionData(address,address,bytes)._component (contracts/Contract.sol#2112-2114) is not in mixedCase
Parameter SetToken.editExternalPositionData(address,address,bytes)._positionModule (contracts/Contract.sol#2114) is not in mixedCase
Parameter SetToken.editExternalPositionData(address,address,bytes)._data (contracts/Contract.sol#2114-2116) is not in mixedCase
Parameter SetToken.editPositionMultiplier(int256)._newMultiplier (contracts/Contract.sol#2127) is not in mixedCase
Parameter SetToken.mint(address,uint256)._account (contracts/Contract.sol#2136) is not in mixedCase
Parameter SetToken.mint(address,uint256)._quantity (contracts/Contract.sol#2136-2138) is not in mixedCase
Parameter SetToken.burn(address,uint256)._account (contracts/Contract.sol#2146) is not in mixedCase
Parameter SetToken.burn(address,uint256)._quantity (contracts/Contract.sol#2146) is not in mixedCase
Parameter SetToken.addModule(address)._module (contracts/Contract.sol#2172) is not in mixedCase
Parameter SetToken.removeModule(address)._module (contracts/Contract.sol#2188) is not in mixedCase
Parameter SetToken.removePendingModule(address)._module (contracts/Contract.sol#2201) is not in mixedCase
Parameter SetToken.setManager(address)._manager (contracts/Contract.sol#2236) is not in mixedCase
Parameter SetToken.getDefaultPositionRealUnit(address)._component (contracts/Contract.sol#2246) is not in mixedCase
Parameter SetToken.getExternalPositionRealUnit(address,address)._component (contracts/Contract.sol#2250) is not in mixedCase
Parameter SetToken.getExternalPositionRealUnit(address,address)._positionModule (contracts/Contract.sol#2250) is not in mixedCase
Parameter SetToken.getExternalPositionModules(address)._component (contracts/Contract.sol#2255) is not in mixedCase
Parameter SetToken.getExternalPositionData(address,address)._component (contracts/Contract.sol#2263) is not in mixedCase
Parameter SetToken.getExternalPositionData(address,address)._positionModule (contracts/Contract.sol#2263-2264) is not in mixedCase
Parameter SetToken.isComponent(address)._component (contracts/Contract.sol#2269) is not in mixedCase
Parameter SetToken.isExternalPositionModule(address,address)._component (contracts/Contract.sol#2275) is not in mixedCase
Parameter SetToken.isExternalPositionModule(address,address)._module (contracts/Contract.sol#2275) is not in mixedCase
Parameter SetToken.isInitializedModule(address)._module (contracts/Contract.sol#2277-2279) is not in mixedCase
Parameter SetToken.isPendingModule(address)._module (contracts/Contract.sol#2283) is not in mixedCase
Parameter SetToken.getTotalComponentRealUnits(address)._component (contracts/Contract.sol#2338) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
Redundant expression "this (contracts/Contract.sol#186)" inContext (contracts/Contract.sol#180-190)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
Loop condition i < components.length (contracts/Contract.sol#2303) should use cached array length instead of referencing `length` member of the storage array.
Loop condition i < components.length (contracts/Contract.sol#2413-2414) should use cached array length instead of referencing `length` member of the storage array.
Loop condition i < components.length (contracts/Contract.sol#2444) should use cached array length instead of referencing `length` member of the storage array.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length
SetToken.controller (contracts/Contract.sol#1930-1931) should be immutable
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable
. analyzed (14 contracts with 100 detectors), 102 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.6.10",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.6.10",
"install_stderr": null,
"install_stdout": "Installing solc '0.6.10'...\nVersion '0.6.10' installed."
},
"solc_args": "--base-path /tmp/slither-aysfg4pa --include-path /tmp/slither-aysfg4pa/lib --include-path /tmp/slither-aysfg4pa/lib/openzeppelin-contracts --allow-paths /tmp/slither-aysfg4pa,/tmp/slither-aysfg4pa/lib,/tmp/slither-aysfg4pa/lib/openzeppelin-contracts,/tmp/slither-aysfg4pa/src",
"remappings": [
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 102,
"workspace_hash": "3d4bd8694b53c46fed0b0df5fe18be5dc69bb936df2729a4dbf9b3a5f3958448",
"duration_seconds": 1.9723920822143555,
"solc_version_requested": "0.6.10"
}
{"no_findings":true,"summary":"Reviewed first-party SetToken logic (module/manager access control, invoke external calls, position accounting). No exploitable vulnerabilities found in scope.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-704nn2bd
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f80-8b65-76b3-9215-180fd67faf2a
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-704nn2bd succeeded in 5ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-704nn2bd succeeded in 8ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
// Dependency file: @openzeppelin/contracts/utils/Address.sol
// pragma solidity >=0.6.2 <0.8.0;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [// importANT]
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-704nn2bd succeeded in 7ms:
5:FILE: contracts/Contract.sol
exec
/bin/bash -lc 'rg -n "Dependency file" AUDIT_BUNDLE.txt' in /tmp/codex-704nn2bd succeeded in 6ms:
7:// Dependency file: @openzeppelin/contracts/utils/Address.sol
176:// Dependency file: @openzeppelin/contracts/GSN/Context.sol
203:// Dependency file: @openzeppelin/contracts/token/ERC20/IERC20.sol
283:// Dependency file: @openzeppelin/contracts/math/SafeMath.sol
445:// Dependency file: @openzeppelin/contracts/token/ERC20/ERC20.sol
754:// Dependency file: @openzeppelin/contracts/utils/SafeCast.sol
968:// Dependency file: @openzeppelin/contracts/math/SignedSafeMath.sol
1063:// Dependency file: contracts/interfaces/IController.sol
1094:// Dependency file: contracts/interfaces/IModule.sol
1130:// Dependency file: contracts/interfaces/ISetToken.sol
1267:// Dependency file: contracts/lib/PreciseUnitMath.sol
1460:// Dependency file: contracts/protocol/lib/Position.sol
1723:// Dependency file: contracts/lib/AddressArrayUtils.sol
exec
/bin/bash -lc 'rg -n "contract " AUDIT_BUNDLE.txt' in /tmp/codex-704nn2bd succeeded in 7ms:
29: * - a contract in construction
30: * - an address where a contract will be created
31: * - an address where a contract lived, but was destroyed
107: * - the calling contract must have an ETH balance of at least `value`.
189: * This contract is only required for intermediate, library-like contracts.
191:abstract contract Context {
458: * that a supply mechanism has to be added in a derived contract using {_mint}.
478:contract ERC20 is Context, IERC20 {
1919: * ERC20 Token contract that allows privileged modules to make modifications to its positions and invoke function calls
1922:contract SetToken is ERC20 {
1935: or otherwise held on a separate smart contract (whether a module or external source).
2071: * @param _target Address of the smart contract to call
exec
/bin/bash -lc "sed -n '1840,2300p' AUDIT_BUNDLE.txt" in /tmp/codex-704nn2bd succeeded in 22ms:
*/
function pop(address[] memory A, uint256 index)
internal
pure
returns (address[] memory, address)
{
uint256 length = A.length;
require(index < A.length, "Index must be < A length");
address[] memory newAddresses = new address[](length - 1);
for (uint256 i = 0; i < index; i++) {
newAddresses[i] = A[i];
}
for (uint256 j = index + 1; j < length; j++) {
newAddresses[j - 1] = A[j];
}
return (newAddresses, A[index]);
}
/**
* Returns the combination of the two arrays
exec
/bin/bash -lc "sed -n '2300,2700p' AUDIT_BUNDLE.txt" in /tmp/codex-704nn2bd succeeded in 8ms:
require(!isLocked, "Only when unlocked");
address oldManager = manager;
manager = _manager;
emit ManagerEdited(_manager, oldManager);
}
/* ============ External Getter Functions ============ */
function getComponents() external view returns(address[] memory) {
return components;
}
function getDefaultPositionRealUnit(address _component) public view returns(int256) {
return _convertVirtualToRealUnit(_defaultPositionVirtualUnit(_component));
}
function getExternalPositionRealUnit(address _component, address _positionModule) public view returns(int256) {
return _convertVirtualToRealUnit(_externalPositionVirtualUnit(_component, _positionModule));
}
codex
{"no_findings":true,"summary":"Reviewed first-party SetToken logic (module/manager access control, invoke external calls, position accounting). No exploitable vulnerabilities found in scope.","findings":[]}
tokens used
29,310
{
"codex": {
"ran_at": "2026-01-30T15:26:01.087751+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 13,
"first_party_contracts_count": 1
},
"summary": "Reviewed first-party SetToken logic (module/manager access control, invoke external calls, position accounting). No exploitable vulnerabilities found in scope.",
"raw_final": {
"summary": "Reviewed first-party SetToken logic (module/manager access control, invoke external calls, position accounting). No exploitable vulnerabilities found in scope.",
"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 0x02b2 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8ae458da 00000019: GT 0000001a: PUSH2 0x0175 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xb2494df3 00000024: GT 00000025: PUSH2 0x00dc 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd7f1b27c 0000002f: GT 00000030: PUSH2 0x0095 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xea0ee559 0000003a: GT 0000003b: PUSH2 0x006f 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xea0ee559 00000045: EQ 00000046: PUSH2 0x0842 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xeaf993e1 00000050: EQ 00000051: PUSH2 0x0862 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf77c4791 0000005b: EQ 0000005c: PUSH2 0x0882 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf83d08ba 00000066: EQ 00000067: PUSH2 0x0897 0000006a: JUMPI 0000006b: PUSH2 0x02b9 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xd7f1b27c 00000076: EQ 00000077: PUSH2 0x07e2 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xdd62ed3e 00000081: EQ 00000082: PUSH2 0x0802 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xdf5e9b29 0000008c: EQ 0000008d: PUSH2 0x0822 00000090: JUMPI 00000091: PUSH2 0x02b9 00000094: JUMP 00000095: JUMPDEST 00000096: DUP1 00000097: PUSH4 0xb2494df3 0000009c: EQ 0000009d: PUSH2 0x0738 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xc2de0e9d 000000a7: EQ 000000a8: PUSH2 0x074d 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xc5d574fe 000000b2: EQ 000000b3: PUSH2 0x076d 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xc7564017 000000bd: EQ 000000be: PUSH2 0x078d 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xd0ebdbe7 000000c8: EQ 000000c9: PUSH2 0x07ad 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xd7b96d4e 000000d3: EQ 000000d4: PUSH2 0x07cd 000000d7: JUMPI 000000d8: PUSH2 0x02b9 000000db: JUMP 000000dc: JUMPDEST 000000dd: DUP1 000000de: PUSH4 0xa457c2d7 000000e3: GT 000000e4: PUSH2 0x012e 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0xa457c2d7 000000ee: EQ 000000ef: PUSH2 0x068e 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0xa4e2d634 000000f9: EQ 000000fa: PUSH2 0x06ae 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0xa69df4b5 00000104: EQ 00000105: PUSH2 0x06c3 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0xa7bdad03 0000010f: EQ 00000110: PUSH2 0x06d8 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0xa9059cbb 0000011a: EQ 0000011b: PUSH2 0x06f8 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0xacf3f077 00000125: EQ 00000126: PUSH2 0x0718 00000129: JUMPI 0000012a: PUSH2 0x02b9 0000012d: JUMP 0000012e: JUMPDEST 0000012f: DUP1 00000130: PUSH4 0x8ae458da 00000135: EQ 00000136: PUSH2 0x05d7 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x8f6f0332 00000140: EQ 00000141: PUSH2 0x05f7 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x95d89b41 0000014b: EQ 0000014c: PUSH2 0x0617 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x99d50d5d 00000156: EQ 00000157: PUSH2 0x062c 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x9dc29fac 00000161: EQ 00000162: PUSH2 0x064e 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0xa0632461 0000016c: EQ 0000016d: PUSH2 0x066e 00000170: JUMPI 00000171: PUSH2 0x02b9 00000174: JUMP 00000175: JUMPDEST 00000176: DUP1 00000177: PUSH4 0x40c10f19 0000017c: GT 0000017d: PUSH2 0x0219 00000180: JUMPI 00000181: DUP1 00000182: PUSH4 0x66cb8d2f 00000187: GT 00000188: PUSH2 0x01d2 0000018b: JUMPI 0000018c: DUP1 0000018d: PUSH4 0x66cb8d2f 00000192: EQ 00000193: PUSH2 0x0515 00000196: JUMPI 00000197: DUP1 00000198: PUSH4 0x6f86c897 0000019d: EQ 0000019e: PUSH2 0x0535 000001a1: JUMPI 000001a2: DUP1 000001a3: PUSH4 0x70a08231 000001a8: EQ 000001a9: PUSH2 0x0555 000001ac: JUMPI 000001ad: DUP1 000001ae: PUSH4 0x7d966593 000001b3: EQ 000001b4: PUSH2 0x0575 000001b7: JUMPI 000001b8: DUP1 000001b9: PUSH4 0x80275860 000001be: EQ 000001bf: PUSH2 0x0595 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0x81b2248a 000001c9: EQ 000001ca: PUSH2 0x05b7 000001cd: JUMPI 000001ce: PUSH2 0x02b9 000001d1: JUMP 000001d2: JUMPDEST 000001d3: DUP1 000001d4: PUSH4 0x40c10f19 000001d9: EQ 000001da: PUSH2 0x045e 000001dd: JUMPI 000001de: DUP1 000001df: PUSH4 0x481c6a75 000001e4: EQ 000001e5: PUSH2 0x047e 000001e8: JUMPI 000001e9: DUP1 000001ea: PUSH4 0x4e353270 000001ef: EQ 000001f0: PUSH2 0x04a0 000001f3: JUMPI 000001f4: DUP1 000001f5: PUSH4 0x5230c396 000001fa: EQ 000001fb: PUSH2 0x04c0 000001fe: JUMPI 000001ff: DUP1 00000200: PUSH4 0x53bae5f7 00000205: EQ 00000206: PUSH2 0x04d5 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0x63a90fc1 00000210: EQ 00000211: PUSH2 0x04f5 00000214: JUMPI 00000215: PUSH2 0x02b9 00000218: JUMP 00000219: JUMPDEST 0000021a: DUP1 0000021b: PUSH4 0x23b872dd 00000220: GT 00000221: PUSH2 0x026b 00000224: JUMPI 00000225: DUP1 00000226: PUSH4 0x23b872dd 0000022b: EQ 0000022c: PUSH2 0x038f 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x26898fe1 00000236: EQ 00000237: PUSH2 0x03af 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x2ba57d17 00000241: EQ 00000242: PUSH2 0x03cf 00000245: JUMPI 00000246: DUP1 00000247: PUSH4 0x313ce567 0000024c: EQ 0000024d: PUSH2 0x03ef 00000250: JUMPI 00000251: DUP1 00000252: PUSH4 0x35bc4e52 00000257: EQ 00000258: PUSH2 0x0411 0000025b: JUMPI 0000025c: DUP1 0000025d: PUSH4 0x39509351 00000262: EQ 00000263: PUSH2 0x043e 00000266: JUMPI 00000267: PUSH2 0x02b9 0000026a: JUMP 0000026b: JUMPDEST 0000026c: DUP1 0000026d: PUSH4 0x06fdde03 00000272: EQ 00000273: PUSH2 0x02be 00000276: JUMPI 00000277: DUP1 00000278: PUSH4 0x095ea7b3 0000027d: EQ 0000027e: PUSH2 0x02e9 00000281: JUMPI 00000282: DUP1 00000283: PUSH4 0x0ffe0f1e 00000288: EQ 00000289: PUSH2 0x0316 0000028c: JUMPI 0000028d: DUP1 0000028e: PUSH4 0x18160ddd 00000293: EQ 00000294: PUSH2 0x032d 00000297: JUMPI 00000298: DUP1 00000299: PUSH4 0x1ed86f19 0000029e: EQ 0000029f: PUSH2 0x034f 000002a2: JUMPI 000002a3: DUP1 000002a4: PUSH4 0x22ebeba4 000002a9: EQ 000002aa: PUSH2 0x036f 000002ad: JUMPI 000002ae: PUSH2 0x02b9 000002b1: JUMP 000002b2: JUMPDEST 000002b3: CALLDATASIZE 000002b4: PUSH2 0x02b9 000002b7: JUMPI 000002b8: STOP 000002b9: JUMPDEST 000002ba: PUSH1 0x00 000002bc: DUP1 000002bd: REVERT 000002be: JUMPDEST 000002bf: CALLVALUE 000002c0: DUP1 000002c1: ISZERO 000002c2: PUSH2 0x02ca 000002c5: JUMPI 000002c6: PUSH1 0x00 000002c8: DUP1 000002c9: REVERT 000002ca: JUMPDEST 000002cb: POP 000002cc: PUSH2 0x02d3 000002cf: PUSH2 0x08ac 000002d2: JUMP 000002d3: JUMPDEST 000002d4: PUSH1 0x40 000002d6: MLOAD 000002d7: PUSH2 0x02e0 000002da: SWAP2 000002db: SWAP1 000002dc: PUSH2 0x2db5 000002df: JUMP 000002e0: JUMPDEST 000002e1: PUSH1 0x40 000002e3: MLOAD 000002e4: DUP1 000002e5: SWAP2 000002e6: SUB 000002e7: SWAP1 000002e8: RETURN 000002e9: JUMPDEST 000002ea: CALLVALUE 000002eb: DUP1 000002ec: ISZERO 000002ed: PUSH2 0x02f5 000002f0: JUMPI 000002f1: PUSH1 0x00 000002f3: DUP1 000002f4: REVERT 000002f5: JUMPDEST 000002f6: POP 000002f7: PUSH2 0x0309 000002fa: PUSH2 0x0304 000002fd: CALLDATASIZE 000002fe: PUSH1 0x04 00000300: PUSH2 0x2b31 00000303: JUMP 00000304: JUMPDEST 00000305: PUSH2 0x0943 00000308: JUMP 00000309: JUMPDEST 0000030a: PUSH1 0x40 0000030c: MLOAD 0000030d: PUSH2 0x02e0 00000310: SWAP2 00000311: SWAP1 00000312: PUSH2 0x2d66 00000315: JUMP 00000316: JUMPDEST 00000317: CALLVALUE 00000318: DUP1 00000319: ISZERO 0000031a: PUSH2 0x0322 0000031d: JUMPI 0000031e: PUSH1 0x00 00000320: DUP1 00000321: REVERT 00000322: JUMPDEST 00000323: POP 00000324: PUSH2 0x032b 00000327: PUSH2 0x0961 0000032a: JUMP 0000032b: JUMPDEST 0000032c: STOP 0000032d: JUMPDEST 0000032e: CALLVALUE 0000032f: DUP1 00000330: ISZERO 00000331: PUSH2 0x0339 00000334: JUMPI 00000335: PUSH1 0x00 00000337: DUP1 00000338: REVERT 00000339: JUMPDEST 0000033a: POP 0000033b: PUSH2 0x0342 0000033e: PUSH2 0x0a4b 00000341: JUMP 00000342: JUMPDEST 00000343: PUSH1 0x40 00000345: MLOAD 00000346: PUSH2 0x02e0 00000349: SWAP2 0000034a: SWAP1 0000034b: PUSH2 0x2ddc 0000034e: JUMP 0000034f: JUMPDEST 00000350: CALLVALUE 00000351: DUP1 00000352: ISZERO 00000353: PUSH2 0x035b 00000356: JUMPI 00000357: PUSH1 0x00 00000359: DUP1 0000035a: REVERT 0000035b: JUMPDEST 0000035c: POP 0000035d: PUSH2 0x032b 00000360: PUSH2 0x036a 00000363: CALLDATASIZE 00000364: PUSH1 0x04 00000366: PUSH2 0x2a02 00000369: JUMP 0000036a: JUMPDEST 0000036b: PUSH2 0x0a51 0000036e: JUMP 0000036f: JUMPDEST 00000370: CALLVALUE 00000371: DUP1 00000372: ISZERO 00000373: PUSH2 0x037b 00000376: JUMPI 00000377: PUSH1 0x00 00000379: DUP1 0000037a: REVERT 0000037b: JUMPDEST 0000037c: POP 0000037d: PUSH2 0x0342 00000380: PUSH2 0x038a 00000383: CALLDATASIZE 00000384: PUSH1 0x04 00000386: PUSH2 0x2a1d 00000389: JUMP 0000038a: JUMPDEST 0000038b: PUSH2 0x0b89 0000038e: JUMP 0000038f: JUMPDEST 00000390: CALLVALUE 00000391: DUP1 00000392: ISZERO 00000393: PUSH2 0x039b 00000396: JUMPI 00000397: PUSH1 0x00 00000399: DUP1 0000039a: REVERT 0000039b: JUMPDEST 0000039c: POP 0000039d: PUSH2 0x0309 000003a0: PUSH2 0x03aa 000003a3: CALLDATASIZE 000003a4: PUSH1 0x04 000003a6: PUSH2 0x2af1 000003a9: JUMP 000003aa: JUMPDEST 000003ab: PUSH2 0x0ba4 000003ae: JUMP 000003af: JUMPDEST 000003b0: CALLVALUE 000003b1: DUP1 000003b2: ISZERO 000003b3: PUSH2 0x03bb 000003b6: JUMPI 000003b7: PUSH1 0x00 000003b9: DUP1 000003ba: REVERT 000003bb: JUMPDEST 000003bc: POP 000003bd: PUSH2 0x032b 000003c0: PUSH2 0x03ca 000003c3: CALLDATASIZE 000003c4: PUSH1 0x04 000003c6: PUSH2 0x2a51 000003c9: JUMP 000003ca: JUMPDEST 000003cb: PUSH2 0x0c31 000003ce: JUMP 000003cf: JUMPDEST 000003d0: CALLVALUE 000003d1: DUP1 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: POP 000003dd: PUSH2 0x032b 000003e0: PUSH2 0x03ea 000003e3: CALLDATASIZE 000003e4: PUSH1 0x04 000003e6: PUSH2 0x2b31 000003e9: JUMP 000003ea: JUMPDEST 000003eb: PUSH2 0x0ccc 000003ee: JUMP 000003ef: JUMPDEST 000003f0: CALLVALUE 000003f1: DUP1 000003f2: ISZERO 000003f3: PUSH2 0x03fb 000003f6: JUMPI 000003f7: PUSH1 0x00 000003f9: DUP1 000003fa: REVERT 000003fb: JUMPDEST 000003fc: POP 000003fd: PUSH2 0x0404 00000400: PUSH2 0x0d43 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH1 0x40 00000407: MLOAD 00000408: PUSH2 0x02e0 0000040b: SWAP2 0000040c: SWAP1 0000040d: PUSH2 0x3548 00000410: JUMP 00000411: JUMPDEST 00000412: CALLVALUE 00000413: DUP1 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH1 0x00 0000041b: DUP1 0000041c: REVERT 0000041d: JUMPDEST 0000041e: POP 0000041f: PUSH2 0x0431 00000422: PUSH2 0x042c 00000425: CALLDATASIZE 00000426: PUSH1 0x04 00000428: PUSH2 0x2a02 0000042b: JUMP 0000042c: JUMPDEST 0000042d: PUSH2 0x0d4c 00000430: JUMP 00000431: JUMPDEST 00000432: PUSH1 0x40 00000434: MLOAD 00000435: PUSH2 0x02e0 00000438: SWAP2 00000439: SWAP1 0000043a: PUSH2 0x2dc8 0000043d: JUMP 0000043e: JUMPDEST 0000043f: CALLVALUE 00000440: DUP1 00000441: ISZERO 00000442: PUSH2 0x044a 00000445: JUMPI 00000446: PUSH1 0x00 00000448: DUP1 00000449: REVERT 0000044a: JUMPDEST 0000044b: POP 0000044c: PUSH2 0x0309 0000044f: PUSH2 0x0459 00000452: CALLDATASIZE 00000453: PUSH1 0x04 00000455: PUSH2 0x2b31 00000458: JUMP 00000459: JUMPDEST 0000045a: PUSH2 0x0d61 0000045d: JUMP 0000045e: JUMPDEST 0000045f: CALLVALUE 00000460: DUP1 00000461: ISZERO 00000462: PUSH2 0x046a 00000465: JUMPI 00000466: PUSH1 0x00 00000468: DUP1 00000469: REVERT 0000046a: JUMPDEST 0000046b: POP 0000046c: PUSH2 0x032b 0000046f: PUSH2 0x0479 00000472: CALLDATASIZE 00000473: PUSH1 0x04 00000475: PUSH2 0x2b31 00000478: JUMP 00000479: JUMPDEST 0000047a: PUSH2 0x0db5 0000047d: JUMP 0000047e: JUMPDEST 0000047f: CALLVALUE 00000480: DUP1 00000481: ISZERO 00000482: PUSH2 0x048a 00000485: JUMPI 00000486: PUSH1 0x00 00000488: DUP1 00000489: REVERT 0000048a: JUMPDEST 0000048b: POP 0000048c: PUSH2 0x0493 0000048f: PUSH2 0x0dd3 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH1 0x40 00000496: MLOAD 00000497: PUSH2 0x02e0 0000049a: SWAP2 0000049b: SWAP1 0000049c: PUSH2 0x2c47 0000049f: JUMP 000004a0: JUMPDEST 000004a1: CALLVALUE 000004a2: DUP1 000004a3: ISZERO 000004a4: PUSH2 0x04ac 000004a7: JUMPI 000004a8: PUSH1 0x00 000004aa: DUP1 000004ab: REVERT 000004ac: JUMPDEST 000004ad: POP 000004ae: PUSH2 0x032b 000004b1: PUSH2 0x04bb 000004b4: CALLDATASIZE 000004b5: PUSH1 0x04 000004b7: PUSH2 0x2a02 000004ba: JUMP 000004bb: JUMPDEST 000004bc: PUSH2 0x0de2 000004bf: JUMP 000004c0: JUMPDEST 000004c1: CALLVALUE 000004c2: DUP1 000004c3: ISZERO 000004c4: PUSH2 0x04cc 000004c7: JUMPI 000004c8: PUSH1 0x00 000004ca: DUP1 000004cb: REVERT 000004cc: JUMPDEST 000004cd: POP 000004ce: PUSH2 0x0342 000004d1: PUSH2 0x0e90 000004d4: JUMP 000004d5: JUMPDEST 000004d6: CALLVALUE 000004d7: DUP1 000004d8: ISZERO 000004d9: PUSH2 0x04e1 000004dc: JUMPI 000004dd: PUSH1 0x00 000004df: DUP1 000004e0: REVERT 000004e1: JUMPDEST 000004e2: POP 000004e3: PUSH2 0x0309 000004e6: PUSH2 0x04f0 000004e9: CALLDATASIZE 000004ea: PUSH1 0x04 000004ec: PUSH2 0x2a02 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH2 0x0e96 000004f4: JUMP 000004f5: JUMPDEST 000004f6: CALLVALUE 000004f7: DUP1 000004f8: ISZERO 000004f9: PUSH2 0x0501 000004fc: JUMPI 000004fd: PUSH1 0x00 000004ff: DUP1 00000500: REVERT 00000501: JUMPDEST 00000502: POP 00000503: PUSH2 0x032b 00000506: PUSH2 0x0510 00000509: CALLDATASIZE 0000050a: PUSH1 0x04 0000050c: PUSH2 0x2ab4 0000050f: JUMP 00000510: JUMPDEST 00000511: PUSH2 0x0ec9 00000514: JUMP 00000515: JUMPDEST 00000516: CALLVALUE 00000517: DUP1 00000518: ISZERO 00000519: PUSH2 0x0521 0000051c: JUMPI 0000051d: PUSH1 0x00 0000051f: DUP1 00000520: REVERT 00000521: JUMPDEST 00000522: POP 00000523: PUSH2 0x0342 00000526: PUSH2 0x0530 00000529: CALLDATASIZE 0000052a: PUSH1 0x04 0000052c: PUSH2 0x2a02 0000052f: JUMP 00000530: JUMPDEST 00000531: PUSH2 0x0f48 00000534: JUMP 00000535: JUMPDEST 00000536: CALLVALUE 00000537: DUP1 00000538: ISZERO 00000539: PUSH2 0x0541 0000053c: JUMPI 0000053d: PUSH1 0x00 0000053f: DUP1 00000540: REVERT 00000541: JUMPDEST 00000542: POP 00000543: PUSH2 0x032b 00000546: PUSH2 0x0550 00000549: CALLDATASIZE 0000054a: PUSH1 0x04 0000054c: PUSH2 0x2a02 0000054f: JUMP 00000550: JUMPDEST 00000551: PUSH2 0x0f56 00000554: JUMP 00000555: JUMPDEST 00000556: CALLVALUE 00000557: DUP1 00000558: ISZERO 00000559: PUSH2 0x0561 0000055c: JUMPI 0000055d: PUSH1 0x00 0000055f: DUP1 00000560: REVERT 00000561: JUMPDEST 00000562: POP 00000563: PUSH2 0x0342 00000566: PUSH2 0x0570 00000569: CALLDATASIZE 0000056a: PUSH1 0x04 0000056c: PUSH2 0x2a02 0000056f: JUMP 00000570: JUMPDEST 00000571: PUSH2 0x0fae 00000574: JUMP 00000575: JUMPDEST 00000576: CALLVALUE 00000577: DUP1 00000578: ISZERO 00000579: PUSH2 0x0581 0000057c: JUMPI 0000057d: PUSH1 0x00 0000057f: DUP1 00000580: REVERT 00000581: JUMPDEST 00000582: POP 00000583: PUSH2 0x0309 00000586: PUSH2 0x0590 00000589: CALLDATASIZE 0000058a: PUSH1 0x04 0000058c: PUSH2 0x2a1d 0000058f: JUMP 00000590: JUMPDEST 00000591: PUSH2 0x0fc9 00000594: JUMP 00000595: JUMPDEST 00000596: CALLVALUE 00000597: DUP1 00000598: ISZERO 00000599: PUSH2 0x05a1 0000059c: JUMPI 0000059d: PUSH1 0x00 0000059f: DUP1 000005a0: REVERT 000005a1: JUMPDEST 000005a2: POP 000005a3: PUSH2 0x05aa 000005a6: PUSH2 0x0fe4 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH1 0x40 000005ad: MLOAD 000005ae: PUSH2 0x02e0 000005b1: SWAP2 000005b2: SWAP1 000005b3: PUSH2 0x2cc2 000005b6: JUMP 000005b7: JUMPDEST 000005b8: CALLVALUE 000005b9: DUP1 000005ba: ISZERO 000005bb: PUSH2 0x05c3 000005be: JUMPI 000005bf: PUSH1 0x00 000005c1: DUP1 000005c2: REVERT 000005c3: JUMPDEST 000005c4: POP 000005c5: PUSH2 0x0493 000005c8: PUSH2 0x05d2 000005cb: CALLDATASIZE 000005cc: PUSH1 0x04 000005ce: PUSH2 0x2bbd 000005d1: JUMP 000005d2: JUMPDEST 000005d3: PUSH2 0x11a1 000005d6: JUMP 000005d7: JUMPDEST 000005d8: CALLVALUE 000005d9: DUP1 000005da: ISZERO 000005db: PUSH2 0x05e3 000005de: JUMPI 000005df: PUSH1 0x00 000005e1: DUP1 000005e2: REVERT 000005e3: JUMPDEST 000005e4: POP 000005e5: PUSH2 0x02d3 000005e8: PUSH2 0x05f2 000005eb: CALLDATASIZE 000005ec: PUSH1 0x04 000005ee: PUSH2 0x2a1d 000005f1: JUMP 000005f2: JUMPDEST 000005f3: PUSH2 0x11c8 000005f6: JUMP 000005f7: JUMPDEST 000005f8: CALLVALUE 000005f9: DUP1 000005fa: ISZERO 000005fb: PUSH2 0x0603 000005fe: JUMPI 000005ff: PUSH1 0x00 00000601: DUP1 00000602: REVERT 00000603: JUMPDEST 00000604: POP 00000605: PUSH2 0x02d3 00000608: PUSH2 0x0612 0000060b: CALLDATASIZE 0000060c: PUSH1 0x04 0000060e: PUSH2 0x2b5b 00000611: JUMP 00000612: JUMPDEST 00000613: PUSH2 0x11d4 00000616: JUMP 00000617: JUMPDEST 00000618: CALLVALUE 00000619: DUP1 0000061a: ISZERO 0000061b: PUSH2 0x0623 0000061e: JUMPI 0000061f: PUSH1 0x00 00000621: DUP1 00000622: REVERT 00000623: JUMPDEST 00000624: POP 00000625: PUSH2 0x02d3 00000628: PUSH2 0x1281 0000062b: JUMP 0000062c: JUMPDEST 0000062d: CALLVALUE 0000062e: DUP1 0000062f: ISZERO 00000630: PUSH2 0x0638 00000633: JUMPI 00000634: PUSH1 0x00 00000636: DUP1 00000637: REVERT 00000638: JUMPDEST 00000639: POP 0000063a: PUSH2 0x0641 0000063d: PUSH2 0x12e2 00000640: JUMP 00000641: JUMPDEST 00000642: PUSH1 0x40 00000644: MLOAD 00000645: PUSH2 0x02e0 00000648: SWAP2 00000649: SWAP1 0000064a: PUSH2 0x2c75 0000064d: JUMP 0000064e: JUMPDEST 0000064f: CALLVALUE 00000650: DUP1 00000651: ISZERO 00000652: PUSH2 0x065a 00000655: JUMPI 00000656: PUSH1 0x00 00000658: DUP1 00000659: REVERT 0000065a: JUMPDEST 0000065b: POP 0000065c: PUSH2 0x032b 0000065f: PUSH2 0x0669 00000662: CALLDATASIZE 00000663: PUSH1 0x04 00000665: PUSH2 0x2b31 00000668: JUMP 00000669: JUMPDEST 0000066a: PUSH2 0x1343 0000066d: JUMP 0000066e: JUMPDEST 0000066f: CALLVALUE 00000670: DUP1 00000671: ISZERO 00000672: PUSH2 0x067a 00000675: JUMPI 00000676: PUSH1 0x00 00000678: DUP1 00000679: REVERT 0000067a: JUMPDEST 0000067b: POP 0000067c: PUSH2 0x032b 0000067f: PUSH2 0x0689 00000682: CALLDATASIZE 00000683: PUSH1 0x04 00000685: PUSH2 0x2a02 00000688: JUMP 00000689: JUMPDEST 0000068a: PUSH2 0x135d 0000068d: JUMP 0000068e: JUMPDEST 0000068f: CALLVALUE 00000690: DUP1 00000691: ISZERO 00000692: PUSH2 0x069a 00000695: JUMPI 00000696: PUSH1 0x00 00000698: DUP1 00000699: REVERT 0000069a: JUMPDEST 0000069b: POP 0000069c: PUSH2 0x0309 0000069f: PUSH2 0x06a9 000006a2: CALLDATASIZE 000006a3: PUSH1 0x04 000006a5: PUSH2 0x2b31 000006a8: JUMP 000006a9: JUMPDEST 000006aa: PUSH2 0x1483 000006ad: JUMP 000006ae: JUMPDEST 000006af: CALLVALUE 000006b0: DUP1 000006b1: ISZERO 000006b2: PUSH2 0x06ba 000006b5: JUMPI 000006b6: PUSH1 0x00 000006b8: DUP1 000006b9: REVERT 000006ba: JUMPDEST 000006bb: POP 000006bc: PUSH2 0x0309 000006bf: PUSH2 0x14f1 000006c2: JUMP 000006c3: JUMPDEST 000006c4: CALLVALUE 000006c5: DUP1 000006c6: ISZERO 000006c7: PUSH2 0x06cf 000006ca: JUMPI 000006cb: PUSH1 0x00 000006cd: DUP1 000006ce: REVERT 000006cf: JUMPDEST 000006d0: POP 000006d1: PUSH2 0x032b 000006d4: PUSH2 0x14fa 000006d7: JUMP 000006d8: JUMPDEST 000006d9: CALLVALUE 000006da: DUP1 000006db: ISZERO 000006dc: PUSH2 0x06e4 000006df: JUMPI 000006e0: PUSH1 0x00 000006e2: DUP1 000006e3: REVERT 000006e4: JUMPDEST 000006e5: POP 000006e6: PUSH2 0x0641 000006e9: PUSH2 0x06f3 000006ec: CALLDATASIZE 000006ed: PUSH1 0x04 000006ef: PUSH2 0x2a02 000006f2: JUMP 000006f3: JUMPDEST 000006f4: PUSH2 0x156a 000006f7: JUMP 000006f8: JUMPDEST 000006f9: CALLVALUE 000006fa: DUP1 000006fb: ISZERO 000006fc: PUSH2 0x0704 000006ff: JUMPI 00000700: PUSH1 0x00 00000702: DUP1 00000703: REVERT 00000704: JUMPDEST 00000705: POP 00000706: PUSH2 0x0309 00000709: PUSH2 0x0713 0000070c: CALLDATASIZE 0000070d: PUSH1 0x04 0000070f: PUSH2 0x2b31 00000712: JUMP 00000713: JUMPDEST 00000714: PUSH2 0x1575 00000717: JUMP 00000718: JUMPDEST 00000719: CALLVALUE 0000071a: DUP1 0000071b: ISZERO 0000071c: PUSH2 0x0724 0000071f: JUMPI 00000720: PUSH1 0x00 00000722: DUP1 00000723: REVERT 00000724: JUMPDEST 00000725: POP 00000726: PUSH2 0x032b 00000729: PUSH2 0x0733 0000072c: CALLDATASIZE 0000072d: PUSH1 0x04 0000072f: PUSH2 0x2a1d 00000732: JUMP 00000733: JUMPDEST 00000734: PUSH2 0x1589 00000737: JUMP 00000738: JUMPDEST 00000739: CALLVALUE 0000073a: DUP1 0000073b: ISZERO 0000073c: PUSH2 0x0744 0000073f: JUMPI 00000740: PUSH1 0x00 00000742: DUP1 00000743: REVERT 00000744: JUMPDEST 00000745: POP 00000746: PUSH2 0x0641 00000749: PUSH2 0x1646 0000074c: JUMP 0000074d: JUMPDEST 0000074e: CALLVALUE 0000074f: DUP1 00000750: ISZERO 00000751: PUSH2 0x0759 00000754: JUMPI 00000755: PUSH1 0x00 00000757: DUP1 00000758: REVERT 00000759: JUMPDEST 0000075a: POP 0000075b: PUSH2 0x032b 0000075e: PUSH2 0x0768 00000761: CALLDATASIZE 00000762: PUSH1 0x04 00000764: PUSH2 0x2bbd 00000767: JUMP 00000768: JUMPDEST 00000769: PUSH2 0x16a6 0000076c: JUMP 0000076d: JUMPDEST 0000076e: CALLVALUE 0000076f: DUP1 00000770: ISZERO 00000771: PUSH2 0x0779 00000774: JUMPI 00000775: PUSH1 0x00 00000777: DUP1 00000778: REVERT 00000779: JUMPDEST 0000077a: POP 0000077b: PUSH2 0x0493 0000077e: PUSH2 0x0788 00000781: CALLDATASIZE 00000782: PUSH1 0x04 00000784: PUSH2 0x2bbd 00000787: JUMP 00000788: JUMPDEST 00000789: PUSH2 0x16ff 0000078c: JUMP 0000078d: JUMPDEST 0000078e: CALLVALUE 0000078f: DUP1 00000790: ISZERO 00000791: PUSH2 0x0799 00000794: JUMPI 00000795: PUSH1 0x00 00000797: DUP1 00000798: REVERT 00000799: JUMPDEST 0000079a: POP 0000079b: PUSH2 0x032b 0000079e: PUSH2 0x07a8 000007a1: CALLDATASIZE 000007a2: PUSH1 0x04 000007a4: PUSH2 0x2a02 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH2 0x170c 000007ac: JUMP 000007ad: JUMPDEST 000007ae: CALLVALUE 000007af: DUP1 000007b0: ISZERO 000007b1: PUSH2 0x07b9 000007b4: JUMPI 000007b5: PUSH1 0x00 000007b7: DUP1 000007b8: REVERT 000007b9: JUMPDEST 000007ba: POP 000007bb: PUSH2 0x032b 000007be: PUSH2 0x07c8 000007c1: CALLDATASIZE 000007c2: PUSH1 0x04 000007c4: PUSH2 0x2a02 000007c7: JUMP 000007c8: JUMPDEST 000007c9: PUSH2 0x17c6 000007cc: JUMP 000007cd: JUMPDEST 000007ce: CALLVALUE 000007cf: DUP1 000007d0: ISZERO 000007d1: PUSH2 0x07d9 000007d4: JUMPI 000007d5: PUSH1 0x00 000007d7: DUP1 000007d8: REVERT 000007d9: JUMPDEST 000007da: POP 000007db: PUSH2 0x0493 000007de: PUSH2 0x1850 000007e1: JUMP 000007e2: JUMPDEST 000007e3: CALLVALUE 000007e4: DUP1 000007e5: ISZERO 000007e6: PUSH2 0x07ee 000007e9: JUMPI 000007ea: PUSH1 0x00 000007ec: DUP1 000007ed: REVERT 000007ee: JUMPDEST 000007ef: POP 000007f0: PUSH2 0x0309 000007f3: PUSH2 0x07fd 000007f6: CALLDATASIZE 000007f7: PUSH1 0x04 000007f9: PUSH2 0x2a02 000007fc: JUMP 000007fd: JUMPDEST 000007fe: PUSH2 0x185f 00000801: JUMP 00000802: JUMPDEST 00000803: CALLVALUE 00000804: DUP1 00000805: ISZERO 00000806: PUSH2 0x080e 00000809: JUMPI 0000080a: PUSH1 0x00 0000080c: DUP1 0000080d: REVERT 0000080e: JUMPDEST 0000080f: POP 00000810: PUSH2 0x0342 00000813: PUSH2 0x081d 00000816: CALLDATASIZE 00000817: PUSH1 0x04 00000819: PUSH2 0x2a1d 0000081c: JUMP 0000081d: JUMPDEST 0000081e: PUSH2 0x1868 00000821: JUMP 00000822: JUMPDEST 00000823: CALLVALUE 00000824: DUP1 00000825: ISZERO 00000826: PUSH2 0x082e 00000829: JUMPI 0000082a: PUSH1 0x00 0000082c: DUP1 0000082d: REVERT 0000082e: JUMPDEST 0000082f: POP 00000830: PUSH2 0x0309 00000833: PUSH2 0x083d 00000836: CALLDATASIZE 00000837: PUSH1 0x04 00000839: PUSH2 0x2a02 0000083c: JUMP 0000083d: JUMPDEST 0000083e: PUSH2 0x1893 00000841: JUMP 00000842: JUMPDEST 00000843: CALLVALUE 00000844: DUP1 00000845: ISZERO 00000846: PUSH2 0x084e 00000849: JUMPI 0000084a: PUSH1 0x00 0000084c: DUP1 0000084d: REVERT 0000084e: JUMPDEST 0000084f: POP 00000850: PUSH2 0x032b 00000853: PUSH2 0x085d 00000856: CALLDATASIZE 00000857: PUSH1 0x04 00000859: PUSH2 0x2a1d 0000085c: JUMP 0000085d: JUMPDEST 0000085e: PUSH2 0x1902 00000861: JUMP 00000862: JUMPDEST 00000863: CALLVALUE 00000864: DUP1 00000865: ISZERO 00000866: PUSH2 0x086e 00000869: JUMPI 0000086a: PUSH1 0x00 0000086c: DUP1 0000086d: REVERT 0000086e: JUMPDEST 0000086f: POP 00000870: PUSH2 0x0342 00000873: PUSH2 0x087d 00000876: CALLDATASIZE 00000877: PUSH1 0x04 00000879: PUSH2 0x2a02 0000087c: JUMP 0000087d: JUMPDEST 0000087e: PUSH2 0x19a6 00000881: JUMP 00000882: JUMPDEST 00000883: CALLVALUE 00000884: DUP1 00000885: ISZERO 00000886: PUSH2 0x088e 00000889: JUMPI 0000088a: PUSH1 0x00 0000088c: DUP1 0000088d: REVERT 0000088e: JUMPDEST 0000088f: POP 00000890: PUSH2 0x0493 00000893: PUSH2 0x1a0d 00000896: JUMP 00000897: JUMPDEST 00000898: CALLVALUE 00000899: DUP1 0000089a: ISZERO 0000089b: PUSH2 0x08a3 0000089e: JUMPI 0000089f: PUSH1 0x00 000008a1: DUP1 000008a2: REVERT 000008a3: JUMPDEST 000008a4: POP 000008a5: PUSH2 0x032b 000008a8: PUSH2 0x1a21 000008ab: JUMP 000008ac: JUMPDEST 000008ad: PUSH1 0x03 000008af: DUP1 000008b0: SLOAD 000008b1: PUSH1 0x40 000008b3: DUP1 000008b4: MLOAD 000008b5: PUSH1 0x20 000008b7: PUSH1 0x1f 000008b9: PUSH1 0x02 000008bb: PUSH1 0x00 000008bd: NOT 000008be: PUSH2 0x0100 000008c1: PUSH1 0x01 000008c3: DUP9 000008c4: AND 000008c5: ISZERO 000008c6: MUL 000008c7: ADD 000008c8: SWAP1 000008c9: SWAP6 000008ca: AND 000008cb: SWAP5 000008cc: SWAP1 000008cd: SWAP5 000008ce: DIV 000008cf: SWAP4 000008d0: DUP5 000008d1: ADD 000008d2: DUP2 000008d3: SWAP1 000008d4: DIV 000008d5: DUP2 000008d6: MUL 000008d7: DUP3 000008d8: ADD 000008d9: DUP2 000008da: ADD 000008db: SWAP1 000008dc: SWAP3 000008dd: MSTORE 000008de: DUP3 000008df: DUP2 000008e0: MSTORE 000008e1: PUSH1 0x60 000008e3: SWAP4 000008e4: SWAP1 000008e5: SWAP3 000008e6: SWAP1 000008e7: SWAP2 000008e8: DUP4 000008e9: ADD 000008ea: DUP3 000008eb: DUP3 000008ec: DUP1 000008ed: ISZERO 000008ee: PUSH2 0x0938 000008f1: JUMPI 000008f2: DUP1 000008f3: PUSH1 0x1f 000008f5: LT 000008f6: PUSH2 0x090d 000008f9: JUMPI 000008fa: PUSH2 0x0100 000008fd: DUP1 000008fe: DUP4 000008ff: SLOAD 00000900: DIV 00000901: MUL 00000902: DUP4 00000903: MSTORE 00000904: SWAP2 00000905: PUSH1 0x20 00000907: ADD 00000908: SWAP2 00000909: PUSH2 0x0938 0000090c: JUMP 0000090d: JUMPDEST 0000090e: DUP3 0000090f: ADD 00000910: SWAP2 00000911: SWAP1 00000912: PUSH1 0x00 00000914: MSTORE 00000915: PUSH1 0x20 00000917: PUSH1 0x00 00000919: KECCAK256 0000091a: SWAP1 0000091b: JUMPDEST 0000091c: DUP2 0000091d: SLOAD 0000091e: DUP2 0000091f: MSTORE 00000920: SWAP1 00000921: PUSH1 0x01 00000923: ADD 00000924: SWAP1 00000925: PUSH1 0x20 00000927: ADD 00000928: DUP1 00000929: DUP4 0000092a: GT 0000092b: PUSH2 0x091b 0000092e: JUMPI 0000092f: DUP3 00000930: SWAP1 00000931: SUB 00000932: PUSH1 0x1f 00000934: AND 00000935: DUP3 00000936: ADD 00000937: SWAP2 00000938: JUMPDEST 00000939: POP 0000093a: POP 0000093b: POP 0000093c: POP 0000093d: POP 0000093e: SWAP1 0000093f: POP 00000940: JUMPDEST 00000941: SWAP1 00000942: JUMP 00000943: JUMPDEST 00000944: PUSH1 0x00 00000946: PUSH2 0x0957 00000949: PUSH2 0x0950 0000094c: PUSH2 0x1a79 0000094f: JUMP 00000950: JUMPDEST 00000951: DUP5 00000952: DUP5 00000953: PUSH2 0x1a7d 00000956: JUMP 00000957: JUMPDEST 00000958: POP 00000959: PUSH1 0x01 0000095b: JUMPDEST 0000095c: SWAP3 0000095d: SWAP2 0000095e: POP 0000095f: POP 00000960: JUMP 00000961: JUMPDEST 00000962: PUSH1 0x0a 00000964: SLOAD 00000965: PUSH1 0xff 00000967: AND 00000968: ISZERO 00000969: PUSH2 0x098d 0000096c: JUMPI 0000096d: PUSH1 0x40 0000096f: MLOAD 00000970: PUSH3 0x461bcd 00000974: PUSH1 0xe5 00000976: SHL 00000977: DUP2 00000978: MSTORE 00000979: PUSH1 0x04 0000097b: ADD 0000097c: PUSH2 0x0984 0000097f: SWAP1 00000980: PUSH2 0x3427 00000983: JUMP 00000984: JUMPDEST 00000985: PUSH1 0x40 00000987: MLOAD 00000988: DUP1 00000989: SWAP2 0000098a: SUB 0000098b: SWAP1 0000098c: REVERT 0000098d: JUMPDEST 0000098e: PUSH1 0x01 00000990: CALLER 00000991: PUSH1 0x00 00000993: SWAP1 00000994: DUP2 00000995: MSTORE 00000996: PUSH1 0x09 00000998: PUSH1 0x20 0000099a: MSTORE 0000099b: PUSH1 0x40 0000099d: SWAP1 0000099e: KECCAK256 0000099f: SLOAD 000009a0: PUSH1 0xff 000009a2: AND 000009a3: PUSH1 0x02 000009a5: DUP2 000009a6: GT 000009a7: ISZERO 000009a8: PUSH2 0x09ad 000009ab: JUMPI 000009ac: INVALID 000009ad: JUMPDEST 000009ae: EQ 000009af: PUSH2 0x09ca 000009b2: JUMPI 000009b3: PUSH1 0x40 000009b5: MLOAD 000009b6: PUSH3 0x461bcd 000009ba: PUSH1 0xe5 000009bc: SHL 000009bd: DUP2 000009be: MSTORE 000009bf: PUSH1 0x04 000009c1: ADD 000009c2: PUSH2 0x0984 000009c5: SWAP1 000009c6: PUSH2 0x34b7 000009c9: JUMP 000009ca: JUMPDEST 000009cb: CALLER 000009cc: PUSH1 0x00 000009ce: DUP2 000009cf: DUP2 000009d0: MSTORE 000009d1: PUSH1 0x09 000009d3: PUSH1 0x20 000009d5: MSTORE 000009d6: PUSH1 0x40 000009d8: DUP1 000009d9: DUP3 000009da: KECCAK256 000009db: DUP1 000009dc: SLOAD 000009dd: PUSH1 0xff 000009df: NOT 000009e0: AND 000009e1: PUSH1 0x02 000009e3: OR 000009e4: SWAP1 000009e5: SSTORE 000009e6: PUSH1 0x08 000009e8: DUP1 000009e9: SLOAD 000009ea: PUSH1 0x01 000009ec: DUP2 000009ed: ADD 000009ee: DUP3 000009ef: SSTORE 000009f0: SWAP1 000009f1: DUP4 000009f2: MSTORE 000009f3: PUSH32 0xf3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3 00000a14: ADD 00000a15: DUP1 00000a16: SLOAD 00000a17: PUSH1 0x01 00000a19: PUSH1 0x01 00000a1b: PUSH1 0xa0 00000a1d: SHL 00000a1e: SUB 00000a1f: NOT 00000a20: AND 00000a21: DUP5 00000a22: OR 00000a23: SWAP1 00000a24: SSTORE 00000a25: MLOAD 00000a26: PUSH32 0x27b541a16df0902e262f34789782092ab25125513b8ed73608e802951771b928 00000a47: SWAP2 00000a48: SWAP1 00000a49: LOG2 00000a4a: JUMP 00000a4b: JUMPDEST 00000a4c: PUSH1 0x02 00000a4e: SLOAD 00000a4f: SWAP1 00000a50: JUMP 00000a51: JUMPDEST 00000a52: PUSH2 0x0a59 00000a55: PUSH2 0x1b31 00000a58: JUMP 00000a59: JUMPDEST 00000a5a: PUSH1 0x01 00000a5c: PUSH1 0x01 00000a5e: PUSH1 0xa0 00000a60: SHL 00000a61: SUB 00000a62: DUP2 00000a63: AND 00000a64: PUSH1 0x00 00000a66: SWAP1 00000a67: DUP2 00000a68: MSTORE 00000a69: PUSH1 0x09 00000a6b: PUSH1 0x20 00000a6d: MSTORE 00000a6e: PUSH1 0x40 00000a70: DUP2 00000a71: KECCAK256 00000a72: SLOAD 00000a73: PUSH1 0xff 00000a75: AND 00000a76: PUSH1 0x02 00000a78: DUP2 00000a79: GT 00000a7a: ISZERO 00000a7b: PUSH2 0x0a80 00000a7e: JUMPI 00000a7f: INVALID 00000a80: JUMPDEST 00000a81: EQ 00000a82: PUSH2 0x0a9d 00000a85: JUMPI 00000a86: PUSH1 0x40 00000a88: MLOAD 00000a89: PUSH3 0x461bcd 00000a8d: PUSH1 0xe5 00000a8f: SHL 00000a90: DUP2 00000a91: MSTORE 00000a92: PUSH1 0x04 00000a94: ADD 00000a95: PUSH2 0x0984 00000a98: SWAP1 00000a99: PUSH2 0x2eb1 00000a9c: JUMP 00000a9d: JUMPDEST 00000a9e: PUSH1 0x05 00000aa0: SLOAD 00000aa1: PUSH1 0x40 00000aa3: MLOAD 00000aa4: PUSH4 0x42f6e389 00000aa9: PUSH1 0xe0 00000aab: SHL 00000aac: DUP2 00000aad: MSTORE 00000aae: PUSH2 0x0100 00000ab1: SWAP1 00000ab2: SWAP2 00000ab3: DIV 00000ab4: PUSH1 0x01 00000ab6: PUSH1 0x01 00000ab8: PUSH1 0xa0 00000aba: SHL 00000abb: SUB 00000abc: AND 00000abd: SWAP1 00000abe: PUSH4 0x42f6e389 00000ac3: SWAP1 00000ac4: PUSH2 0x0ad1 00000ac7: SWAP1 00000ac8: DUP5 00000ac9: SWAP1 00000aca: PUSH1 0x04 00000acc: ADD 00000acd: PUSH2 0x2c47 00000ad0: JUMP 00000ad1: JUMPDEST 00000ad2: PUSH1 0x20 00000ad4: PUSH1 0x40 00000ad6: MLOAD 00000ad7: DUP1 00000ad8: DUP4 00000ad9: SUB 00000ada: DUP2 00000adb: DUP7 00000adc: DUP1 00000add: EXTCODESIZE 00000ade: ISZERO 00000adf: DUP1 00000ae0: ISZERO 00000ae1: PUSH2 0x0ae9 00000ae4: JUMPI 00000ae5: PUSH1 0x00 00000ae7: DUP1 00000ae8: REVERT 00000ae9: JUMPDEST 00000aea: POP 00000aeb: GAS 00000aec: STATICCALL 00000aed: ISZERO 00000aee: DUP1 00000aef: ISZERO 00000af0: PUSH2 0x0afd 00000af3: JUMPI 00000af4: RETURNDATASIZE 00000af5: PUSH1 0x00 00000af7: DUP1 00000af8: RETURNDATACOPY 00000af9: RETURNDATASIZE 00000afa: PUSH1 0x00 00000afc: REVERT 00000afd: JUMPDEST 00000afe: POP 00000aff: POP 00000b00: POP 00000b01: POP 00000b02: PUSH1 0x40 00000b04: MLOAD 00000b05: RETURNDATASIZE 00000b06: PUSH1 0x1f 00000b08: NOT 00000b09: PUSH1 0x1f 00000b0b: DUP3 00000b0c: ADD 00000b0d: AND 00000b0e: DUP3 00000b0f: ADD 00000b10: DUP1 00000b11: PUSH1 0x40 00000b13: MSTORE 00000b14: POP 00000b15: DUP2 00000b16: ADD 00000b17: SWAP1 00000b18: PUSH2 0x0b21 00000b1b: SWAP2 00000b1c: SWAP1 00000b1d: PUSH2 0x2b9d 00000b20: JUMP 00000b21: JUMPDEST 00000b22: PUSH2 0x0b3d 00000b25: JUMPI 00000b26: PUSH1 0x40 00000b28: MLOAD 00000b29: PUSH3 0x461bcd 00000b2d: PUSH1 0xe5 00000b2f: SHL 00000b30: DUP2 00000b31: MSTORE 00000b32: PUSH1 0x04 00000b34: ADD 00000b35: PUSH2 0x0984 00000b38: SWAP1 00000b39: PUSH2 0x316e 00000b3c: JUMP 00000b3d: JUMPDEST 00000b3e: PUSH1 0x01 00000b40: PUSH1 0x01 00000b42: PUSH1 0xa0 00000b44: SHL 00000b45: SUB 00000b46: DUP2 00000b47: AND 00000b48: PUSH1 0x00 00000b4a: DUP2 00000b4b: DUP2 00000b4c: MSTORE 00000b4d: PUSH1 0x09 00000b4f: PUSH1 0x20 00000b51: MSTORE 00000b52: PUSH1 0x40 00000b54: DUP1 00000b55: DUP3 00000b56: KECCAK256 00000b57: DUP1 00000b58: SLOAD 00000b59: PUSH1 0xff 00000b5b: NOT 00000b5c: AND 00000b5d: PUSH1 0x01 00000b5f: OR 00000b60: SWAP1 00000b61: SSTORE 00000b62: MLOAD 00000b63: PUSH32 0xead6a006345da1073a106d5f32372d2d2204f46cb0b4bca8f5ebafcbbed12b8a 00000b84: SWAP2 00000b85: SWAP1 00000b86: LOG2 00000b87: POP 00000b88: JUMP 00000b89: JUMPDEST 00000b8a: PUSH1 0x00 00000b8c: PUSH2 0x0b9d 00000b8f: PUSH2 0x0b98 00000b92: DUP5 00000b93: DUP5 00000b94: PUSH2 0x1b5d 00000b97: JUMP 00000b98: JUMPDEST 00000b99: PUSH2 0x1b8c 00000b9c: JUMP 00000b9d: JUMPDEST 00000b9e: SWAP4 00000b9f: SWAP3 00000ba0: POP 00000ba1: POP 00000ba2: POP 00000ba3: JUMP 00000ba4: JUMPDEST 00000ba5: PUSH1 0x00 00000ba7: PUSH2 0x0bb1 00000baa: DUP5 00000bab: DUP5 00000bac: DUP5 00000bad: PUSH2 0x1ba3 00000bb0: JUMP 00000bb1: JUMPDEST 00000bb2: PUSH2 0x0c27 00000bb5: DUP5 00000bb6: PUSH2 0x0bbd 00000bb9: PUSH2 0x1a79 00000bbc: JUMP 00000bbd: JUMPDEST 00000bbe: PUSH2 0x0c22 00000bc1: DUP6 00000bc2: PUSH1 0x40 00000bc4: MLOAD 00000bc5: DUP1 00000bc6: PUSH1 0x60 00000bc8: ADD 00000bc9: PUSH1 0x40 00000bcb: MSTORE 00000bcc: DUP1 00000bcd: PUSH1 0x28 00000bcf: DUP2 00000bd0: MSTORE 00000bd1: PUSH1 0x20 00000bd3: ADD 00000bd4: PUSH2 0x3609 00000bd7: PUSH1 0x28 00000bd9: SWAP2 00000bda: CODECOPY 00000bdb: PUSH1 0x01 00000bdd: PUSH1 0x01 00000bdf: PUSH1 0xa0 00000be1: SHL 00000be2: SUB 00000be3: DUP11 00000be4: AND 00000be5: PUSH1 0x00 00000be7: SWAP1 00000be8: DUP2 00000be9: MSTORE 00000bea: PUSH1 0x01 00000bec: PUSH1 0x20 00000bee: MSTORE 00000bef: PUSH1 0x40 00000bf1: DUP2 00000bf2: KECCAK256 00000bf3: SWAP1 00000bf4: PUSH2 0x0bfb 00000bf7: PUSH2 0x1a79 00000bfa: JUMP 00000bfb: JUMPDEST 00000bfc: PUSH1 0x01 00000bfe: PUSH1 0x01 00000c00: PUSH1 0xa0 00000c02: SHL 00000c03: SUB 00000c04: AND 00000c05: DUP2 00000c06: MSTORE 00000c07: PUSH1 0x20 00000c09: DUP2 00000c0a: ADD 00000c0b: SWAP2 00000c0c: SWAP1 00000c0d: SWAP2 00000c0e: MSTORE 00000c0f: PUSH1 0x40 00000c11: ADD 00000c12: PUSH1 0x00 00000c14: KECCAK256 00000c15: SLOAD 00000c16: SWAP2 00000c17: SWAP1 00000c18: PUSH4 0xffffffff 00000c1d: PUSH2 0x1cc4 00000c20: AND 00000c21: JUMP 00000c22: JUMPDEST 00000c23: PUSH2 0x1a7d 00000c26: JUMP 00000c27: JUMPDEST 00000c28: POP 00000c29: PUSH1 0x01 00000c2b: SWAP4 00000c2c: SWAP3 00000c2d: POP 00000c2e: POP 00000c2f: POP 00000c30: JUMP 00000c31: JUMPDEST 00000c32: PUSH2 0x0c39 00000c35: PUSH2 0x1cf0 00000c38: JUMP 00000c39: JUMPDEST 00000c3a: PUSH2 0x0c41 00000c3d: PUSH2 0x1dcd 00000c40: JUMP 00000c41: JUMPDEST 00000c42: PUSH1 0x01 00000c44: PUSH1 0x01 00000c46: PUSH1 0xa0 00000c48: SHL 00000c49: SUB 00000c4a: DUP1 00000c4b: DUP6 00000c4c: AND 00000c4d: PUSH1 0x00 00000c4f: SWAP1 00000c50: DUP2 00000c51: MSTORE 00000c52: PUSH1 0x0c 00000c54: PUSH1 0x20 00000c56: SWAP1 00000c57: DUP2 00000c58: MSTORE 00000c59: PUSH1 0x40 00000c5b: DUP1 00000c5c: DUP4 00000c5d: KECCAK256 00000c5e: SWAP4 00000c5f: DUP8 00000c60: AND 00000c61: DUP4 00000c62: MSTORE 00000c63: PUSH1 0x02 00000c65: SWAP1 00000c66: SWAP4 00000c67: ADD 00000c68: SWAP1 00000c69: MSTORE 00000c6a: KECCAK256 00000c6b: PUSH2 0x0c78 00000c6e: SWAP1 00000c6f: PUSH1 0x01 00000c71: ADD 00000c72: DUP4 00000c73: DUP4 00000c74: PUSH2 0x288c 00000c77: JUMP 00000c78: JUMPDEST 00000c79: POP 00000c7a: DUP3 00000c7b: PUSH1 0x01 00000c7d: PUSH1 0x01 00000c7f: PUSH1 0xa0 00000c81: SHL 00000c82: SUB 00000c83: AND 00000c84: DUP5 00000c85: PUSH1 0x01 00000c87: PUSH1 0x01 00000c89: PUSH1 0xa0 00000c8b: SHL 00000c8c: SUB 00000c8d: AND 00000c8e: PUSH32 0xb373eedb8e9038a2dcba31f06b2735887c1a904125e5c9f0021ba41ed972318e 00000caf: DUP5 00000cb0: DUP5 00000cb1: PUSH1 0x40 00000cb3: MLOAD 00000cb4: PUSH2 0x0cbe 00000cb7: SWAP3 00000cb8: SWAP2 00000cb9: SWAP1 00000cba: PUSH2 0x2d71 00000cbd: JUMP 00000cbe: JUMPDEST 00000cbf: PUSH1 0x40 00000cc1: MLOAD 00000cc2: DUP1 00000cc3: SWAP2 00000cc4: SUB 00000cc5: SWAP1 00000cc6: LOG3 00000cc7: POP 00000cc8: POP 00000cc9: POP 00000cca: POP 00000ccb: JUMP 00000ccc: JUMPDEST 00000ccd: PUSH2 0x0cd4 00000cd0: PUSH2 0x1cf0 00000cd3: JUMP 00000cd4: JUMPDEST 00000cd5: PUSH2 0x0cdc 00000cd8: PUSH2 0x1dcd 00000cdb: JUMP 00000cdc: JUMPDEST 00000cdd: PUSH1 0x00 00000cdf: PUSH2 0x0ce7 00000ce2: DUP3 00000ce3: PUSH2 0x1e02 00000ce6: JUMP 00000ce7: JUMPDEST 00000ce8: PUSH1 0x01 00000cea: PUSH1 0x01 00000cec: PUSH1 0xa0 00000cee: SHL 00000cef: SUB 00000cf0: DUP5 00000cf1: AND 00000cf2: PUSH1 0x00 00000cf4: DUP2 00000cf5: DUP2 00000cf6: MSTORE 00000cf7: PUSH1 0x0c 00000cf9: PUSH1 0x20 00000cfb: MSTORE 00000cfc: PUSH1 0x40 00000cfe: SWAP1 00000cff: DUP2 00000d00: SWAP1 00000d01: KECCAK256 00000d02: DUP4 00000d03: SWAP1 00000d04: SSTORE 00000d05: MLOAD 00000d06: SWAP2 00000d07: SWAP3 00000d08: POP 00000d09: SWAP1 00000d0a: PUSH32 0x8133e2bf34edab764b55c59d1d41f9df637e7c22828bb6b0a9d55b429d008a97 00000d2b: SWAP1 00000d2c: PUSH2 0x0d36 00000d2f: SWAP1 00000d30: DUP6 00000d31: SWAP1 00000d32: PUSH2 0x2ddc 00000d35: JUMP 00000d36: JUMPDEST 00000d37: PUSH1 0x40 00000d39: MLOAD 00000d3a: DUP1 00000d3b: SWAP2 00000d3c: SUB 00000d3d: SWAP1 00000d3e: LOG2 00000d3f: POP 00000d40: POP 00000d41: POP 00000d42: JUMP 00000d43: JUMPDEST 00000d44: PUSH1 0x05 00000d46: SLOAD 00000d47: PUSH1 0xff 00000d49: AND 00000d4a: SWAP1 00000d4b: JUMP 00000d4c: JUMPDEST 00000d4d: PUSH1 0x09 00000d4f: PUSH1 0x20 00000d51: MSTORE 00000d52: PUSH1 0x00 00000d54: SWAP1 00000d55: DUP2 00000d56: MSTORE 00000d57: PUSH1 0x40 00000d59: SWAP1 00000d5a: KECCAK256 00000d5b: SLOAD 00000d5c: PUSH1 0xff 00000d5e: AND 00000d5f: DUP2 00000d60: JUMP 00000d61: JUMPDEST 00000d62: PUSH1 0x00 00000d64: PUSH2 0x0957 00000d67: PUSH2 0x0d6e 00000d6a: PUSH2 0x1a79 00000d6d: JUMP 00000d6e: JUMPDEST 00000d6f: DUP5 00000d70: PUSH2 0x0c22 00000d73: DUP6 00000d74: PUSH1 0x01 00000d76: PUSH1 0x00 00000d78: PUSH2 0x0d7f 00000d7b: PUSH2 0x1a79 00000d7e: JUMP 00000d7f: JUMPDEST 00000d80: PUSH1 0x01 00000d82: PUSH1 0x01 00000d84: PUSH1 0xa0 00000d86: SHL 00000d87: SUB 00000d88: SWAP1 00000d89: DUP2 00000d8a: AND 00000d8b: DUP3 00000d8c: MSTORE 00000d8d: PUSH1 0x20 00000d8f: DUP1 00000d90: DUP4 00000d91: ADD 00000d92: SWAP4 00000d93: SWAP1 00000d94: SWAP4 00000d95: MSTORE 00000d96: PUSH1 0x40 00000d98: SWAP2 00000d99: DUP3 00000d9a: ADD 00000d9b: PUSH1 0x00 00000d9d: SWAP1 00000d9e: DUP2 00000d9f: KECCAK256 00000da0: SWAP2 00000da1: DUP13 00000da2: AND 00000da3: DUP2 00000da4: MSTORE 00000da5: SWAP3 00000da6: MSTORE 00000da7: SWAP1 00000da8: KECCAK256 00000da9: SLOAD 00000daa: SWAP1 00000dab: PUSH4 0xffffffff 00000db0: PUSH2 0x1e47 00000db3: AND 00000db4: JUMP 00000db5: JUMPDEST 00000db6: PUSH2 0x0dbd 00000db9: PUSH2 0x1cf0 00000dbc: JUMP 00000dbd: JUMPDEST 00000dbe: PUSH2 0x0dc5 00000dc1: PUSH2 0x1dcd 00000dc4: JUMP 00000dc5: JUMPDEST 00000dc6: PUSH2 0x0dcf 00000dc9: DUP3 00000dca: DUP3 00000dcb: PUSH2 0x1e6c 00000dce: JUMP 00000dcf: JUMPDEST 00000dd0: POP 00000dd1: POP 00000dd2: JUMP 00000dd3: JUMPDEST 00000dd4: PUSH1 0x06 00000dd6: SLOAD 00000dd7: PUSH1 0x01 00000dd9: PUSH1 0x01 00000ddb: PUSH1 0xa0 00000ddd: SHL 00000dde: SUB 00000ddf: AND 00000de0: DUP2 00000de1: JUMP 00000de2: JUMPDEST 00000de3: PUSH2 0x0dea 00000de6: PUSH2 0x1cf0 00000de9: JUMP 00000dea: JUMPDEST 00000deb: PUSH2 0x0df2 00000dee: PUSH2 0x1dcd 00000df1: JUMP 00000df2: JUMPDEST 00000df3: PUSH2 0x0dfb 00000df6: DUP2 00000df7: PUSH2 0x1893 00000dfa: JUMP 00000dfb: JUMPDEST 00000dfc: ISZERO 00000dfd: PUSH2 0x0e18 00000e00: JUMPI 00000e01: PUSH1 0x40 00000e03: MLOAD 00000e04: PUSH3 0x461bcd 00000e08: PUSH1 0xe5 00000e0a: SHL 00000e0b: DUP2 00000e0c: MSTORE 00000e0d: PUSH1 0x04 00000e0f: ADD 00000e10: PUSH2 0x0984 00000e13: SWAP1 00000e14: PUSH2 0x313f 00000e17: JUMP 00000e18: JUMPDEST 00000e19: PUSH1 0x0b 00000e1b: DUP1 00000e1c: SLOAD 00000e1d: PUSH1 0x01 00000e1f: DUP2 00000e20: ADD 00000e21: DUP3 00000e22: SSTORE 00000e23: PUSH1 0x00 00000e25: SWAP2 00000e26: DUP3 00000e27: MSTORE 00000e28: PUSH32 0x0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9 00000e49: ADD 00000e4a: DUP1 00000e4b: SLOAD 00000e4c: PUSH1 0x01 00000e4e: PUSH1 0x01 00000e50: PUSH1 0xa0 00000e52: SHL 00000e53: SUB 00000e54: NOT 00000e55: AND 00000e56: PUSH1 0x01 00000e58: PUSH1 0x01 00000e5a: PUSH1 0xa0 00000e5c: SHL 00000e5d: SUB 00000e5e: DUP5 00000e5f: AND 00000e60: SWAP1 00000e61: DUP2 00000e62: OR 00000e63: SWAP1 00000e64: SWAP2 00000e65: SSTORE 00000e66: PUSH1 0x40 00000e68: MLOAD 00000e69: SWAP1 00000e6a: SWAP2 00000e6b: PUSH32 0x76da6cf8b40dd2b2c223a5956831e0ff4e75522538a86782108a0bbe1577e298 00000e8c: SWAP2 00000e8d: LOG2 00000e8e: POP 00000e8f: JUMP 00000e90: JUMPDEST 00000e91: PUSH1 0x0d 00000e93: SLOAD 00000e94: DUP2 00000e95: JUMP 00000e96: JUMPDEST 00000e97: PUSH1 0x00 00000e99: PUSH1 0x01 00000e9b: JUMPDEST 00000e9c: PUSH1 0x01 00000e9e: PUSH1 0x01 00000ea0: PUSH1 0xa0 00000ea2: SHL 00000ea3: SUB 00000ea4: DUP4 00000ea5: AND 00000ea6: PUSH1 0x00 00000ea8: SWAP1 00000ea9: DUP2 00000eaa: MSTORE 00000eab: PUSH1 0x09 00000ead: PUSH1 0x20 00000eaf: MSTORE 00000eb0: PUSH1 0x40 00000eb2: SWAP1 00000eb3: KECCAK256 00000eb4: SLOAD 00000eb5: PUSH1 0xff 00000eb7: AND 00000eb8: PUSH1 0x02 00000eba: DUP2 00000ebb: GT 00000ebc: ISZERO 00000ebd: PUSH2 0x0ec2 00000ec0: JUMPI 00000ec1: INVALID 00000ec2: JUMPDEST 00000ec3: EQ 00000ec4: SWAP3 00000ec5: SWAP2 00000ec6: POP 00000ec7: POP 00000ec8: JUMP 00000ec9: JUMPDEST 00000eca: PUSH2 0x0ed1 00000ecd: PUSH2 0x1cf0 00000ed0: JUMP 00000ed1: JUMPDEST 00000ed2: PUSH2 0x0ed9 00000ed5: PUSH2 0x1dcd 00000ed8: JUMP 00000ed9: JUMPDEST 00000eda: PUSH1 0x00 00000edc: PUSH2 0x0ee4 00000edf: DUP3 00000ee0: PUSH2 0x1e02 00000ee3: JUMP 00000ee4: JUMPDEST 00000ee5: PUSH1 0x01 00000ee7: PUSH1 0x01 00000ee9: PUSH1 0xa0 00000eeb: SHL 00000eec: SUB 00000eed: DUP1 00000eee: DUP7 00000eef: AND 00000ef0: PUSH1 0x00 00000ef2: DUP2 00000ef3: DUP2 00000ef4: MSTORE 00000ef5: PUSH1 0x0c 00000ef7: PUSH1 0x20 00000ef9: SWAP1 00000efa: DUP2 00000efb: MSTORE 00000efc: PUSH1 0x40 00000efe: DUP1 00000eff: DUP4 00000f00: KECCAK256 00000f01: SWAP5 00000f02: DUP10 00000f03: AND 00000f04: DUP1 00000f05: DUP5 00000f06: MSTORE 00000f07: PUSH1 0x02 00000f09: SWAP1 00000f0a: SWAP6 00000f0b: ADD 00000f0c: SWAP1 00000f0d: SWAP2 00000f0e: MSTORE 00000f0f: SWAP1 00000f10: DUP2 00000f11: SWAP1 00000f12: KECCAK256 00000f13: DUP5 00000f14: SWAP1 00000f15: SSTORE 00000f16: MLOAD 00000f17: SWAP3 00000f18: SWAP4 00000f19: POP 00000f1a: SWAP1 00000f1b: SWAP2 00000f1c: PUSH32 0x81a422e27f503e1b92cdb616a6e653aac10a8e0c3fa6832a58dc616c080fd7bd 00000f3d: SWAP1 00000f3e: PUSH2 0x0cbe 00000f41: SWAP1 00000f42: DUP7 00000f43: SWAP1 00000f44: PUSH2 0x2ddc 00000f47: JUMP 00000f48: JUMPDEST 00000f49: PUSH1 0x00 00000f4b: PUSH2 0x095b 00000f4e: PUSH2 0x0b98 00000f51: DUP4 00000f52: PUSH2 0x1f38 00000f55: JUMP 00000f56: JUMPDEST 00000f57: PUSH2 0x0f5e 00000f5a: PUSH2 0x1cf0 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: PUSH2 0x0f66 00000f62: PUSH2 0x1dcd 00000f65: JUMP 00000f66: JUMPDEST 00000f67: PUSH2 0x0f77 00000f6a: PUSH1 0x0b 00000f6c: DUP3 00000f6d: PUSH4 0xffffffff 00000f72: PUSH2 0x1f53 00000f75: AND 00000f76: JUMP 00000f77: JUMPDEST 00000f78: PUSH1 0x40 00000f7a: MLOAD 00000f7b: PUSH1 0x01 00000f7d: PUSH1 0x01 00000f7f: PUSH1 0xa0 00000f81: SHL 00000f82: SUB 00000f83: DUP3 00000f84: AND 00000f85: SWAP1 00000f86: PUSH32 0xc605d0bf97f9b921340106a2e59f9428d5eb9039b16866159e0cdd2bf8e963df 00000fa7: SWAP1 00000fa8: PUSH1 0x00 00000faa: SWAP1 00000fab: LOG2 00000fac: POP 00000fad: JUMP 00000fae: JUMPDEST 00000faf: PUSH1 0x01 00000fb1: PUSH1 0x01 00000fb3: PUSH1 0xa0 00000fb5: SHL 00000fb6: SUB 00000fb7: AND 00000fb8: PUSH1 0x00 00000fba: SWAP1 00000fbb: DUP2 00000fbc: MSTORE 00000fbd: PUSH1 0x20 00000fbf: DUP2 00000fc0: SWAP1 00000fc1: MSTORE 00000fc2: PUSH1 0x40 00000fc4: SWAP1 00000fc5: KECCAK256 00000fc6: SLOAD 00000fc7: SWAP1 00000fc8: JUMP 00000fc9: JUMPDEST 00000fca: PUSH1 0x00 00000fcc: PUSH2 0x0b9d 00000fcf: DUP3 00000fd0: PUSH2 0x0fd8 00000fd3: DUP6 00000fd4: PUSH2 0x2080 00000fd7: JUMP 00000fd8: JUMPDEST 00000fd9: SWAP1 00000fda: PUSH4 0xffffffff 00000fdf: PUSH2 0x20f9 00000fe2: AND 00000fe3: JUMP 00000fe4: JUMPDEST 00000fe5: PUSH1 0x60 00000fe7: DUP1 00000fe8: PUSH2 0x0fef 00000feb: PUSH2 0x210f 00000fee: JUMP 00000fef: JUMPDEST 00000ff0: PUSH8 0xffffffffffffffff 00000ff9: DUP2 00000ffa: GT 00000ffb: DUP1 00000ffc: ISZERO 00000ffd: PUSH2 0x1005 00001000: JUMPI 00001001: PUSH1 0x00 00001003: DUP1 00001004: REVERT 00001005: JUMPDEST 00001006: POP 00001007: PUSH1 0x40 00001009: MLOAD 0000100a: SWAP1 0000100b: DUP1 0000100c: DUP3 0000100d: MSTORE 0000100e: DUP1 0000100f: PUSH1 0x20 00001011: MUL 00001012: PUSH1 0x20 00001014: ADD 00001015: DUP3 00001016: ADD 00001017: PUSH1 0x40 00001019: MSTORE 0000101a: DUP1 0000101b: ISZERO 0000101c: PUSH2 0x103f 0000101f: JUMPI 00001020: DUP2 00001021: PUSH1 0x20 00001023: ADD 00001024: JUMPDEST 00001025: PUSH2 0x102c 00001028: PUSH2 0x2906 0000102b: JUMP 0000102c: JUMPDEST 0000102d: DUP2 0000102e: MSTORE 0000102f: PUSH1 0x20 00001031: ADD 00001032: SWAP1 00001033: PUSH1 0x01 00001035: SWAP1 00001036: SUB 00001037: SWAP1 00001038: DUP2 00001039: PUSH2 0x1024 0000103c: JUMPI 0000103d: SWAP1 0000103e: POP 0000103f: JUMPDEST 00001040: POP 00001041: SWAP1 00001042: POP 00001043: PUSH1 0x00 00001045: DUP1 00001046: JUMPDEST 00001047: PUSH1 0x0b 00001049: SLOAD 0000104a: DUP2 0000104b: LT 0000104c: ISZERO 0000104d: PUSH2 0x1199 00001050: JUMPI 00001051: PUSH1 0x00 00001053: PUSH1 0x0b 00001055: DUP3 00001056: DUP2 00001057: SLOAD 00001058: DUP2 00001059: LT 0000105a: PUSH2 0x105f 0000105d: JUMPI 0000105e: INVALID 0000105f: JUMPDEST 00001060: PUSH1 0x00 00001062: SWAP2 00001063: DUP3 00001064: MSTORE 00001065: PUSH1 0x20 00001067: DUP3 00001068: KECCAK256 00001069: ADD 0000106a: SLOAD 0000106b: PUSH1 0x01 0000106d: PUSH1 0x01 0000106f: PUSH1 0xa0 00001071: SHL 00001072: SUB 00001073: AND 00001074: SWAP2 00001075: POP 00001076: PUSH2 0x107e 00001079: DUP3 0000107a: PUSH2 0x1f38 0000107d: JUMP 0000107e: JUMPDEST 0000107f: SGT 00001080: ISZERO 00001081: PUSH2 0x10ed 00001084: JUMPI 00001085: PUSH1 0x40 00001087: DUP1 00001088: MLOAD 00001089: PUSH1 0xa0 0000108b: DUP2 0000108c: ADD 0000108d: DUP3 0000108e: MSTORE 0000108f: PUSH1 0x01 00001091: PUSH1 0x01 00001093: PUSH1 0xa0 00001095: SHL 00001096: SUB 00001097: DUP4 00001098: AND 00001099: DUP2 0000109a: MSTORE 0000109b: PUSH1 0x00 0000109d: PUSH1 0x20 0000109f: DUP3 000010a0: ADD 000010a1: MSTORE 000010a2: SWAP1 000010a3: DUP2 000010a4: ADD 000010a5: PUSH2 0x10ad 000010a8: DUP4 000010a9: PUSH2 0x0f48 000010ac: JUMP 000010ad: JUMPDEST 000010ae: DUP2 000010af: MSTORE 000010b0: PUSH1 0x20 000010b2: ADD 000010b3: PUSH1 0x00 000010b5: PUSH1 0xff 000010b7: AND 000010b8: DUP2 000010b9: MSTORE 000010ba: PUSH1 0x20 000010bc: ADD 000010bd: PUSH1 0x40 000010bf: MLOAD 000010c0: DUP1 000010c1: PUSH1 0x20 000010c3: ADD 000010c4: PUSH1 0x40 000010c6: MSTORE 000010c7: DUP1 000010c8: PUSH1 0x00 000010ca: DUP2 000010cb: MSTORE 000010cc: POP 000010cd: DUP2 000010ce: MSTORE 000010cf: POP 000010d0: DUP5 000010d1: DUP5 000010d2: DUP2 000010d3: MLOAD 000010d4: DUP2 000010d5: LT 000010d6: PUSH2 0x10db 000010d9: JUMPI 000010da: INVALID 000010db: JUMPDEST 000010dc: PUSH1 0x20 000010de: SWAP1 000010df: DUP2 000010e0: MUL 000010e1: SWAP2 000010e2: SWAP1 000010e3: SWAP2 000010e4: ADD 000010e5: ADD 000010e6: MSTORE 000010e7: PUSH1 0x01 000010e9: SWAP1 000010ea: SWAP3 000010eb: ADD 000010ec: SWAP2 000010ed: JUMPDEST 000010ee: PUSH1 0x60 000010f0: PUSH2 0x10f8 000010f3: DUP3 000010f4: PUSH2 0x2080 000010f7: JUMP 000010f8: JUMPDEST 000010f9: SWAP1 000010fa: POP 000010fb: PUSH1 0x00 000010fd: JUMPDEST 000010fe: DUP2 000010ff: MLOAD 00001100: DUP2 00001101: LT 00001102: ISZERO 00001103: PUSH2 0x118e 00001106: JUMPI 00001107: PUSH1 0x00 00001109: DUP3 0000110a: DUP3 0000110b: DUP2 0000110c: MLOAD 0000110d: DUP2 0000110e: LT 0000110f: PUSH2 0x1114 00001112: JUMPI 00001113: INVALID 00001114: JUMPDEST 00001115: PUSH1 0x20 00001117: MUL 00001118: PUSH1 0x20 0000111a: ADD 0000111b: ADD 0000111c: MLOAD 0000111d: SWAP1 0000111e: POP 0000111f: PUSH1 0x40 00001121: MLOAD 00001122: DUP1 00001123: PUSH1 0xa0 00001125: ADD 00001126: PUSH1 0x40 00001128: MSTORE 00001129: DUP1 0000112a: DUP6 0000112b: PUSH1 0x01 0000112d: PUSH1 0x01 0000112f: PUSH1 0xa0 00001131: SHL 00001132: SUB 00001133: AND 00001134: DUP2 00001135: MSTORE 00001136: PUSH1 0x20 00001138: ADD 00001139: DUP3 0000113a: PUSH1 0x01 0000113c: PUSH1 0x01 0000113e: PUSH1 0xa0 00001140: SHL 00001141: SUB 00001142: AND 00001143: DUP2 00001144: MSTORE 00001145: PUSH1 0x20 00001147: ADD 00001148: PUSH2 0x1151 0000114b: DUP7 0000114c: DUP5 0000114d: PUSH2 0x0b89 00001150: JUMP 00001151: JUMPDEST 00001152: DUP2 00001153: MSTORE 00001154: PUSH1 0x01 00001156: PUSH1 0x20 00001158: DUP3 00001159: ADD 0000115a: MSTORE 0000115b: PUSH1 0x40 0000115d: ADD 0000115e: PUSH2 0x1167 00001161: DUP7 00001162: DUP5 00001163: PUSH2 0x2194 00001166: JUMP 00001167: JUMPDEST 00001168: DUP2 00001169: MSTORE 0000116a: POP 0000116b: DUP8 0000116c: DUP8 0000116d: DUP2 0000116e: MLOAD 0000116f: DUP2 00001170: LT 00001171: PUSH2 0x1176 00001174: JUMPI 00001175: INVALID 00001176: JUMPDEST 00001177: PUSH1 0x20 00001179: SWAP1 0000117a: DUP2 0000117b: MUL 0000117c: SWAP2 0000117d: SWAP1 0000117e: SWAP2 0000117f: ADD 00001180: ADD 00001181: MSTORE 00001182: POP 00001183: PUSH1 0x01 00001185: SWAP5 00001186: DUP6 00001187: ADD 00001188: SWAP5 00001189: ADD 0000118a: PUSH2 0x10fd 0000118d: JUMP 0000118e: JUMPDEST 0000118f: POP 00001190: POP 00001191: POP 00001192: PUSH1 0x01 00001194: ADD 00001195: PUSH2 0x1046 00001198: JUMP 00001199: JUMPDEST 0000119a: POP 0000119b: SWAP1 0000119c: SWAP2 0000119d: POP 0000119e: POP 0000119f: SWAP1 000011a0: JUMP 000011a1: JUMPDEST 000011a2: PUSH1 0x08 000011a4: DUP2 000011a5: DUP2 000011a6: SLOAD 000011a7: DUP2 000011a8: LT 000011a9: PUSH2 0x11ae 000011ac: JUMPI 000011ad: INVALID 000011ae: JUMPDEST 000011af: PUSH1 0x00 000011b1: SWAP2 000011b2: DUP3 000011b3: MSTORE 000011b4: PUSH1 0x20 000011b6: SWAP1 000011b7: SWAP2 000011b8: KECCAK256 000011b9: ADD 000011ba: SLOAD 000011bb: PUSH1 0x01 000011bd: PUSH1 0x01 000011bf: PUSH1 0xa0 000011c1: SHL 000011c2: SUB 000011c3: AND 000011c4: SWAP1 000011c5: POP 000011c6: DUP2 000011c7: JUMP 000011c8: JUMPDEST 000011c9: PUSH1 0x60 000011cb: PUSH2 0x0b9d 000011ce: DUP4 000011cf: DUP4 000011d0: PUSH2 0x2194 000011d3: JUMP 000011d4: JUMPDEST 000011d5: PUSH1 0x60 000011d7: PUSH2 0x11de 000011da: PUSH2 0x1cf0 000011dd: JUMP 000011de: JUMPDEST 000011df: PUSH2 0x11e6 000011e2: PUSH2 0x1dcd 000011e5: JUMP 000011e6: JUMPDEST 000011e7: PUSH2 0x1231 000011ea: DUP4 000011eb: DUP4 000011ec: DUP1 000011ed: DUP1 000011ee: PUSH1 0x1f 000011f0: ADD 000011f1: PUSH1 0x20 000011f3: DUP1 000011f4: SWAP2 000011f5: DIV 000011f6: MUL 000011f7: PUSH1 0x20 000011f9: ADD 000011fa: PUSH1 0x40 000011fc: MLOAD 000011fd: SWAP1 000011fe: DUP2 000011ff: ADD 00001200: PUSH1 0x40 00001202: MSTORE 00001203: DUP1 00001204: SWAP4 00001205: SWAP3 00001206: SWAP2 00001207: SWAP1 00001208: DUP2 00001209: DUP2 0000120a: MSTORE 0000120b: PUSH1 0x20 0000120d: ADD 0000120e: DUP4 0000120f: DUP4 00001210: DUP1 00001211: DUP3 00001212: DUP5 00001213: CALLDATACOPY 00001214: PUSH1 0x00 00001216: SWAP3 00001217: ADD 00001218: SWAP2 00001219: SWAP1 0000121a: SWAP2 0000121b: MSTORE 0000121c: POP 0000121d: POP 0000121e: POP 0000121f: PUSH1 0x01 00001221: PUSH1 0x01 00001223: PUSH1 0xa0 00001225: SHL 00001226: SUB 00001227: DUP9 00001228: AND 00001229: SWAP2 0000122a: SWAP1 0000122b: POP 0000122c: DUP7 0000122d: PUSH2 0x2252 00001230: JUMP 00001231: JUMPDEST 00001232: SWAP1 00001233: POP 00001234: DUP4 00001235: DUP6 00001236: PUSH1 0x01 00001238: PUSH1 0x01 0000123a: PUSH1 0xa0 0000123c: SHL 0000123d: SUB 0000123e: AND 0000123f: PUSH32 0x2a936dbabeaea30adc1ddad138b1958497988474bef8b09a29411f0105ab8ab2 00001260: DUP6 00001261: DUP6 00001262: DUP6 00001263: PUSH1 0x40 00001265: MLOAD 00001266: PUSH2 0x1271 00001269: SWAP4 0000126a: SWAP3 0000126b: SWAP2 0000126c: SWAP1 0000126d: PUSH2 0x2d85 00001270: JUMP 00001271: JUMPDEST 00001272: PUSH1 0x40 00001274: MLOAD 00001275: DUP1 00001276: SWAP2 00001277: SUB 00001278: SWAP1 00001279: LOG3 0000127a: SWAP5 0000127b: SWAP4 0000127c: POP 0000127d: POP 0000127e: POP 0000127f: POP 00001280: JUMP 00001281: JUMPDEST 00001282: PUSH1 0x04 00001284: DUP1 00001285: SLOAD 00001286: PUSH1 0x40 00001288: DUP1 00001289: MLOAD 0000128a: PUSH1 0x20 0000128c: PUSH1 0x1f 0000128e: PUSH1 0x02 00001290: PUSH1 0x00 00001292: NOT 00001293: PUSH2 0x0100 00001296: PUSH1 0x01 00001298: DUP9 00001299: AND 0000129a: ISZERO 0000129b: MUL 0000129c: ADD 0000129d: SWAP1 0000129e: SWAP6 0000129f: AND 000012a0: SWAP5 000012a1: SWAP1 000012a2: SWAP5 000012a3: DIV 000012a4: SWAP4 000012a5: DUP5 000012a6: ADD 000012a7: DUP2 000012a8: SWAP1 000012a9: DIV 000012aa: DUP2 000012ab: MUL 000012ac: DUP3 000012ad: ADD 000012ae: DUP2 000012af: ADD 000012b0: SWAP1 000012b1: SWAP3 000012b2: MSTORE 000012b3: DUP3 000012b4: DUP2 000012b5: MSTORE 000012b6: PUSH1 0x60 000012b8: SWAP4 000012b9: SWAP1 000012ba: SWAP3 000012bb: SWAP1 000012bc: SWAP2 000012bd: DUP4 000012be: ADD 000012bf: DUP3 000012c0: DUP3 000012c1: DUP1 000012c2: ISZERO 000012c3: PUSH2 0x0938 000012c6: JUMPI 000012c7: DUP1 000012c8: PUSH1 0x1f 000012ca: LT 000012cb: PUSH2 0x090d 000012ce: JUMPI 000012cf: PUSH2 0x0100 000012d2: DUP1 000012d3: DUP4 000012d4: SLOAD 000012d5: DIV 000012d6: MUL 000012d7: DUP4 000012d8: MSTORE 000012d9: SWAP2 000012da: PUSH1 0x20 000012dc: ADD 000012dd: SWAP2 000012de: PUSH2 0x0938 000012e1: JUMP 000012e2: JUMPDEST 000012e3: PUSH1 0x60 000012e5: PUSH1 0x0b 000012e7: DUP1 000012e8: SLOAD 000012e9: DUP1 000012ea: PUSH1 0x20 000012ec: MUL 000012ed: PUSH1 0x20 000012ef: ADD 000012f0: PUSH1 0x40 000012f2: MLOAD 000012f3: SWAP1 000012f4: DUP2 000012f5: ADD 000012f6: PUSH1 0x40 000012f8: MSTORE 000012f9: DUP1 000012fa: SWAP3 000012fb: SWAP2 000012fc: SWAP1 000012fd: DUP2 000012fe: DUP2 000012ff: MSTORE 00001300: PUSH1 0x20 00001302: ADD 00001303: DUP3 00001304: DUP1 00001305: SLOAD 00001306: DUP1 00001307: ISZERO 00001308: PUSH2 0x0938 0000130b: JUMPI 0000130c: PUSH1 0x20 0000130e: MUL 0000130f: DUP3 00001310: ADD 00001311: SWAP2 00001312: SWAP1 00001313: PUSH1 0x00 00001315: MSTORE 00001316: PUSH1 0x20 00001318: PUSH1 0x00 0000131a: KECCAK256 0000131b: SWAP1 0000131c: JUMPDEST 0000131d: DUP2 0000131e: SLOAD 0000131f: PUSH1 0x01 00001321: PUSH1 0x01 00001323: PUSH1 0xa0 00001325: SHL 00001326: SUB 00001327: AND 00001328: DUP2 00001329: MSTORE 0000132a: PUSH1 0x01 0000132c: SWAP1 0000132d: SWAP2 0000132e: ADD 0000132f: SWAP1 00001330: PUSH1 0x20 00001332: ADD 00001333: DUP1 00001334: DUP4 00001335: GT 00001336: PUSH2 0x131c 00001339: JUMPI 0000133a: POP 0000133b: POP 0000133c: POP 0000133d: POP 0000133e: POP 0000133f: SWAP1 00001340: POP 00001341: SWAP1 00001342: JUMP 00001343: JUMPDEST 00001344: PUSH2 0x134b 00001347: PUSH2 0x1cf0 0000134a: JUMP 0000134b: JUMPDEST 0000134c: PUSH2 0x1353 0000134f: PUSH2 0x1dcd 00001352: JUMP 00001353: JUMPDEST 00001354: PUSH2 0x0dcf 00001357: DUP3 00001358: DUP3 00001359: PUSH2 0x2280 0000135c: JUMP 0000135d: JUMPDEST 0000135e: PUSH2 0x1365 00001361: PUSH2 0x1b31 00001364: JUMP 00001365: JUMPDEST 00001366: PUSH1 0x0a 00001368: SLOAD 00001369: PUSH1 0xff 0000136b: AND 0000136c: ISZERO 0000136d: PUSH2 0x1388 00001370: JUMPI 00001371: PUSH1 0x40 00001373: MLOAD 00001374: PUSH3 0x461bcd 00001378: PUSH1 0xe5 0000137a: SHL 0000137b: DUP2 0000137c: MSTORE 0000137d: PUSH1 0x04 0000137f: ADD 00001380: PUSH2 0x0984 00001383: SWAP1 00001384: PUSH2 0x3427 00001387: JUMP 00001388: JUMPDEST 00001389: PUSH1 0x02 0000138b: PUSH1 0x01 0000138d: PUSH1 0x01 0000138f: PUSH1 0xa0 00001391: SHL 00001392: SUB 00001393: DUP3 00001394: AND 00001395: PUSH1 0x00 00001397: SWAP1 00001398: DUP2 00001399: MSTORE 0000139a: PUSH1 0x09 0000139c: PUSH1 0x20 0000139e: MSTORE 0000139f: PUSH1 0x40 000013a1: SWAP1 000013a2: KECCAK256 000013a3: SLOAD 000013a4: PUSH1 0xff 000013a6: AND 000013a7: PUSH1 0x02 000013a9: DUP2 000013aa: GT 000013ab: ISZERO 000013ac: PUSH2 0x13b1 000013af: JUMPI 000013b0: INVALID 000013b1: JUMPDEST 000013b2: EQ 000013b3: PUSH2 0x13ce 000013b6: JUMPI 000013b7: PUSH1 0x40 000013b9: MLOAD 000013ba: PUSH3 0x461bcd 000013be: PUSH1 0xe5 000013c0: SHL 000013c1: DUP2 000013c2: MSTORE 000013c3: PUSH1 0x04 000013c5: ADD 000013c6: PUSH2 0x0984 000013c9: SWAP1 000013ca: PUSH2 0x301f 000013cd: JUMP 000013ce: JUMPDEST 000013cf: DUP1 000013d0: PUSH1 0x01 000013d2: PUSH1 0x01 000013d4: PUSH1 0xa0 000013d6: SHL 000013d7: SUB 000013d8: AND 000013d9: PUSH4 0x847ef08d 000013de: PUSH1 0x40 000013e0: MLOAD 000013e1: DUP2 000013e2: PUSH4 0xffffffff 000013e7: AND 000013e8: PUSH1 0xe0 000013ea: SHL 000013eb: DUP2 000013ec: MSTORE 000013ed: PUSH1 0x04 000013ef: ADD 000013f0: PUSH1 0x00 000013f2: PUSH1 0x40 000013f4: MLOAD 000013f5: DUP1 000013f6: DUP4 000013f7: SUB 000013f8: DUP2 000013f9: PUSH1 0x00 000013fb: DUP8 000013fc: DUP1 000013fd: EXTCODESIZE 000013fe: ISZERO 000013ff: DUP1 00001400: ISZERO 00001401: PUSH2 0x1409 00001404: JUMPI 00001405: PUSH1 0x00 00001407: DUP1 00001408: REVERT 00001409: JUMPDEST 0000140a: POP 0000140b: GAS 0000140c: CALL 0000140d: ISZERO 0000140e: DUP1 0000140f: ISZERO 00001410: PUSH2 0x141d 00001413: JUMPI 00001414: RETURNDATASIZE 00001415: PUSH1 0x00 00001417: DUP1 00001418: RETURNDATACOPY 00001419: RETURNDATASIZE 0000141a: PUSH1 0x00 0000141c: REVERT 0000141d: JUMPDEST 0000141e: POP 0000141f: POP 00001420: POP 00001421: POP 00001422: PUSH1 0x01 00001424: PUSH1 0x01 00001426: PUSH1 0xa0 00001428: SHL 00001429: SUB 0000142a: DUP2 0000142b: AND 0000142c: PUSH1 0x00 0000142e: SWAP1 0000142f: DUP2 00001430: MSTORE 00001431: PUSH1 0x09 00001433: PUSH1 0x20 00001435: MSTORE 00001436: PUSH1 0x40 00001438: SWAP1 00001439: KECCAK256 0000143a: DUP1 0000143b: SLOAD 0000143c: PUSH1 0xff 0000143e: NOT 0000143f: AND 00001440: SWAP1 00001441: SSTORE 00001442: PUSH2 0x144c 00001445: PUSH1 0x08 00001447: DUP3 00001448: PUSH2 0x1f53 0000144b: JUMP 0000144c: JUMPDEST 0000144d: PUSH1 0x40 0000144f: MLOAD 00001450: PUSH1 0x01 00001452: PUSH1 0x01 00001454: PUSH1 0xa0 00001456: SHL 00001457: SUB 00001458: DUP3 00001459: AND 0000145a: SWAP1 0000145b: PUSH32 0x0a1ee69f55c33d8467c69ca59ce2007a737a88603d75392972520bf67cb513b8 0000147c: SWAP1 0000147d: PUSH1 0x00 0000147f: SWAP1 00001480: LOG2 00001481: POP 00001482: JUMP 00001483: JUMPDEST 00001484: PUSH1 0x00 00001486: PUSH2 0x0957 00001489: PUSH2 0x1490 0000148c: PUSH2 0x1a79 0000148f: JUMP 00001490: JUMPDEST 00001491: DUP5 00001492: PUSH2 0x0c22 00001495: DUP6 00001496: PUSH1 0x40 00001498: MLOAD 00001499: DUP1 0000149a: PUSH1 0x60 0000149c: ADD 0000149d: PUSH1 0x40 0000149f: MSTORE 000014a0: DUP1 000014a1: PUSH1 0x25 000014a3: DUP2 000014a4: MSTORE 000014a5: PUSH1 0x20 000014a7: ADD 000014a8: PUSH2 0x3631 000014ab: PUSH1 0x25 000014ad: SWAP2 000014ae: CODECOPY 000014af: PUSH1 0x01 000014b1: PUSH1 0x00 000014b3: PUSH2 0x14ba 000014b6: PUSH2 0x1a79 000014b9: JUMP 000014ba: JUMPDEST 000014bb: PUSH1 0x01 000014bd: PUSH1 0x01 000014bf: PUSH1 0xa0 000014c1: SHL 000014c2: SUB 000014c3: SWAP1 000014c4: DUP2 000014c5: AND 000014c6: DUP3 000014c7: MSTORE 000014c8: PUSH1 0x20 000014ca: DUP1 000014cb: DUP4 000014cc: ADD 000014cd: SWAP4 000014ce: SWAP1 000014cf: SWAP4 000014d0: MSTORE 000014d1: PUSH1 0x40 000014d3: SWAP2 000014d4: DUP3 000014d5: ADD 000014d6: PUSH1 0x00 000014d8: SWAP1 000014d9: DUP2 000014da: KECCAK256 000014db: SWAP2 000014dc: DUP14 000014dd: AND 000014de: DUP2 000014df: MSTORE 000014e0: SWAP3 000014e1: MSTORE 000014e2: SWAP1 000014e3: KECCAK256 000014e4: SLOAD 000014e5: SWAP2 000014e6: SWAP1 000014e7: PUSH4 0xffffffff 000014ec: PUSH2 0x1cc4 000014ef: AND 000014f0: JUMP 000014f1: JUMPDEST 000014f2: PUSH1 0x0a 000014f4: SLOAD 000014f5: PUSH1 0xff 000014f7: AND 000014f8: DUP2 000014f9: JUMP 000014fa: JUMPDEST 000014fb: PUSH2 0x1502 000014fe: PUSH2 0x1cf0 00001501: JUMP 00001502: JUMPDEST 00001503: PUSH1 0x0a 00001505: SLOAD 00001506: PUSH1 0xff 00001508: AND 00001509: PUSH2 0x1524 0000150c: JUMPI 0000150d: PUSH1 0x40 0000150f: MLOAD 00001510: PUSH3 0x461bcd 00001514: PUSH1 0xe5 00001516: SHL 00001517: DUP2 00001518: MSTORE 00001519: PUSH1 0x04 0000151b: ADD 0000151c: PUSH2 0x0984 0000151f: SWAP1 00001520: PUSH2 0x31ec 00001523: JUMP 00001524: JUMPDEST 00001525: PUSH1 0x07 00001527: SLOAD 00001528: PUSH1 0x01 0000152a: PUSH1 0x01 0000152c: PUSH1 0xa0 0000152e: SHL 0000152f: SUB 00001530: AND 00001531: CALLER 00001532: EQ 00001533: PUSH2 0x154e 00001536: JUMPI 00001537: PUSH1 0x40 00001539: MLOAD 0000153a: PUSH3 0x461bcd 0000153e: PUSH1 0xe5 00001540: SHL 00001541: DUP2 00001542: MSTORE 00001543: PUSH1 0x04 00001545: ADD 00001546: PUSH2 0x0984 00001549: SWAP1 0000154a: PUSH2 0x327c 0000154d: JUMP 0000154e: JUMPDEST 0000154f: PUSH1 0x07 00001551: DUP1 00001552: SLOAD 00001553: PUSH1 0x01 00001555: PUSH1 0x01 00001557: PUSH1 0xa0 00001559: SHL 0000155a: SUB 0000155b: NOT 0000155c: AND 0000155d: SWAP1 0000155e: SSTORE 0000155f: PUSH1 0x0a 00001561: DUP1 00001562: SLOAD 00001563: PUSH1 0xff 00001565: NOT 00001566: AND 00001567: SWAP1 00001568: SSTORE 00001569: JUMP 0000156a: JUMPDEST 0000156b: PUSH1 0x60 0000156d: PUSH2 0x095b 00001570: DUP3 00001571: PUSH2 0x2080 00001574: JUMP 00001575: JUMPDEST 00001576: PUSH1 0x00 00001578: PUSH2 0x0957 0000157b: PUSH2 0x1582 0000157e: PUSH2 0x1a79 00001581: JUMP 00001582: JUMPDEST 00001583: DUP5 00001584: DUP5 00001585: PUSH2 0x1ba3 00001588: JUMP 00001589: JUMPDEST 0000158a: PUSH2 0x1591 0000158d: PUSH2 0x1cf0 00001590: JUMP 00001591: JUMPDEST 00001592: PUSH2 0x1599 00001595: PUSH2 0x1dcd 00001598: JUMP 00001599: JUMPDEST 0000159a: PUSH1 0x01 0000159c: PUSH1 0x01 0000159e: PUSH1 0xa0 000015a0: SHL 000015a1: SUB 000015a2: DUP3 000015a3: AND 000015a4: PUSH1 0x00 000015a6: SWAP1 000015a7: DUP2 000015a8: MSTORE 000015a9: PUSH1 0x0c 000015ab: PUSH1 0x20 000015ad: MSTORE 000015ae: PUSH1 0x40 000015b0: SWAP1 000015b1: KECCAK256 000015b2: PUSH2 0x15c4 000015b5: SWAP1 000015b6: PUSH1 0x01 000015b8: ADD 000015b9: DUP3 000015ba: PUSH4 0xffffffff 000015bf: PUSH2 0x1f53 000015c2: AND 000015c3: JUMP 000015c4: JUMPDEST 000015c5: PUSH1 0x01 000015c7: PUSH1 0x01 000015c9: PUSH1 0xa0 000015cb: SHL 000015cc: SUB 000015cd: DUP1 000015ce: DUP4 000015cf: AND 000015d0: PUSH1 0x00 000015d2: SWAP1 000015d3: DUP2 000015d4: MSTORE 000015d5: PUSH1 0x0c 000015d7: PUSH1 0x20 000015d9: SWAP1 000015da: DUP2 000015db: MSTORE 000015dc: PUSH1 0x40 000015de: DUP1 000015df: DUP4 000015e0: KECCAK256 000015e1: SWAP4 000015e2: DUP6 000015e3: AND 000015e4: DUP4 000015e5: MSTORE 000015e6: PUSH1 0x02 000015e8: SWAP1 000015e9: SWAP4 000015ea: ADD 000015eb: SWAP1 000015ec: MSTORE 000015ed: SWAP1 000015ee: DUP2 000015ef: KECCAK256 000015f0: DUP2 000015f1: DUP2 000015f2: SSTORE 000015f3: SWAP1 000015f4: PUSH2 0x1600 000015f7: PUSH1 0x01 000015f9: DUP4 000015fa: ADD 000015fb: DUP3 000015fc: PUSH2 0x294a 000015ff: JUMP 00001600: JUMPDEST 00001601: POP 00001602: POP 00001603: DUP1 00001604: PUSH1 0x01 00001606: PUSH1 0x01 00001608: PUSH1 0xa0 0000160a: SHL 0000160b: SUB 0000160c: AND 0000160d: DUP3 0000160e: PUSH1 0x01 00001610: PUSH1 0x01 00001612: PUSH1 0xa0 00001614: SHL 00001615: SUB 00001616: AND 00001617: PUSH32 0x5d0275f68d583838a7e2be68e3ef8ac2c1f9d4eeaa4b223360f4cd093a160d75 00001638: PUSH1 0x40 0000163a: MLOAD 0000163b: PUSH1 0x40 0000163d: MLOAD 0000163e: DUP1 0000163f: SWAP2 00001640: SUB 00001641: SWAP1 00001642: LOG3 00001643: POP 00001644: POP 00001645: JUMP 00001646: JUMPDEST 00001647: PUSH1 0x60 00001649: PUSH1 0x08 0000164b: DUP1 0000164c: SLOAD 0000164d: DUP1 0000164e: PUSH1 0x20 00001650: MUL 00001651: PUSH1 0x20 00001653: ADD 00001654: PUSH1 0x40 00001656: MLOAD 00001657: SWAP1 00001658: DUP2 00001659: ADD 0000165a: PUSH1 0x40 0000165c: MSTORE 0000165d: DUP1 0000165e: SWAP3 0000165f: SWAP2 00001660: SWAP1 00001661: DUP2 00001662: DUP2 00001663: MSTORE 00001664: PUSH1 0x20 00001666: ADD 00001667: DUP3 00001668: DUP1 00001669: SLOAD 0000166a: DUP1 0000166b: ISZERO 0000166c: PUSH2 0x0938 0000166f: JUMPI 00001670: PUSH1 0x20 00001672: MUL 00001673: DUP3 00001674: ADD 00001675: SWAP2 00001676: SWAP1 00001677: PUSH1 0x00 00001679: MSTORE 0000167a: PUSH1 0x20 0000167c: PUSH1 0x00 0000167e: KECCAK256 0000167f: SWAP1 00001680: DUP2 00001681: SLOAD 00001682: PUSH1 0x01 00001684: PUSH1 0x01 00001686: PUSH1 0xa0 00001688: SHL 00001689: SUB 0000168a: AND 0000168b: DUP2 0000168c: MSTORE 0000168d: PUSH1 0x01 0000168f: SWAP1 00001690: SWAP2 00001691: ADD 00001692: SWAP1 00001693: PUSH1 0x20 00001695: ADD 00001696: DUP1 00001697: DUP4 00001698: GT 00001699: PUSH2 0x131c 0000169c: JUMPI 0000169d: POP 0000169e: POP 0000169f: POP 000016a0: POP 000016a1: POP 000016a2: SWAP1 000016a3: POP 000016a4: SWAP1 000016a5: JUMP 000016a6: JUMPDEST 000016a7: PUSH2 0x16ae 000016aa: PUSH2 0x1cf0 000016ad: JUMP 000016ae: JUMPDEST 000016af: PUSH2 0x16b6 000016b2: PUSH2 0x1dcd 000016b5: JUMP 000016b6: JUMPDEST 000016b7: PUSH2 0x16bf 000016ba: DUP2 000016bb: PUSH2 0x2362 000016be: JUMP 000016bf: JUMPDEST 000016c0: PUSH1 0x0d 000016c2: DUP2 000016c3: SWAP1 000016c4: SSTORE 000016c5: PUSH1 0x40 000016c7: MLOAD 000016c8: PUSH32 0xc4e78b3245dc105eefced18655b978e194ff858545a1080f2888dc3b6ae8df0a 000016e9: SWAP1 000016ea: PUSH2 0x16f4 000016ed: SWAP1 000016ee: DUP4 000016ef: SWAP1 000016f0: PUSH2 0x2ddc 000016f3: JUMP 000016f4: JUMPDEST 000016f5: PUSH1 0x40 000016f7: MLOAD 000016f8: DUP1 000016f9: SWAP2 000016fa: SUB 000016fb: SWAP1 000016fc: LOG1 000016fd: POP 000016fe: JUMP 000016ff: JUMPDEST 00001700: PUSH1 0x0b 00001702: DUP2 00001703: DUP2 00001704: SLOAD 00001705: DUP2 00001706: LT 00001707: PUSH2 0x11ae 0000170a: JUMPI 0000170b: INVALID 0000170c: JUMPDEST 0000170d: PUSH2 0x1714 00001710: PUSH2 0x1b31 00001713: JUMP 00001714: JUMPDEST 00001715: PUSH1 0x0a 00001717: SLOAD 00001718: PUSH1 0xff 0000171a: AND 0000171b: ISZERO 0000171c: PUSH2 0x1737 0000171f: JUMPI 00001720: PUSH1 0x40 00001722: MLOAD 00001723: PUSH3 0x461bcd 00001727: PUSH1 0xe5 00001729: SHL 0000172a: DUP2 0000172b: MSTORE 0000172c: PUSH1 0x04 0000172e: ADD 0000172f: PUSH2 0x0984 00001732: SWAP1 00001733: PUSH2 0x3427 00001736: JUMP 00001737: JUMPDEST 00001738: PUSH1 0x01 0000173a: PUSH1 0x01 0000173c: PUSH1 0x01 0000173e: PUSH1 0xa0 00001740: SHL 00001741: SUB 00001742: DUP3 00001743: AND 00001744: PUSH1 0x00 00001746: SWAP1 00001747: DUP2 00001748: MSTORE 00001749: PUSH1 0x09 0000174b: PUSH1 0x20 0000174d: MSTORE 0000174e: PUSH1 0x40 00001750: SWAP1 00001751: KECCAK256 00001752: SLOAD 00001753: PUSH1 0xff 00001755: AND 00001756: PUSH1 0x02 00001758: DUP2 00001759: GT 0000175a: ISZERO 0000175b: PUSH2 0x1760 0000175e: JUMPI 0000175f: INVALID 00001760: JUMPDEST 00001761: EQ 00001762: PUSH2 0x177d 00001765: JUMPI 00001766: PUSH1 0x40 00001768: MLOAD 00001769: PUSH3 0x461bcd 0000176d: PUSH1 0xe5 0000176f: SHL 00001770: DUP2 00001771: MSTORE 00001772: PUSH1 0x04 00001774: ADD 00001775: PUSH2 0x0984 00001778: SWAP1 00001779: PUSH2 0x34b7 0000177c: JUMP 0000177d: JUMPDEST 0000177e: PUSH1 0x01 00001780: PUSH1 0x01 00001782: PUSH1 0xa0 00001784: SHL 00001785: SUB 00001786: DUP2 00001787: AND 00001788: PUSH1 0x00 0000178a: DUP2 0000178b: DUP2 0000178c: MSTORE 0000178d: PUSH1 0x09 0000178f: PUSH1 0x20 00001791: MSTORE 00001792: PUSH1 0x40 00001794: DUP1 00001795: DUP3 00001796: KECCAK256 00001797: DUP1 00001798: SLOAD 00001799: PUSH1 0xff 0000179b: NOT 0000179c: AND 0000179d: SWAP1 0000179e: SSTORE 0000179f: MLOAD 000017a0: PUSH32 0xd6b18042563148f38d728c1c4d339ffd515b632d0ad2e1833b822412f3f4d877 000017c1: SWAP2 000017c2: SWAP1 000017c3: LOG2 000017c4: POP 000017c5: JUMP 000017c6: JUMPDEST 000017c7: PUSH2 0x17ce 000017ca: PUSH2 0x1b31 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x0a 000017d1: SLOAD 000017d2: PUSH1 0xff 000017d4: AND 000017d5: ISZERO 000017d6: PUSH2 0x17f1 000017d9: JUMPI 000017da: PUSH1 0x40 000017dc: MLOAD 000017dd: PUSH3 0x461bcd 000017e1: PUSH1 0xe5 000017e3: SHL 000017e4: DUP2 000017e5: MSTORE 000017e6: PUSH1 0x04 000017e8: ADD 000017e9: PUSH2 0x0984 000017ec: SWAP1 000017ed: PUSH2 0x3427 000017f0: JUMP 000017f1: JUMPDEST 000017f2: PUSH1 0x06 000017f4: DUP1 000017f5: SLOAD 000017f6: PUSH1 0x01 000017f8: PUSH1 0x01 000017fa: PUSH1 0xa0 000017fc: SHL 000017fd: SUB 000017fe: DUP4 000017ff: DUP2 00001800: AND 00001801: PUSH1 0x01 00001803: PUSH1 0x01 00001805: PUSH1 0xa0 00001807: SHL 00001808: SUB 00001809: NOT 0000180a: DUP4 0000180b: AND 0000180c: OR 0000180d: SWAP1 0000180e: SWAP3 0000180f: SSTORE 00001810: PUSH1 0x40 00001812: MLOAD 00001813: SWAP2 00001814: AND 00001815: SWAP1 00001816: PUSH32 0x43fcfef38622d6a5b118be09c27a6ed8cbdbfca21f0ea9245412ce8031c0423c 00001837: SWAP1 00001838: PUSH2 0x1844 0000183b: SWAP1 0000183c: DUP5 0000183d: SWAP1 0000183e: DUP5 0000183f: SWAP1 00001840: PUSH2 0x2c5b 00001843: JUMP 00001844: JUMPDEST 00001845: PUSH1 0x40 00001847: MLOAD 00001848: DUP1 00001849: SWAP2 0000184a: SUB 0000184b: SWAP1 0000184c: LOG1 0000184d: POP 0000184e: POP 0000184f: JUMP 00001850: JUMPDEST 00001851: PUSH1 0x07 00001853: SLOAD 00001854: PUSH1 0x01 00001856: PUSH1 0x01 00001858: PUSH1 0xa0 0000185a: SHL 0000185b: SUB 0000185c: AND 0000185d: DUP2 0000185e: JUMP 0000185f: JUMPDEST 00001860: PUSH1 0x00 00001862: PUSH1 0x02 00001864: PUSH2 0x0e9b 00001867: JUMP 00001868: JUMPDEST 00001869: PUSH1 0x01 0000186b: PUSH1 0x01 0000186d: PUSH1 0xa0 0000186f: SHL 00001870: SUB 00001871: SWAP2 00001872: DUP3 00001873: AND 00001874: PUSH1 0x00 00001876: SWAP1 00001877: DUP2 00001878: MSTORE 00001879: PUSH1 0x01 0000187b: PUSH1 0x20 0000187d: SWAP1 0000187e: DUP2 0000187f: MSTORE 00001880: PUSH1 0x40 00001882: DUP1 00001883: DUP4 00001884: KECCAK256 00001885: SWAP4 00001886: SWAP1 00001887: SWAP5 00001888: AND 00001889: DUP3 0000188a: MSTORE 0000188b: SWAP2 0000188c: SWAP1 0000188d: SWAP2 0000188e: MSTORE 0000188f: KECCAK256 00001890: SLOAD 00001891: SWAP1 00001892: JUMP 00001893: JUMPDEST 00001894: PUSH1 0x00 00001896: PUSH2 0x095b 00001899: DUP3 0000189a: PUSH1 0x0b 0000189c: DUP1 0000189d: SLOAD 0000189e: DUP1 0000189f: PUSH1 0x20 000018a1: MUL 000018a2: PUSH1 0x20 000018a4: ADD 000018a5: PUSH1 0x40 000018a7: MLOAD 000018a8: SWAP1 000018a9: DUP2 000018aa: ADD 000018ab: PUSH1 0x40 000018ad: MSTORE 000018ae: DUP1 000018af: SWAP3 000018b0: SWAP2 000018b1: SWAP1 000018b2: DUP2 000018b3: DUP2 000018b4: MSTORE 000018b5: PUSH1 0x20 000018b7: ADD 000018b8: DUP3 000018b9: DUP1 000018ba: SLOAD 000018bb: DUP1 000018bc: ISZERO 000018bd: PUSH2 0x18ef 000018c0: JUMPI 000018c1: PUSH1 0x20 000018c3: MUL 000018c4: DUP3 000018c5: ADD 000018c6: SWAP2 000018c7: SWAP1 000018c8: PUSH1 0x00 000018ca: MSTORE 000018cb: PUSH1 0x20 000018cd: PUSH1 0x00 000018cf: KECCAK256 000018d0: SWAP1 000018d1: JUMPDEST 000018d2: DUP2 000018d3: SLOAD 000018d4: PUSH1 0x01 000018d6: PUSH1 0x01 000018d8: PUSH1 0xa0 000018da: SHL 000018db: SUB 000018dc: AND 000018dd: DUP2 000018de: MSTORE 000018df: PUSH1 0x01 000018e1: SWAP1 000018e2: SWAP2 000018e3: ADD 000018e4: SWAP1 000018e5: PUSH1 0x20 000018e7: ADD 000018e8: DUP1 000018e9: DUP4 000018ea: GT 000018eb: PUSH2 0x18d1 000018ee: JUMPI 000018ef: JUMPDEST 000018f0: POP 000018f1: POP 000018f2: POP 000018f3: POP 000018f4: POP 000018f5: PUSH2 0x20f9 000018f8: SWAP1 000018f9: SWAP2 000018fa: SWAP1 000018fb: PUSH4 0xffffffff 00001900: AND 00001901: JUMP 00001902: JUMPDEST 00001903: PUSH2 0x190a 00001906: PUSH2 0x1cf0 00001909: JUMP 0000190a: JUMPDEST 0000190b: PUSH2 0x1912 0000190e: PUSH2 0x1dcd 00001911: JUMP 00001912: JUMPDEST 00001913: PUSH2 0x191c 00001916: DUP3 00001917: DUP3 00001918: PUSH2 0x0fc9 0000191b: JUMP 0000191c: JUMPDEST 0000191d: ISZERO 0000191e: PUSH2 0x1939 00001921: JUMPI 00001922: PUSH1 0x40 00001924: MLOAD 00001925: PUSH3 0x461bcd 00001929: PUSH1 0xe5 0000192b: SHL 0000192c: DUP2 0000192d: MSTORE 0000192e: PUSH1 0x04 00001930: ADD 00001931: PUSH2 0x0984 00001934: SWAP1 00001935: PUSH2 0x2e54 00001938: JUMP 00001939: JUMPDEST 0000193a: PUSH1 0x01 0000193c: PUSH1 0x01 0000193e: PUSH1 0xa0 00001940: SHL 00001941: SUB 00001942: DUP3 00001943: DUP2 00001944: AND 00001945: PUSH1 0x00 00001947: DUP2 00001948: DUP2 00001949: MSTORE 0000194a: PUSH1 0x0c 0000194c: PUSH1 0x20 0000194e: SWAP1 0000194f: DUP2 00001950: MSTORE 00001951: PUSH1 0x40 00001953: DUP1 00001954: DUP4 00001955: KECCAK256 00001956: PUSH1 0x01 00001958: SWAP1 00001959: DUP2 0000195a: ADD 0000195b: DUP1 0000195c: SLOAD 0000195d: SWAP2 0000195e: DUP3 0000195f: ADD 00001960: DUP2 00001961: SSTORE 00001962: DUP5 00001963: MSTORE 00001964: SWAP2 00001965: DUP4 00001966: KECCAK256 00001967: SWAP1 00001968: SWAP2 00001969: ADD 0000196a: DUP1 0000196b: SLOAD 0000196c: PUSH1 0x01 0000196e: PUSH1 0x01 00001970: PUSH1 0xa0 00001972: SHL 00001973: SUB 00001974: NOT 00001975: AND 00001976: SWAP5 00001977: DUP7 00001978: AND 00001979: SWAP5 0000197a: DUP6 0000197b: OR 0000197c: SWAP1 0000197d: SSTORE 0000197e: MLOAD 0000197f: PUSH32 0xf71324fa78e1894b364a1fc8d0535c4208f28c7b380f752afe00c8ce386023fb 000019a0: SWAP2 000019a1: SWAP1 000019a2: LOG3 000019a3: POP 000019a4: POP 000019a5: JUMP 000019a6: JUMPDEST 000019a7: PUSH1 0x00 000019a9: DUP1 000019aa: PUSH2 0x19b2 000019ad: DUP4 000019ae: PUSH2 0x0f48 000019b1: JUMP 000019b2: JUMPDEST 000019b3: SWAP1 000019b4: POP 000019b5: PUSH1 0x60 000019b7: PUSH2 0x19bf 000019ba: DUP5 000019bb: PUSH2 0x2080 000019be: JUMP 000019bf: JUMPDEST 000019c0: SWAP1 000019c1: POP 000019c2: PUSH1 0x00 000019c4: JUMPDEST 000019c5: DUP2 000019c6: MLOAD 000019c7: DUP2 000019c8: LT 000019c9: ISZERO 000019ca: PUSH2 0x1a04 000019cd: JUMPI 000019ce: PUSH2 0x19fa 000019d1: PUSH2 0x19ed 000019d4: DUP7 000019d5: DUP5 000019d6: DUP5 000019d7: DUP2 000019d8: MLOAD 000019d9: DUP2 000019da: LT 000019db: PUSH2 0x19e0 000019de: JUMPI 000019df: INVALID 000019e0: JUMPDEST 000019e1: PUSH1 0x20 000019e3: MUL 000019e4: PUSH1 0x20 000019e6: ADD 000019e7: ADD 000019e8: MLOAD 000019e9: PUSH2 0x0b89 000019ec: JUMP 000019ed: JUMPDEST 000019ee: DUP5 000019ef: SWAP1 000019f0: PUSH4 0xffffffff 000019f5: PUSH2 0x239d 000019f8: AND 000019f9: JUMP 000019fa: JUMPDEST 000019fb: SWAP3 000019fc: POP 000019fd: PUSH1 0x01 000019ff: ADD 00001a00: PUSH2 0x19c4 00001a03: JUMP 00001a04: JUMPDEST 00001a05: POP 00001a06: SWAP1 00001a07: SWAP4 00001a08: SWAP3 00001a09: POP 00001a0a: POP 00001a0b: POP 00001a0c: JUMP 00001a0d: JUMPDEST 00001a0e: PUSH1 0x05 00001a10: SLOAD 00001a11: PUSH2 0x0100 00001a14: SWAP1 00001a15: DIV 00001a16: PUSH1 0x01 00001a18: PUSH1 0x01 00001a1a: PUSH1 0xa0 00001a1c: SHL 00001a1d: SUB 00001a1e: AND 00001a1f: DUP2 00001a20: JUMP 00001a21: JUMPDEST 00001a22: PUSH2 0x1a29 00001a25: PUSH2 0x1cf0 00001a28: JUMP 00001a29: JUMPDEST 00001a2a: PUSH1 0x0a 00001a2c: SLOAD 00001a2d: PUSH1 0xff 00001a2f: AND 00001a30: ISZERO 00001a31: PUSH2 0x1a4c 00001a34: JUMPI 00001a35: PUSH1 0x40 00001a37: MLOAD 00001a38: PUSH3 0x461bcd 00001a3c: PUSH1 0xe5 00001a3e: SHL 00001a3f: DUP2 00001a40: MSTORE 00001a41: PUSH1 0x04 00001a43: ADD 00001a44: PUSH2 0x0984 00001a47: SWAP1 00001a48: PUSH2 0x2de5 00001a4b: JUMP 00001a4c: JUMPDEST 00001a4d: PUSH1 0x07 00001a4f: DUP1 00001a50: SLOAD 00001a51: PUSH1 0x01 00001a53: PUSH1 0x01 00001a55: PUSH1 0xa0 00001a57: SHL 00001a58: SUB 00001a59: NOT 00001a5a: AND 00001a5b: CALLER 00001a5c: OR 00001a5d: SWAP1 00001a5e: SSTORE 00001a5f: PUSH1 0x0a 00001a61: DUP1 00001a62: SLOAD 00001a63: PUSH1 0xff 00001a65: NOT 00001a66: AND 00001a67: PUSH1 0x01 00001a69: OR 00001a6a: SWAP1 00001a6b: SSTORE 00001a6c: JUMP 00001a6d: JUMPDEST 00001a6e: PUSH8 0x0de0b6b3a7640000 00001a77: SWAP1 00001a78: JUMP 00001a79: JUMPDEST 00001a7a: CALLER 00001a7b: SWAP1 00001a7c: JUMP 00001a7d: JUMPDEST 00001a7e: PUSH1 0x01 00001a80: PUSH1 0x01 00001a82: PUSH1 0xa0 00001a84: SHL 00001a85: SUB 00001a86: DUP4 00001a87: AND 00001a88: PUSH2 0x1aa3 00001a8b: JUMPI 00001a8c: PUSH1 0x40 00001a8e: MLOAD 00001a8f: PUSH3 0x461bcd 00001a93: PUSH1 0xe5 00001a95: SHL 00001a96: DUP2 00001a97: MSTORE 00001a98: PUSH1 0x04 00001a9a: ADD 00001a9b: PUSH2 0x0984 00001a9e: SWAP1 00001a9f: PUSH2 0x3320 00001aa2: JUMP 00001aa3: JUMPDEST 00001aa4: PUSH1 0x01 00001aa6: PUSH1 0x01 00001aa8: PUSH1 0xa0 00001aaa: SHL 00001aab: SUB 00001aac: DUP3 00001aad: AND 00001aae: PUSH2 0x1ac9 00001ab1: JUMPI 00001ab2: PUSH1 0x40 00001ab4: MLOAD 00001ab5: PUSH3 0x461bcd 00001ab9: PUSH1 0xe5 00001abb: SHL 00001abc: DUP2 00001abd: MSTORE 00001abe: PUSH1 0x04 00001ac0: ADD 00001ac1: PUSH2 0x0984 00001ac4: SWAP1 00001ac5: PUSH2 0x2ee8 00001ac8: JUMP 00001ac9: JUMPDEST 00001aca: PUSH1 0x01 00001acc: PUSH1 0x01 00001ace: PUSH1 0xa0 00001ad0: SHL 00001ad1: SUB 00001ad2: DUP1 00001ad3: DUP5 00001ad4: AND 00001ad5: PUSH1 0x00 00001ad7: DUP2 00001ad8: DUP2 00001ad9: MSTORE 00001ada: PUSH1 0x01 00001adc: PUSH1 0x20 00001ade: SWAP1 00001adf: DUP2 00001ae0: MSTORE 00001ae1: PUSH1 0x40 00001ae3: DUP1 00001ae4: DUP4 00001ae5: KECCAK256 00001ae6: SWAP5 00001ae7: DUP8 00001ae8: AND 00001ae9: DUP1 00001aea: DUP5 00001aeb: MSTORE 00001aec: SWAP5 00001aed: SWAP1 00001aee: SWAP2 00001aef: MSTORE 00001af0: SWAP1 00001af1: DUP2 00001af2: SWAP1 00001af3: KECCAK256 00001af4: DUP5 00001af5: SWAP1 00001af6: SSTORE 00001af7: MLOAD 00001af8: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00001b19: SWAP1 00001b1a: PUSH2 0x1b24 00001b1d: SWAP1 00001b1e: DUP6 00001b1f: SWAP1 00001b20: PUSH2 0x2ddc 00001b23: JUMP 00001b24: JUMPDEST 00001b25: PUSH1 0x40 00001b27: MLOAD 00001b28: DUP1 00001b29: SWAP2 00001b2a: SUB 00001b2b: SWAP1 00001b2c: LOG3 00001b2d: POP 00001b2e: POP 00001b2f: POP 00001b30: JUMP 00001b31: JUMPDEST 00001b32: PUSH1 0x06 00001b34: SLOAD 00001b35: PUSH1 0x01 00001b37: PUSH1 0x01 00001b39: PUSH1 0xa0 00001b3b: SHL 00001b3c: SUB 00001b3d: AND 00001b3e: CALLER 00001b3f: EQ 00001b40: PUSH2 0x1b5b 00001b43: JUMPI 00001b44: PUSH1 0x40 00001b46: MLOAD 00001b47: PUSH3 0x461bcd 00001b4b: PUSH1 0xe5 00001b4d: SHL 00001b4e: DUP2 00001b4f: MSTORE 00001b50: PUSH1 0x04 00001b52: ADD 00001b53: PUSH2 0x0984 00001b56: SWAP1 00001b57: PUSH2 0x3453 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: JUMP 00001b5d: JUMPDEST 00001b5e: PUSH1 0x01 00001b60: PUSH1 0x01 00001b62: PUSH1 0xa0 00001b64: SHL 00001b65: SUB 00001b66: SWAP2 00001b67: DUP3 00001b68: AND 00001b69: PUSH1 0x00 00001b6b: SWAP1 00001b6c: DUP2 00001b6d: MSTORE 00001b6e: PUSH1 0x0c 00001b70: PUSH1 0x20 00001b72: SWAP1 00001b73: DUP2 00001b74: MSTORE 00001b75: PUSH1 0x40 00001b77: DUP1 00001b78: DUP4 00001b79: KECCAK256 00001b7a: SWAP4 00001b7b: SWAP1 00001b7c: SWAP5 00001b7d: AND 00001b7e: DUP3 00001b7f: MSTORE 00001b80: PUSH1 0x02 00001b82: SWAP1 00001b83: SWAP3 00001b84: ADD 00001b85: SWAP1 00001b86: SWAP2 00001b87: MSTORE 00001b88: KECCAK256 00001b89: SLOAD 00001b8a: SWAP1 00001b8b: JUMP 00001b8c: JUMPDEST 00001b8d: PUSH1 0x00 00001b8f: PUSH2 0x095b 00001b92: PUSH1 0x0d 00001b94: SLOAD 00001b95: DUP4 00001b96: PUSH2 0x23e3 00001b99: SWAP1 00001b9a: SWAP2 00001b9b: SWAP1 00001b9c: PUSH4 0xffffffff 00001ba1: AND 00001ba2: JUMP 00001ba3: JUMPDEST 00001ba4: PUSH1 0x01 00001ba6: PUSH1 0x01 00001ba8: PUSH1 0xa0 00001baa: SHL 00001bab: SUB 00001bac: DUP4 00001bad: AND 00001bae: PUSH2 0x1bc9 00001bb1: JUMPI 00001bb2: PUSH1 0x40 00001bb4: MLOAD 00001bb5: PUSH3 0x461bcd 00001bb9: PUSH1 0xe5 00001bbb: SHL 00001bbc: DUP2 00001bbd: MSTORE 00001bbe: PUSH1 0x04 00001bc0: ADD 00001bc1: PUSH2 0x0984 00001bc4: SWAP1 00001bc5: PUSH2 0x32a4 00001bc8: JUMP 00001bc9: JUMPDEST 00001bca: PUSH1 0x01 00001bcc: PUSH1 0x01 00001bce: PUSH1 0xa0 00001bd0: SHL 00001bd1: SUB 00001bd2: DUP3 00001bd3: AND 00001bd4: PUSH2 0x1bef 00001bd7: JUMPI 00001bd8: PUSH1 0x40 00001bda: MLOAD 00001bdb: PUSH3 0x461bcd 00001bdf: PUSH1 0xe5 00001be1: SHL 00001be2: DUP2 00001be3: MSTORE 00001be4: PUSH1 0x04 00001be6: ADD 00001be7: PUSH2 0x0984 00001bea: SWAP1 00001beb: PUSH2 0x2e11 00001bee: JUMP 00001bef: JUMPDEST 00001bf0: PUSH2 0x1bfa 00001bf3: DUP4 00001bf4: DUP4 00001bf5: DUP4 00001bf6: PUSH2 0x2406 00001bf9: JUMP 00001bfa: JUMPDEST 00001bfb: PUSH2 0x1c3d 00001bfe: DUP2 00001bff: PUSH1 0x40 00001c01: MLOAD 00001c02: DUP1 00001c03: PUSH1 0x60 00001c05: ADD 00001c06: PUSH1 0x40 00001c08: MSTORE 00001c09: DUP1 00001c0a: PUSH1 0x26 00001c0c: DUP2 00001c0d: MSTORE 00001c0e: PUSH1 0x20 00001c10: ADD 00001c11: PUSH2 0x35ba 00001c14: PUSH1 0x26 00001c16: SWAP2 00001c17: CODECOPY 00001c18: PUSH1 0x01 00001c1a: PUSH1 0x01 00001c1c: PUSH1 0xa0 00001c1e: SHL 00001c1f: SUB 00001c20: DUP7 00001c21: AND 00001c22: PUSH1 0x00 00001c24: SWAP1 00001c25: DUP2 00001c26: MSTORE 00001c27: PUSH1 0x20 00001c29: DUP2 00001c2a: SWAP1 00001c2b: MSTORE 00001c2c: PUSH1 0x40 00001c2e: SWAP1 00001c2f: KECCAK256 00001c30: SLOAD 00001c31: SWAP2 00001c32: SWAP1 00001c33: PUSH4 0xffffffff 00001c38: PUSH2 0x1cc4 00001c3b: AND 00001c3c: JUMP 00001c3d: JUMPDEST 00001c3e: PUSH1 0x01 00001c40: PUSH1 0x01 00001c42: PUSH1 0xa0 00001c44: SHL 00001c45: SUB 00001c46: DUP1 00001c47: DUP6 00001c48: AND 00001c49: PUSH1 0x00 00001c4b: SWAP1 00001c4c: DUP2 00001c4d: MSTORE 00001c4e: PUSH1 0x20 00001c50: DUP2 00001c51: SWAP1 00001c52: MSTORE 00001c53: PUSH1 0x40 00001c55: DUP1 00001c56: DUP3 00001c57: KECCAK256 00001c58: SWAP4 00001c59: SWAP1 00001c5a: SWAP4 00001c5b: SSTORE 00001c5c: SWAP1 00001c5d: DUP5 00001c5e: AND 00001c5f: DUP2 00001c60: MSTORE 00001c61: KECCAK256 00001c62: SLOAD 00001c63: PUSH2 0x1c72 00001c66: SWAP1 00001c67: DUP3 00001c68: PUSH4 0xffffffff 00001c6d: PUSH2 0x1e47 00001c70: AND 00001c71: JUMP 00001c72: JUMPDEST 00001c73: PUSH1 0x01 00001c75: PUSH1 0x01 00001c77: PUSH1 0xa0 00001c79: SHL 00001c7a: SUB 00001c7b: DUP1 00001c7c: DUP5 00001c7d: AND 00001c7e: PUSH1 0x00 00001c80: DUP2 00001c81: DUP2 00001c82: MSTORE 00001c83: PUSH1 0x20 00001c85: DUP2 00001c86: SWAP1 00001c87: MSTORE 00001c88: PUSH1 0x40 00001c8a: SWAP1 00001c8b: DUP2 00001c8c: SWAP1 00001c8d: KECCAK256 00001c8e: SWAP4 00001c8f: SWAP1 00001c90: SWAP4 00001c91: SSTORE 00001c92: SWAP2 00001c93: MLOAD 00001c94: SWAP1 00001c95: DUP6 00001c96: AND 00001c97: SWAP1 00001c98: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001cb9: SWAP1 00001cba: PUSH2 0x1b24 00001cbd: SWAP1 00001cbe: DUP6 00001cbf: SWAP1 00001cc0: PUSH2 0x2ddc 00001cc3: JUMP 00001cc4: JUMPDEST 00001cc5: PUSH1 0x00 00001cc7: DUP2 00001cc8: DUP5 00001cc9: DUP5 00001cca: GT 00001ccb: ISZERO 00001ccc: PUSH2 0x1ce8 00001ccf: JUMPI 00001cd0: PUSH1 0x40 00001cd2: MLOAD 00001cd3: PUSH3 0x461bcd 00001cd7: PUSH1 0xe5 00001cd9: SHL 00001cda: DUP2 00001cdb: MSTORE 00001cdc: PUSH1 0x04 00001cde: ADD 00001cdf: PUSH2 0x0984 00001ce2: SWAP2 00001ce3: SWAP1 00001ce4: PUSH2 0x2db5 00001ce7: JUMP 00001ce8: JUMPDEST 00001ce9: POP 00001cea: POP 00001ceb: POP 00001cec: SWAP1 00001ced: SUB 00001cee: SWAP1 00001cef: JUMP 00001cf0: JUMPDEST 00001cf1: PUSH1 0x02 00001cf3: CALLER 00001cf4: PUSH1 0x00 00001cf6: SWAP1 00001cf7: DUP2 00001cf8: MSTORE 00001cf9: PUSH1 0x09 00001cfb: PUSH1 0x20 00001cfd: MSTORE 00001cfe: PUSH1 0x40 00001d00: SWAP1 00001d01: KECCAK256 00001d02: SLOAD 00001d03: PUSH1 0xff 00001d05: AND 00001d06: PUSH1 0x02 00001d08: DUP2 00001d09: GT 00001d0a: ISZERO 00001d0b: PUSH2 0x1d10 00001d0e: JUMPI 00001d0f: INVALID 00001d10: JUMPDEST 00001d11: EQ 00001d12: PUSH2 0x1d2d 00001d15: JUMPI 00001d16: PUSH1 0x40 00001d18: MLOAD 00001d19: PUSH3 0x461bcd 00001d1d: PUSH1 0xe5 00001d1f: SHL 00001d20: DUP2 00001d21: MSTORE 00001d22: PUSH1 0x04 00001d24: ADD 00001d25: PUSH2 0x0984 00001d28: SWAP1 00001d29: PUSH2 0x30c7 00001d2c: JUMP 00001d2d: JUMPDEST 00001d2e: PUSH1 0x05 00001d30: SLOAD 00001d31: PUSH1 0x40 00001d33: MLOAD 00001d34: PUSH4 0x42f6e389 00001d39: PUSH1 0xe0 00001d3b: SHL 00001d3c: DUP2 00001d3d: MSTORE 00001d3e: PUSH2 0x0100 00001d41: SWAP1 00001d42: SWAP2 00001d43: DIV 00001d44: PUSH1 0x01 00001d46: PUSH1 0x01 00001d48: PUSH1 0xa0 00001d4a: SHL 00001d4b: SUB 00001d4c: AND 00001d4d: SWAP1 00001d4e: PUSH4 0x42f6e389 00001d53: SWAP1 00001d54: PUSH2 0x1d61 00001d57: SWAP1 00001d58: CALLER 00001d59: SWAP1 00001d5a: PUSH1 0x04 00001d5c: ADD 00001d5d: PUSH2 0x2c47 00001d60: JUMP 00001d61: JUMPDEST 00001d62: PUSH1 0x20 00001d64: PUSH1 0x40 00001d66: MLOAD 00001d67: DUP1 00001d68: DUP4 00001d69: SUB 00001d6a: DUP2 00001d6b: DUP7 00001d6c: DUP1 00001d6d: EXTCODESIZE 00001d6e: ISZERO 00001d6f: DUP1 00001d70: ISZERO 00001d71: PUSH2 0x1d79 00001d74: JUMPI 00001d75: PUSH1 0x00 00001d77: DUP1 00001d78: REVERT 00001d79: JUMPDEST 00001d7a: POP 00001d7b: GAS 00001d7c: STATICCALL 00001d7d: ISZERO 00001d7e: DUP1 00001d7f: ISZERO 00001d80: PUSH2 0x1d8d 00001d83: JUMPI 00001d84: RETURNDATASIZE 00001d85: PUSH1 0x00 00001d87: DUP1 00001d88: RETURNDATACOPY 00001d89: RETURNDATASIZE 00001d8a: PUSH1 0x00 00001d8c: REVERT 00001d8d: JUMPDEST 00001d8e: POP 00001d8f: POP 00001d90: POP 00001d91: POP 00001d92: PUSH1 0x40 00001d94: MLOAD 00001d95: RETURNDATASIZE 00001d96: PUSH1 0x1f 00001d98: NOT 00001d99: PUSH1 0x1f 00001d9b: DUP3 00001d9c: ADD 00001d9d: AND 00001d9e: DUP3 00001d9f: ADD 00001da0: DUP1 00001da1: PUSH1 0x40 00001da3: MSTORE 00001da4: POP 00001da5: DUP2 00001da6: ADD 00001da7: SWAP1 00001da8: PUSH2 0x1db1 00001dab: SWAP2 00001dac: SWAP1 00001dad: PUSH2 0x2b9d 00001db0: JUMP 00001db1: JUMPDEST 00001db2: PUSH2 0x1b5b 00001db5: JUMPI 00001db6: PUSH1 0x40 00001db8: MLOAD 00001db9: PUSH3 0x461bcd 00001dbd: PUSH1 0xe5 00001dbf: SHL 00001dc0: DUP2 00001dc1: MSTORE 00001dc2: PUSH1 0x04 00001dc4: ADD 00001dc5: PUSH2 0x0984 00001dc8: SWAP1 00001dc9: PUSH2 0x33e3 00001dcc: JUMP 00001dcd: JUMPDEST 00001dce: PUSH1 0x0a 00001dd0: SLOAD 00001dd1: PUSH1 0xff 00001dd3: AND 00001dd4: ISZERO 00001dd5: PUSH2 0x1b5b 00001dd8: JUMPI 00001dd9: PUSH1 0x07 00001ddb: SLOAD 00001ddc: PUSH1 0x01 00001dde: PUSH1 0x01 00001de0: PUSH1 0xa0 00001de2: SHL 00001de3: SUB 00001de4: AND 00001de5: CALLER 00001de6: EQ 00001de7: PUSH2 0x1b5b 00001dea: JUMPI 00001deb: PUSH1 0x40 00001ded: MLOAD 00001dee: PUSH3 0x461bcd 00001df2: PUSH1 0xe5 00001df4: SHL 00001df5: DUP2 00001df6: MSTORE 00001df7: PUSH1 0x04 00001df9: ADD 00001dfa: PUSH2 0x0984 00001dfd: SWAP1 00001dfe: PUSH2 0x304d 00001e01: JUMP 00001e02: JUMPDEST 00001e03: PUSH1 0x00 00001e05: DUP1 00001e06: PUSH2 0x1e1a 00001e09: PUSH1 0x0d 00001e0b: SLOAD 00001e0c: DUP5 00001e0d: PUSH2 0x240b 00001e10: SWAP1 00001e11: SWAP2 00001e12: SWAP1 00001e13: PUSH4 0xffffffff 00001e18: AND 00001e19: JUMP 00001e1a: JUMPDEST 00001e1b: SWAP1 00001e1c: POP 00001e1d: PUSH1 0x00 00001e1f: DUP4 00001e20: SGT 00001e21: DUP1 00001e22: ISZERO 00001e23: PUSH2 0x1e2a 00001e26: JUMPI 00001e27: POP 00001e28: DUP1 00001e29: ISZERO 00001e2a: JUMPDEST 00001e2b: ISZERO 00001e2c: PUSH2 0x095b 00001e2f: JUMPI 00001e30: PUSH1 0x40 00001e32: MLOAD 00001e33: PUSH3 0x461bcd 00001e37: PUSH1 0xe5 00001e39: SHL 00001e3a: DUP2 00001e3b: MSTORE 00001e3c: PUSH1 0x04 00001e3e: ADD 00001e3f: PUSH2 0x0984 00001e42: SWAP1 00001e43: PUSH2 0x2fe8 00001e46: JUMP 00001e47: JUMPDEST 00001e48: PUSH1 0x00 00001e4a: DUP3 00001e4b: DUP3 00001e4c: ADD 00001e4d: DUP4 00001e4e: DUP2 00001e4f: LT 00001e50: ISZERO 00001e51: PUSH2 0x0b9d 00001e54: JUMPI 00001e55: PUSH1 0x40 00001e57: MLOAD 00001e58: PUSH3 0x461bcd 00001e5c: PUSH1 0xe5 00001e5e: SHL 00001e5f: DUP2 00001e60: MSTORE 00001e61: PUSH1 0x04 00001e63: ADD 00001e64: PUSH2 0x0984 00001e67: SWAP1 00001e68: PUSH2 0x2f2a 00001e6b: JUMP 00001e6c: JUMPDEST 00001e6d: PUSH1 0x01 00001e6f: PUSH1 0x01 00001e71: PUSH1 0xa0 00001e73: SHL 00001e74: SUB 00001e75: DUP3 00001e76: AND 00001e77: PUSH2 0x1e92 00001e7a: JUMPI 00001e7b: PUSH1 0x40 00001e7d: MLOAD 00001e7e: PUSH3 0x461bcd 00001e82: PUSH1 0xe5 00001e84: SHL 00001e85: DUP2 00001e86: MSTORE 00001e87: PUSH1 0x04 00001e89: ADD 00001e8a: PUSH2 0x0984 00001e8d: SWAP1 00001e8e: PUSH2 0x34e7 00001e91: JUMP 00001e92: JUMPDEST 00001e93: PUSH2 0x1e9e 00001e96: PUSH1 0x00 00001e98: DUP4 00001e99: DUP4 00001e9a: PUSH2 0x2406 00001e9d: JUMP 00001e9e: JUMPDEST 00001e9f: PUSH1 0x02 00001ea1: SLOAD 00001ea2: PUSH2 0x1eb1 00001ea5: SWAP1 00001ea6: DUP3 00001ea7: PUSH4 0xffffffff 00001eac: PUSH2 0x1e47 00001eaf: AND 00001eb0: JUMP 00001eb1: JUMPDEST 00001eb2: PUSH1 0x02 00001eb4: SSTORE 00001eb5: PUSH1 0x01 00001eb7: PUSH1 0x01 00001eb9: PUSH1 0xa0 00001ebb: SHL 00001ebc: SUB 00001ebd: DUP3 00001ebe: AND 00001ebf: PUSH1 0x00 00001ec1: SWAP1 00001ec2: DUP2 00001ec3: MSTORE 00001ec4: PUSH1 0x20 00001ec6: DUP2 00001ec7: SWAP1 00001ec8: MSTORE 00001ec9: PUSH1 0x40 00001ecb: SWAP1 00001ecc: KECCAK256 00001ecd: SLOAD 00001ece: PUSH2 0x1edd 00001ed1: SWAP1 00001ed2: DUP3 00001ed3: PUSH4 0xffffffff 00001ed8: PUSH2 0x1e47 00001edb: AND 00001edc: JUMP 00001edd: JUMPDEST 00001ede: PUSH1 0x01 00001ee0: PUSH1 0x01 00001ee2: PUSH1 0xa0 00001ee4: SHL 00001ee5: SUB 00001ee6: DUP4 00001ee7: AND 00001ee8: PUSH1 0x00 00001eea: DUP2 00001eeb: DUP2 00001eec: MSTORE 00001eed: PUSH1 0x20 00001eef: DUP2 00001ef0: SWAP1 00001ef1: MSTORE 00001ef2: PUSH1 0x40 00001ef4: DUP1 00001ef5: DUP3 00001ef6: KECCAK256 00001ef7: SWAP4 00001ef8: SWAP1 00001ef9: SWAP4 00001efa: SSTORE 00001efb: SWAP2 00001efc: MLOAD 00001efd: SWAP1 00001efe: SWAP2 00001eff: SWAP1 00001f00: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001f21: SWAP1 00001f22: PUSH2 0x1f2c 00001f25: SWAP1 00001f26: DUP6 00001f27: SWAP1 00001f28: PUSH2 0x2ddc 00001f2b: JUMP 00001f2c: JUMPDEST 00001f2d: PUSH1 0x40 00001f2f: MLOAD 00001f30: DUP1 00001f31: SWAP2 00001f32: SUB 00001f33: SWAP1 00001f34: LOG3 00001f35: POP 00001f36: POP 00001f37: JUMP 00001f38: JUMPDEST 00001f39: PUSH1 0x01 00001f3b: PUSH1 0x01 00001f3d: PUSH1 0xa0 00001f3f: SHL 00001f40: SUB 00001f41: AND 00001f42: PUSH1 0x00 00001f44: SWAP1 00001f45: DUP2 00001f46: MSTORE 00001f47: PUSH1 0x0c 00001f49: PUSH1 0x20 00001f4b: MSTORE 00001f4c: PUSH1 0x40 00001f4e: SWAP1 00001f4f: KECCAK256 00001f50: SLOAD 00001f51: SWAP1 00001f52: JUMP 00001f53: JUMPDEST 00001f54: PUSH1 0x00 00001f56: DUP1 00001f57: PUSH2 0x1fb9 00001f5a: DUP5 00001f5b: DUP1 00001f5c: SLOAD 00001f5d: DUP1 00001f5e: PUSH1 0x20 00001f60: MUL 00001f61: PUSH1 0x20 00001f63: ADD 00001f64: PUSH1 0x40 00001f66: MLOAD 00001f67: SWAP1 00001f68: DUP2 00001f69: ADD 00001f6a: PUSH1 0x40 00001f6c: MSTORE 00001f6d: DUP1 00001f6e: SWAP3 00001f6f: SWAP2 00001f70: SWAP1 00001f71: DUP2 00001f72: DUP2 00001f73: MSTORE 00001f74: PUSH1 0x20 00001f76: ADD 00001f77: DUP3 00001f78: DUP1 00001f79: SLOAD 00001f7a: DUP1 00001f7b: ISZERO 00001f7c: PUSH2 0x1fae 00001f7f: JUMPI 00001f80: PUSH1 0x20 00001f82: MUL 00001f83: DUP3 00001f84: ADD 00001f85: SWAP2 00001f86: SWAP1 00001f87: PUSH1 0x00 00001f89: MSTORE 00001f8a: PUSH1 0x20 00001f8c: PUSH1 0x00 00001f8e: KECCAK256 00001f8f: SWAP1 00001f90: JUMPDEST 00001f91: DUP2 00001f92: SLOAD 00001f93: PUSH1 0x01 00001f95: PUSH1 0x01 00001f97: PUSH1 0xa0 00001f99: SHL 00001f9a: SUB 00001f9b: AND 00001f9c: DUP2 00001f9d: MSTORE 00001f9e: PUSH1 0x01 00001fa0: SWAP1 00001fa1: SWAP2 00001fa2: ADD 00001fa3: SWAP1 00001fa4: PUSH1 0x20 00001fa6: ADD 00001fa7: DUP1 00001fa8: DUP4 00001fa9: GT 00001faa: PUSH2 0x1f90 00001fad: JUMPI 00001fae: JUMPDEST 00001faf: POP 00001fb0: POP 00001fb1: POP 00001fb2: POP 00001fb3: POP 00001fb4: DUP5 00001fb5: PUSH2 0x242e 00001fb8: JUMP 00001fb9: JUMPDEST 00001fba: SWAP2 00001fbb: POP 00001fbc: SWAP2 00001fbd: POP 00001fbe: DUP1 00001fbf: PUSH2 0x1fda 00001fc2: JUMPI 00001fc3: PUSH1 0x40 00001fc5: MLOAD 00001fc6: PUSH3 0x461bcd 00001fca: PUSH1 0xe5 00001fcc: SHL 00001fcd: DUP2 00001fce: MSTORE 00001fcf: PUSH1 0x04 00001fd1: ADD 00001fd2: PUSH2 0x0984 00001fd5: SWAP1 00001fd6: PUSH2 0x2e82 00001fd9: JUMP 00001fda: JUMPDEST 00001fdb: DUP4 00001fdc: SLOAD 00001fdd: PUSH1 0x00 00001fdf: NOT 00001fe0: ADD 00001fe1: DUP3 00001fe2: DUP2 00001fe3: EQ 00001fe4: PUSH2 0x204c 00001fe7: JUMPI 00001fe8: DUP5 00001fe9: DUP2 00001fea: DUP2 00001feb: SLOAD 00001fec: DUP2 00001fed: LT 00001fee: PUSH2 0x1ff3 00001ff1: JUMPI 00001ff2: INVALID 00001ff3: JUMPDEST 00001ff4: SWAP1 00001ff5: PUSH1 0x00 00001ff7: MSTORE 00001ff8: PUSH1 0x20 00001ffa: PUSH1 0x00 00001ffc: KECCAK256 00001ffd: ADD 00001ffe: PUSH1 0x00 00002000: SWAP1 00002001: SLOAD 00002002: SWAP1 00002003: PUSH2 0x0100 00002006: EXP 00002007: SWAP1 00002008: DIV 00002009: PUSH1 0x01 0000200b: PUSH1 0x01 0000200d: PUSH1 0xa0 0000200f: SHL 00002010: SUB 00002011: AND 00002012: DUP6 00002013: DUP5 00002014: DUP2 00002015: SLOAD 00002016: DUP2 00002017: LT 00002018: PUSH2 0x201d 0000201b: JUMPI 0000201c: INVALID 0000201d: JUMPDEST 0000201e: SWAP1 0000201f: PUSH1 0x00 00002021: MSTORE 00002022: PUSH1 0x20 00002024: PUSH1 0x00 00002026: KECCAK256 00002027: ADD 00002028: PUSH1 0x00 0000202a: PUSH2 0x0100 0000202d: EXP 0000202e: DUP2 0000202f: SLOAD 00002030: DUP2 00002031: PUSH1 0x01 00002033: PUSH1 0x01 00002035: PUSH1 0xa0 00002037: SHL 00002038: SUB 00002039: MUL 0000203a: NOT 0000203b: AND 0000203c: SWAP1 0000203d: DUP4 0000203e: PUSH1 0x01 00002040: PUSH1 0x01 00002042: PUSH1 0xa0 00002044: SHL 00002045: SUB 00002046: AND 00002047: MUL 00002048: OR 00002049: SWAP1 0000204a: SSTORE 0000204b: POP 0000204c: JUMPDEST 0000204d: DUP5 0000204e: DUP1 0000204f: SLOAD 00002050: DUP1 00002051: PUSH2 0x2056 00002054: JUMPI 00002055: INVALID 00002056: JUMPDEST 00002057: PUSH1 0x00 00002059: DUP3 0000205a: DUP2 0000205b: MSTORE 0000205c: PUSH1 0x20 0000205e: SWAP1 0000205f: KECCAK256 00002060: DUP2 00002061: ADD 00002062: PUSH1 0x00 00002064: NOT 00002065: SWAP1 00002066: DUP2 00002067: ADD 00002068: DUP1 00002069: SLOAD 0000206a: PUSH1 0x01 0000206c: PUSH1 0x01 0000206e: PUSH1 0xa0 00002070: SHL 00002071: SUB 00002072: NOT 00002073: AND 00002074: SWAP1 00002075: SSTORE 00002076: ADD 00002077: SWAP1 00002078: SSTORE 00002079: POP 0000207a: JUMPDEST 0000207b: POP 0000207c: POP 0000207d: POP 0000207e: POP 0000207f: JUMP 00002080: JUMPDEST 00002081: PUSH1 0x01 00002083: PUSH1 0x01 00002085: PUSH1 0xa0 00002087: SHL 00002088: SUB 00002089: DUP2 0000208a: AND 0000208b: PUSH1 0x00 0000208d: SWAP1 0000208e: DUP2 0000208f: MSTORE 00002090: PUSH1 0x0c 00002092: PUSH1 0x20 00002094: SWAP1 00002095: DUP2 00002096: MSTORE 00002097: PUSH1 0x40 00002099: SWAP2 0000209a: DUP3 0000209b: SWAP1 0000209c: KECCAK256 0000209d: PUSH1 0x01 0000209f: ADD 000020a0: DUP1 000020a1: SLOAD 000020a2: DUP4 000020a3: MLOAD 000020a4: DUP2 000020a5: DUP5 000020a6: MUL 000020a7: DUP2 000020a8: ADD 000020a9: DUP5 000020aa: ADD 000020ab: SWAP1 000020ac: SWAP5 000020ad: MSTORE 000020ae: DUP1 000020af: DUP5 000020b0: MSTORE 000020b1: PUSH1 0x60 000020b3: SWAP4 000020b4: SWAP3 000020b5: DUP4 000020b6: ADD 000020b7: DUP3 000020b8: DUP3 000020b9: DUP1 000020ba: ISZERO 000020bb: PUSH2 0x20ed 000020be: JUMPI 000020bf: PUSH1 0x20 000020c1: MUL 000020c2: DUP3 000020c3: ADD 000020c4: SWAP2 000020c5: SWAP1 000020c6: PUSH1 0x00 000020c8: MSTORE 000020c9: PUSH1 0x20 000020cb: PUSH1 0x00 000020cd: KECCAK256 000020ce: SWAP1 000020cf: JUMPDEST 000020d0: DUP2 000020d1: SLOAD 000020d2: PUSH1 0x01 000020d4: PUSH1 0x01 000020d6: PUSH1 0xa0 000020d8: SHL 000020d9: SUB 000020da: AND 000020db: DUP2 000020dc: MSTORE 000020dd: PUSH1 0x01 000020df: SWAP1 000020e0: SWAP2 000020e1: ADD 000020e2: SWAP1 000020e3: PUSH1 0x20 000020e5: ADD 000020e6: DUP1 000020e7: DUP4 000020e8: GT 000020e9: PUSH2 0x20cf 000020ec: JUMPI 000020ed: JUMPDEST 000020ee: POP 000020ef: POP 000020f0: POP 000020f1: POP 000020f2: POP 000020f3: SWAP1 000020f4: POP 000020f5: SWAP2 000020f6: SWAP1 000020f7: POP 000020f8: JUMP 000020f9: JUMPDEST 000020fa: PUSH1 0x00 000020fc: DUP1 000020fd: PUSH2 0x2106 00002100: DUP5 00002101: DUP5 00002102: PUSH2 0x242e 00002105: JUMP 00002106: JUMPDEST 00002107: SWAP6 00002108: SWAP5 00002109: POP 0000210a: POP 0000210b: POP 0000210c: POP 0000210d: POP 0000210e: JUMP 0000210f: JUMPDEST 00002110: PUSH1 0x00 00002112: DUP1 00002113: DUP1 00002114: JUMPDEST 00002115: PUSH1 0x0b 00002117: SLOAD 00002118: DUP2 00002119: LT 0000211a: ISZERO 0000211b: PUSH2 0x218e 0000211e: JUMPI 0000211f: PUSH1 0x00 00002121: PUSH1 0x0b 00002123: DUP3 00002124: DUP2 00002125: SLOAD 00002126: DUP2 00002127: LT 00002128: PUSH2 0x212d 0000212b: JUMPI 0000212c: INVALID 0000212d: JUMPDEST 0000212e: PUSH1 0x00 00002130: SWAP2 00002131: DUP3 00002132: MSTORE 00002133: PUSH1 0x20 00002135: DUP3 00002136: KECCAK256 00002137: ADD 00002138: SLOAD 00002139: PUSH1 0x01 0000213b: PUSH1 0x01 0000213d: PUSH1 0xa0 0000213f: SHL 00002140: SUB 00002141: AND 00002142: SWAP2 00002143: POP 00002144: PUSH2 0x214c 00002147: DUP3 00002148: PUSH2 0x1f38 0000214b: JUMP 0000214c: JUMPDEST 0000214d: SGT 0000214e: ISZERO 0000214f: PUSH2 0x2159 00002152: JUMPI 00002153: PUSH1 0x01 00002155: SWAP1 00002156: SWAP3 00002157: ADD 00002158: SWAP2 00002159: JUMPDEST 0000215a: PUSH1 0x60 0000215c: PUSH2 0x2164 0000215f: DUP3 00002160: PUSH2 0x2080 00002163: JUMP 00002164: JUMPDEST 00002165: DUP1 00002166: MLOAD 00002167: SWAP1 00002168: SWAP2 00002169: POP 0000216a: ISZERO 0000216b: PUSH2 0x2184 0000216e: JUMPI 0000216f: DUP1 00002170: MLOAD 00002171: PUSH2 0x2181 00002174: SWAP1 00002175: DUP6 00002176: SWAP1 00002177: PUSH4 0xffffffff 0000217c: PUSH2 0x1e47 0000217f: AND 00002180: JUMP 00002181: JUMPDEST 00002182: SWAP4 00002183: POP 00002184: JUMPDEST 00002185: POP 00002186: POP 00002187: PUSH1 0x01 00002189: ADD 0000218a: PUSH2 0x2114 0000218d: JUMP 0000218e: JUMPDEST 0000218f: POP 00002190: SWAP1 00002191: POP 00002192: SWAP1 00002193: JUMP 00002194: JUMPDEST 00002195: PUSH1 0x01 00002197: PUSH1 0x01 00002199: PUSH1 0xa0 0000219b: SHL 0000219c: SUB 0000219d: DUP3 0000219e: DUP2 0000219f: AND 000021a0: PUSH1 0x00 000021a2: SWAP1 000021a3: DUP2 000021a4: MSTORE 000021a5: PUSH1 0x0c 000021a7: PUSH1 0x20 000021a9: SWAP1 000021aa: DUP2 000021ab: MSTORE 000021ac: PUSH1 0x40 000021ae: DUP1 000021af: DUP4 000021b0: KECCAK256 000021b1: SWAP4 000021b2: DUP6 000021b3: AND 000021b4: DUP4 000021b5: MSTORE 000021b6: PUSH1 0x02 000021b8: SWAP4 000021b9: DUP5 000021ba: ADD 000021bb: DUP3 000021bc: MSTORE 000021bd: SWAP2 000021be: DUP3 000021bf: SWAP1 000021c0: KECCAK256 000021c1: PUSH1 0x01 000021c3: SWAP1 000021c4: DUP2 000021c5: ADD 000021c6: DUP1 000021c7: SLOAD 000021c8: DUP5 000021c9: MLOAD 000021ca: SWAP3 000021cb: DUP2 000021cc: AND 000021cd: ISZERO 000021ce: PUSH2 0x0100 000021d1: MUL 000021d2: PUSH1 0x00 000021d4: NOT 000021d5: ADD 000021d6: AND 000021d7: SWAP5 000021d8: SWAP1 000021d9: SWAP5 000021da: DIV 000021db: PUSH1 0x1f 000021dd: DUP2 000021de: ADD 000021df: DUP4 000021e0: SWAP1 000021e1: DIV 000021e2: DUP4 000021e3: MUL 000021e4: DUP3 000021e5: ADD 000021e6: DUP4 000021e7: ADD 000021e8: SWAP1 000021e9: SWAP4 000021ea: MSTORE 000021eb: DUP3 000021ec: DUP2 000021ed: MSTORE 000021ee: PUSH1 0x60 000021f0: SWAP4 000021f1: SWAP1 000021f2: SWAP3 000021f3: SWAP1 000021f4: SWAP2 000021f5: DUP4 000021f6: ADD 000021f7: DUP3 000021f8: DUP3 000021f9: DUP1 000021fa: ISZERO 000021fb: PUSH2 0x2245 000021fe: JUMPI 000021ff: DUP1 00002200: PUSH1 0x1f 00002202: LT 00002203: PUSH2 0x221a 00002206: JUMPI 00002207: PUSH2 0x0100 0000220a: DUP1 0000220b: DUP4 0000220c: SLOAD 0000220d: DIV 0000220e: MUL 0000220f: DUP4 00002210: MSTORE 00002211: SWAP2 00002212: PUSH1 0x20 00002214: ADD 00002215: SWAP2 00002216: PUSH2 0x2245 00002219: JUMP 0000221a: JUMPDEST 0000221b: DUP3 0000221c: ADD 0000221d: SWAP2 0000221e: SWAP1 0000221f: PUSH1 0x00 00002221: MSTORE 00002222: PUSH1 0x20 00002224: PUSH1 0x00 00002226: KECCAK256 00002227: SWAP1 00002228: JUMPDEST 00002229: DUP2 0000222a: SLOAD 0000222b: DUP2 0000222c: MSTORE 0000222d: SWAP1 0000222e: PUSH1 0x01 00002230: ADD 00002231: SWAP1 00002232: PUSH1 0x20 00002234: ADD 00002235: DUP1 00002236: DUP4 00002237: GT 00002238: PUSH2 0x2228 0000223b: JUMPI 0000223c: DUP3 0000223d: SWAP1 0000223e: SUB 0000223f: PUSH1 0x1f 00002241: AND 00002242: DUP3 00002243: ADD 00002244: SWAP2 00002245: JUMPDEST 00002246: POP 00002247: POP 00002248: POP 00002249: POP 0000224a: POP 0000224b: SWAP1 0000224c: POP 0000224d: SWAP3 0000224e: SWAP2 0000224f: POP 00002250: POP 00002251: JUMP 00002252: JUMPDEST 00002253: PUSH1 0x60 00002255: PUSH2 0x2278 00002258: DUP5 00002259: DUP5 0000225a: DUP5 0000225b: PUSH1 0x40 0000225d: MLOAD 0000225e: DUP1 0000225f: PUSH1 0x60 00002261: ADD 00002262: PUSH1 0x40 00002264: MSTORE 00002265: DUP1 00002266: PUSH1 0x29 00002268: DUP2 00002269: MSTORE 0000226a: PUSH1 0x20 0000226c: ADD 0000226d: PUSH2 0x35e0 00002270: PUSH1 0x29 00002272: SWAP2 00002273: CODECOPY 00002274: PUSH2 0x2494 00002277: JUMP 00002278: JUMPDEST 00002279: SWAP5 0000227a: SWAP4 0000227b: POP 0000227c: POP 0000227d: POP 0000227e: POP 0000227f: JUMP 00002280: JUMPDEST 00002281: PUSH1 0x01 00002283: PUSH1 0x01 00002285: PUSH1 0xa0 00002287: SHL 00002288: SUB 00002289: DUP3 0000228a: AND 0000228b: PUSH2 0x22a6 0000228e: JUMPI 0000228f: PUSH1 0x40 00002291: MLOAD 00002292: PUSH3 0x461bcd 00002296: PUSH1 0xe5 00002298: SHL 00002299: DUP2 0000229a: MSTORE 0000229b: PUSH1 0x04 0000229d: ADD 0000229e: PUSH2 0x0984 000022a1: SWAP1 000022a2: PUSH2 0x323b 000022a5: JUMP 000022a6: JUMPDEST 000022a7: PUSH2 0x22b2 000022aa: DUP3 000022ab: PUSH1 0x00 000022ad: DUP4 000022ae: PUSH2 0x2406 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH2 0x22f5 000022b6: DUP2 000022b7: PUSH1 0x40 000022b9: MLOAD 000022ba: DUP1 000022bb: PUSH1 0x60 000022bd: ADD 000022be: PUSH1 0x40 000022c0: MSTORE 000022c1: DUP1 000022c2: PUSH1 0x22 000022c4: DUP2 000022c5: MSTORE 000022c6: PUSH1 0x20 000022c8: ADD 000022c9: PUSH2 0x3598 000022cc: PUSH1 0x22 000022ce: SWAP2 000022cf: CODECOPY 000022d0: PUSH1 0x01 000022d2: PUSH1 0x01 000022d4: PUSH1 0xa0 000022d6: SHL 000022d7: SUB 000022d8: DUP6 000022d9: AND 000022da: PUSH1 0x00 000022dc: SWAP1 000022dd: DUP2 000022de: MSTORE 000022df: PUSH1 0x20 000022e1: DUP2 000022e2: SWAP1 000022e3: MSTORE 000022e4: PUSH1 0x40 000022e6: SWAP1 000022e7: KECCAK256 000022e8: SLOAD 000022e9: SWAP2 000022ea: SWAP1 000022eb: PUSH4 0xffffffff 000022f0: PUSH2 0x1cc4 000022f3: AND 000022f4: JUMP 000022f5: JUMPDEST 000022f6: PUSH1 0x01 000022f8: PUSH1 0x01 000022fa: PUSH1 0xa0 000022fc: SHL 000022fd: SUB 000022fe: DUP4 000022ff: AND 00002300: PUSH1 0x00 00002302: SWAP1 00002303: DUP2 00002304: MSTORE 00002305: PUSH1 0x20 00002307: DUP2 00002308: SWAP1 00002309: MSTORE 0000230a: PUSH1 0x40 0000230c: SWAP1 0000230d: KECCAK256 0000230e: SSTORE 0000230f: PUSH1 0x02 00002311: SLOAD 00002312: PUSH2 0x2321 00002315: SWAP1 00002316: DUP3 00002317: PUSH4 0xffffffff 0000231c: PUSH2 0x2555 0000231f: AND 00002320: JUMP 00002321: JUMPDEST 00002322: PUSH1 0x02 00002324: SSTORE 00002325: PUSH1 0x40 00002327: MLOAD 00002328: PUSH1 0x00 0000232a: SWAP1 0000232b: PUSH1 0x01 0000232d: PUSH1 0x01 0000232f: PUSH1 0xa0 00002331: SHL 00002332: SUB 00002333: DUP5 00002334: AND 00002335: SWAP1 00002336: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002357: SWAP1 00002358: PUSH2 0x1f2c 0000235b: SWAP1 0000235c: DUP6 0000235d: SWAP1 0000235e: PUSH2 0x2ddc 00002361: JUMP 00002362: JUMPDEST 00002363: PUSH1 0x00 00002365: PUSH2 0x236c 00002368: PUSH2 0x2597 0000236b: JUMP 0000236c: JUMPDEST 0000236d: SWAP1 0000236e: POP 0000236f: PUSH1 0x00 00002371: PUSH2 0x2380 00002374: DUP3 00002375: DUP5 00002376: PUSH4 0xffffffff 0000237b: PUSH2 0x23e3 0000237e: AND 0000237f: JUMP 00002380: JUMPDEST 00002381: SGT 00002382: PUSH2 0x0dcf 00002385: JUMPI 00002386: PUSH1 0x40 00002388: MLOAD 00002389: PUSH3 0x461bcd 0000238d: PUSH1 0xe5 0000238f: SHL 00002390: DUP2 00002391: MSTORE 00002392: PUSH1 0x04 00002394: ADD 00002395: PUSH2 0x0984 00002398: SWAP1 00002399: PUSH2 0x32e9 0000239c: JUMP 0000239d: JUMPDEST 0000239e: PUSH1 0x00 000023a0: DUP3 000023a1: DUP3 000023a2: ADD 000023a3: DUP2 000023a4: DUP4 000023a5: SLT 000023a6: DUP1 000023a7: ISZERO 000023a8: SWAP1 000023a9: PUSH2 0x23b2 000023ac: JUMPI 000023ad: POP 000023ae: DUP4 000023af: DUP2 000023b0: SLT 000023b1: ISZERO 000023b2: JUMPDEST 000023b3: DUP1 000023b4: PUSH2 0x23c7 000023b7: JUMPI 000023b8: POP 000023b9: PUSH1 0x00 000023bb: DUP4 000023bc: SLT 000023bd: DUP1 000023be: ISZERO 000023bf: PUSH2 0x23c7 000023c2: JUMPI 000023c3: POP 000023c4: DUP4 000023c5: DUP2 000023c6: SLT 000023c7: JUMPDEST 000023c8: PUSH2 0x0b9d 000023cb: JUMPI 000023cc: PUSH1 0x40 000023ce: MLOAD 000023cf: PUSH3 0x461bcd 000023d3: PUSH1 0xe5 000023d5: SHL 000023d6: DUP2 000023d7: MSTORE 000023d8: PUSH1 0x04 000023da: ADD 000023db: PUSH2 0x0984 000023de: SWAP1 000023df: PUSH2 0x2f61 000023e2: JUMP 000023e3: JUMPDEST 000023e4: PUSH1 0x00 000023e6: PUSH2 0x0b9d 000023e9: PUSH2 0x23f8 000023ec: DUP5 000023ed: DUP5 000023ee: PUSH4 0xffffffff 000023f3: PUSH2 0x2681 000023f6: AND 000023f7: JUMP 000023f8: JUMPDEST 000023f9: PUSH8 0x0de0b6b3a7640000 00002402: PUSH2 0x26ec 00002405: JUMP 00002406: JUMPDEST 00002407: POP 00002408: POP 00002409: POP 0000240a: JUMP 0000240b: JUMPDEST 0000240c: PUSH1 0x00 0000240e: PUSH2 0x0b9d 00002411: PUSH2 0x2428 00002414: DUP5 00002415: PUSH8 0x0de0b6b3a7640000 0000241e: PUSH4 0xffffffff 00002423: PUSH2 0x2681 00002426: AND 00002427: JUMP 00002428: JUMPDEST 00002429: DUP4 0000242a: PUSH2 0x26ec 0000242d: JUMP 0000242e: JUMPDEST 0000242f: DUP2 00002430: MLOAD 00002431: PUSH1 0x00 00002433: SWAP1 00002434: DUP2 00002435: SWAP1 00002436: DUP2 00002437: JUMPDEST 00002438: DUP2 00002439: DUP2 0000243a: LT 0000243b: ISZERO 0000243c: PUSH2 0x2481 0000243f: JUMPI 00002440: DUP5 00002441: PUSH1 0x01 00002443: PUSH1 0x01 00002445: PUSH1 0xa0 00002447: SHL 00002448: SUB 00002449: AND 0000244a: DUP7 0000244b: DUP3 0000244c: DUP2 0000244d: MLOAD 0000244e: DUP2 0000244f: LT 00002450: PUSH2 0x2455 00002453: JUMPI 00002454: INVALID 00002455: JUMPDEST 00002456: PUSH1 0x20 00002458: MUL 00002459: PUSH1 0x20 0000245b: ADD 0000245c: ADD 0000245d: MLOAD 0000245e: PUSH1 0x01 00002460: PUSH1 0x01 00002462: PUSH1 0xa0 00002464: SHL 00002465: SUB 00002466: AND 00002467: EQ 00002468: ISZERO 00002469: PUSH2 0x2479 0000246c: JUMPI 0000246d: SWAP3 0000246e: POP 0000246f: PUSH1 0x01 00002471: SWAP2 00002472: POP 00002473: PUSH2 0x248d 00002476: SWAP1 00002477: POP 00002478: JUMP 00002479: JUMPDEST 0000247a: PUSH1 0x01 0000247c: ADD 0000247d: PUSH2 0x2437 00002480: JUMP 00002481: JUMPDEST 00002482: POP 00002483: PUSH1 0x00 00002485: NOT 00002486: PUSH1 0x00 00002488: SWAP3 00002489: POP 0000248a: SWAP3 0000248b: POP 0000248c: POP 0000248d: JUMPDEST 0000248e: SWAP3 0000248f: POP 00002490: SWAP3 00002491: SWAP1 00002492: POP 00002493: JUMP 00002494: JUMPDEST 00002495: PUSH1 0x60 00002497: DUP3 00002498: SELFBALANCE 00002499: LT 0000249a: ISZERO 0000249b: PUSH2 0x24b6 0000249e: JUMPI 0000249f: PUSH1 0x40 000024a1: MLOAD 000024a2: PUSH3 0x461bcd 000024a6: PUSH1 0xe5 000024a8: SHL 000024a9: DUP2 000024aa: MSTORE 000024ab: PUSH1 0x04 000024ad: ADD 000024ae: PUSH2 0x0984 000024b1: SWAP1 000024b2: PUSH2 0x2fa2 000024b5: JUMP 000024b6: JUMPDEST 000024b7: PUSH2 0x24bf 000024ba: DUP6 000024bb: PUSH2 0x277a 000024be: JUMP 000024bf: JUMPDEST 000024c0: PUSH2 0x24db 000024c3: JUMPI 000024c4: PUSH1 0x40 000024c6: MLOAD 000024c7: PUSH3 0x461bcd 000024cb: PUSH1 0xe5 000024cd: SHL 000024ce: DUP2 000024cf: MSTORE 000024d0: PUSH1 0x04 000024d2: ADD 000024d3: PUSH2 0x0984 000024d6: SWAP1 000024d7: PUSH2 0x3364 000024da: JUMP 000024db: JUMPDEST 000024dc: PUSH1 0x00 000024de: PUSH1 0x60 000024e0: DUP7 000024e1: PUSH1 0x01 000024e3: PUSH1 0x01 000024e5: PUSH1 0xa0 000024e7: SHL 000024e8: SUB 000024e9: AND 000024ea: DUP6 000024eb: DUP8 000024ec: PUSH1 0x40 000024ee: MLOAD 000024ef: PUSH2 0x24f8 000024f2: SWAP2 000024f3: SWAP1 000024f4: PUSH2 0x2c2b 000024f7: JUMP 000024f8: JUMPDEST 000024f9: PUSH1 0x00 000024fb: PUSH1 0x40 000024fd: MLOAD 000024fe: DUP1 000024ff: DUP4 00002500: SUB 00002501: DUP2 00002502: DUP6 00002503: DUP8 00002504: GAS 00002505: CALL 00002506: SWAP3 00002507: POP 00002508: POP 00002509: POP 0000250a: RETURNDATASIZE 0000250b: DUP1 0000250c: PUSH1 0x00 0000250e: DUP2 0000250f: EQ 00002510: PUSH2 0x2535 00002513: JUMPI 00002514: PUSH1 0x40 00002516: MLOAD 00002517: SWAP2 00002518: POP 00002519: PUSH1 0x1f 0000251b: NOT 0000251c: PUSH1 0x3f 0000251e: RETURNDATASIZE 0000251f: ADD 00002520: AND 00002521: DUP3 00002522: ADD 00002523: PUSH1 0x40 00002525: MSTORE 00002526: RETURNDATASIZE 00002527: DUP3 00002528: MSTORE 00002529: RETURNDATASIZE 0000252a: PUSH1 0x00 0000252c: PUSH1 0x20 0000252e: DUP5 0000252f: ADD 00002530: RETURNDATACOPY 00002531: PUSH2 0x253a 00002534: JUMP 00002535: JUMPDEST 00002536: PUSH1 0x60 00002538: SWAP2 00002539: POP 0000253a: JUMPDEST 0000253b: POP 0000253c: SWAP2 0000253d: POP 0000253e: SWAP2 0000253f: POP 00002540: PUSH2 0x254a 00002543: DUP3 00002544: DUP3 00002545: DUP7 00002546: PUSH2 0x2780 00002549: JUMP 0000254a: JUMPDEST 0000254b: SWAP8 0000254c: SWAP7 0000254d: POP 0000254e: POP 0000254f: POP 00002550: POP 00002551: POP 00002552: POP 00002553: POP 00002554: JUMP 00002555: JUMPDEST 00002556: PUSH1 0x00 00002558: PUSH2 0x0b9d 0000255b: DUP4 0000255c: DUP4 0000255d: PUSH1 0x40 0000255f: MLOAD 00002560: DUP1 00002561: PUSH1 0x40 00002563: ADD 00002564: PUSH1 0x40 00002566: MSTORE 00002567: DUP1 00002568: PUSH1 0x1e 0000256a: DUP2 0000256b: MSTORE 0000256c: PUSH1 0x20 0000256e: ADD 0000256f: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 00002590: DUP2 00002591: MSTORE 00002592: POP 00002593: PUSH2 0x1cc4 00002596: JUMP 00002597: JUMPDEST 00002598: PUSH1 0x00 0000259a: PUSH1 0x00 0000259c: NOT 0000259d: DUP2 0000259e: JUMPDEST 0000259f: PUSH1 0x0b 000025a1: SLOAD 000025a2: DUP2 000025a3: LT 000025a4: ISZERO 000025a5: PUSH2 0x2671 000025a8: JUMPI 000025a9: PUSH1 0x00 000025ab: PUSH1 0x0b 000025ad: DUP3 000025ae: DUP2 000025af: SLOAD 000025b0: DUP2 000025b1: LT 000025b2: PUSH2 0x25b7 000025b5: JUMPI 000025b6: INVALID 000025b7: JUMPDEST 000025b8: PUSH1 0x00 000025ba: SWAP2 000025bb: DUP3 000025bc: MSTORE 000025bd: PUSH1 0x20 000025bf: DUP3 000025c0: KECCAK256 000025c1: ADD 000025c2: SLOAD 000025c3: PUSH1 0x01 000025c5: PUSH1 0x01 000025c7: PUSH1 0xa0 000025c9: SHL 000025ca: SUB 000025cb: AND 000025cc: SWAP2 000025cd: POP 000025ce: PUSH2 0x25de 000025d1: PUSH2 0x25d9 000025d4: DUP4 000025d5: PUSH2 0x1f38 000025d8: JUMP 000025d9: JUMPDEST 000025da: PUSH2 0x27b9 000025dd: JUMP 000025de: JUMPDEST 000025df: SWAP1 000025e0: POP 000025e1: PUSH1 0x00 000025e3: DUP2 000025e4: GT 000025e5: DUP1 000025e6: ISZERO 000025e7: PUSH2 0x25ef 000025ea: JUMPI 000025eb: POP 000025ec: DUP4 000025ed: DUP2 000025ee: LT 000025ef: JUMPDEST 000025f0: ISZERO 000025f1: PUSH2 0x25f8 000025f4: JUMPI 000025f5: DUP1 000025f6: SWAP4 000025f7: POP 000025f8: JUMPDEST 000025f9: PUSH1 0x60 000025fb: PUSH2 0x2603 000025fe: DUP4 000025ff: PUSH2 0x2080 00002602: JUMP 00002603: JUMPDEST 00002604: SWAP1 00002605: POP 00002606: PUSH1 0x00 00002608: JUMPDEST 00002609: DUP2 0000260a: MLOAD 0000260b: DUP2 0000260c: LT 0000260d: ISZERO 0000260e: PUSH2 0x2661 00002611: JUMPI 00002612: PUSH1 0x00 00002614: DUP3 00002615: DUP3 00002616: DUP2 00002617: MLOAD 00002618: DUP2 00002619: LT 0000261a: PUSH2 0x261f 0000261d: JUMPI 0000261e: INVALID 0000261f: JUMPDEST 00002620: PUSH1 0x20 00002622: MUL 00002623: PUSH1 0x20 00002625: ADD 00002626: ADD 00002627: MLOAD 00002628: SWAP1 00002629: POP 0000262a: PUSH1 0x00 0000262c: PUSH2 0x263d 0000262f: PUSH2 0x2638 00002632: DUP8 00002633: DUP5 00002634: PUSH2 0x1b5d 00002637: JUMP 00002638: JUMPDEST 00002639: PUSH2 0x27df 0000263c: JUMP 0000263d: JUMPDEST 0000263e: SWAP1 0000263f: POP 00002640: PUSH1 0x00 00002642: DUP2 00002643: GT 00002644: DUP1 00002645: ISZERO 00002646: PUSH2 0x264e 00002649: JUMPI 0000264a: POP 0000264b: DUP8 0000264c: DUP2 0000264d: LT 0000264e: JUMPDEST 0000264f: ISZERO 00002650: PUSH2 0x2657 00002653: JUMPI 00002654: DUP1 00002655: SWAP8 00002656: POP 00002657: JUMPDEST 00002658: POP 00002659: POP 0000265a: PUSH1 0x01 0000265c: ADD 0000265d: PUSH2 0x2608 00002660: JUMP 00002661: JUMPDEST 00002662: POP 00002663: POP 00002664: PUSH1 0x01 00002666: SWAP1 00002667: SWAP3 00002668: ADD 00002669: SWAP2 0000266a: POP 0000266b: PUSH2 0x259e 0000266e: SWAP1 0000266f: POP 00002670: JUMP 00002671: JUMPDEST 00002672: POP 00002673: PUSH2 0x267b 00002676: DUP2 00002677: PUSH2 0x2803 0000267a: JUMP 0000267b: JUMPDEST 0000267c: SWAP2 0000267d: POP 0000267e: POP 0000267f: SWAP1 00002680: JUMP 00002681: JUMPDEST 00002682: PUSH1 0x00 00002684: DUP3 00002685: PUSH2 0x2690 00002688: JUMPI 00002689: POP 0000268a: PUSH1 0x00 0000268c: PUSH2 0x095b 0000268f: JUMP 00002690: JUMPDEST 00002691: DUP3 00002692: PUSH1 0x00 00002694: NOT 00002695: EQ 00002696: DUP1 00002697: ISZERO 00002698: PUSH2 0x26a4 0000269b: JUMPI 0000269c: POP 0000269d: PUSH1 0x01 0000269f: PUSH1 0xff 000026a1: SHL 000026a2: DUP3 000026a3: EQ 000026a4: JUMPDEST 000026a5: ISZERO 000026a6: PUSH2 0x26c1 000026a9: JUMPI 000026aa: PUSH1 0x40 000026ac: MLOAD 000026ad: PUSH3 0x461bcd 000026b1: PUSH1 0xe5 000026b3: SHL 000026b4: DUP2 000026b5: MSTORE 000026b6: PUSH1 0x04 000026b8: ADD 000026b9: PUSH2 0x0984 000026bc: SWAP1 000026bd: PUSH2 0x31a5 000026c0: JUMP 000026c1: JUMPDEST 000026c2: DUP3 000026c3: DUP3 000026c4: MUL 000026c5: DUP3 000026c6: DUP5 000026c7: DUP3 000026c8: DUP2 000026c9: PUSH2 0x26ce 000026cc: JUMPI 000026cd: INVALID 000026ce: JUMPDEST 000026cf: SDIV 000026d0: EQ 000026d1: PUSH2 0x0b9d 000026d4: JUMPI 000026d5: PUSH1 0x40 000026d7: MLOAD 000026d8: PUSH3 0x461bcd 000026dc: PUSH1 0xe5 000026de: SHL 000026df: DUP2 000026e0: MSTORE 000026e1: PUSH1 0x04 000026e3: ADD 000026e4: PUSH2 0x0984 000026e7: SWAP1 000026e8: PUSH2 0x31a5 000026eb: JUMP 000026ec: JUMPDEST 000026ed: PUSH1 0x00 000026ef: DUP2 000026f0: PUSH2 0x270b 000026f3: JUMPI 000026f4: PUSH1 0x40 000026f6: MLOAD 000026f7: PUSH3 0x461bcd 000026fb: PUSH1 0xe5 000026fd: SHL 000026fe: DUP2 000026ff: MSTORE 00002700: PUSH1 0x04 00002702: ADD 00002703: PUSH2 0x0984 00002706: SWAP1 00002707: PUSH2 0x351e 0000270a: JUMP 0000270b: JUMPDEST 0000270c: PUSH1 0x01 0000270e: PUSH1 0xff 00002710: SHL 00002711: DUP4 00002712: EQ 00002713: ISZERO 00002714: DUP1 00002715: PUSH2 0x2720 00002718: JUMPI 00002719: POP 0000271a: DUP2 0000271b: PUSH1 0x00 0000271d: NOT 0000271e: EQ 0000271f: ISZERO 00002720: JUMPDEST 00002721: PUSH2 0x273c 00002724: JUMPI 00002725: PUSH1 0x40 00002727: MLOAD 00002728: PUSH3 0x461bcd 0000272c: PUSH1 0xe5 0000272e: SHL 0000272f: DUP2 00002730: MSTORE 00002731: PUSH1 0x04 00002733: ADD 00002734: PUSH2 0x0984 00002737: SWAP1 00002738: PUSH2 0x3214 0000273b: JUMP 0000273c: JUMPDEST 0000273d: PUSH1 0x00 0000273f: PUSH2 0x274e 00002742: DUP5 00002743: DUP5 00002744: PUSH4 0xffffffff 00002749: PUSH2 0x2828 0000274c: AND 0000274d: JUMP 0000274e: JUMPDEST 0000274f: SWAP1 00002750: POP 00002751: PUSH1 0x00 00002753: DUP4 00002754: DUP6 00002755: XOR 00002756: SLT 00002757: DUP1 00002758: ISZERO 00002759: PUSH2 0x276a 0000275c: JUMPI 0000275d: POP 0000275e: DUP3 0000275f: DUP5 00002760: DUP2 00002761: PUSH2 0x2766 00002764: JUMPI 00002765: INVALID 00002766: JUMPDEST 00002767: SMOD 00002768: ISZERO 00002769: ISZERO 0000276a: JUMPDEST 0000276b: ISZERO 0000276c: PUSH2 0x0b9d 0000276f: JUMPI 00002770: PUSH1 0x00 00002772: NOT 00002773: ADD 00002774: SWAP4 00002775: SWAP3 00002776: POP 00002777: POP 00002778: POP 00002779: JUMP 0000277a: JUMPDEST 0000277b: EXTCODESIZE 0000277c: ISZERO 0000277d: ISZERO 0000277e: SWAP1 0000277f: JUMP 00002780: JUMPDEST 00002781: PUSH1 0x60 00002783: DUP4 00002784: ISZERO 00002785: PUSH2 0x278f 00002788: JUMPI 00002789: POP 0000278a: DUP2 0000278b: PUSH2 0x0b9d 0000278e: JUMP 0000278f: JUMPDEST 00002790: DUP3 00002791: MLOAD 00002792: ISZERO 00002793: PUSH2 0x279f 00002796: JUMPI 00002797: DUP3 00002798: MLOAD 00002799: DUP1 0000279a: DUP5 0000279b: PUSH1 0x20 0000279d: ADD 0000279e: REVERT 0000279f: JUMPDEST 000027a0: DUP2 000027a1: PUSH1 0x40 000027a3: MLOAD 000027a4: PUSH3 0x461bcd 000027a8: PUSH1 0xe5 000027aa: SHL 000027ab: DUP2 000027ac: MSTORE 000027ad: PUSH1 0x04 000027af: ADD 000027b0: PUSH2 0x0984 000027b3: SWAP2 000027b4: SWAP1 000027b5: PUSH2 0x2db5 000027b8: JUMP 000027b9: JUMPDEST 000027ba: PUSH1 0x00 000027bc: DUP1 000027bd: DUP3 000027be: SLT 000027bf: ISZERO 000027c0: PUSH2 0x27db 000027c3: JUMPI 000027c4: PUSH1 0x40 000027c6: MLOAD 000027c7: PUSH3 0x461bcd 000027cb: PUSH1 0xe5 000027cd: SHL 000027ce: DUP2 000027cf: MSTORE 000027d0: PUSH1 0x04 000027d2: ADD 000027d3: PUSH2 0x0984 000027d6: SWAP1 000027d7: PUSH2 0x3092 000027da: JUMP 000027db: JUMPDEST 000027dc: POP 000027dd: SWAP1 000027de: JUMP 000027df: JUMPDEST 000027e0: PUSH1 0x00 000027e2: DUP1 000027e3: DUP3 000027e4: SLT 000027e5: ISZERO 000027e6: PUSH2 0x27fa 000027e9: JUMPI 000027ea: PUSH2 0x27f5 000027ed: DUP3 000027ee: PUSH1 0x00 000027f0: SUB 000027f1: PUSH2 0x27b9 000027f4: JUMP 000027f5: JUMPDEST 000027f6: PUSH2 0x095b 000027f9: JUMP 000027fa: JUMPDEST 000027fb: PUSH2 0x095b 000027fe: DUP3 000027ff: PUSH2 0x27b9 00002802: JUMP 00002803: JUMPDEST 00002804: PUSH1 0x00 00002806: PUSH1 0x01 00002808: PUSH1 0xff 0000280a: SHL 0000280b: DUP3 0000280c: LT 0000280d: PUSH2 0x27db 00002810: JUMPI 00002811: PUSH1 0x40 00002813: MLOAD 00002814: PUSH3 0x461bcd 00002818: PUSH1 0xe5 0000281a: SHL 0000281b: DUP2 0000281c: MSTORE 0000281d: PUSH1 0x04 0000281f: ADD 00002820: PUSH2 0x0984 00002823: SWAP1 00002824: PUSH2 0x339b 00002827: JUMP 00002828: JUMPDEST 00002829: PUSH1 0x00 0000282b: DUP2 0000282c: PUSH2 0x2847 0000282f: JUMPI 00002830: PUSH1 0x40 00002832: MLOAD 00002833: PUSH3 0x461bcd 00002837: PUSH1 0xe5 00002839: SHL 0000283a: DUP2 0000283b: MSTORE 0000283c: PUSH1 0x04 0000283e: ADD 0000283f: PUSH2 0x0984 00002842: SWAP1 00002843: PUSH2 0x3482 00002846: JUMP 00002847: JUMPDEST 00002848: DUP2 00002849: PUSH1 0x00 0000284b: NOT 0000284c: EQ 0000284d: DUP1 0000284e: ISZERO 0000284f: PUSH2 0x285b 00002852: JUMPI 00002853: POP 00002854: PUSH1 0x01 00002856: PUSH1 0xff 00002858: SHL 00002859: DUP4 0000285a: EQ 0000285b: JUMPDEST 0000285c: ISZERO 0000285d: PUSH2 0x2878 00002860: JUMPI 00002861: PUSH1 0x40 00002863: MLOAD 00002864: PUSH3 0x461bcd 00002868: PUSH1 0xe5 0000286a: SHL 0000286b: DUP2 0000286c: MSTORE 0000286d: PUSH1 0x04 0000286f: ADD 00002870: PUSH2 0x0984 00002873: SWAP1 00002874: PUSH2 0x30fe 00002877: JUMP 00002878: JUMPDEST 00002879: PUSH1 0x00 0000287b: DUP3 0000287c: DUP5 0000287d: DUP2 0000287e: PUSH2 0x2883 00002881: JUMPI 00002882: INVALID 00002883: JUMPDEST 00002884: SDIV 00002885: SWAP5 00002886: SWAP4 00002887: POP 00002888: POP 00002889: POP 0000288a: POP 0000288b: JUMP 0000288c: JUMPDEST 0000288d: DUP3 0000288e: DUP1 0000288f: SLOAD 00002890: PUSH1 0x01 00002892: DUP2 00002893: PUSH1 0x01 00002895: AND 00002896: ISZERO 00002897: PUSH2 0x0100 0000289a: MUL 0000289b: SUB 0000289c: AND 0000289d: PUSH1 0x02 0000289f: SWAP1 000028a0: DIV 000028a1: SWAP1 000028a2: PUSH1 0x00 000028a4: MSTORE 000028a5: PUSH1 0x20 000028a7: PUSH1 0x00 000028a9: KECCAK256 000028aa: SWAP1 000028ab: PUSH1 0x1f 000028ad: ADD 000028ae: PUSH1 0x20 000028b0: SWAP1 000028b1: DIV 000028b2: DUP2 000028b3: ADD 000028b4: SWAP3 000028b5: DUP3 000028b6: PUSH1 0x1f 000028b8: LT 000028b9: PUSH2 0x28cd 000028bc: JUMPI 000028bd: DUP3 000028be: DUP1 000028bf: ADD 000028c0: PUSH1 0xff 000028c2: NOT 000028c3: DUP3 000028c4: CALLDATALOAD 000028c5: AND 000028c6: OR 000028c7: DUP6 000028c8: SSTORE 000028c9: PUSH2 0x28fa 000028cc: JUMP 000028cd: JUMPDEST 000028ce: DUP3 000028cf: DUP1 000028d0: ADD 000028d1: PUSH1 0x01 000028d3: ADD 000028d4: DUP6 000028d5: SSTORE 000028d6: DUP3 000028d7: ISZERO 000028d8: PUSH2 0x28fa 000028db: JUMPI 000028dc: SWAP2 000028dd: DUP3 000028de: ADD 000028df: JUMPDEST 000028e0: DUP3 000028e1: DUP2 000028e2: GT 000028e3: ISZERO 000028e4: PUSH2 0x28fa 000028e7: JUMPI 000028e8: DUP3 000028e9: CALLDATALOAD 000028ea: DUP3 000028eb: SSTORE 000028ec: SWAP2 000028ed: PUSH1 0x20 000028ef: ADD 000028f0: SWAP2 000028f1: SWAP1 000028f2: PUSH1 0x01 000028f4: ADD 000028f5: SWAP1 000028f6: PUSH2 0x28df 000028f9: JUMP 000028fa: JUMPDEST 000028fb: POP 000028fc: PUSH2 0x27db 000028ff: SWAP3 00002900: SWAP2 00002901: POP 00002902: PUSH2 0x2991 00002905: JUMP 00002906: JUMPDEST 00002907: PUSH1 0x40 00002909: MLOAD 0000290a: DUP1 0000290b: PUSH1 0xa0 0000290d: ADD 0000290e: PUSH1 0x40 00002910: MSTORE 00002911: DUP1 00002912: PUSH1 0x00 00002914: PUSH1 0x01 00002916: PUSH1 0x01 00002918: PUSH1 0xa0 0000291a: SHL 0000291b: SUB 0000291c: AND 0000291d: DUP2 0000291e: MSTORE 0000291f: PUSH1 0x20 00002921: ADD 00002922: PUSH1 0x00 00002924: PUSH1 0x01 00002926: PUSH1 0x01 00002928: PUSH1 0xa0 0000292a: SHL 0000292b: SUB 0000292c: AND 0000292d: DUP2 0000292e: MSTORE 0000292f: PUSH1 0x20 00002931: ADD 00002932: PUSH1 0x00 00002934: DUP2 00002935: MSTORE 00002936: PUSH1 0x20 00002938: ADD 00002939: PUSH1 0x00 0000293b: PUSH1 0xff 0000293d: AND 0000293e: DUP2 0000293f: MSTORE 00002940: PUSH1 0x20 00002942: ADD 00002943: PUSH1 0x60 00002945: DUP2 00002946: MSTORE 00002947: POP 00002948: SWAP1 00002949: JUMP 0000294a: JUMPDEST 0000294b: POP 0000294c: DUP1 0000294d: SLOAD 0000294e: PUSH1 0x01 00002950: DUP2 00002951: PUSH1 0x01 00002953: AND 00002954: ISZERO 00002955: PUSH2 0x0100 00002958: MUL 00002959: SUB 0000295a: AND 0000295b: PUSH1 0x02 0000295d: SWAP1 0000295e: DIV 0000295f: PUSH1 0x00 00002961: DUP3 00002962: SSTORE 00002963: DUP1 00002964: PUSH1 0x1f 00002966: LT 00002967: PUSH2 0x2970 0000296a: JUMPI 0000296b: POP 0000296c: PUSH2 0x298e 0000296f: JUMP 00002970: JUMPDEST 00002971: PUSH1 0x1f 00002973: ADD 00002974: PUSH1 0x20 00002976: SWAP1 00002977: DIV 00002978: SWAP1 00002979: PUSH1 0x00 0000297b: MSTORE 0000297c: PUSH1 0x20 0000297e: PUSH1 0x00 00002980: KECCAK256 00002981: SWAP1 00002982: DUP2 00002983: ADD 00002984: SWAP1 00002985: PUSH2 0x298e 00002988: SWAP2 00002989: SWAP1 0000298a: PUSH2 0x2991 0000298d: JUMP 0000298e: JUMPDEST 0000298f: POP 00002990: JUMP 00002991: JUMPDEST 00002992: PUSH2 0x0940 00002995: SWAP2 00002996: SWAP1 00002997: JUMPDEST 00002998: DUP1 00002999: DUP3 0000299a: GT 0000299b: ISZERO 0000299c: PUSH2 0x27db 0000299f: JUMPI 000029a0: PUSH1 0x00 000029a2: DUP2 000029a3: SSTORE 000029a4: PUSH1 0x01 000029a6: ADD 000029a7: PUSH2 0x2997 000029aa: JUMP 000029ab: JUMPDEST 000029ac: DUP1 000029ad: CALLDATALOAD 000029ae: PUSH1 0x01 000029b0: PUSH1 0x01 000029b2: PUSH1 0xa0 000029b4: SHL 000029b5: SUB 000029b6: DUP2 000029b7: AND 000029b8: DUP2 000029b9: EQ 000029ba: PUSH2 0x095b 000029bd: JUMPI 000029be: PUSH1 0x00 000029c0: DUP1 000029c1: REVERT 000029c2: JUMPDEST 000029c3: PUSH1 0x00 000029c5: DUP1 000029c6: DUP4 000029c7: PUSH1 0x1f 000029c9: DUP5 000029ca: ADD 000029cb: SLT 000029cc: PUSH2 0x29d3 000029cf: JUMPI 000029d0: DUP2 000029d1: DUP3 000029d2: REVERT 000029d3: JUMPDEST 000029d4: POP 000029d5: DUP2 000029d6: CALLDATALOAD 000029d7: PUSH8 0xffffffffffffffff 000029e0: DUP2 000029e1: GT 000029e2: ISZERO 000029e3: PUSH2 0x29ea 000029e6: JUMPI 000029e7: DUP2 000029e8: DUP3 000029e9: REVERT 000029ea: JUMPDEST 000029eb: PUSH1 0x20 000029ed: DUP4 000029ee: ADD 000029ef: SWAP2 000029f0: POP 000029f1: DUP4 000029f2: PUSH1 0x20 000029f4: DUP3 000029f5: DUP6 000029f6: ADD 000029f7: ADD 000029f8: GT 000029f9: ISZERO 000029fa: PUSH2 0x248d 000029fd: JUMPI 000029fe: PUSH1 0x00 00002a00: DUP1 00002a01: REVERT 00002a02: JUMPDEST 00002a03: PUSH1 0x00 00002a05: PUSH1 0x20 00002a07: DUP3 00002a08: DUP5 00002a09: SUB 00002a0a: SLT 00002a0b: ISZERO 00002a0c: PUSH2 0x2a13 00002a0f: JUMPI 00002a10: DUP1 00002a11: DUP2 00002a12: REVERT 00002a13: JUMPDEST 00002a14: PUSH2 0x0b9d 00002a17: DUP4 00002a18: DUP4 00002a19: PUSH2 0x29ab 00002a1c: JUMP 00002a1d: JUMPDEST 00002a1e: PUSH1 0x00 00002a20: DUP1 00002a21: PUSH1 0x40 00002a23: DUP4 00002a24: DUP6 00002a25: SUB 00002a26: SLT 00002a27: ISZERO 00002a28: PUSH2 0x2a2f 00002a2b: JUMPI 00002a2c: DUP1 00002a2d: DUP2 00002a2e: REVERT 00002a2f: JUMPDEST 00002a30: PUSH2 0x2a39 00002a33: DUP5 00002a34: DUP5 00002a35: PUSH2 0x29ab 00002a38: JUMP 00002a39: JUMPDEST 00002a3a: SWAP2 00002a3b: POP 00002a3c: PUSH2 0x2a48 00002a3f: DUP5 00002a40: PUSH1 0x20 00002a42: DUP6 00002a43: ADD 00002a44: PUSH2 0x29ab 00002a47: JUMP 00002a48: JUMPDEST 00002a49: SWAP1 00002a4a: POP 00002a4b: SWAP3 00002a4c: POP 00002a4d: SWAP3 00002a4e: SWAP1 00002a4f: POP 00002a50: JUMP 00002a51: JUMPDEST 00002a52: PUSH1 0x00 00002a54: DUP1 00002a55: PUSH1 0x00 00002a57: DUP1 00002a58: PUSH1 0x60 00002a5a: DUP6 00002a5b: DUP8 00002a5c: SUB 00002a5d: SLT 00002a5e: ISZERO 00002a5f: PUSH2 0x2a66 00002a62: JUMPI 00002a63: DUP2 00002a64: DUP3 00002a65: REVERT 00002a66: JUMPDEST 00002a67: DUP5 00002a68: CALLDATALOAD 00002a69: PUSH2 0x2a71 00002a6c: DUP2 00002a6d: PUSH2 0x3582 00002a70: JUMP 00002a71: JUMPDEST 00002a72: SWAP4 00002a73: POP 00002a74: PUSH1 0x20 00002a76: DUP6 00002a77: ADD 00002a78: CALLDATALOAD 00002a79: PUSH2 0x2a81 00002a7c: DUP2 00002a7d: PUSH2 0x3582 00002a80: JUMP 00002a81: JUMPDEST 00002a82: SWAP3 00002a83: POP 00002a84: PUSH1 0x40 00002a86: DUP6 00002a87: ADD 00002a88: CALLDATALOAD 00002a89: PUSH8 0xffffffffffffffff 00002a92: DUP2 00002a93: GT 00002a94: ISZERO 00002a95: PUSH2 0x2a9c 00002a98: JUMPI 00002a99: DUP3 00002a9a: DUP4 00002a9b: REVERT 00002a9c: JUMPDEST 00002a9d: PUSH2 0x2aa8 00002aa0: DUP8 00002aa1: DUP3 00002aa2: DUP9 00002aa3: ADD 00002aa4: PUSH2 0x29c2 00002aa7: JUMP 00002aa8: JUMPDEST 00002aa9: SWAP6 00002aaa: SWAP9 00002aab: SWAP5 00002aac: SWAP8 00002aad: POP 00002aae: SWAP6 00002aaf: POP 00002ab0: POP 00002ab1: POP 00002ab2: POP 00002ab3: JUMP 00002ab4: JUMPDEST 00002ab5: PUSH1 0x00 00002ab7: DUP1 00002ab8: PUSH1 0x00 00002aba: PUSH1 0x60 00002abc: DUP5 00002abd: DUP7 00002abe: SUB 00002abf: SLT 00002ac0: ISZERO 00002ac1: PUSH2 0x2ac8 00002ac4: JUMPI 00002ac5: DUP3 00002ac6: DUP4 00002ac7: REVERT 00002ac8: JUMPDEST 00002ac9: PUSH2 0x2ad2 00002acc: DUP6 00002acd: DUP6 00002ace: PUSH2 0x29ab 00002ad1: JUMP 00002ad2: JUMPDEST 00002ad3: SWAP3 00002ad4: POP 00002ad5: PUSH2 0x2ae1 00002ad8: DUP6 00002ad9: PUSH1 0x20 00002adb: DUP7 00002adc: ADD 00002add: PUSH2 0x29ab 00002ae0: JUMP 00002ae1: JUMPDEST 00002ae2: SWAP2 00002ae3: POP 00002ae4: PUSH1 0x40 00002ae6: DUP5 00002ae7: ADD 00002ae8: CALLDATALOAD 00002ae9: SWAP1 00002aea: POP 00002aeb: SWAP3 00002aec: POP 00002aed: SWAP3 00002aee: POP 00002aef: SWAP3 00002af0: JUMP 00002af1: JUMPDEST 00002af2: PUSH1 0x00 00002af4: DUP1 00002af5: PUSH1 0x00 00002af7: PUSH1 0x60 00002af9: DUP5 00002afa: DUP7 00002afb: SUB 00002afc: SLT 00002afd: ISZERO 00002afe: PUSH2 0x2b05 00002b01: JUMPI 00002b02: DUP3 00002b03: DUP4 00002b04: REVERT 00002b05: JUMPDEST 00002b06: DUP4 00002b07: CALLDATALOAD 00002b08: PUSH2 0x2b10 00002b0b: DUP2 00002b0c: PUSH2 0x3582 00002b0f: JUMP 00002b10: JUMPDEST 00002b11: SWAP3 00002b12: POP 00002b13: PUSH1 0x20 00002b15: DUP5 00002b16: ADD 00002b17: CALLDATALOAD 00002b18: PUSH2 0x2b20 00002b1b: DUP2 00002b1c: PUSH2 0x3582 00002b1f: JUMP 00002b20: JUMPDEST 00002b21: SWAP3 00002b22: SWAP6 00002b23: SWAP3 00002b24: SWAP5 00002b25: POP 00002b26: POP 00002b27: POP 00002b28: PUSH1 0x40 00002b2a: SWAP2 00002b2b: SWAP1 00002b2c: SWAP2 00002b2d: ADD 00002b2e: CALLDATALOAD 00002b2f: SWAP1 00002b30: JUMP 00002b31: JUMPDEST 00002b32: PUSH1 0x00 00002b34: DUP1 00002b35: PUSH1 0x40 00002b37: DUP4 00002b38: DUP6 00002b39: SUB 00002b3a: SLT 00002b3b: ISZERO 00002b3c: PUSH2 0x2b43 00002b3f: JUMPI 00002b40: DUP2 00002b41: DUP3 00002b42: REVERT 00002b43: JUMPDEST 00002b44: PUSH2 0x2b4d 00002b47: DUP5 00002b48: DUP5 00002b49: PUSH2 0x29ab 00002b4c: JUMP 00002b4d: JUMPDEST 00002b4e: SWAP5 00002b4f: PUSH1 0x20 00002b51: SWAP4 00002b52: SWAP1 00002b53: SWAP4 00002b54: ADD 00002b55: CALLDATALOAD 00002b56: SWAP4 00002b57: POP 00002b58: POP 00002b59: POP 00002b5a: JUMP 00002b5b: JUMPDEST 00002b5c: PUSH1 0x00 00002b5e: DUP1 00002b5f: PUSH1 0x00 00002b61: DUP1 00002b62: PUSH1 0x60 00002b64: DUP6 00002b65: DUP8 00002b66: SUB 00002b67: SLT 00002b68: ISZERO 00002b69: PUSH2 0x2b70 00002b6c: JUMPI 00002b6d: DUP4 00002b6e: DUP5 00002b6f: REVERT 00002b70: JUMPDEST 00002b71: DUP5 00002b72: CALLDATALOAD 00002b73: PUSH2 0x2b7b 00002b76: DUP2 00002b77: PUSH2 0x3582 00002b7a: JUMP 00002b7b: JUMPDEST 00002b7c: SWAP4 00002b7d: POP 00002b7e: PUSH1 0x20 00002b80: DUP6 00002b81: ADD 00002b82: CALLDATALOAD 00002b83: SWAP3 00002b84: POP 00002b85: PUSH1 0x40 00002b87: DUP6 00002b88: ADD 00002b89: CALLDATALOAD 00002b8a: PUSH8 0xffffffffffffffff 00002b93: DUP2 00002b94: GT 00002b95: ISZERO 00002b96: PUSH2 0x2a9c 00002b99: JUMPI 00002b9a: DUP3 00002b9b: DUP4 00002b9c: REVERT 00002b9d: JUMPDEST 00002b9e: PUSH1 0x00 00002ba0: PUSH1 0x20 00002ba2: DUP3 00002ba3: DUP5 00002ba4: SUB 00002ba5: SLT 00002ba6: ISZERO 00002ba7: PUSH2 0x2bae 00002baa: JUMPI 00002bab: DUP1 00002bac: DUP2 00002bad: REVERT 00002bae: JUMPDEST 00002baf: DUP2 00002bb0: MLOAD 00002bb1: DUP1 00002bb2: ISZERO 00002bb3: ISZERO 00002bb4: DUP2 00002bb5: EQ 00002bb6: PUSH2 0x0b9d 00002bb9: JUMPI 00002bba: DUP2 00002bbb: DUP3 00002bbc: REVERT 00002bbd: JUMPDEST 00002bbe: PUSH1 0x00 00002bc0: PUSH1 0x20 00002bc2: DUP3 00002bc3: DUP5 00002bc4: SUB 00002bc5: SLT 00002bc6: ISZERO 00002bc7: PUSH2 0x2bce 00002bca: JUMPI 00002bcb: DUP1 00002bcc: DUP2 00002bcd: REVERT 00002bce: JUMPDEST 00002bcf: POP 00002bd0: CALLDATALOAD 00002bd1: SWAP2 00002bd2: SWAP1 00002bd3: POP 00002bd4: JUMP 00002bd5: JUMPDEST 00002bd6: PUSH1 0x00 00002bd8: DUP3 00002bd9: DUP5 00002bda: MSTORE 00002bdb: DUP3 00002bdc: DUP3 00002bdd: PUSH1 0x20 00002bdf: DUP7 00002be0: ADD 00002be1: CALLDATACOPY 00002be2: DUP1 00002be3: PUSH1 0x20 00002be5: DUP5 00002be6: DUP7 00002be7: ADD 00002be8: ADD 00002be9: MSTORE 00002bea: PUSH1 0x20 00002bec: PUSH1 0x1f 00002bee: NOT 00002bef: PUSH1 0x1f 00002bf1: DUP6 00002bf2: ADD 00002bf3: AND 00002bf4: DUP6 00002bf5: ADD 00002bf6: ADD 00002bf7: SWAP1 00002bf8: POP 00002bf9: SWAP4 00002bfa: SWAP3 00002bfb: POP 00002bfc: POP 00002bfd: POP 00002bfe: JUMP 00002bff: JUMPDEST 00002c00: PUSH1 0x00 00002c02: DUP2 00002c03: MLOAD 00002c04: DUP1 00002c05: DUP5 00002c06: MSTORE 00002c07: PUSH2 0x2c17 00002c0a: DUP2 00002c0b: PUSH1 0x20 00002c0d: DUP7 00002c0e: ADD 00002c0f: PUSH1 0x20 00002c11: DUP7 00002c12: ADD 00002c13: PUSH2 0x3556 00002c16: JUMP 00002c17: JUMPDEST 00002c18: PUSH1 0x1f 00002c1a: ADD 00002c1b: PUSH1 0x1f 00002c1d: NOT 00002c1e: AND 00002c1f: SWAP3 00002c20: SWAP1 00002c21: SWAP3 00002c22: ADD 00002c23: PUSH1 0x20 00002c25: ADD 00002c26: SWAP3 00002c27: SWAP2 00002c28: POP 00002c29: POP 00002c2a: JUMP 00002c2b: JUMPDEST 00002c2c: PUSH1 0x00 00002c2e: DUP3 00002c2f: MLOAD 00002c30: PUSH2 0x2c3d 00002c33: DUP2 00002c34: DUP5 00002c35: PUSH1 0x20 00002c37: DUP8 00002c38: ADD 00002c39: PUSH2 0x3556 00002c3c: JUMP 00002c3d: JUMPDEST 00002c3e: SWAP2 00002c3f: SWAP1 00002c40: SWAP2 00002c41: ADD 00002c42: SWAP3 00002c43: SWAP2 00002c44: POP 00002c45: POP 00002c46: JUMP 00002c47: JUMPDEST 00002c48: PUSH1 0x01 00002c4a: PUSH1 0x01 00002c4c: PUSH1 0xa0 00002c4e: SHL 00002c4f: SUB 00002c50: SWAP2 00002c51: SWAP1 00002c52: SWAP2 00002c53: AND 00002c54: DUP2 00002c55: MSTORE 00002c56: PUSH1 0x20 00002c58: ADD 00002c59: SWAP1 00002c5a: JUMP 00002c5b: JUMPDEST 00002c5c: PUSH1 0x01 00002c5e: PUSH1 0x01 00002c60: PUSH1 0xa0 00002c62: SHL 00002c63: SUB 00002c64: SWAP3 00002c65: DUP4 00002c66: AND 00002c67: DUP2 00002c68: MSTORE 00002c69: SWAP2 00002c6a: AND 00002c6b: PUSH1 0x20 00002c6d: DUP3 00002c6e: ADD 00002c6f: MSTORE 00002c70: PUSH1 0x40 00002c72: ADD 00002c73: SWAP1 00002c74: JUMP 00002c75: JUMPDEST 00002c76: PUSH1 0x20 00002c78: DUP1 00002c79: DUP3 00002c7a: MSTORE 00002c7b: DUP3 00002c7c: MLOAD 00002c7d: DUP3 00002c7e: DUP3 00002c7f: ADD 00002c80: DUP2 00002c81: SWAP1 00002c82: MSTORE 00002c83: PUSH1 0x00 00002c85: SWAP2 00002c86: SWAP1 00002c87: DUP5 00002c88: DUP3 00002c89: ADD 00002c8a: SWAP1 00002c8b: PUSH1 0x40 00002c8d: DUP6 00002c8e: ADD 00002c8f: SWAP1 00002c90: DUP5 00002c91: JUMPDEST 00002c92: DUP2 00002c93: DUP2 00002c94: LT 00002c95: ISZERO 00002c96: PUSH2 0x2cb6 00002c99: JUMPI 00002c9a: DUP4 00002c9b: MLOAD 00002c9c: PUSH1 0x01 00002c9e: PUSH1 0x01 00002ca0: PUSH1 0xa0 00002ca2: SHL 00002ca3: SUB 00002ca4: AND 00002ca5: DUP4 00002ca6: MSTORE 00002ca7: SWAP3 00002ca8: DUP5 00002ca9: ADD 00002caa: SWAP3 00002cab: SWAP2 00002cac: DUP5 00002cad: ADD 00002cae: SWAP2 00002caf: PUSH1 0x01 00002cb1: ADD 00002cb2: PUSH2 0x2c91 00002cb5: JUMP 00002cb6: JUMPDEST 00002cb7: POP 00002cb8: SWAP1 00002cb9: SWAP7 00002cba: SWAP6 00002cbb: POP 00002cbc: POP 00002cbd: POP 00002cbe: POP 00002cbf: POP 00002cc0: POP 00002cc1: JUMP 00002cc2: JUMPDEST 00002cc3: PUSH1 0x20 00002cc5: DUP1 00002cc6: DUP3 00002cc7: MSTORE 00002cc8: DUP3 00002cc9: MLOAD 00002cca: DUP3 00002ccb: DUP3 00002ccc: ADD 00002ccd: DUP2 00002cce: SWAP1 00002ccf: MSTORE 00002cd0: PUSH1 0x00 00002cd2: SWAP2 00002cd3: SWAP1 00002cd4: PUSH1 0x40 00002cd6: SWAP1 00002cd7: DUP2 00002cd8: DUP6 00002cd9: ADD 00002cda: SWAP1 00002cdb: DUP1 00002cdc: DUP5 00002cdd: MUL 00002cde: DUP7 00002cdf: ADD 00002ce0: DUP4 00002ce1: ADD 00002ce2: DUP8 00002ce3: DUP6 00002ce4: ADD 00002ce5: DUP7 00002ce6: JUMPDEST 00002ce7: DUP4 00002ce8: DUP2 00002ce9: LT 00002cea: ISZERO 00002ceb: PUSH2 0x2d58 00002cee: JUMPI 00002cef: DUP9 00002cf0: DUP4 00002cf1: SUB 00002cf2: PUSH1 0x3f 00002cf4: NOT 00002cf5: ADD 00002cf6: DUP6 00002cf7: MSTORE 00002cf8: DUP2 00002cf9: MLOAD 00002cfa: DUP1 00002cfb: MLOAD 00002cfc: PUSH1 0x01 00002cfe: PUSH1 0x01 00002d00: PUSH1 0xa0 00002d02: SHL 00002d03: SUB 00002d04: SWAP1 00002d05: DUP2 00002d06: AND 00002d07: DUP6 00002d08: MSTORE 00002d09: DUP9 00002d0a: DUP3 00002d0b: ADD 00002d0c: MLOAD 00002d0d: AND 00002d0e: DUP9 00002d0f: DUP6 00002d10: ADD 00002d11: MSTORE 00002d12: DUP7 00002d13: DUP2 00002d14: ADD 00002d15: MLOAD 00002d16: DUP8 00002d17: DUP6 00002d18: ADD 00002d19: MSTORE 00002d1a: PUSH1 0x60 00002d1c: DUP1 00002d1d: DUP3 00002d1e: ADD 00002d1f: MLOAD 00002d20: PUSH1 0xff 00002d22: AND 00002d23: SWAP1 00002d24: DUP6 00002d25: ADD 00002d26: MSTORE 00002d27: PUSH1 0x80 00002d29: DUP1 00002d2a: DUP3 00002d2b: ADD 00002d2c: MLOAD 00002d2d: PUSH1 0xa0 00002d2f: DUP3 00002d30: DUP8 00002d31: ADD 00002d32: DUP2 00002d33: SWAP1 00002d34: MSTORE 00002d35: SWAP2 00002d36: SWAP1 00002d37: PUSH2 0x2d42 00002d3a: DUP4 00002d3b: DUP9 00002d3c: ADD 00002d3d: DUP3 00002d3e: PUSH2 0x2bff 00002d41: JUMP 00002d42: JUMPDEST 00002d43: SWAP9 00002d44: DUP12 00002d45: ADD 00002d46: SWAP9 00002d47: SWAP7 00002d48: POP 00002d49: POP 00002d4a: POP 00002d4b: SWAP3 00002d4c: DUP9 00002d4d: ADD 00002d4e: SWAP3 00002d4f: POP 00002d50: POP 00002d51: PUSH1 0x01 00002d53: ADD 00002d54: PUSH2 0x2ce6 00002d57: JUMP 00002d58: JUMPDEST 00002d59: POP 00002d5a: SWAP1 00002d5b: SWAP9 00002d5c: SWAP8 00002d5d: POP 00002d5e: POP 00002d5f: POP 00002d60: POP 00002d61: POP 00002d62: POP 00002d63: POP 00002d64: POP 00002d65: JUMP 00002d66: JUMPDEST 00002d67: SWAP1 00002d68: ISZERO 00002d69: ISZERO 00002d6a: DUP2 00002d6b: MSTORE 00002d6c: PUSH1 0x20 00002d6e: ADD 00002d6f: SWAP1 00002d70: JUMP 00002d71: JUMPDEST 00002d72: PUSH1 0x00 00002d74: PUSH1 0x20 00002d76: DUP3 00002d77: MSTORE 00002d78: PUSH2 0x2278 00002d7b: PUSH1 0x20 00002d7d: DUP4 00002d7e: ADD 00002d7f: DUP5 00002d80: DUP7 00002d81: PUSH2 0x2bd5 00002d84: JUMP 00002d85: JUMPDEST 00002d86: PUSH1 0x00 00002d88: PUSH1 0x40 00002d8a: DUP3 00002d8b: MSTORE 00002d8c: PUSH2 0x2d99 00002d8f: PUSH1 0x40 00002d91: DUP4 00002d92: ADD 00002d93: DUP6 00002d94: DUP8 00002d95: PUSH2 0x2bd5 00002d98: JUMP 00002d99: JUMPDEST 00002d9a: DUP3 00002d9b: DUP2 00002d9c: SUB 00002d9d: PUSH1 0x20 00002d9f: DUP5 00002da0: ADD 00002da1: MSTORE 00002da2: PUSH2 0x2dab 00002da5: DUP2 00002da6: DUP6 00002da7: PUSH2 0x2bff 00002daa: JUMP 00002dab: JUMPDEST 00002dac: SWAP7 00002dad: SWAP6 00002dae: POP 00002daf: POP 00002db0: POP 00002db1: POP 00002db2: POP 00002db3: POP 00002db4: JUMP 00002db5: JUMPDEST 00002db6: PUSH1 0x00 00002db8: PUSH1 0x20 00002dba: DUP3 00002dbb: MSTORE 00002dbc: PUSH2 0x0b9d 00002dbf: PUSH1 0x20 00002dc1: DUP4 00002dc2: ADD 00002dc3: DUP5 00002dc4: PUSH2 0x2bff 00002dc7: JUMP 00002dc8: JUMPDEST 00002dc9: PUSH1 0x20 00002dcb: DUP2 00002dcc: ADD 00002dcd: PUSH1 0x03 00002dcf: DUP4 00002dd0: LT 00002dd1: PUSH2 0x2dd6 00002dd4: JUMPI 00002dd5: INVALID 00002dd6: JUMPDEST 00002dd7: SWAP2 00002dd8: SWAP1 00002dd9: MSTORE 00002dda: SWAP1 00002ddb: JUMP 00002ddc: JUMPDEST 00002ddd: SWAP1 00002dde: DUP2 00002ddf: MSTORE 00002de0: PUSH1 0x20 00002de2: ADD 00002de3: SWAP1 00002de4: JUMP 00002de5: JUMPDEST 00002de6: PUSH1 0x20 00002de8: DUP1 00002de9: DUP3 00002dea: MSTORE 00002deb: PUSH1 0x12 00002ded: SWAP1 00002dee: DUP3 00002def: ADD 00002df0: MSTORE 00002df1: PUSH18 0x135d5cdd081b9bdd081899481b1bd8dad959 00002e04: PUSH1 0x72 00002e06: SHL 00002e07: PUSH1 0x40 00002e09: DUP3 00002e0a: ADD 00002e0b: MSTORE 00002e0c: PUSH1 0x60 00002e0e: ADD 00002e0f: SWAP1 00002e10: JUMP 00002e11: JUMPDEST 00002e12: PUSH1 0x20 00002e14: DUP1 00002e15: DUP3 00002e16: MSTORE 00002e17: PUSH1 0x23 00002e19: SWAP1 00002e1a: DUP3 00002e1b: ADD 00002e1c: MSTORE 00002e1d: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472 00002e3e: PUSH1 0x40 00002e40: DUP3 00002e41: ADD 00002e42: MSTORE 00002e43: PUSH3 0x657373 00002e47: PUSH1 0xe8 00002e49: SHL 00002e4a: PUSH1 0x60 00002e4c: DUP3 00002e4d: ADD 00002e4e: MSTORE 00002e4f: PUSH1 0x80 00002e51: ADD 00002e52: SWAP1 00002e53: JUMP 00002e54: JUMPDEST 00002e55: PUSH1 0x20 00002e57: DUP1 00002e58: DUP3 00002e59: MSTORE 00002e5a: PUSH1 0x14 00002e5c: SWAP1 00002e5d: DUP3 00002e5e: ADD 00002e5f: MSTORE 00002e60: PUSH20 0x135bd91d5b1948185b1c9958591e481859191959 00002e75: PUSH1 0x62 00002e77: SHL 00002e78: PUSH1 0x40 00002e7a: DUP3 00002e7b: ADD 00002e7c: MSTORE 00002e7d: PUSH1 0x60 00002e7f: ADD 00002e80: SWAP1 00002e81: JUMP 00002e82: JUMPDEST 00002e83: PUSH1 0x20 00002e85: DUP1 00002e86: DUP3 00002e87: MSTORE 00002e88: PUSH1 0x15 00002e8a: SWAP1 00002e8b: DUP3 00002e8c: ADD 00002e8d: MSTORE 00002e8e: PUSH21 0x20b2323932b9b9903737ba1034b71030b93930bc97 00002ea4: PUSH1 0x59 00002ea6: SHL 00002ea7: PUSH1 0x40 00002ea9: DUP3 00002eaa: ADD 00002eab: MSTORE 00002eac: PUSH1 0x60 00002eae: ADD 00002eaf: SWAP1 00002eb0: JUMP 00002eb1: JUMPDEST 00002eb2: PUSH1 0x20 00002eb4: DUP1 00002eb5: DUP3 00002eb6: MSTORE 00002eb7: PUSH1 0x18 00002eb9: SWAP1 00002eba: DUP3 00002ebb: ADD 00002ebc: MSTORE 00002ebd: PUSH32 0x4d6f64756c65206d757374206e6f742062652061646465640000000000000000 00002ede: PUSH1 0x40 00002ee0: DUP3 00002ee1: ADD 00002ee2: MSTORE 00002ee3: PUSH1 0x60 00002ee5: ADD 00002ee6: SWAP1 00002ee7: JUMP 00002ee8: JUMPDEST 00002ee9: PUSH1 0x20 00002eeb: DUP1 00002eec: DUP3 00002eed: MSTORE 00002eee: PUSH1 0x22 00002ef0: SWAP1 00002ef1: DUP3 00002ef2: ADD 00002ef3: MSTORE 00002ef4: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265 00002f15: PUSH1 0x40 00002f17: DUP3 00002f18: ADD 00002f19: MSTORE 00002f1a: PUSH2 0x7373 00002f1d: PUSH1 0xf0 00002f1f: SHL 00002f20: PUSH1 0x60 00002f22: DUP3 00002f23: ADD 00002f24: MSTORE 00002f25: PUSH1 0x80 00002f27: ADD 00002f28: SWAP1 00002f29: JUMP 00002f2a: JUMPDEST 00002f2b: PUSH1 0x20 00002f2d: DUP1 00002f2e: DUP3 00002f2f: MSTORE 00002f30: PUSH1 0x1b 00002f32: SWAP1 00002f33: DUP3 00002f34: ADD 00002f35: MSTORE 00002f36: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00002f57: PUSH1 0x40 00002f59: DUP3 00002f5a: ADD 00002f5b: MSTORE 00002f5c: PUSH1 0x60 00002f5e: ADD 00002f5f: SWAP1 00002f60: JUMP 00002f61: JUMPDEST 00002f62: PUSH1 0x20 00002f64: DUP1 00002f65: DUP3 00002f66: MSTORE 00002f67: PUSH1 0x21 00002f69: SWAP1 00002f6a: DUP3 00002f6b: ADD 00002f6c: MSTORE 00002f6d: PUSH32 0x5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f 00002f8e: PUSH1 0x40 00002f90: DUP3 00002f91: ADD 00002f92: MSTORE 00002f93: PUSH1 0x77 00002f95: PUSH1 0xf8 00002f97: SHL 00002f98: PUSH1 0x60 00002f9a: DUP3 00002f9b: ADD 00002f9c: MSTORE 00002f9d: PUSH1 0x80 00002f9f: ADD 00002fa0: SWAP1 00002fa1: JUMP 00002fa2: JUMPDEST 00002fa3: PUSH1 0x20 00002fa5: DUP1 00002fa6: DUP3 00002fa7: MSTORE 00002fa8: PUSH1 0x26 00002faa: SWAP1 00002fab: DUP3 00002fac: ADD 00002fad: MSTORE 00002fae: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00002fcf: PUSH1 0x40 00002fd1: DUP3 00002fd2: ADD 00002fd3: MSTORE 00002fd4: PUSH6 0x1c8818d85b1b 00002fdb: PUSH1 0xd2 00002fdd: SHL 00002fde: PUSH1 0x60 00002fe0: DUP3 00002fe1: ADD 00002fe2: MSTORE 00002fe3: PUSH1 0x80 00002fe5: ADD 00002fe6: SWAP1 00002fe7: JUMP 00002fe8: JUMPDEST 00002fe9: PUSH1 0x20 00002feb: DUP1 00002fec: DUP3 00002fed: MSTORE 00002fee: PUSH1 0x1f 00002ff0: SWAP1 00002ff1: DUP3 00002ff2: ADD 00002ff3: MSTORE 00002ff4: PUSH32 0x5669727475616c20756e697420636f6e76657273696f6e20696e76616c696400 00003015: PUSH1 0x40 00003017: DUP3 00003018: ADD 00003019: MSTORE 0000301a: PUSH1 0x60 0000301c: ADD 0000301d: SWAP1 0000301e: JUMP 0000301f: JUMPDEST 00003020: PUSH1 0x20 00003022: DUP1 00003023: DUP3 00003024: MSTORE 00003025: PUSH1 0x14 00003027: SWAP1 00003028: DUP3 00003029: ADD 0000302a: MSTORE 0000302b: PUSH20 0x135bd91d5b19481b5d5cdd081899481859191959 00003040: PUSH1 0x62 00003042: SHL 00003043: PUSH1 0x40 00003045: DUP3 00003046: ADD 00003047: MSTORE 00003048: PUSH1 0x60 0000304a: ADD 0000304b: SWAP1 0000304c: JUMP 0000304d: JUMPDEST 0000304e: PUSH1 0x20 00003050: DUP1 00003051: DUP3 00003052: MSTORE 00003053: PUSH1 0x25 00003055: SWAP1 00003056: DUP3 00003057: ADD 00003058: MSTORE 00003059: PUSH32 0x5768656e206c6f636b65642c206f6e6c7920746865206c6f636b65722063616e 0000307a: PUSH1 0x40 0000307c: DUP3 0000307d: ADD 0000307e: MSTORE 0000307f: PUSH5 0x0818d85b1b 00003085: PUSH1 0xda 00003087: SHL 00003088: PUSH1 0x60 0000308a: DUP3 0000308b: ADD 0000308c: MSTORE 0000308d: PUSH1 0x80 0000308f: ADD 00003090: SWAP1 00003091: JUMP 00003092: JUMPDEST 00003093: PUSH1 0x20 00003095: DUP1 00003096: DUP3 00003097: MSTORE 00003098: DUP2 00003099: DUP2 0000309a: ADD 0000309b: MSTORE 0000309c: PUSH32 0x53616665436173743a2076616c7565206d75737420626520706f736974697665 000030bd: PUSH1 0x40 000030bf: DUP3 000030c0: ADD 000030c1: MSTORE 000030c2: PUSH1 0x60 000030c4: ADD 000030c5: SWAP1 000030c6: JUMP 000030c7: JUMPDEST 000030c8: PUSH1 0x20 000030ca: DUP1 000030cb: DUP3 000030cc: MSTORE 000030cd: PUSH1 0x18 000030cf: SWAP1 000030d0: DUP3 000030d1: ADD 000030d2: MSTORE 000030d3: PUSH32 0x4f6e6c7920746865206d6f64756c652063616e2063616c6c0000000000000000 000030f4: PUSH1 0x40 000030f6: DUP3 000030f7: ADD 000030f8: MSTORE 000030f9: PUSH1 0x60 000030fb: ADD 000030fc: SWAP1 000030fd: JUMP 000030fe: JUMPDEST 000030ff: PUSH1 0x20 00003101: DUP1 00003102: DUP3 00003103: MSTORE 00003104: PUSH1 0x21 00003106: SWAP1 00003107: DUP3 00003108: ADD 00003109: MSTORE 0000310a: PUSH32 0x5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f 0000312b: PUSH1 0x40 0000312d: DUP3 0000312e: ADD 0000312f: MSTORE 00003130: PUSH1 0x77 00003132: PUSH1 0xf8 00003134: SHL 00003135: PUSH1 0x60 00003137: DUP3 00003138: ADD 00003139: MSTORE 0000313a: PUSH1 0x80 0000313c: ADD 0000313d: SWAP1 0000313e: JUMP 0000313f: JUMPDEST 00003140: PUSH1 0x20 00003142: DUP1 00003143: DUP3 00003144: MSTORE 00003145: PUSH1 0x15 00003147: SWAP1 00003148: DUP3 00003149: ADD 0000314a: MSTORE 0000314b: PUSH21 0x135d5cdd081b9bdd0818994818dbdb5c1bdb995b9d 00003161: PUSH1 0x5a 00003163: SHL 00003164: PUSH1 0x40 00003166: DUP3 00003167: ADD 00003168: MSTORE 00003169: PUSH1 0x60 0000316b: ADD 0000316c: SWAP1 0000316d: JUMP 0000316e: JUMPDEST 0000316f: PUSH1 0x20 00003171: DUP1 00003172: DUP3 00003173: MSTORE 00003174: PUSH1 0x1d 00003176: SWAP1 00003177: DUP3 00003178: ADD 00003179: MSTORE 0000317a: PUSH32 0x4d75737420626520656e61626c6564206f6e20436f6e74726f6c6c6572000000 0000319b: PUSH1 0x40 0000319d: DUP3 0000319e: ADD 0000319f: MSTORE 000031a0: PUSH1 0x60 000031a2: ADD 000031a3: SWAP1 000031a4: JUMP 000031a5: JUMPDEST 000031a6: PUSH1 0x20 000031a8: DUP1 000031a9: DUP3 000031aa: MSTORE 000031ab: PUSH1 0x27 000031ad: SWAP1 000031ae: DUP3 000031af: ADD 000031b0: MSTORE 000031b1: PUSH32 0x5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f 000031d2: PUSH1 0x40 000031d4: DUP3 000031d5: ADD 000031d6: MSTORE 000031d7: PUSH7 0x766572666c6f77 000031df: PUSH1 0xc8 000031e1: SHL 000031e2: PUSH1 0x60 000031e4: DUP3 000031e5: ADD 000031e6: MSTORE 000031e7: PUSH1 0x80 000031e9: ADD 000031ea: SWAP1 000031eb: JUMP 000031ec: JUMPDEST 000031ed: PUSH1 0x20 000031ef: DUP1 000031f0: DUP3 000031f1: MSTORE 000031f2: PUSH1 0x0e 000031f4: SWAP1 000031f5: DUP3 000031f6: ADD 000031f7: MSTORE 000031f8: PUSH14 0x135d5cdd081899481b1bd8dad959 00003207: PUSH1 0x92 00003209: SHL 0000320a: PUSH1 0x40 0000320c: DUP3 0000320d: ADD 0000320e: MSTORE 0000320f: PUSH1 0x60 00003211: ADD 00003212: SWAP1 00003213: JUMP 00003214: JUMPDEST 00003215: PUSH1 0x20 00003217: DUP1 00003218: DUP3 00003219: MSTORE 0000321a: PUSH1 0x0d 0000321c: SWAP1 0000321d: DUP3 0000321e: ADD 0000321f: MSTORE 00003220: PUSH13 0x125b9d985b1a59081a5b9c1d5d 0000322e: PUSH1 0x9a 00003230: SHL 00003231: PUSH1 0x40 00003233: DUP3 00003234: ADD 00003235: MSTORE 00003236: PUSH1 0x60 00003238: ADD 00003239: SWAP1 0000323a: JUMP 0000323b: JUMPDEST 0000323c: PUSH1 0x20 0000323e: DUP1 0000323f: DUP3 00003240: MSTORE 00003241: PUSH1 0x21 00003243: SWAP1 00003244: DUP3 00003245: ADD 00003246: MSTORE 00003247: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573 00003268: PUSH1 0x40 0000326a: DUP3 0000326b: ADD 0000326c: MSTORE 0000326d: PUSH1 0x73 0000326f: PUSH1 0xf8 00003271: SHL 00003272: PUSH1 0x60 00003274: DUP3 00003275: ADD 00003276: MSTORE 00003277: PUSH1 0x80 00003279: ADD 0000327a: SWAP1 0000327b: JUMP 0000327c: JUMPDEST 0000327d: PUSH1 0x20 0000327f: DUP1 00003280: DUP3 00003281: MSTORE 00003282: PUSH1 0x0e 00003284: SWAP1 00003285: DUP3 00003286: ADD 00003287: MSTORE 00003288: PUSH14 0x26bab9ba103132903637b1b5b2b9 00003297: PUSH1 0x91 00003299: SHL 0000329a: PUSH1 0x40 0000329c: DUP3 0000329d: ADD 0000329e: MSTORE 0000329f: PUSH1 0x60 000032a1: ADD 000032a2: SWAP1 000032a3: JUMP 000032a4: JUMPDEST 000032a5: PUSH1 0x20 000032a7: DUP1 000032a8: DUP3 000032a9: MSTORE 000032aa: PUSH1 0x25 000032ac: SWAP1 000032ad: DUP3 000032ae: ADD 000032af: MSTORE 000032b0: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164 000032d1: PUSH1 0x40 000032d3: DUP3 000032d4: ADD 000032d5: MSTORE 000032d6: PUSH5 0x6472657373 000032dc: PUSH1 0xd8 000032de: SHL 000032df: PUSH1 0x60 000032e1: DUP3 000032e2: ADD 000032e3: MSTORE 000032e4: PUSH1 0x80 000032e6: ADD 000032e7: SWAP1 000032e8: JUMP 000032e9: JUMPDEST 000032ea: PUSH1 0x20 000032ec: DUP1 000032ed: DUP3 000032ee: MSTORE 000032ef: PUSH1 0x18 000032f1: SWAP1 000032f2: DUP3 000032f3: ADD 000032f4: MSTORE 000032f5: PUSH32 0x4e6577206d756c7469706c69657220746f6f20736d616c6c0000000000000000 00003316: PUSH1 0x40 00003318: DUP3 00003319: ADD 0000331a: MSTORE 0000331b: PUSH1 0x60 0000331d: ADD 0000331e: SWAP1 0000331f: JUMP 00003320: JUMPDEST 00003321: PUSH1 0x20 00003323: DUP1 00003324: DUP3 00003325: MSTORE 00003326: PUSH1 0x24 00003328: SWAP1 00003329: DUP3 0000332a: ADD 0000332b: MSTORE 0000332c: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464 0000334d: PUSH1 0x40 0000334f: DUP3 00003350: ADD 00003351: MSTORE 00003352: PUSH4 0x72657373 00003357: PUSH1 0xe0 00003359: SHL 0000335a: PUSH1 0x60 0000335c: DUP3 0000335d: ADD 0000335e: MSTORE 0000335f: PUSH1 0x80 00003361: ADD 00003362: SWAP1 00003363: JUMP 00003364: JUMPDEST 00003365: PUSH1 0x20 00003367: DUP1 00003368: DUP3 00003369: MSTORE 0000336a: PUSH1 0x1d 0000336c: SWAP1 0000336d: DUP3 0000336e: ADD 0000336f: MSTORE 00003370: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003391: PUSH1 0x40 00003393: DUP3 00003394: ADD 00003395: MSTORE 00003396: PUSH1 0x60 00003398: ADD 00003399: SWAP1 0000339a: JUMP 0000339b: JUMPDEST 0000339c: PUSH1 0x20 0000339e: DUP1 0000339f: DUP3 000033a0: MSTORE 000033a1: PUSH1 0x28 000033a3: SWAP1 000033a4: DUP3 000033a5: ADD 000033a6: MSTORE 000033a7: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2061 000033c8: PUSH1 0x40 000033ca: DUP3 000033cb: ADD 000033cc: MSTORE 000033cd: PUSH8 0x371034b73a191a9b 000033d6: PUSH1 0xc1 000033d8: SHL 000033d9: PUSH1 0x60 000033db: DUP3 000033dc: ADD 000033dd: MSTORE 000033de: PUSH1 0x80 000033e0: ADD 000033e1: SWAP1 000033e2: JUMP 000033e3: JUMPDEST 000033e4: PUSH1 0x20 000033e6: DUP1 000033e7: DUP3 000033e8: MSTORE 000033e9: PUSH1 0x24 000033eb: SWAP1 000033ec: DUP3 000033ed: ADD 000033ee: MSTORE 000033ef: PUSH32 0x4d6f64756c65206d75737420626520656e61626c6564206f6e20636f6e74726f 00003410: PUSH1 0x40 00003412: DUP3 00003413: ADD 00003414: MSTORE 00003415: PUSH4 0x363632b9 0000341a: PUSH1 0xe1 0000341c: SHL 0000341d: PUSH1 0x60 0000341f: DUP3 00003420: ADD 00003421: MSTORE 00003422: PUSH1 0x80 00003424: ADD 00003425: SWAP1 00003426: JUMP 00003427: JUMPDEST 00003428: PUSH1 0x20 0000342a: DUP1 0000342b: DUP3 0000342c: MSTORE 0000342d: PUSH1 0x12 0000342f: SWAP1 00003430: DUP3 00003431: ADD 00003432: MSTORE 00003433: PUSH18 0x13db9b1e481dda195b881d5b9b1bd8dad959 00003446: PUSH1 0x72 00003448: SHL 00003449: PUSH1 0x40 0000344b: DUP3 0000344c: ADD 0000344d: MSTORE 0000344e: PUSH1 0x60 00003450: ADD 00003451: SWAP1 00003452: JUMP 00003453: JUMPDEST 00003454: PUSH1 0x20 00003456: DUP1 00003457: DUP3 00003458: MSTORE 00003459: PUSH1 0x15 0000345b: SWAP1 0000345c: DUP3 0000345d: ADD 0000345e: MSTORE 0000345f: PUSH21 0x13db9b1e481b585b9859d95c8818d85b8818d85b1b 00003475: PUSH1 0x5a 00003477: SHL 00003478: PUSH1 0x40 0000347a: DUP3 0000347b: ADD 0000347c: MSTORE 0000347d: PUSH1 0x60 0000347f: ADD 00003480: SWAP1 00003481: JUMP 00003482: JUMPDEST 00003483: PUSH1 0x20 00003485: DUP1 00003486: DUP3 00003487: MSTORE 00003488: DUP2 00003489: DUP2 0000348a: ADD 0000348b: MSTORE 0000348c: PUSH32 0x5369676e6564536166654d6174683a206469766973696f6e206279207a65726f 000034ad: PUSH1 0x40 000034af: DUP3 000034b0: ADD 000034b1: MSTORE 000034b2: PUSH1 0x60 000034b4: ADD 000034b5: SWAP1 000034b6: JUMP 000034b7: JUMPDEST 000034b8: PUSH1 0x20 000034ba: DUP1 000034bb: DUP3 000034bc: MSTORE 000034bd: PUSH1 0x16 000034bf: SWAP1 000034c0: DUP3 000034c1: ADD 000034c2: MSTORE 000034c3: PUSH22 0x4d6f64756c65206d7573742062652070656e64696e67 000034da: PUSH1 0x50 000034dc: SHL 000034dd: PUSH1 0x40 000034df: DUP3 000034e0: ADD 000034e1: MSTORE 000034e2: PUSH1 0x60 000034e4: ADD 000034e5: SWAP1 000034e6: JUMP 000034e7: JUMPDEST 000034e8: PUSH1 0x20 000034ea: DUP1 000034eb: DUP3 000034ec: MSTORE 000034ed: PUSH1 0x1f 000034ef: SWAP1 000034f0: DUP3 000034f1: ADD 000034f2: MSTORE 000034f3: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300 00003514: PUSH1 0x40 00003516: DUP3 00003517: ADD 00003518: MSTORE 00003519: PUSH1 0x60 0000351b: ADD 0000351c: SWAP1 0000351d: JUMP 0000351e: JUMPDEST 0000351f: PUSH1 0x20 00003521: DUP1 00003522: DUP3 00003523: MSTORE 00003524: PUSH1 0x10 00003526: SWAP1 00003527: DUP3 00003528: ADD 00003529: MSTORE 0000352a: PUSH16 0x043616e7420646976696465206279203 0000353b: PUSH1 0x84 0000353d: SHL 0000353e: PUSH1 0x40 00003540: DUP3 00003541: ADD 00003542: MSTORE 00003543: PUSH1 0x60 00003545: ADD 00003546: SWAP1 00003547: JUMP 00003548: JUMPDEST 00003549: PUSH1 0xff 0000354b: SWAP2 0000354c: SWAP1 0000354d: SWAP2 0000354e: AND 0000354f: DUP2 00003550: MSTORE 00003551: PUSH1 0x20 00003553: ADD 00003554: SWAP1 00003555: JUMP 00003556: JUMPDEST 00003557: PUSH1 0x00 00003559: JUMPDEST 0000355a: DUP4 0000355b: DUP2 0000355c: LT 0000355d: ISZERO 0000355e: PUSH2 0x3571 00003561: JUMPI 00003562: DUP2 00003563: DUP2 00003564: ADD 00003565: MLOAD 00003566: DUP4 00003567: DUP3 00003568: ADD 00003569: MSTORE 0000356a: PUSH1 0x20 0000356c: ADD 0000356d: PUSH2 0x3559 00003570: JUMP 00003571: JUMPDEST 00003572: DUP4 00003573: DUP2 00003574: GT 00003575: ISZERO 00003576: PUSH2 0x207a 00003579: JUMPI 0000357a: POP 0000357b: POP 0000357c: PUSH1 0x00 0000357e: SWAP2 0000357f: ADD 00003580: MSTORE 00003581: JUMP 00003582: JUMPDEST 00003583: PUSH1 0x01 00003585: PUSH1 0x01 00003587: PUSH1 0xa0 00003589: SHL 0000358a: SUB 0000358b: DUP2 0000358c: AND 0000358d: DUP2 0000358e: EQ 0000358f: PUSH2 0x298e 00003592: JUMPI 00003593: PUSH1 0x00 00003595: DUP1 00003596: REVERT 00003597: INVALID 00003598: GASLIMIT 00003599: MSTORE 0000359a: NUMBER 0000359b: ORIGIN 0000359c: ADDRESS 0000359d: GASPRICE 0000359e: KECCAK256 0000359f: PUSH3 0x75726e 000035a3: KECCAK256 000035a4: PUSH2 0x6d6f 000035a7: PUSH22 0x6e7420657863656564732062616c616e636545524332 000035be: ADDRESS 000035bf: GASPRICE 000035c0: KECCAK256 000035c1: PUSH21 0x72616e7366657220616d6f756e7420657863656564 000035d7: PUSH20 0x2062616c616e6365416464726573733a206c6f77 000035ec: UNKNOWN(0x2D) 000035ed: PUSH13 0x6576656c2063616c6c20776974 000035fb: PUSH9 0x2076616c7565206661 00003605: PUSH10 0x6c656445524332303a20 00003610: PUSH21 0x72616e7366657220616d6f756e7420657863656564 00003626: PUSH20 0x20616c6c6f77616e636545524332303a20646563 0000363b: PUSH19 0x656173656420616c6c6f77616e63652062656c 0000364f: PUSH16 0x77207a65726fa2646970667358221220 00003660: UNKNOWN(0xCF) 00003661: BLOBBASEFEE 00003662: UNKNOWN(0xF8) 00003663: SWAP16 00003664: PUSH29 0xfa78e2d4384cff55d4548a6062d655f5be8606d039069af7c903b46473 00003682: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xea0ee559",
"selector": "0xea0ee559",
"calldata_variants": [
"0xea0ee559",
"0xea0ee5590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeaf993e1",
"selector": "0xeaf993e1",
"calldata_variants": [
"0xeaf993e1",
"0xeaf993e10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf83d08ba",
"selector": "0xf83d08ba",
"calldata_variants": [
"0xf83d08ba",
"0xf83d08ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7f1b27c",
"selector": "0xd7f1b27c",
"calldata_variants": [
"0xd7f1b27c",
"0xd7f1b27c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf5e9b29",
"selector": "0xdf5e9b29",
"calldata_variants": [
"0xdf5e9b29",
"0xdf5e9b290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2494df3",
"selector": "0xb2494df3",
"calldata_variants": [
"0xb2494df3",
"0xb2494df30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 13723,
"type": "tx_origin_used"
}
]
}
|
| medium | reentrancy | slither | Reentrancy in SetToken.removeModule(address) (contracts/Contract.sol#2188-2199): | 75 | no | — |
viewevidence_json{
"impact": "Medium",
"detector": "reentrancy-no-eth",
"elements": [
{
"name": "removeModule",
"type": "function",
"source_mapping": {
"lines": [
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199
],
"start": 80368,
"length": 400,
"ending_column": 38,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 48,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SetToken",
"type": "contract",
"source_mapping": {
"lines": [
1862,
1863,
1864,
1865,
1866,
1867,
1868,
1869,
1870,
1871,
1872,
1873,
1874,
1875,
1876,
1877,
1878,
1879,
1880,
1881,
1882,
1883,
1884,
1885,
1886,
1887,
1888,
1889,
1890,
1891,
1892,
1893,
1894,
1895,
1896,
1897,
1898,
1899,
1900,
1901,
1902,
1903,
1904,
1905,
1906,
1907,
1908,
1909,
1910,
1911,
1912,
1913,
1914,
1915,
1916,
1917,
1918,
1919,
1920,
1921,
1922,
1923,
1924,
1925,
1926,
1927,
1928,
1929,
1930,
1931,
1932,
1933,
1934,
1935,
1936,
1937,
1938,
1939,
1940,
1941,
1942,
1943,
1944,
1945,
1946,
1947,
1948,
1949,
1950,
1951,
1952,
1953,
1954,
1955,
1956,
1957,
1958,
1959,
1960,
1961,
1962,
1963,
1964,
1965,
1966,
1967,
1968,
1969,
1970,
1971,
1972,
1973,
1974,
1975,
1976,
1977,
1978,
1979,
1980,
1981,
1982,
1983,
1984,
1985,
1986,
1987,
1988,
1989,
1990,
1991,
1992,
1993,
1994,
1995,
1996,
1997,
1998,
1999,
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024,
2025,
2026,
2027,
2028,
2029,
2030,
2031,
2032,
2033,
2034,
2035,
2036,
2037,
2038,
2039,
2040,
2041,
2042,
2043,
2044,
2045,
2046,
2047,
2048,
2049,
2050,
2051,
2052,
2053,
2054,
2055,
2056,
2057,
2058,
2059,
2060,
2061,
2062,
2063,
2064,
2065,
2066,
2067,
2068,
2069,
2070,
2071,
2072,
2073,
2074,
2075,
2076,
2077,
2078,
2079,
2080,
2081,
2082,
2083,
2084,
2085,
2086,
2087,
2088,
2089,
2090,
2091,
2092,
2093,
2094,
2095,
2096,
2097,
2098,
2099,
2100,
2101,
2102,
2103,
2104,
2105,
2106,
2107,
2108,
2109,
2110,
2111,
2112,
2113,
2114,
2115,
2116,
2117,
2118,
2119,
2120,
2121,
2122,
2123,
2124,
2125,
2126,
2127,
2128,
2129,
2130,
2131,
2132,
2133,
2134,
2135,
2136,
2137,
2138,
2139,
2140,
2141,
2142,
2143,
2144,
2145,
2146,
2147,
2148,
2149,
2150,
2151,
2152,
2153,
2154,
2155,
2156,
2157,
2158,
2159,
2160,
2161,
2162,
2163,
2164,
2165,
2166,
2167,
2168,
2169,
2170,
2171,
2172,
2173,
2174,
2175,
2176,
2177,
2178,
2179,
2180,
2181,
2182,
2183,
2184,
2185,
2186,
2187,
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199,
2200,
2201,
2202,
2203,
2204,
2205,
2206,
2207,
2208,
2209,
2210,
2211,
2212,
2213,
2214,
2215,
2216,
2217,
2218,
2219,
2220,
2221,
2222,
2223,
2224,
2225,
2226,
2227,
2228,
2229,
2230,
2231,
2232,
2233,
2234,
2235,
2236,
2237,
2238,
2239,
2240,
2241,
2242,
2243,
2244,
2245,
2246,
2247,
2248,
2249,
2250,
2251,
2252,
2253,
2254,
2255,
2256,
2257,
2258,
2259,
2260,
2261,
2262,
2263,
2264,
2265,
2266,
2267,
2268,
2269,
2270,
2271,
2272,
2273,
2274,
2275,
2276,
2277,
2278,
2279,
2280,
2281,
2282,
2283,
2284,
2285,
2286,
2287,
2288,
2289,
2290,
2291,
2292,
2293,
2294,
2295,
2296,
2297,
2298,
2299,
2300,
2301,
2302,
2303,
2304,
2305,
2306,
2307,
2308,
2309,
2310,
2311,
2312,
2313,
2314,
2315,
2316,
2317,
2318,
2319,
2320,
2321,
2322,
2323,
2324,
2325,
2326,
2327,
2328,
2329,
2330,
2331,
2332,
2333,
2334,
2335,
2336,
2337,
2338,
2339,
2340,
2341,
2342,
2343,
2344,
2345,
2346,
2347,
2348,
2349,
2350,
2351,
2352,
2353,
2354,
2355,
2356,
2357,
2358,
2359,
2360,
2361,
2362,
2363,
2364,
2365,
2366,
2367,
2368,
2369,
2370,
2371,
2372,
2373,
2374,
2375,
2376,
2377,
2378,
2379,
2380,
2381,
2382,
2383,
2384,
2385,
2386,
2387,
2388,
2389,
2390,
2391,
2392,
2393,
2394,
2395,
2396,
2397,
2398,
2399,
2400,
2401,
2402,
2403,
2404,
2405,
2406,
2407,
2408,
2409,
2410,
2411,
2412,
2413,
2414,
2415,
2416,
2417,
2418,
2419,
2420,
2421,
2422,
2423,
2424,
2425,
2426,
2427,
2428,
2429,
2430,
2431,
2432,
2433,
2434,
2435,
2436,
2437,
2438,
2439,
2440,
2441,
2442,
2443,
2444,
2445,
2446,
2447,
2448,
2449,
2450,
2451,
2452,
2453,
2454,
2455,
2456,
2457,
2458,
2459,
2460,
2461,
2462,
2463,
2464,
2465,
2466,
2467,
2468,
2469,
2470,
2471,
2472,
2473,
2474,
2475,
2476,
2477,
2478,
2479,
2480,
2481,
2482
],
"start": 67668,
"length": 24621,
"ending_column": 46,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 42,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "removeModule(address)"
}
},
{
"name": "IModule(_module).removeModule()",
"type": "node",
"source_mapping": {
"lines": [
2191,
2192,
2193
],
"start": 80590,
"length": 31,
"ending_column": 13,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 33,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"underlying_type": "external_calls"
},
"type_specific_fields": {
"parent": {
"name": "removeModule",
"type": "function",
"source_mapping": {
"lines": [
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199
],
"start": 80368,
"length": 400,
"ending_column": 38,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 48,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SetToken",
"type": "contract",
"source_mapping": {
"lines": [
1862,
1863,
1864,
1865,
1866,
1867,
1868,
1869,
1870,
1871,
1872,
1873,
1874,
1875,
1876,
1877,
1878,
1879,
1880,
1881,
1882,
1883,
1884,
1885,
1886,
1887,
1888,
1889,
1890,
1891,
1892,
1893,
1894,
1895,
1896,
1897,
1898,
1899,
1900,
1901,
1902,
1903,
1904,
1905,
1906,
1907,
1908,
1909,
1910,
1911,
1912,
1913,
1914,
1915,
1916,
1917,
1918,
1919,
1920,
1921,
1922,
1923,
1924,
1925,
1926,
1927,
1928,
1929,
1930,
1931,
1932,
1933,
1934,
1935,
1936,
1937,
1938,
1939,
1940,
1941,
1942,
1943,
1944,
1945,
1946,
1947,
1948,
1949,
1950,
1951,
1952,
1953,
1954,
1955,
1956,
1957,
1958,
1959,
1960,
1961,
1962,
1963,
1964,
1965,
1966,
1967,
1968,
1969,
1970,
1971,
1972,
1973,
1974,
1975,
1976,
1977,
1978,
1979,
1980,
1981,
1982,
1983,
1984,
1985,
1986,
1987,
1988,
1989,
1990,
1991,
1992,
1993,
1994,
1995,
1996,
1997,
1998,
1999,
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024,
2025,
2026,
2027,
2028,
2029,
2030,
2031,
2032,
2033,
2034,
2035,
2036,
2037,
2038,
2039,
2040,
2041,
2042,
2043,
2044,
2045,
2046,
2047,
2048,
2049,
2050,
2051,
2052,
2053,
2054,
2055,
2056,
2057,
2058,
2059,
2060,
2061,
2062,
2063,
2064,
2065,
2066,
2067,
2068,
2069,
2070,
2071,
2072,
2073,
2074,
2075,
2076,
2077,
2078,
2079,
2080,
2081,
2082,
2083,
2084,
2085,
2086,
2087,
2088,
2089,
2090,
2091,
2092,
2093,
2094,
2095,
2096,
2097,
2098,
2099,
2100,
2101,
2102,
2103,
2104,
2105,
2106,
2107,
2108,
2109,
2110,
2111,
2112,
2113,
2114,
2115,
2116,
2117,
2118,
2119,
2120,
2121,
2122,
2123,
2124,
2125,
2126,
2127,
2128,
2129,
2130,
2131,
2132,
2133,
2134,
2135,
2136,
2137,
2138,
2139,
2140,
2141,
2142,
2143,
2144,
2145,
2146,
2147,
2148,
2149,
2150,
2151,
2152,
2153,
2154,
2155,
2156,
2157,
2158,
2159,
2160,
2161,
2162,
2163,
2164,
2165,
2166,
2167,
2168,
2169,
2170,
2171,
2172,
2173,
2174,
2175,
2176,
2177,
2178,
2179,
2180,
2181,
2182,
2183,
2184,
2185,
2186,
2187,
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199,
2200,
2201,
2202,
2203,
2204,
2205,
2206,
2207,
2208,
2209,
2210,
2211,
2212,
2213,
2214,
2215,
2216,
2217,
2218,
2219,
2220,
2221,
2222,
2223,
2224,
2225,
2226,
2227,
2228,
2229,
2230,
2231,
2232,
2233,
2234,
2235,
2236,
2237,
2238,
2239,
2240,
2241,
2242,
2243,
2244,
2245,
2246,
2247,
2248,
2249,
2250,
2251,
2252,
2253,
2254,
2255,
2256,
2257,
2258,
2259,
2260,
2261,
2262,
2263,
2264,
2265,
2266,
2267,
2268,
2269,
2270,
2271,
2272,
2273,
2274,
2275,
2276,
2277,
2278,
2279,
2280,
2281,
2282,
2283,
2284,
2285,
2286,
2287,
2288,
2289,
2290,
2291,
2292,
2293,
2294,
2295,
2296,
2297,
2298,
2299,
2300,
2301,
2302,
2303,
2304,
2305,
2306,
2307,
2308,
2309,
2310,
2311,
2312,
2313,
2314,
2315,
2316,
2317,
2318,
2319,
2320,
2321,
2322,
2323,
2324,
2325,
2326,
2327,
2328,
2329,
2330,
2331,
2332,
2333,
2334,
2335,
2336,
2337,
2338,
2339,
2340,
2341,
2342,
2343,
2344,
2345,
2346,
2347,
2348,
2349,
2350,
2351,
2352,
2353,
2354,
2355,
2356,
2357,
2358,
2359,
2360,
2361,
2362,
2363,
2364,
2365,
2366,
2367,
2368,
2369,
2370,
2371,
2372,
2373,
2374,
2375,
2376,
2377,
2378,
2379,
2380,
2381,
2382,
2383,
2384,
2385,
2386,
2387,
2388,
2389,
2390,
2391,
2392,
2393,
2394,
2395,
2396,
2397,
2398,
2399,
2400,
2401,
2402,
2403,
2404,
2405,
2406,
2407,
2408,
2409,
2410,
2411,
2412,
2413,
2414,
2415,
2416,
2417,
2418,
2419,
2420,
2421,
2422,
2423,
2424,
2425,
2426,
2427,
2428,
2429,
2430,
2431,
2432,
2433,
2434,
2435,
2436,
2437,
2438,
2439,
2440,
2441,
2442,
2443,
2444,
2445,
2446,
2447,
2448,
2449,
2450,
2451,
2452,
2453,
2454,
2455,
2456,
2457,
2458,
2459,
2460,
2461,
2462,
2463,
2464,
2465,
2466,
2467,
2468,
2469,
2470,
2471,
2472,
2473,
2474,
2475,
2476,
2477,
2478,
2479,
2480,
2481,
2482
],
"start": 67668,
"length": 24621,
"ending_column": 46,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 42,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "removeModule(address)"
}
}
}
},
{
"name": "moduleStates[_module] = ISetToken.ModuleState.NONE",
"type": "node",
"source_mapping": {
"lines": [
2193,
2194,
2195
],
"start": 80632,
"length": 50,
"ending_column": 26,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 24,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"additional_fields": {
"variable_name": "moduleStates",
"underlying_type": "variables_written"
},
"type_specific_fields": {
"parent": {
"name": "removeModule",
"type": "function",
"source_mapping": {
"lines": [
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199
],
"start": 80368,
"length": 400,
"ending_column": 38,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 48,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
},
"type_specific_fields": {
"parent": {
"name": "SetToken",
"type": "contract",
"source_mapping": {
"lines": [
1862,
1863,
1864,
1865,
1866,
1867,
1868,
1869,
1870,
1871,
1872,
1873,
1874,
1875,
1876,
1877,
1878,
1879,
1880,
1881,
1882,
1883,
1884,
1885,
1886,
1887,
1888,
1889,
1890,
1891,
1892,
1893,
1894,
1895,
1896,
1897,
1898,
1899,
1900,
1901,
1902,
1903,
1904,
1905,
1906,
1907,
1908,
1909,
1910,
1911,
1912,
1913,
1914,
1915,
1916,
1917,
1918,
1919,
1920,
1921,
1922,
1923,
1924,
1925,
1926,
1927,
1928,
1929,
1930,
1931,
1932,
1933,
1934,
1935,
1936,
1937,
1938,
1939,
1940,
1941,
1942,
1943,
1944,
1945,
1946,
1947,
1948,
1949,
1950,
1951,
1952,
1953,
1954,
1955,
1956,
1957,
1958,
1959,
1960,
1961,
1962,
1963,
1964,
1965,
1966,
1967,
1968,
1969,
1970,
1971,
1972,
1973,
1974,
1975,
1976,
1977,
1978,
1979,
1980,
1981,
1982,
1983,
1984,
1985,
1986,
1987,
1988,
1989,
1990,
1991,
1992,
1993,
1994,
1995,
1996,
1997,
1998,
1999,
2000,
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018,
2019,
2020,
2021,
2022,
2023,
2024,
2025,
2026,
2027,
2028,
2029,
2030,
2031,
2032,
2033,
2034,
2035,
2036,
2037,
2038,
2039,
2040,
2041,
2042,
2043,
2044,
2045,
2046,
2047,
2048,
2049,
2050,
2051,
2052,
2053,
2054,
2055,
2056,
2057,
2058,
2059,
2060,
2061,
2062,
2063,
2064,
2065,
2066,
2067,
2068,
2069,
2070,
2071,
2072,
2073,
2074,
2075,
2076,
2077,
2078,
2079,
2080,
2081,
2082,
2083,
2084,
2085,
2086,
2087,
2088,
2089,
2090,
2091,
2092,
2093,
2094,
2095,
2096,
2097,
2098,
2099,
2100,
2101,
2102,
2103,
2104,
2105,
2106,
2107,
2108,
2109,
2110,
2111,
2112,
2113,
2114,
2115,
2116,
2117,
2118,
2119,
2120,
2121,
2122,
2123,
2124,
2125,
2126,
2127,
2128,
2129,
2130,
2131,
2132,
2133,
2134,
2135,
2136,
2137,
2138,
2139,
2140,
2141,
2142,
2143,
2144,
2145,
2146,
2147,
2148,
2149,
2150,
2151,
2152,
2153,
2154,
2155,
2156,
2157,
2158,
2159,
2160,
2161,
2162,
2163,
2164,
2165,
2166,
2167,
2168,
2169,
2170,
2171,
2172,
2173,
2174,
2175,
2176,
2177,
2178,
2179,
2180,
2181,
2182,
2183,
2184,
2185,
2186,
2187,
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199,
2200,
2201,
2202,
2203,
2204,
2205,
2206,
2207,
2208,
2209,
2210,
2211,
2212,
2213,
2214,
2215,
2216,
2217,
2218,
2219,
2220,
2221,
2222,
2223,
2224,
2225,
2226,
2227,
2228,
2229,
2230,
2231,
2232,
2233,
2234,
2235,
2236,
2237,
2238,
2239,
2240,
2241,
2242,
2243,
2244,
2245,
2246,
2247,
2248,
2249,
2250,
2251,
2252,
2253,
2254,
2255,
2256,
2257,
2258,
2259,
2260,
2261,
2262,
2263,
2264,
2265,
2266,
2267,
2268,
2269,
2270,
2271,
2272,
2273,
2274,
2275,
2276,
2277,
2278,
2279,
2280,
2281,
2282,
2283,
2284,
2285,
2286,
2287,
2288,
2289,
2290,
2291,
2292,
2293,
2294,
2295,
2296,
2297,
2298,
2299,
2300,
2301,
2302,
2303,
2304,
2305,
2306,
2307,
2308,
2309,
2310,
2311,
2312,
2313,
2314,
2315,
2316,
2317,
2318,
2319,
2320,
2321,
2322,
2323,
2324,
2325,
2326,
2327,
2328,
2329,
2330,
2331,
2332,
2333,
2334,
2335,
2336,
2337,
2338,
2339,
2340,
2341,
2342,
2343,
2344,
2345,
2346,
2347,
2348,
2349,
2350,
2351,
2352,
2353,
2354,
2355,
2356,
2357,
2358,
2359,
2360,
2361,
2362,
2363,
2364,
2365,
2366,
2367,
2368,
2369,
2370,
2371,
2372,
2373,
2374,
2375,
2376,
2377,
2378,
2379,
2380,
2381,
2382,
2383,
2384,
2385,
2386,
2387,
2388,
2389,
2390,
2391,
2392,
2393,
2394,
2395,
2396,
2397,
2398,
2399,
2400,
2401,
2402,
2403,
2404,
2405,
2406,
2407,
2408,
2409,
2410,
2411,
2412,
2413,
2414,
2415,
2416,
2417,
2418,
2419,
2420,
2421,
2422,
2423,
2424,
2425,
2426,
2427,
2428,
2429,
2430,
2431,
2432,
2433,
2434,
2435,
2436,
2437,
2438,
2439,
2440,
2441,
2442,
2443,
2444,
2445,
2446,
2447,
2448,
2449,
2450,
2451,
2452,
2453,
2454,
2455,
2456,
2457,
2458,
2459,
2460,
2461,
2462,
2463,
2464,
2465,
2466,
2467,
2468,
2469,
2470,
2471,
2472,
2473,
2474,
2475,
2476,
2477,
2478,
2479,
2480,
2481,
2482
],
"start": 67668,
"length": 24621,
"ending_column": 46,
"is_dependency": false,
"filename_short": "contracts/Contract.sol",
"starting_column": 42,
"filename_absolute": "/tmp/slither-aysfg4pa/contracts/Contract.sol",
"filename_relative": "contracts/Contract.sol"
}
},
"signature": "removeModule(address)"
}
}
}
}
],
"locations": [
{
"file": "contracts/Contract.sol",
"name": "removeModule",
"type": "function",
"lines": [
2188,
2189,
2190,
2191,
2192,
2193,
2194,
2195,
2196,
2197,
2198,
2199
]
},
{
"file": "contracts/Contract.sol",
"name": "IModule(_module).removeModule()",
"type": "node",
"lines": [
2191,
2192,
2193
]
},
{
"file": "contracts/Contract.sol",
"name": "moduleStates[_module] = ISetToken.ModuleState.NONE",
"type": "node",
"lines": [
2193,
2194,
2195
]
}
],
"description": "Reentrancy in SetToken.removeModule(address) (contracts/Contract.sol#2188-2199):\n\tExternal calls:\n\t- IModule(_module).removeModule() (contracts/Contract.sol#2191-2193)\n\tState variables written after the call(s):\n\t- moduleStates[_module] = ISetToken.ModuleState.NONE (contracts/Contract.sol#2193-2195)\n\tSetToken.moduleStates (contracts/Contract.sol#1944-1945) can be used in cross function reentrancies:\n\t- SetToken._validateOnlyModule() (contracts/Contract.sol#2469-2476)\n\t- SetToken.addModule(address) (contracts/Contract.sol#2172-2183)\n\t- SetToken.constructor(address[],int256[],address[],IController,address,string,string) (contracts/Contract.sol#1996-2012)\n\t- SetToken.initializeModule() (contracts/Contract.sol#2217-2228)\n\t- SetToken.isInitializedModule(address) (contracts/Contract.sol#2277-2281)\n\t- SetToken.isPendingModule(address) (contracts/Contract.sol#2281-2286)\n\t- SetToken.moduleStates (contracts/Contract.sol#1944-1945)\n\t- SetToken.removeModule(address) (contracts/Contract.sol#2188-2199)\n\t- SetToken.removePendingModule(address) (contracts/Contract.sol#2201-2209)"
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x8d3af579209bc32ea797a0e73cc85b574f573e6d596c7bb3ef181c656bdc42c7
call_targets:
0x1db6e3ea822c093a93240880da037c0f421d05d1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8d3af579209bc32ea797a0e73cc85b574f573e6d596c7bb3ef181c656bdc42c7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1db6e3ea822c093a93240880da037c0f421d05d1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xea0ee559",
"selector": "0xea0ee559",
"calldata_variants": [
"0xea0ee559",
"0xea0ee5590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeaf993e1",
"selector": "0xeaf993e1",
"calldata_variants": [
"0xeaf993e1",
"0xeaf993e10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf83d08ba",
"selector": "0xf83d08ba",
"calldata_variants": [
"0xf83d08ba",
"0xf83d08ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7f1b27c",
"selector": "0xd7f1b27c",
"calldata_variants": [
"0xd7f1b27c",
"0xd7f1b27c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf5e9b29",
"selector": "0xdf5e9b29",
"calldata_variants": [
"0xdf5e9b29",
"0xdf5e9b290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2494df3",
"selector": "0xb2494df3",
"calldata_variants": [
"0xb2494df3",
"0xb2494df30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5132,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9477,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 13723,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x8d3af579209bc32ea797a0e73cc85b574f573e6d596c7bb3ef181c656bdc42c7
call_targets:
0x1db6e3ea822c093a93240880da037c0f421d05d1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8d3af579209bc32ea797a0e73cc85b574f573e6d596c7bb3ef181c656bdc42c7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1db6e3ea822c093a93240880da037c0f421d05d1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xea0ee559",
"selector": "0xea0ee559",
"calldata_variants": [
"0xea0ee559",
"0xea0ee5590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeaf993e1",
"selector": "0xeaf993e1",
"calldata_variants": [
"0xeaf993e1",
"0xeaf993e10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf83d08ba",
"selector": "0xf83d08ba",
"calldata_variants": [
"0xf83d08ba",
"0xf83d08ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7f1b27c",
"selector": "0xd7f1b27c",
"calldata_variants": [
"0xd7f1b27c",
"0xd7f1b27c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf5e9b29",
"selector": "0xdf5e9b29",
"calldata_variants": [
"0xdf5e9b29",
"0xdf5e9b290000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb2494df3",
"selector": "0xb2494df3",
"calldata_variants": [
"0xb2494df3",
"0xb2494df30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5132,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9477,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 13723,
"type": "tx_origin_used"
}
]
}
|