019bab3d-2204-73f2-9818-d5b32a5fa050
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 |
|---|---|---|---|---|
| 39058 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39059 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39060 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39061 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39062 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39063 | detector.run | complete | 1 / 3 | 3 months ago |
| 39064 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39245 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39246 | tool.slither | complete | 1 / 2 | 3 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-yo68p369)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-yo68p369)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) has bitwise-xor operator ^ instead of the exponentiation operator **:
- inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#116)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse = (3 * denominator) ^ 2 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#116)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#120)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#121)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#122)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#123)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#124)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- denominator = denominator / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#101)
- inverse *= 2 - denominator * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#125)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) performs a multiplication on the result of a division:
- prod0 = prod0 / twos (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#104)
- result = prod0 * inverse (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#131)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply
ERC1967UpgradeUpgradeable._upgradeToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#65-70) ignores return value by AddressUpgradeable.functionDelegateCall(newImplementation,data) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#68)
ERC1967UpgradeUpgradeable._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#156-162) ignores return value by AddressUpgradeable.functionDelegateCall(IBeaconUpgradeable(newBeacon).implementation(),data) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#160)
CrossmintTreasury._execute(address,uint256,bytes) (contracts/CrossmintTreasury.sol#216-222) ignores return value by to.functionCallWithValue(data,value) (contracts/CrossmintTreasury.sol#221)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return
Address._revert(bytes,string) (@openzeppelin/contracts/utils/Address.sol#231-243) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/Address.sol#236-239)
AddressUpgradeable._revert(bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#231-243) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#236-239)
StorageSlotUpgradeable.getAddressSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#62-67) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#64-66)
StorageSlotUpgradeable.getBooleanSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#72-77) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#74-76)
StorageSlotUpgradeable.getBytes32Slot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#82-87) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#84-86)
StorageSlotUpgradeable.getUint256Slot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#92-97) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#94-96)
StorageSlotUpgradeable.getStringSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#102-107) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#104-106)
StorageSlotUpgradeable.getStringSlot(string) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#112-117) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#114-116)
StorageSlotUpgradeable.getBytesSlot(bytes32) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#122-127) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#124-126)
StorageSlotUpgradeable.getBytesSlot(bytes) (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#132-137) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#134-136)
StringsUpgradeable.toString(uint256) (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#19-39) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#25-27)
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#31-33)
MathUpgradeable.mulDiv(uint256,uint256,uint256) (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#55-134) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#62-66)
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#85-92)
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#99-108)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
4 different versions of Solidity are used:
- Version constraint ^0.8.0 is used by:
-^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
-^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
-^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#5)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol#4)
- Version constraint ^0.8.1 is used by:
-^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
-^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
- Version constraint ^0.8.2 is used by:
-^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)
-^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
- Version constraint 0.8.19 is used by:
-0.8.19 (contracts/CrossmintTreasury.sol#2)
-0.8.19 (contracts/interfaces/ICrossmintUpgradeable.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used
AccessControlUpgradeable.__AccessControl_init_unchained() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#55-56) is never used and should be removed
AccessControlUpgradeable._setupRole(bytes32,address) (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#212-214) is never used and should be removed
ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._msgData() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
ERC165Upgradeable.__ERC165_init() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#24-25) is never used and should be removed
ERC165Upgradeable.__ERC165_init_unchained() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#27-28) is never used and should be removed
ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#20-21) is never used and should be removed
ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#23-24) is never used and should be removed
ERC1967UpgradeUpgradeable._changeAdmin(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#120-123) is never used and should be removed
ERC1967UpgradeUpgradeable._getAdmin() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#103-105) is never used and should be removed
ERC1967UpgradeUpgradeable._getBeacon() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#134-136) is never used and should be removed
ERC1967UpgradeUpgradeable._setAdmin(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#110-113) is never used and should be removed
ERC1967UpgradeUpgradeable._setBeacon(address) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#141-148) is never used and should be removed
ERC1967UpgradeUpgradeable._upgradeBeaconToAndCall(address,bytes,bool) (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#156-162) is never used and should be removed
Initializable._getInitializedVersion() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#156-158) is never used and should be removed
Initializable._isInitializing() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#163-165) is never used and should be removed
UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#26-27) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol#5)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol#4)
Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.1 (@openzeppelin/contracts/utils/Address.sol#4)
- ^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#4)
- ^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
Version constraint 0.8.19 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- VerbatimInvalidDeduplication
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess.
It is used by:
- 0.8.19 (contracts/CrossmintTreasury.sol#2)
- 0.8.19 (contracts/interfaces/ICrossmintUpgradeable.sol#2)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
Low level call in SafeERC20._callOptionalReturnBool(IERC20,bytes) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#134-142):
- (success,returndata) = address(token).call(data) (@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol#139)
Low level call in Address.sendValue(address,uint256) (@openzeppelin/contracts/utils/Address.sol#64-69):
- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts/utils/Address.sol#67)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts/utils/Address.sol#128-137):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts/utils/Address.sol#135)
Low level call in Address.functionStaticCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#155-162):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts/utils/Address.sol#160)
Low level call in Address.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts/utils/Address.sol#180-187):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts/utils/Address.sol#185)
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#64-69):
- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#67)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-137):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#135)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#155-162):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#160)
Low level call in AddressUpgradeable.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#180-187):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#185)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
Function IERC20Permit.DOMAIN_SEPARATOR() (@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol#59) is not in mixedCase
Function AccessControlUpgradeable.__AccessControl_init() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#52-53) is not in mixedCase
Function AccessControlUpgradeable.__AccessControl_init_unchained() (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#55-56) is not in mixedCase
Variable AccessControlUpgradeable.__gap (@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol#260) is not in mixedCase
Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#20-21) is not in mixedCase
Function ERC1967UpgradeUpgradeable.__ERC1967Upgrade_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#23-24) is not in mixedCase
Variable ERC1967UpgradeUpgradeable.__gap (@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol#169) is not in mixedCase
Function UUPSUpgradeable.__UUPSUpgradeable_init() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#23-24) is not in mixedCase
Function UUPSUpgradeable.__UUPSUpgradeable_init_unchained() (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#26-27) is not in mixedCase
Variable UUPSUpgradeable.__self (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#29) is not in mixedCase
Variable UUPSUpgradeable.__gap (@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol#111) is not in mixedCase
Function ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#36) is not in mixedCase
Function ERC165Upgradeable.__ERC165_init() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#24-25) is not in mixedCase
Function ERC165Upgradeable.__ERC165_init_unchained() (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#27-28) is not in mixedCase
Variable ERC165Upgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol#41) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
. analyzed (22 contracts with 100 detectors), 73 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.8.19",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.8.19",
"install_stderr": null,
"install_stdout": "Version '0.8.19' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-yo68p369 --include-path /tmp/slither-yo68p369/lib --include-path /tmp/slither-yo68p369/lib/openzeppelin-contracts --allow-paths /tmp/slither-yo68p369,/tmp/slither-yo68p369/lib,/tmp/slither-yo68p369/lib/openzeppelin-contracts,/tmp/slither-yo68p369/src",
"remappings": [
"@openzeppelin/=@openzeppelin/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"hardhat/=hardhat/",
"operator-filter-registry/=operator-filter-registry/",
"solmate/=solmate/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
],
"source_files": [
"@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol",
"@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol",
"@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol",
"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
"@openzeppelin/contracts/token/ERC20/IERC20.sol",
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
"@openzeppelin/contracts/utils/Address.sol",
"contracts/CrossmintTreasury.sol",
"contracts/interfaces/ICrossmintUpgradeable.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 73,
"workspace_hash": "b04d0914adfe5a03220ab70b1c8665b3119dc7c50c4c2cbb9e9009f385500d57",
"duration_seconds": 1.329648494720459,
"solc_version_requested": "0.8.19"
}
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.","findings":[]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-v_8dkp1c
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac32-67ae-7770-be95-90602b9198b5
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Preparing to audit by reading AUDIT_BUNDLE.txt**
exec
/bin/bash -lc ls in /tmp/codex-v_8dkp1c succeeded in 5ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-v_8dkp1c succeeded in 6ms:
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/CrossmintTreasury.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
/*
,----.. ____ ___
/ / \ ,' , `. ,--, ,--.'|_
| : : __ ,-. ,---. ,-+-,.' _ ,--.'| ,---, | | :,'
. | ;. ,' ,'/ /| ' ,'\ .--.--. .--.--. ,-+-. ; , || |, ,-+-. / | : : ' :
. ; /--`' | |' |/ / |/ / ' / / ' ,--.'|' | |`--'_ ,--.'|' .;__,' /
; | ; | | ,. ; ,. | : /`./| : /`./ | | ,', | |,' ,'| | | ,"' | | |
| : | ' : / ' | |: | : ;_ | : ;_ | | / | |--'' | | | | / | :__,'| :
. | '___| | ' ' | .; :\ \ `.\ \ `.| : | | , | | : | | | | | ' : |__
' ; : .'; : | | : | `----. \`----. | : | |/ ' : |__| | | |/ | | '.'|
thinking
**Evaluating contract security and reentrancy risks**
I’m thoroughly auditing this upgradeable treasury contract to pinpoint vulnerabilities, focusing on reentrancy risks from external calls, allowance handling quirks, role-based access control configurations, and token allowlist correctness. I’m unpacking subtle attack scenarios involving external calls, token behaviors, and initialization gaps to determine if any real security flaws or misconfigurations exist.
thinking
**Checking for upgrade and initialization risks**
I’m weighing possible issues around upgrade patterns, initialization access, and external call behaviors to confirm if any exploitable gaps stand out—especially focusing on allowance edge cases, role assignments, and token allowlist handling with respect to upgradeable proxy deployments.
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.","findings":[]}
tokens used
17,422
{
"codex": {
"ran_at": "2026-01-11T08:37:27.884750+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 22,
"import_count": 27,
"first_party_contracts_count": 2
},
"summary": "No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.",
"raw_final": {
"summary": "No exploitable vulnerabilities found in the first-party contracts; core logic is role-gated and upgrade authorization is restricted to ADMIN_ROLE. Security relies on trusted role holders and proper initialization during deployment.",
"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 0x0143 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x59ff6d3b 00000019: GT 0000001a: PUSH2 0x00b0 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x94a173b7 00000024: GT 00000025: PUSH2 0x006c 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x94a173b7 0000002f: EQ 00000030: PUSH2 0x0396 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xa217fddf 0000003a: EQ 0000003b: PUSH2 0x03cf 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd11a57ec 00000045: EQ 00000046: PUSH2 0x03e4 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xd547741f 00000050: EQ 00000051: PUSH2 0x0406 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe6d66ac8 0000005b: EQ 0000005c: PUSH2 0x0426 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf3fef3a3 00000066: EQ 00000067: PUSH2 0x0446 0000006a: JUMPI 0000006b: STOP 0000006c: JUMPDEST 0000006d: DUP1 0000006e: PUSH4 0x59ff6d3b 00000073: EQ 00000074: PUSH2 0x02ec 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0x5c1c6dcd 0000007e: EQ 0000007f: PUSH2 0x030c 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0x5e35359e 00000089: EQ 0000008a: PUSH2 0x031f 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0x6dabe6fe 00000094: EQ 00000095: PUSH2 0x033f 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0x75b238fc 0000009f: EQ 000000a0: PUSH2 0x0354 000000a3: JUMPI 000000a4: DUP1 000000a5: PUSH4 0x91d14854 000000aa: EQ 000000ab: PUSH2 0x0376 000000ae: JUMPI 000000af: STOP 000000b0: JUMPDEST 000000b1: DUP1 000000b2: PUSH4 0x34fcd5be 000000b7: GT 000000b8: PUSH2 0x00ff 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0x34fcd5be 000000c2: EQ 000000c3: PUSH2 0x0251 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x36568abe 000000cd: EQ 000000ce: PUSH2 0x0264 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x3659cfe6 000000d8: EQ 000000d9: PUSH2 0x0284 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x435356d1 000000e3: EQ 000000e4: PUSH2 0x02a4 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x4f1ef286 000000ee: EQ 000000ef: PUSH2 0x02c4 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x52d1902d 000000f9: EQ 000000fa: PUSH2 0x02d7 000000fd: JUMPI 000000fe: STOP 000000ff: JUMPDEST 00000100: DUP1 00000101: PUSH4 0x01ffc9a7 00000106: EQ 00000107: PUSH2 0x014c 0000010a: JUMPI 0000010b: DUP1 0000010c: PUSH4 0x0d8e6e2c 00000111: EQ 00000112: PUSH2 0x0181 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0x1957fba4 0000011c: EQ 0000011d: PUSH2 0x01b3 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0x248a9ca3 00000127: EQ 00000128: PUSH2 0x01d3 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0x2c343229 00000132: EQ 00000133: PUSH2 0x0211 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0x2f2ff15d 0000013d: EQ 0000013e: PUSH2 0x0231 00000141: JUMPI 00000142: STOP 00000143: JUMPDEST 00000144: CALLDATASIZE 00000145: PUSH2 0x014a 00000148: JUMPI 00000149: STOP 0000014a: JUMPDEST 0000014b: STOP 0000014c: JUMPDEST 0000014d: CALLVALUE 0000014e: DUP1 0000014f: ISZERO 00000150: PUSH2 0x0158 00000153: JUMPI 00000154: PUSH1 0x00 00000156: DUP1 00000157: REVERT 00000158: JUMPDEST 00000159: POP 0000015a: PUSH2 0x016c 0000015d: PUSH2 0x0167 00000160: CALLDATASIZE 00000161: PUSH1 0x04 00000163: PUSH2 0x1d64 00000166: JUMP 00000167: JUMPDEST 00000168: PUSH2 0x0466 0000016b: JUMP 0000016c: JUMPDEST 0000016d: PUSH1 0x40 0000016f: MLOAD 00000170: SWAP1 00000171: ISZERO 00000172: ISZERO 00000173: DUP2 00000174: MSTORE 00000175: PUSH1 0x20 00000177: ADD 00000178: JUMPDEST 00000179: PUSH1 0x40 0000017b: MLOAD 0000017c: DUP1 0000017d: SWAP2 0000017e: SUB 0000017f: SWAP1 00000180: RETURN 00000181: JUMPDEST 00000182: CALLVALUE 00000183: DUP1 00000184: ISZERO 00000185: PUSH2 0x018d 00000188: JUMPI 00000189: PUSH1 0x00 0000018b: DUP1 0000018c: REVERT 0000018d: JUMPDEST 0000018e: POP 0000018f: PUSH1 0x40 00000191: DUP1 00000192: MLOAD 00000193: DUP1 00000194: DUP3 00000195: ADD 00000196: DUP3 00000197: MSTORE 00000198: PUSH1 0x03 0000019a: DUP2 0000019b: MSTORE 0000019c: PUSH3 0x302e31 000001a0: PUSH1 0xe8 000001a2: SHL 000001a3: PUSH1 0x20 000001a5: DUP3 000001a6: ADD 000001a7: MSTORE 000001a8: SWAP1 000001a9: MLOAD 000001aa: PUSH2 0x0178 000001ad: SWAP2 000001ae: SWAP1 000001af: PUSH2 0x1db2 000001b2: JUMP 000001b3: JUMPDEST 000001b4: CALLVALUE 000001b5: DUP1 000001b6: ISZERO 000001b7: PUSH2 0x01bf 000001ba: JUMPI 000001bb: PUSH1 0x00 000001bd: DUP1 000001be: REVERT 000001bf: JUMPDEST 000001c0: POP 000001c1: PUSH2 0x014a 000001c4: PUSH2 0x01ce 000001c7: CALLDATASIZE 000001c8: PUSH1 0x04 000001ca: PUSH2 0x1dfa 000001cd: JUMP 000001ce: JUMPDEST 000001cf: PUSH2 0x049d 000001d2: JUMP 000001d3: JUMPDEST 000001d4: CALLVALUE 000001d5: DUP1 000001d6: ISZERO 000001d7: PUSH2 0x01df 000001da: JUMPI 000001db: PUSH1 0x00 000001dd: DUP1 000001de: REVERT 000001df: JUMPDEST 000001e0: POP 000001e1: PUSH2 0x0203 000001e4: PUSH2 0x01ee 000001e7: CALLDATASIZE 000001e8: PUSH1 0x04 000001ea: PUSH2 0x1e17 000001ed: JUMP 000001ee: JUMPDEST 000001ef: PUSH1 0x00 000001f1: SWAP1 000001f2: DUP2 000001f3: MSTORE 000001f4: PUSH1 0x65 000001f6: PUSH1 0x20 000001f8: MSTORE 000001f9: PUSH1 0x40 000001fb: SWAP1 000001fc: KECCAK256 000001fd: PUSH1 0x01 000001ff: ADD 00000200: SLOAD 00000201: SWAP1 00000202: JUMP 00000203: JUMPDEST 00000204: PUSH1 0x40 00000206: MLOAD 00000207: SWAP1 00000208: DUP2 00000209: MSTORE 0000020a: PUSH1 0x20 0000020c: ADD 0000020d: PUSH2 0x0178 00000210: JUMP 00000211: JUMPDEST 00000212: CALLVALUE 00000213: DUP1 00000214: ISZERO 00000215: PUSH2 0x021d 00000218: JUMPI 00000219: PUSH1 0x00 0000021b: DUP1 0000021c: REVERT 0000021d: JUMPDEST 0000021e: POP 0000021f: PUSH2 0x014a 00000222: PUSH2 0x022c 00000225: CALLDATASIZE 00000226: PUSH1 0x04 00000228: PUSH2 0x1e30 0000022b: JUMP 0000022c: JUMPDEST 0000022d: PUSH2 0x04d7 00000230: JUMP 00000231: JUMPDEST 00000232: CALLVALUE 00000233: DUP1 00000234: ISZERO 00000235: PUSH2 0x023d 00000238: JUMPI 00000239: PUSH1 0x00 0000023b: DUP1 0000023c: REVERT 0000023d: JUMPDEST 0000023e: POP 0000023f: PUSH2 0x014a 00000242: PUSH2 0x024c 00000245: CALLDATASIZE 00000246: PUSH1 0x04 00000248: PUSH2 0x1e6b 0000024b: JUMP 0000024c: JUMPDEST 0000024d: PUSH2 0x07ee 00000250: JUMP 00000251: JUMPDEST 00000252: PUSH2 0x014a 00000255: PUSH2 0x025f 00000258: CALLDATASIZE 00000259: PUSH1 0x04 0000025b: PUSH2 0x1ee7 0000025e: JUMP 0000025f: JUMPDEST 00000260: PUSH2 0x0818 00000263: JUMP 00000264: JUMPDEST 00000265: CALLVALUE 00000266: DUP1 00000267: ISZERO 00000268: PUSH2 0x0270 0000026b: JUMPI 0000026c: PUSH1 0x00 0000026e: DUP1 0000026f: REVERT 00000270: JUMPDEST 00000271: POP 00000272: PUSH2 0x014a 00000275: PUSH2 0x027f 00000278: CALLDATASIZE 00000279: PUSH1 0x04 0000027b: PUSH2 0x1e6b 0000027e: JUMP 0000027f: JUMPDEST 00000280: PUSH2 0x08e2 00000283: JUMP 00000284: JUMPDEST 00000285: CALLVALUE 00000286: DUP1 00000287: ISZERO 00000288: PUSH2 0x0290 0000028b: JUMPI 0000028c: PUSH1 0x00 0000028e: DUP1 0000028f: REVERT 00000290: JUMPDEST 00000291: POP 00000292: PUSH2 0x014a 00000295: PUSH2 0x029f 00000298: CALLDATASIZE 00000299: PUSH1 0x04 0000029b: PUSH2 0x1dfa 0000029e: JUMP 0000029f: JUMPDEST 000002a0: PUSH2 0x0960 000002a3: JUMP 000002a4: JUMPDEST 000002a5: CALLVALUE 000002a6: DUP1 000002a7: ISZERO 000002a8: PUSH2 0x02b0 000002ab: JUMPI 000002ac: PUSH1 0x00 000002ae: DUP1 000002af: REVERT 000002b0: JUMPDEST 000002b1: POP 000002b2: PUSH2 0x014a 000002b5: PUSH2 0x02bf 000002b8: CALLDATASIZE 000002b9: PUSH1 0x04 000002bb: PUSH2 0x1f29 000002be: JUMP 000002bf: JUMPDEST 000002c0: PUSH2 0x0a3f 000002c3: JUMP 000002c4: JUMPDEST 000002c5: PUSH2 0x014a 000002c8: PUSH2 0x02d2 000002cb: CALLDATASIZE 000002cc: PUSH1 0x04 000002ce: PUSH2 0x1fd9 000002d1: JUMP 000002d2: JUMPDEST 000002d3: PUSH2 0x0d9d 000002d6: JUMP 000002d7: JUMPDEST 000002d8: CALLVALUE 000002d9: DUP1 000002da: ISZERO 000002db: PUSH2 0x02e3 000002de: JUMPI 000002df: PUSH1 0x00 000002e1: DUP1 000002e2: REVERT 000002e3: JUMPDEST 000002e4: POP 000002e5: PUSH2 0x0203 000002e8: PUSH2 0x0e69 000002eb: JUMP 000002ec: JUMPDEST 000002ed: CALLVALUE 000002ee: DUP1 000002ef: ISZERO 000002f0: PUSH2 0x02f8 000002f3: JUMPI 000002f4: PUSH1 0x00 000002f6: DUP1 000002f7: REVERT 000002f8: JUMPDEST 000002f9: POP 000002fa: PUSH2 0x014a 000002fd: PUSH2 0x0307 00000300: CALLDATASIZE 00000301: PUSH1 0x04 00000303: PUSH2 0x1dfa 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH2 0x0f1c 0000030b: JUMP 0000030c: JUMPDEST 0000030d: PUSH2 0x014a 00000310: PUSH2 0x031a 00000313: CALLDATASIZE 00000314: PUSH1 0x04 00000316: PUSH2 0x209d 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH2 0x0f81 0000031e: JUMP 0000031f: JUMPDEST 00000320: CALLVALUE 00000321: DUP1 00000322: ISZERO 00000323: PUSH2 0x032b 00000326: JUMPI 00000327: PUSH1 0x00 00000329: DUP1 0000032a: REVERT 0000032b: JUMPDEST 0000032c: POP 0000032d: PUSH2 0x014a 00000330: PUSH2 0x033a 00000333: CALLDATASIZE 00000334: PUSH1 0x04 00000336: PUSH2 0x20d8 00000339: JUMP 0000033a: JUMPDEST 0000033b: PUSH2 0x0fbb 0000033e: JUMP 0000033f: JUMPDEST 00000340: CALLVALUE 00000341: DUP1 00000342: ISZERO 00000343: PUSH2 0x034b 00000346: JUMPI 00000347: PUSH1 0x00 00000349: DUP1 0000034a: REVERT 0000034b: JUMPDEST 0000034c: POP 0000034d: PUSH2 0x0203 00000350: PUSH1 0x02 00000352: DUP2 00000353: JUMP 00000354: JUMPDEST 00000355: CALLVALUE 00000356: DUP1 00000357: ISZERO 00000358: PUSH2 0x0360 0000035b: JUMPI 0000035c: PUSH1 0x00 0000035e: DUP1 0000035f: REVERT 00000360: JUMPDEST 00000361: POP 00000362: PUSH2 0x0203 00000365: PUSH1 0x00 00000367: DUP1 00000368: MLOAD 00000369: PUSH1 0x20 0000036b: PUSH2 0x23fd 0000036e: DUP4 0000036f: CODECOPY 00000370: DUP2 00000371: MLOAD 00000372: SWAP2 00000373: MSTORE 00000374: DUP2 00000375: JUMP 00000376: JUMPDEST 00000377: CALLVALUE 00000378: DUP1 00000379: ISZERO 0000037a: PUSH2 0x0382 0000037d: JUMPI 0000037e: PUSH1 0x00 00000380: DUP1 00000381: REVERT 00000382: JUMPDEST 00000383: POP 00000384: PUSH2 0x016c 00000387: PUSH2 0x0391 0000038a: CALLDATASIZE 0000038b: PUSH1 0x04 0000038d: PUSH2 0x1e6b 00000390: JUMP 00000391: JUMPDEST 00000392: PUSH2 0x0fde 00000395: JUMP 00000396: JUMPDEST 00000397: CALLVALUE 00000398: DUP1 00000399: ISZERO 0000039a: PUSH2 0x03a2 0000039d: JUMPI 0000039e: PUSH1 0x00 000003a0: DUP1 000003a1: REVERT 000003a2: JUMPDEST 000003a3: POP 000003a4: PUSH2 0x016c 000003a7: PUSH2 0x03b1 000003aa: CALLDATASIZE 000003ab: PUSH1 0x04 000003ad: PUSH2 0x1dfa 000003b0: JUMP 000003b1: JUMPDEST 000003b2: PUSH1 0x01 000003b4: PUSH1 0x01 000003b6: PUSH1 0xa0 000003b8: SHL 000003b9: SUB 000003ba: AND 000003bb: PUSH1 0x00 000003bd: SWAP1 000003be: DUP2 000003bf: MSTORE 000003c0: PUSH1 0xfb 000003c2: PUSH1 0x20 000003c4: MSTORE 000003c5: PUSH1 0x40 000003c7: SWAP1 000003c8: KECCAK256 000003c9: SLOAD 000003ca: PUSH1 0xff 000003cc: AND 000003cd: SWAP1 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 0x0203 000003e0: PUSH1 0x00 000003e2: DUP2 000003e3: JUMP 000003e4: JUMPDEST 000003e5: CALLVALUE 000003e6: DUP1 000003e7: ISZERO 000003e8: PUSH2 0x03f0 000003eb: JUMPI 000003ec: PUSH1 0x00 000003ee: DUP1 000003ef: REVERT 000003f0: JUMPDEST 000003f1: POP 000003f2: PUSH2 0x0203 000003f5: PUSH1 0x00 000003f7: DUP1 000003f8: MLOAD 000003f9: PUSH1 0x20 000003fb: PUSH2 0x241d 000003fe: DUP4 000003ff: CODECOPY 00000400: DUP2 00000401: MLOAD 00000402: SWAP2 00000403: MSTORE 00000404: DUP2 00000405: JUMP 00000406: JUMPDEST 00000407: CALLVALUE 00000408: DUP1 00000409: ISZERO 0000040a: PUSH2 0x0412 0000040d: JUMPI 0000040e: PUSH1 0x00 00000410: DUP1 00000411: REVERT 00000412: JUMPDEST 00000413: POP 00000414: PUSH2 0x014a 00000417: PUSH2 0x0421 0000041a: CALLDATASIZE 0000041b: PUSH1 0x04 0000041d: PUSH2 0x1e6b 00000420: JUMP 00000421: JUMPDEST 00000422: PUSH2 0x1009 00000425: JUMP 00000426: JUMPDEST 00000427: CALLVALUE 00000428: DUP1 00000429: ISZERO 0000042a: PUSH2 0x0432 0000042d: JUMPI 0000042e: PUSH1 0x00 00000430: DUP1 00000431: REVERT 00000432: JUMPDEST 00000433: POP 00000434: PUSH2 0x014a 00000437: PUSH2 0x0441 0000043a: CALLDATASIZE 0000043b: PUSH1 0x04 0000043d: PUSH2 0x20d8 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH2 0x102e 00000445: JUMP 00000446: JUMPDEST 00000447: CALLVALUE 00000448: DUP1 00000449: ISZERO 0000044a: PUSH2 0x0452 0000044d: JUMPI 0000044e: PUSH1 0x00 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: PUSH2 0x014a 00000457: PUSH2 0x0461 0000045a: CALLDATASIZE 0000045b: PUSH1 0x04 0000045d: PUSH2 0x2119 00000460: JUMP 00000461: JUMPDEST 00000462: PUSH2 0x1046 00000465: JUMP 00000466: JUMPDEST 00000467: PUSH1 0x00 00000469: PUSH1 0x01 0000046b: PUSH1 0x01 0000046d: PUSH1 0xe0 0000046f: SHL 00000470: SUB 00000471: NOT 00000472: DUP3 00000473: AND 00000474: PUSH4 0x7965db0b 00000479: PUSH1 0xe0 0000047b: SHL 0000047c: EQ 0000047d: DUP1 0000047e: PUSH2 0x0497 00000481: JUMPI 00000482: POP 00000483: PUSH4 0x01ffc9a7 00000488: PUSH1 0xe0 0000048a: SHL 0000048b: PUSH1 0x01 0000048d: PUSH1 0x01 0000048f: PUSH1 0xe0 00000491: SHL 00000492: SUB 00000493: NOT 00000494: DUP4 00000495: AND 00000496: EQ 00000497: JUMPDEST 00000498: SWAP3 00000499: SWAP2 0000049a: POP 0000049b: POP 0000049c: JUMP 0000049d: JUMPDEST 0000049e: PUSH1 0x00 000004a0: DUP1 000004a1: MLOAD 000004a2: PUSH1 0x20 000004a4: PUSH2 0x23fd 000004a7: DUP4 000004a8: CODECOPY 000004a9: DUP2 000004aa: MLOAD 000004ab: SWAP2 000004ac: MSTORE 000004ad: PUSH2 0x04b5 000004b0: DUP2 000004b1: PUSH2 0x1068 000004b4: JUMP 000004b5: JUMPDEST 000004b6: POP 000004b7: PUSH1 0x01 000004b9: PUSH1 0x01 000004bb: PUSH1 0xa0 000004bd: SHL 000004be: SUB 000004bf: AND 000004c0: PUSH1 0x00 000004c2: SWAP1 000004c3: DUP2 000004c4: MSTORE 000004c5: PUSH1 0xfb 000004c7: PUSH1 0x20 000004c9: MSTORE 000004ca: PUSH1 0x40 000004cc: SWAP1 000004cd: KECCAK256 000004ce: DUP1 000004cf: SLOAD 000004d0: PUSH1 0xff 000004d2: NOT 000004d3: AND 000004d4: SWAP1 000004d5: SSTORE 000004d6: JUMP 000004d7: JUMPDEST 000004d8: PUSH1 0x00 000004da: DUP1 000004db: MLOAD 000004dc: PUSH1 0x20 000004de: PUSH2 0x241d 000004e1: DUP4 000004e2: CODECOPY 000004e3: DUP2 000004e4: MLOAD 000004e5: SWAP2 000004e6: MSTORE 000004e7: PUSH2 0x04ef 000004ea: DUP2 000004eb: PUSH2 0x1068 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH1 0xfb 000004f2: PUSH1 0x00 000004f4: PUSH2 0x0503 000004f7: PUSH1 0x40 000004f9: DUP6 000004fa: ADD 000004fb: PUSH1 0x20 000004fd: DUP7 000004fe: ADD 000004ff: PUSH2 0x1dfa 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH1 0x01 00000506: PUSH1 0x01 00000508: PUSH1 0xa0 0000050a: SHL 0000050b: SUB 0000050c: AND 0000050d: DUP2 0000050e: MSTORE 0000050f: PUSH1 0x20 00000511: DUP2 00000512: ADD 00000513: SWAP2 00000514: SWAP1 00000515: SWAP2 00000516: MSTORE 00000517: PUSH1 0x40 00000519: ADD 0000051a: PUSH1 0x00 0000051c: KECCAK256 0000051d: SLOAD 0000051e: PUSH1 0xff 00000520: AND 00000521: PUSH2 0x053d 00000524: JUMPI 00000525: PUSH1 0x40 00000527: MLOAD 00000528: PUSH4 0x514e24c3 0000052d: PUSH1 0xe1 0000052f: SHL 00000530: DUP2 00000531: MSTORE 00000532: PUSH1 0x04 00000534: ADD 00000535: PUSH1 0x40 00000537: MLOAD 00000538: DUP1 00000539: SWAP2 0000053a: SUB 0000053b: SWAP1 0000053c: REVERT 0000053d: JUMPDEST 0000053e: PUSH1 0x00 00000540: PUSH2 0x054f 00000543: PUSH1 0x40 00000545: DUP5 00000546: ADD 00000547: PUSH1 0x20 00000549: DUP6 0000054a: ADD 0000054b: PUSH2 0x1dfa 0000054e: JUMP 0000054f: JUMPDEST 00000550: PUSH1 0x40 00000552: MLOAD 00000553: PUSH4 0x70a08231 00000558: PUSH1 0xe0 0000055a: SHL 0000055b: DUP2 0000055c: MSTORE 0000055d: ADDRESS 0000055e: PUSH1 0x04 00000560: DUP3 00000561: ADD 00000562: MSTORE 00000563: PUSH1 0x01 00000565: PUSH1 0x01 00000567: PUSH1 0xa0 00000569: SHL 0000056a: SUB 0000056b: SWAP2 0000056c: SWAP1 0000056d: SWAP2 0000056e: AND 0000056f: SWAP1 00000570: PUSH4 0x70a08231 00000575: SWAP1 00000576: PUSH1 0x24 00000578: ADD 00000579: PUSH1 0x20 0000057b: PUSH1 0x40 0000057d: MLOAD 0000057e: DUP1 0000057f: DUP4 00000580: SUB 00000581: DUP2 00000582: DUP7 00000583: GAS 00000584: STATICCALL 00000585: ISZERO 00000586: DUP1 00000587: ISZERO 00000588: PUSH2 0x0595 0000058b: JUMPI 0000058c: RETURNDATASIZE 0000058d: PUSH1 0x00 0000058f: DUP1 00000590: RETURNDATACOPY 00000591: RETURNDATASIZE 00000592: PUSH1 0x00 00000594: REVERT 00000595: JUMPDEST 00000596: POP 00000597: POP 00000598: POP 00000599: POP 0000059a: PUSH1 0x40 0000059c: MLOAD 0000059d: RETURNDATASIZE 0000059e: PUSH1 0x1f 000005a0: NOT 000005a1: PUSH1 0x1f 000005a3: DUP3 000005a4: ADD 000005a5: AND 000005a6: DUP3 000005a7: ADD 000005a8: DUP1 000005a9: PUSH1 0x40 000005ab: MSTORE 000005ac: POP 000005ad: DUP2 000005ae: ADD 000005af: SWAP1 000005b0: PUSH2 0x05b9 000005b3: SWAP2 000005b4: SWAP1 000005b5: PUSH2 0x2145 000005b8: JUMP 000005b9: JUMPDEST 000005ba: SWAP1 000005bb: POP 000005bc: DUP3 000005bd: PUSH1 0x40 000005bf: ADD 000005c0: CALLDATALOAD 000005c1: DUP2 000005c2: LT 000005c3: ISZERO 000005c4: PUSH2 0x05f1 000005c7: JUMPI 000005c8: PUSH1 0x40 000005ca: DUP1 000005cb: MLOAD 000005cc: PUSH3 0xfae2d5 000005d0: PUSH1 0xe2 000005d2: SHL 000005d3: DUP2 000005d4: MSTORE 000005d5: SWAP1 000005d6: DUP5 000005d7: ADD 000005d8: CALLDATALOAD 000005d9: PUSH1 0x04 000005db: DUP3 000005dc: ADD 000005dd: MSTORE 000005de: PUSH1 0x24 000005e0: DUP2 000005e1: ADD 000005e2: DUP3 000005e3: SWAP1 000005e4: MSTORE 000005e5: PUSH1 0x44 000005e7: ADD 000005e8: JUMPDEST 000005e9: PUSH1 0x40 000005eb: MLOAD 000005ec: DUP1 000005ed: SWAP2 000005ee: SUB 000005ef: SWAP1 000005f0: REVERT 000005f1: JUMPDEST 000005f2: PUSH1 0x00 000005f4: PUSH2 0x0603 000005f7: PUSH1 0x40 000005f9: DUP6 000005fa: ADD 000005fb: PUSH1 0x20 000005fd: DUP7 000005fe: ADD 000005ff: PUSH2 0x1dfa 00000602: JUMP 00000603: JUMPDEST 00000604: PUSH1 0x01 00000606: PUSH1 0x01 00000608: PUSH1 0xa0 0000060a: SHL 0000060b: SUB 0000060c: AND 0000060d: PUSH4 0xdd62ed3e 00000612: ADDRESS 00000613: PUSH2 0x061f 00000616: PUSH1 0x20 00000618: DUP9 00000619: ADD 0000061a: DUP9 0000061b: PUSH2 0x1dfa 0000061e: JUMP 0000061f: JUMPDEST 00000620: PUSH1 0x40 00000622: MLOAD 00000623: PUSH1 0x01 00000625: PUSH1 0x01 00000627: PUSH1 0xe0 00000629: SHL 0000062a: SUB 0000062b: NOT 0000062c: PUSH1 0xe0 0000062e: DUP6 0000062f: SWAP1 00000630: SHL 00000631: AND 00000632: DUP2 00000633: MSTORE 00000634: PUSH1 0x01 00000636: PUSH1 0x01 00000638: PUSH1 0xa0 0000063a: SHL 0000063b: SUB 0000063c: SWAP3 0000063d: DUP4 0000063e: AND 0000063f: PUSH1 0x04 00000641: DUP3 00000642: ADD 00000643: MSTORE 00000644: SWAP2 00000645: AND 00000646: PUSH1 0x24 00000648: DUP3 00000649: ADD 0000064a: MSTORE 0000064b: PUSH1 0x44 0000064d: ADD 0000064e: PUSH1 0x20 00000650: PUSH1 0x40 00000652: MLOAD 00000653: DUP1 00000654: DUP4 00000655: SUB 00000656: DUP2 00000657: DUP7 00000658: GAS 00000659: STATICCALL 0000065a: ISZERO 0000065b: DUP1 0000065c: ISZERO 0000065d: PUSH2 0x066a 00000660: JUMPI 00000661: RETURNDATASIZE 00000662: PUSH1 0x00 00000664: DUP1 00000665: RETURNDATACOPY 00000666: RETURNDATASIZE 00000667: PUSH1 0x00 00000669: REVERT 0000066a: JUMPDEST 0000066b: POP 0000066c: POP 0000066d: POP 0000066e: POP 0000066f: PUSH1 0x40 00000671: MLOAD 00000672: RETURNDATASIZE 00000673: PUSH1 0x1f 00000675: NOT 00000676: PUSH1 0x1f 00000678: DUP3 00000679: ADD 0000067a: AND 0000067b: DUP3 0000067c: ADD 0000067d: DUP1 0000067e: PUSH1 0x40 00000680: MSTORE 00000681: POP 00000682: DUP2 00000683: ADD 00000684: SWAP1 00000685: PUSH2 0x068e 00000688: SWAP2 00000689: SWAP1 0000068a: PUSH2 0x2145 0000068d: JUMP 0000068e: JUMPDEST 0000068f: SWAP1 00000690: POP 00000691: DUP1 00000692: PUSH1 0x00 00000694: SUB 00000695: PUSH2 0x06dc 00000698: JUMPI 00000699: PUSH2 0x06d7 0000069c: PUSH2 0x06a8 0000069f: PUSH1 0x20 000006a1: DUP7 000006a2: ADD 000006a3: DUP7 000006a4: PUSH2 0x1dfa 000006a7: JUMP 000006a8: JUMPDEST 000006a9: PUSH2 0x06b7 000006ac: PUSH1 0x02 000006ae: PUSH1 0x40 000006b0: DUP9 000006b1: ADD 000006b2: CALLDATALOAD 000006b3: PUSH2 0x2174 000006b6: JUMP 000006b7: JUMPDEST 000006b8: PUSH2 0x06c7 000006bb: PUSH1 0x40 000006bd: DUP9 000006be: ADD 000006bf: PUSH1 0x20 000006c1: DUP10 000006c2: ADD 000006c3: PUSH2 0x1dfa 000006c6: JUMP 000006c7: JUMPDEST 000006c8: PUSH1 0x01 000006ca: PUSH1 0x01 000006cc: PUSH1 0xa0 000006ce: SHL 000006cf: SUB 000006d0: AND 000006d1: SWAP2 000006d2: SWAP1 000006d3: PUSH2 0x1072 000006d6: JUMP 000006d7: JUMPDEST 000006d8: PUSH2 0x0700 000006db: JUMP 000006dc: JUMPDEST 000006dd: PUSH2 0x0700 000006e0: PUSH2 0x06ec 000006e3: PUSH1 0x20 000006e5: DUP7 000006e6: ADD 000006e7: DUP7 000006e8: PUSH2 0x1dfa 000006eb: JUMP 000006ec: JUMPDEST 000006ed: PUSH1 0x40 000006ef: DUP7 000006f0: ADD 000006f1: DUP1 000006f2: CALLDATALOAD 000006f3: SWAP1 000006f4: PUSH2 0x06c7 000006f7: SWAP1 000006f8: PUSH1 0x20 000006fa: DUP10 000006fb: ADD 000006fc: PUSH2 0x1dfa 000006ff: JUMP 00000700: JUMPDEST 00000701: PUSH2 0x0724 00000704: PUSH2 0x0710 00000707: PUSH1 0x20 00000709: DUP7 0000070a: ADD 0000070b: DUP7 0000070c: PUSH2 0x1dfa 0000070f: JUMP 00000710: JUMPDEST 00000711: PUSH1 0x00 00000713: PUSH2 0x071f 00000716: PUSH1 0x60 00000718: DUP9 00000719: ADD 0000071a: DUP9 0000071b: PUSH2 0x2187 0000071e: JUMP 0000071f: JUMPDEST 00000720: PUSH2 0x1152 00000723: JUMP 00000724: JUMPDEST 00000725: PUSH1 0x00 00000727: PUSH2 0x0736 0000072a: PUSH1 0x40 0000072c: DUP7 0000072d: ADD 0000072e: PUSH1 0x20 00000730: DUP8 00000731: ADD 00000732: PUSH2 0x1dfa 00000735: JUMP 00000736: JUMPDEST 00000737: PUSH1 0x01 00000739: PUSH1 0x01 0000073b: PUSH1 0xa0 0000073d: SHL 0000073e: SUB 0000073f: AND 00000740: PUSH4 0xdd62ed3e 00000745: ADDRESS 00000746: PUSH2 0x0752 00000749: PUSH1 0x20 0000074b: DUP10 0000074c: ADD 0000074d: DUP10 0000074e: PUSH2 0x1dfa 00000751: JUMP 00000752: JUMPDEST 00000753: PUSH1 0x40 00000755: MLOAD 00000756: PUSH1 0x01 00000758: PUSH1 0x01 0000075a: PUSH1 0xe0 0000075c: SHL 0000075d: SUB 0000075e: NOT 0000075f: PUSH1 0xe0 00000761: DUP6 00000762: SWAP1 00000763: SHL 00000764: AND 00000765: DUP2 00000766: MSTORE 00000767: PUSH1 0x01 00000769: PUSH1 0x01 0000076b: PUSH1 0xa0 0000076d: SHL 0000076e: SUB 0000076f: SWAP3 00000770: DUP4 00000771: AND 00000772: PUSH1 0x04 00000774: DUP3 00000775: ADD 00000776: MSTORE 00000777: SWAP2 00000778: AND 00000779: PUSH1 0x24 0000077b: DUP3 0000077c: ADD 0000077d: MSTORE 0000077e: PUSH1 0x44 00000780: ADD 00000781: PUSH1 0x20 00000783: PUSH1 0x40 00000785: MLOAD 00000786: DUP1 00000787: DUP4 00000788: SUB 00000789: DUP2 0000078a: DUP7 0000078b: GAS 0000078c: STATICCALL 0000078d: ISZERO 0000078e: DUP1 0000078f: ISZERO 00000790: PUSH2 0x079d 00000793: JUMPI 00000794: RETURNDATASIZE 00000795: PUSH1 0x00 00000797: DUP1 00000798: RETURNDATACOPY 00000799: RETURNDATASIZE 0000079a: PUSH1 0x00 0000079c: REVERT 0000079d: JUMPDEST 0000079e: POP 0000079f: POP 000007a0: POP 000007a1: POP 000007a2: PUSH1 0x40 000007a4: MLOAD 000007a5: RETURNDATASIZE 000007a6: PUSH1 0x1f 000007a8: NOT 000007a9: PUSH1 0x1f 000007ab: DUP3 000007ac: ADD 000007ad: AND 000007ae: DUP3 000007af: ADD 000007b0: DUP1 000007b1: PUSH1 0x40 000007b3: MSTORE 000007b4: POP 000007b5: DUP2 000007b6: ADD 000007b7: SWAP1 000007b8: PUSH2 0x07c1 000007bb: SWAP2 000007bc: SWAP1 000007bd: PUSH2 0x2145 000007c0: JUMP 000007c1: JUMPDEST 000007c2: SWAP1 000007c3: POP 000007c4: PUSH1 0x02 000007c6: DUP2 000007c7: EQ 000007c8: PUSH2 0x07e7 000007cb: JUMPI 000007cc: PUSH1 0x40 000007ce: MLOAD 000007cf: PUSH4 0x327c29c1 000007d4: PUSH1 0xe2 000007d6: SHL 000007d7: DUP2 000007d8: MSTORE 000007d9: PUSH1 0x04 000007db: DUP2 000007dc: ADD 000007dd: DUP3 000007de: SWAP1 000007df: MSTORE 000007e0: PUSH1 0x24 000007e2: ADD 000007e3: PUSH2 0x05e8 000007e6: JUMP 000007e7: JUMPDEST 000007e8: POP 000007e9: POP 000007ea: POP 000007eb: POP 000007ec: POP 000007ed: JUMP 000007ee: JUMPDEST 000007ef: PUSH1 0x00 000007f1: DUP3 000007f2: DUP2 000007f3: MSTORE 000007f4: PUSH1 0x65 000007f6: PUSH1 0x20 000007f8: MSTORE 000007f9: PUSH1 0x40 000007fb: SWAP1 000007fc: KECCAK256 000007fd: PUSH1 0x01 000007ff: ADD 00000800: SLOAD 00000801: PUSH2 0x0809 00000804: DUP2 00000805: PUSH2 0x1068 00000808: JUMP 00000809: JUMPDEST 0000080a: PUSH2 0x0813 0000080d: DUP4 0000080e: DUP4 0000080f: PUSH2 0x11d7 00000812: JUMP 00000813: JUMPDEST 00000814: POP 00000815: POP 00000816: POP 00000817: JUMP 00000818: JUMPDEST 00000819: PUSH1 0x00 0000081b: DUP1 0000081c: MLOAD 0000081d: PUSH1 0x20 0000081f: PUSH2 0x241d 00000822: DUP4 00000823: CODECOPY 00000824: DUP2 00000825: MLOAD 00000826: SWAP2 00000827: MSTORE 00000828: PUSH2 0x0830 0000082b: DUP2 0000082c: PUSH2 0x1068 0000082f: JUMP 00000830: JUMPDEST 00000831: PUSH1 0x00 00000833: JUMPDEST 00000834: DUP3 00000835: DUP2 00000836: LT 00000837: ISZERO 00000838: PUSH2 0x08dc 0000083b: JUMPI 0000083c: PUSH2 0x08ca 0000083f: DUP5 00000840: DUP5 00000841: DUP4 00000842: DUP2 00000843: DUP2 00000844: LT 00000845: PUSH2 0x0850 00000848: JUMPI 00000849: PUSH2 0x0850 0000084c: PUSH2 0x21ce 0000084f: JUMP 00000850: JUMPDEST 00000851: SWAP1 00000852: POP 00000853: PUSH1 0x20 00000855: MUL 00000856: DUP2 00000857: ADD 00000858: SWAP1 00000859: PUSH2 0x0862 0000085c: SWAP2 0000085d: SWAP1 0000085e: PUSH2 0x21e4 00000861: JUMP 00000862: JUMPDEST 00000863: PUSH2 0x0870 00000866: SWAP1 00000867: PUSH1 0x20 00000869: DUP2 0000086a: ADD 0000086b: SWAP1 0000086c: PUSH2 0x1dfa 0000086f: JUMP 00000870: JUMPDEST 00000871: DUP6 00000872: DUP6 00000873: DUP5 00000874: DUP2 00000875: DUP2 00000876: LT 00000877: PUSH2 0x0882 0000087a: JUMPI 0000087b: PUSH2 0x0882 0000087e: PUSH2 0x21ce 00000881: JUMP 00000882: JUMPDEST 00000883: SWAP1 00000884: POP 00000885: PUSH1 0x20 00000887: MUL 00000888: DUP2 00000889: ADD 0000088a: SWAP1 0000088b: PUSH2 0x0894 0000088e: SWAP2 0000088f: SWAP1 00000890: PUSH2 0x21e4 00000893: JUMP 00000894: JUMPDEST 00000895: PUSH1 0x20 00000897: ADD 00000898: CALLDATALOAD 00000899: DUP7 0000089a: DUP7 0000089b: DUP6 0000089c: DUP2 0000089d: DUP2 0000089e: LT 0000089f: PUSH2 0x08aa 000008a2: JUMPI 000008a3: PUSH2 0x08aa 000008a6: PUSH2 0x21ce 000008a9: JUMP 000008aa: JUMPDEST 000008ab: SWAP1 000008ac: POP 000008ad: PUSH1 0x20 000008af: MUL 000008b0: DUP2 000008b1: ADD 000008b2: SWAP1 000008b3: PUSH2 0x08bc 000008b6: SWAP2 000008b7: SWAP1 000008b8: PUSH2 0x21e4 000008bb: JUMP 000008bc: JUMPDEST 000008bd: PUSH2 0x071f 000008c0: SWAP1 000008c1: PUSH1 0x40 000008c3: DUP2 000008c4: ADD 000008c5: SWAP1 000008c6: PUSH2 0x2187 000008c9: JUMP 000008ca: JUMPDEST 000008cb: DUP1 000008cc: PUSH2 0x08d4 000008cf: DUP2 000008d0: PUSH2 0x2204 000008d3: JUMP 000008d4: JUMPDEST 000008d5: SWAP2 000008d6: POP 000008d7: POP 000008d8: PUSH2 0x0833 000008db: JUMP 000008dc: JUMPDEST 000008dd: POP 000008de: POP 000008df: POP 000008e0: POP 000008e1: JUMP 000008e2: JUMPDEST 000008e3: PUSH1 0x01 000008e5: PUSH1 0x01 000008e7: PUSH1 0xa0 000008e9: SHL 000008ea: SUB 000008eb: DUP2 000008ec: AND 000008ed: CALLER 000008ee: EQ 000008ef: PUSH2 0x0952 000008f2: JUMPI 000008f3: PUSH1 0x40 000008f5: MLOAD 000008f6: PUSH3 0x461bcd 000008fa: PUSH1 0xe5 000008fc: SHL 000008fd: DUP2 000008fe: MSTORE 000008ff: PUSH1 0x20 00000901: PUSH1 0x04 00000903: DUP3 00000904: ADD 00000905: MSTORE 00000906: PUSH1 0x2f 00000908: PUSH1 0x24 0000090a: DUP3 0000090b: ADD 0000090c: MSTORE 0000090d: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365 0000092e: PUSH1 0x44 00000930: DUP3 00000931: ADD 00000932: MSTORE 00000933: PUSH15 0x103937b632b9903337b91039b2b633 00000943: PUSH1 0x89 00000945: SHL 00000946: PUSH1 0x64 00000948: DUP3 00000949: ADD 0000094a: MSTORE 0000094b: PUSH1 0x84 0000094d: ADD 0000094e: PUSH2 0x05e8 00000951: JUMP 00000952: JUMPDEST 00000953: PUSH2 0x095c 00000956: DUP3 00000957: DUP3 00000958: PUSH2 0x125d 0000095b: JUMP 0000095c: JUMPDEST 0000095d: POP 0000095e: POP 0000095f: JUMP 00000960: JUMPDEST 00000961: PUSH1 0x01 00000963: PUSH1 0x01 00000965: PUSH1 0xa0 00000967: SHL 00000968: SUB 00000969: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b 0000098a: AND 0000098b: ADDRESS 0000098c: SUB 0000098d: PUSH2 0x09a8 00000990: JUMPI 00000991: PUSH1 0x40 00000993: MLOAD 00000994: PUSH3 0x461bcd 00000998: PUSH1 0xe5 0000099a: SHL 0000099b: DUP2 0000099c: MSTORE 0000099d: PUSH1 0x04 0000099f: ADD 000009a0: PUSH2 0x05e8 000009a3: SWAP1 000009a4: PUSH2 0x221d 000009a7: JUMP 000009a8: JUMPDEST 000009a9: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b 000009ca: PUSH1 0x01 000009cc: PUSH1 0x01 000009ce: PUSH1 0xa0 000009d0: SHL 000009d1: SUB 000009d2: AND 000009d3: PUSH2 0x09f1 000009d6: PUSH1 0x00 000009d8: DUP1 000009d9: MLOAD 000009da: PUSH1 0x20 000009dc: PUSH2 0x238d 000009df: DUP4 000009e0: CODECOPY 000009e1: DUP2 000009e2: MLOAD 000009e3: SWAP2 000009e4: MSTORE 000009e5: SLOAD 000009e6: PUSH1 0x01 000009e8: PUSH1 0x01 000009ea: PUSH1 0xa0 000009ec: SHL 000009ed: SUB 000009ee: AND 000009ef: SWAP1 000009f0: JUMP 000009f1: JUMPDEST 000009f2: PUSH1 0x01 000009f4: PUSH1 0x01 000009f6: PUSH1 0xa0 000009f8: SHL 000009f9: SUB 000009fa: AND 000009fb: EQ 000009fc: PUSH2 0x0a17 000009ff: JUMPI 00000a00: PUSH1 0x40 00000a02: MLOAD 00000a03: PUSH3 0x461bcd 00000a07: PUSH1 0xe5 00000a09: SHL 00000a0a: DUP2 00000a0b: MSTORE 00000a0c: PUSH1 0x04 00000a0e: ADD 00000a0f: PUSH2 0x05e8 00000a12: SWAP1 00000a13: PUSH2 0x2269 00000a16: JUMP 00000a17: JUMPDEST 00000a18: PUSH2 0x0a20 00000a1b: DUP2 00000a1c: PUSH2 0x12c4 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: PUSH1 0x40 00000a23: DUP1 00000a24: MLOAD 00000a25: PUSH1 0x00 00000a27: DUP1 00000a28: DUP3 00000a29: MSTORE 00000a2a: PUSH1 0x20 00000a2c: DUP3 00000a2d: ADD 00000a2e: SWAP1 00000a2f: SWAP3 00000a30: MSTORE 00000a31: PUSH2 0x0a3c 00000a34: SWAP2 00000a35: DUP4 00000a36: SWAP2 00000a37: SWAP1 00000a38: PUSH2 0x12dc 00000a3b: JUMP 00000a3c: JUMPDEST 00000a3d: POP 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: PUSH1 0x00 00000a42: SLOAD 00000a43: PUSH2 0x0100 00000a46: SWAP1 00000a47: DIV 00000a48: PUSH1 0xff 00000a4a: AND 00000a4b: ISZERO 00000a4c: DUP1 00000a4d: DUP1 00000a4e: ISZERO 00000a4f: PUSH2 0x0a5f 00000a52: JUMPI 00000a53: POP 00000a54: PUSH1 0x00 00000a56: SLOAD 00000a57: PUSH1 0x01 00000a59: PUSH1 0xff 00000a5b: SWAP1 00000a5c: SWAP2 00000a5d: AND 00000a5e: LT 00000a5f: JUMPDEST 00000a60: DUP1 00000a61: PUSH2 0x0a79 00000a64: JUMPI 00000a65: POP 00000a66: ADDRESS 00000a67: EXTCODESIZE 00000a68: ISZERO 00000a69: DUP1 00000a6a: ISZERO 00000a6b: PUSH2 0x0a79 00000a6e: JUMPI 00000a6f: POP 00000a70: PUSH1 0x00 00000a72: SLOAD 00000a73: PUSH1 0xff 00000a75: AND 00000a76: PUSH1 0x01 00000a78: EQ 00000a79: JUMPDEST 00000a7a: PUSH2 0x0adc 00000a7d: JUMPI 00000a7e: PUSH1 0x40 00000a80: MLOAD 00000a81: PUSH3 0x461bcd 00000a85: PUSH1 0xe5 00000a87: SHL 00000a88: DUP2 00000a89: MSTORE 00000a8a: PUSH1 0x20 00000a8c: PUSH1 0x04 00000a8e: DUP3 00000a8f: ADD 00000a90: MSTORE 00000a91: PUSH1 0x2e 00000a93: PUSH1 0x24 00000a95: DUP3 00000a96: ADD 00000a97: MSTORE 00000a98: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00000ab9: PUSH1 0x44 00000abb: DUP3 00000abc: ADD 00000abd: MSTORE 00000abe: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00000acd: PUSH1 0x92 00000acf: SHL 00000ad0: PUSH1 0x64 00000ad2: DUP3 00000ad3: ADD 00000ad4: MSTORE 00000ad5: PUSH1 0x84 00000ad7: ADD 00000ad8: PUSH2 0x05e8 00000adb: JUMP 00000adc: JUMPDEST 00000add: PUSH1 0x00 00000adf: DUP1 00000ae0: SLOAD 00000ae1: PUSH1 0xff 00000ae3: NOT 00000ae4: AND 00000ae5: PUSH1 0x01 00000ae7: OR 00000ae8: SWAP1 00000ae9: SSTORE 00000aea: DUP1 00000aeb: ISZERO 00000aec: PUSH2 0x0aff 00000aef: JUMPI 00000af0: PUSH1 0x00 00000af2: DUP1 00000af3: SLOAD 00000af4: PUSH2 0xff00 00000af7: NOT 00000af8: AND 00000af9: PUSH2 0x0100 00000afc: OR 00000afd: SWAP1 00000afe: SSTORE 00000aff: JUMPDEST 00000b00: PUSH2 0x0b07 00000b03: PUSH2 0x1447 00000b06: JUMP 00000b07: JUMPDEST 00000b08: PUSH2 0x0b0f 00000b0b: PUSH2 0x1447 00000b0e: JUMP 00000b0f: JUMPDEST 00000b10: PUSH2 0x0b35 00000b13: PUSH1 0x00 00000b15: DUP1 00000b16: MLOAD 00000b17: PUSH1 0x20 00000b19: PUSH2 0x241d 00000b1c: DUP4 00000b1d: CODECOPY 00000b1e: DUP2 00000b1f: MLOAD 00000b20: SWAP2 00000b21: MSTORE 00000b22: PUSH1 0x00 00000b24: DUP1 00000b25: MLOAD 00000b26: PUSH1 0x20 00000b28: PUSH2 0x23fd 00000b2b: DUP4 00000b2c: CODECOPY 00000b2d: DUP2 00000b2e: MLOAD 00000b2f: SWAP2 00000b30: MSTORE 00000b31: PUSH2 0x14b4 00000b34: JUMP 00000b35: JUMPDEST 00000b36: PUSH2 0x0b4d 00000b39: PUSH1 0x00 00000b3b: DUP1 00000b3c: MLOAD 00000b3d: PUSH1 0x20 00000b3f: PUSH2 0x23fd 00000b42: DUP4 00000b43: CODECOPY 00000b44: DUP2 00000b45: MLOAD 00000b46: SWAP2 00000b47: MSTORE 00000b48: DUP1 00000b49: PUSH2 0x14b4 00000b4c: JUMP 00000b4d: JUMPDEST 00000b4e: PUSH1 0x00 00000b50: JUMPDEST 00000b51: DUP7 00000b52: DUP2 00000b53: LT 00000b54: ISZERO 00000b55: PUSH2 0x0bf8 00000b58: JUMPI 00000b59: PUSH1 0x00 00000b5b: DUP9 00000b5c: DUP9 00000b5d: DUP4 00000b5e: DUP2 00000b5f: DUP2 00000b60: LT 00000b61: PUSH2 0x0b6c 00000b64: JUMPI 00000b65: PUSH2 0x0b6c 00000b68: PUSH2 0x21ce 00000b6b: JUMP 00000b6c: JUMPDEST 00000b6d: SWAP1 00000b6e: POP 00000b6f: PUSH1 0x20 00000b71: MUL 00000b72: ADD 00000b73: PUSH1 0x20 00000b75: DUP2 00000b76: ADD 00000b77: SWAP1 00000b78: PUSH2 0x0b81 00000b7b: SWAP2 00000b7c: SWAP1 00000b7d: PUSH2 0x1dfa 00000b80: JUMP 00000b81: JUMPDEST 00000b82: PUSH1 0x01 00000b84: PUSH1 0x01 00000b86: PUSH1 0xa0 00000b88: SHL 00000b89: SUB 00000b8a: AND 00000b8b: SUB 00000b8c: PUSH2 0x0ba8 00000b8f: JUMPI 00000b90: PUSH1 0x40 00000b92: MLOAD 00000b93: PUSH4 0x42bcdf7f 00000b98: PUSH1 0xe1 00000b9a: SHL 00000b9b: DUP2 00000b9c: MSTORE 00000b9d: PUSH1 0x04 00000b9f: ADD 00000ba0: PUSH1 0x40 00000ba2: MLOAD 00000ba3: DUP1 00000ba4: SWAP2 00000ba5: SUB 00000ba6: SWAP1 00000ba7: REVERT 00000ba8: JUMPDEST 00000ba9: PUSH2 0x0be6 00000bac: PUSH1 0x00 00000bae: DUP1 00000baf: MLOAD 00000bb0: PUSH1 0x20 00000bb2: PUSH2 0x23fd 00000bb5: DUP4 00000bb6: CODECOPY 00000bb7: DUP2 00000bb8: MLOAD 00000bb9: SWAP2 00000bba: MSTORE 00000bbb: DUP10 00000bbc: DUP10 00000bbd: DUP5 00000bbe: DUP2 00000bbf: DUP2 00000bc0: LT 00000bc1: PUSH2 0x0bcc 00000bc4: JUMPI 00000bc5: PUSH2 0x0bcc 00000bc8: PUSH2 0x21ce 00000bcb: JUMP 00000bcc: JUMPDEST 00000bcd: SWAP1 00000bce: POP 00000bcf: PUSH1 0x20 00000bd1: MUL 00000bd2: ADD 00000bd3: PUSH1 0x20 00000bd5: DUP2 00000bd6: ADD 00000bd7: SWAP1 00000bd8: PUSH2 0x0be1 00000bdb: SWAP2 00000bdc: SWAP1 00000bdd: PUSH2 0x1dfa 00000be0: JUMP 00000be1: JUMPDEST 00000be2: PUSH2 0x11d7 00000be5: JUMP 00000be6: JUMPDEST 00000be7: DUP1 00000be8: PUSH2 0x0bf0 00000beb: DUP2 00000bec: PUSH2 0x2204 00000bef: JUMP 00000bf0: JUMPDEST 00000bf1: SWAP2 00000bf2: POP 00000bf3: POP 00000bf4: PUSH2 0x0b50 00000bf7: JUMP 00000bf8: JUMPDEST 00000bf9: POP 00000bfa: PUSH1 0x00 00000bfc: JUMPDEST 00000bfd: DUP5 00000bfe: DUP2 00000bff: LT 00000c00: ISZERO 00000c01: PUSH2 0x0c8a 00000c04: JUMPI 00000c05: PUSH1 0x00 00000c07: DUP7 00000c08: DUP7 00000c09: DUP4 00000c0a: DUP2 00000c0b: DUP2 00000c0c: LT 00000c0d: PUSH2 0x0c18 00000c10: JUMPI 00000c11: PUSH2 0x0c18 00000c14: PUSH2 0x21ce 00000c17: JUMP 00000c18: JUMPDEST 00000c19: SWAP1 00000c1a: POP 00000c1b: PUSH1 0x20 00000c1d: MUL 00000c1e: ADD 00000c1f: PUSH1 0x20 00000c21: DUP2 00000c22: ADD 00000c23: SWAP1 00000c24: PUSH2 0x0c2d 00000c27: SWAP2 00000c28: SWAP1 00000c29: PUSH2 0x1dfa 00000c2c: JUMP 00000c2d: JUMPDEST 00000c2e: PUSH1 0x01 00000c30: PUSH1 0x01 00000c32: PUSH1 0xa0 00000c34: SHL 00000c35: SUB 00000c36: AND 00000c37: SUB 00000c38: PUSH2 0x0c54 00000c3b: JUMPI 00000c3c: PUSH1 0x40 00000c3e: MLOAD 00000c3f: PUSH4 0x42bcdf7f 00000c44: PUSH1 0xe1 00000c46: SHL 00000c47: DUP2 00000c48: MSTORE 00000c49: PUSH1 0x04 00000c4b: ADD 00000c4c: PUSH1 0x40 00000c4e: MLOAD 00000c4f: DUP1 00000c50: SWAP2 00000c51: SUB 00000c52: SWAP1 00000c53: REVERT 00000c54: JUMPDEST 00000c55: PUSH2 0x0c78 00000c58: PUSH1 0x00 00000c5a: DUP1 00000c5b: MLOAD 00000c5c: PUSH1 0x20 00000c5e: PUSH2 0x241d 00000c61: DUP4 00000c62: CODECOPY 00000c63: DUP2 00000c64: MLOAD 00000c65: SWAP2 00000c66: MSTORE 00000c67: DUP8 00000c68: DUP8 00000c69: DUP5 00000c6a: DUP2 00000c6b: DUP2 00000c6c: LT 00000c6d: PUSH2 0x0bcc 00000c70: JUMPI 00000c71: PUSH2 0x0bcc 00000c74: PUSH2 0x21ce 00000c77: JUMP 00000c78: JUMPDEST 00000c79: DUP1 00000c7a: PUSH2 0x0c82 00000c7d: DUP2 00000c7e: PUSH2 0x2204 00000c81: JUMP 00000c82: JUMPDEST 00000c83: SWAP2 00000c84: POP 00000c85: POP 00000c86: PUSH2 0x0bfc 00000c89: JUMP 00000c8a: JUMPDEST 00000c8b: POP 00000c8c: PUSH1 0x00 00000c8e: JUMPDEST 00000c8f: DUP3 00000c90: DUP2 00000c91: LT 00000c92: ISZERO 00000c93: PUSH2 0x0d4d 00000c96: JUMPI 00000c97: PUSH1 0x00 00000c99: DUP5 00000c9a: DUP5 00000c9b: DUP4 00000c9c: DUP2 00000c9d: DUP2 00000c9e: LT 00000c9f: PUSH2 0x0caa 00000ca2: JUMPI 00000ca3: PUSH2 0x0caa 00000ca6: PUSH2 0x21ce 00000ca9: JUMP 00000caa: JUMPDEST 00000cab: SWAP1 00000cac: POP 00000cad: PUSH1 0x20 00000caf: MUL 00000cb0: ADD 00000cb1: PUSH1 0x20 00000cb3: DUP2 00000cb4: ADD 00000cb5: SWAP1 00000cb6: PUSH2 0x0cbf 00000cb9: SWAP2 00000cba: SWAP1 00000cbb: PUSH2 0x1dfa 00000cbe: JUMP 00000cbf: JUMPDEST 00000cc0: PUSH1 0x01 00000cc2: PUSH1 0x01 00000cc4: PUSH1 0xa0 00000cc6: SHL 00000cc7: SUB 00000cc8: AND 00000cc9: SUB 00000cca: PUSH2 0x0ce6 00000ccd: JUMPI 00000cce: PUSH1 0x40 00000cd0: MLOAD 00000cd1: PUSH4 0x42bcdf7f 00000cd6: PUSH1 0xe1 00000cd8: SHL 00000cd9: DUP2 00000cda: MSTORE 00000cdb: PUSH1 0x04 00000cdd: ADD 00000cde: PUSH1 0x40 00000ce0: MLOAD 00000ce1: DUP1 00000ce2: SWAP2 00000ce3: SUB 00000ce4: SWAP1 00000ce5: REVERT 00000ce6: JUMPDEST 00000ce7: PUSH1 0x01 00000ce9: PUSH1 0xfb 00000ceb: PUSH1 0x00 00000ced: DUP7 00000cee: DUP7 00000cef: DUP6 00000cf0: DUP2 00000cf1: DUP2 00000cf2: LT 00000cf3: PUSH2 0x0cfe 00000cf6: JUMPI 00000cf7: PUSH2 0x0cfe 00000cfa: PUSH2 0x21ce 00000cfd: JUMP 00000cfe: JUMPDEST 00000cff: SWAP1 00000d00: POP 00000d01: PUSH1 0x20 00000d03: MUL 00000d04: ADD 00000d05: PUSH1 0x20 00000d07: DUP2 00000d08: ADD 00000d09: SWAP1 00000d0a: PUSH2 0x0d13 00000d0d: SWAP2 00000d0e: SWAP1 00000d0f: PUSH2 0x1dfa 00000d12: JUMP 00000d13: JUMPDEST 00000d14: PUSH1 0x01 00000d16: PUSH1 0x01 00000d18: PUSH1 0xa0 00000d1a: SHL 00000d1b: SUB 00000d1c: AND 00000d1d: DUP2 00000d1e: MSTORE 00000d1f: PUSH1 0x20 00000d21: DUP2 00000d22: ADD 00000d23: SWAP2 00000d24: SWAP1 00000d25: SWAP2 00000d26: MSTORE 00000d27: PUSH1 0x40 00000d29: ADD 00000d2a: PUSH1 0x00 00000d2c: KECCAK256 00000d2d: DUP1 00000d2e: SLOAD 00000d2f: PUSH1 0xff 00000d31: NOT 00000d32: AND 00000d33: SWAP2 00000d34: ISZERO 00000d35: ISZERO 00000d36: SWAP2 00000d37: SWAP1 00000d38: SWAP2 00000d39: OR 00000d3a: SWAP1 00000d3b: SSTORE 00000d3c: DUP1 00000d3d: PUSH2 0x0d45 00000d40: DUP2 00000d41: PUSH2 0x2204 00000d44: JUMP 00000d45: JUMPDEST 00000d46: SWAP2 00000d47: POP 00000d48: POP 00000d49: PUSH2 0x0c8e 00000d4c: JUMP 00000d4d: JUMPDEST 00000d4e: POP 00000d4f: DUP1 00000d50: ISZERO 00000d51: PUSH2 0x0d94 00000d54: JUMPI 00000d55: PUSH1 0x00 00000d57: DUP1 00000d58: SLOAD 00000d59: PUSH2 0xff00 00000d5c: NOT 00000d5d: AND 00000d5e: SWAP1 00000d5f: SSTORE 00000d60: PUSH1 0x40 00000d62: MLOAD 00000d63: PUSH1 0x01 00000d65: DUP2 00000d66: MSTORE 00000d67: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000d88: SWAP1 00000d89: PUSH1 0x20 00000d8b: ADD 00000d8c: PUSH1 0x40 00000d8e: MLOAD 00000d8f: DUP1 00000d90: SWAP2 00000d91: SUB 00000d92: SWAP1 00000d93: LOG1 00000d94: JUMPDEST 00000d95: POP 00000d96: POP 00000d97: POP 00000d98: POP 00000d99: POP 00000d9a: POP 00000d9b: POP 00000d9c: JUMP 00000d9d: JUMPDEST 00000d9e: PUSH1 0x01 00000da0: PUSH1 0x01 00000da2: PUSH1 0xa0 00000da4: SHL 00000da5: SUB 00000da6: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b 00000dc7: AND 00000dc8: ADDRESS 00000dc9: SUB 00000dca: PUSH2 0x0de5 00000dcd: JUMPI 00000dce: PUSH1 0x40 00000dd0: MLOAD 00000dd1: PUSH3 0x461bcd 00000dd5: PUSH1 0xe5 00000dd7: SHL 00000dd8: DUP2 00000dd9: MSTORE 00000dda: PUSH1 0x04 00000ddc: ADD 00000ddd: PUSH2 0x05e8 00000de0: SWAP1 00000de1: PUSH2 0x221d 00000de4: JUMP 00000de5: JUMPDEST 00000de6: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b 00000e07: PUSH1 0x01 00000e09: PUSH1 0x01 00000e0b: PUSH1 0xa0 00000e0d: SHL 00000e0e: SUB 00000e0f: AND 00000e10: PUSH2 0x0e2e 00000e13: PUSH1 0x00 00000e15: DUP1 00000e16: MLOAD 00000e17: PUSH1 0x20 00000e19: PUSH2 0x238d 00000e1c: DUP4 00000e1d: CODECOPY 00000e1e: DUP2 00000e1f: MLOAD 00000e20: SWAP2 00000e21: MSTORE 00000e22: SLOAD 00000e23: PUSH1 0x01 00000e25: PUSH1 0x01 00000e27: PUSH1 0xa0 00000e29: SHL 00000e2a: SUB 00000e2b: AND 00000e2c: SWAP1 00000e2d: JUMP 00000e2e: JUMPDEST 00000e2f: PUSH1 0x01 00000e31: PUSH1 0x01 00000e33: PUSH1 0xa0 00000e35: SHL 00000e36: SUB 00000e37: AND 00000e38: EQ 00000e39: PUSH2 0x0e54 00000e3c: JUMPI 00000e3d: PUSH1 0x40 00000e3f: MLOAD 00000e40: PUSH3 0x461bcd 00000e44: PUSH1 0xe5 00000e46: SHL 00000e47: DUP2 00000e48: MSTORE 00000e49: PUSH1 0x04 00000e4b: ADD 00000e4c: PUSH2 0x05e8 00000e4f: SWAP1 00000e50: PUSH2 0x2269 00000e53: JUMP 00000e54: JUMPDEST 00000e55: PUSH2 0x0e5d 00000e58: DUP3 00000e59: PUSH2 0x12c4 00000e5c: JUMP 00000e5d: JUMPDEST 00000e5e: PUSH2 0x095c 00000e61: DUP3 00000e62: DUP3 00000e63: PUSH1 0x01 00000e65: PUSH2 0x12dc 00000e68: JUMP 00000e69: JUMPDEST 00000e6a: PUSH1 0x00 00000e6c: ADDRESS 00000e6d: PUSH1 0x01 00000e6f: PUSH1 0x01 00000e71: PUSH1 0xa0 00000e73: SHL 00000e74: SUB 00000e75: PUSH32 0x00000000000000000000000075161367fcac81482706d119ceedf8ef9a26fb8b 00000e96: AND 00000e97: EQ 00000e98: PUSH2 0x0f09 00000e9b: JUMPI 00000e9c: PUSH1 0x40 00000e9e: MLOAD 00000e9f: PUSH3 0x461bcd 00000ea3: PUSH1 0xe5 00000ea5: SHL 00000ea6: DUP2 00000ea7: MSTORE 00000ea8: PUSH1 0x20 00000eaa: PUSH1 0x04 00000eac: DUP3 00000ead: ADD 00000eae: MSTORE 00000eaf: PUSH1 0x38 00000eb1: PUSH1 0x24 00000eb3: DUP3 00000eb4: ADD 00000eb5: MSTORE 00000eb6: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c 00000ed7: PUSH1 0x44 00000ed9: DUP3 00000eda: ADD 00000edb: MSTORE 00000edc: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000 00000efd: PUSH1 0x64 00000eff: DUP3 00000f00: ADD 00000f01: MSTORE 00000f02: PUSH1 0x84 00000f04: ADD 00000f05: PUSH2 0x05e8 00000f08: JUMP 00000f09: JUMPDEST 00000f0a: POP 00000f0b: PUSH1 0x00 00000f0d: DUP1 00000f0e: MLOAD 00000f0f: PUSH1 0x20 00000f11: PUSH2 0x238d 00000f14: DUP4 00000f15: CODECOPY 00000f16: DUP2 00000f17: MLOAD 00000f18: SWAP2 00000f19: MSTORE 00000f1a: SWAP1 00000f1b: JUMP 00000f1c: JUMPDEST 00000f1d: PUSH1 0x00 00000f1f: DUP1 00000f20: MLOAD 00000f21: PUSH1 0x20 00000f23: PUSH2 0x23fd 00000f26: DUP4 00000f27: CODECOPY 00000f28: DUP2 00000f29: MLOAD 00000f2a: SWAP2 00000f2b: MSTORE 00000f2c: PUSH2 0x0f34 00000f2f: DUP2 00000f30: PUSH2 0x1068 00000f33: JUMP 00000f34: JUMPDEST 00000f35: PUSH1 0x01 00000f37: PUSH1 0x01 00000f39: PUSH1 0xa0 00000f3b: SHL 00000f3c: SUB 00000f3d: DUP3 00000f3e: AND 00000f3f: EXTCODESIZE 00000f40: PUSH2 0x0f5c 00000f43: JUMPI 00000f44: PUSH1 0x40 00000f46: MLOAD 00000f47: PUSH4 0x4aa4cf51 00000f4c: PUSH1 0xe0 00000f4e: SHL 00000f4f: DUP2 00000f50: MSTORE 00000f51: PUSH1 0x04 00000f53: ADD 00000f54: PUSH1 0x40 00000f56: MLOAD 00000f57: DUP1 00000f58: SWAP2 00000f59: SUB 00000f5a: SWAP1 00000f5b: REVERT 00000f5c: JUMPDEST 00000f5d: POP 00000f5e: PUSH1 0x01 00000f60: PUSH1 0x01 00000f62: PUSH1 0xa0 00000f64: SHL 00000f65: SUB 00000f66: AND 00000f67: PUSH1 0x00 00000f69: SWAP1 00000f6a: DUP2 00000f6b: MSTORE 00000f6c: PUSH1 0xfb 00000f6e: PUSH1 0x20 00000f70: MSTORE 00000f71: PUSH1 0x40 00000f73: SWAP1 00000f74: KECCAK256 00000f75: DUP1 00000f76: SLOAD 00000f77: PUSH1 0xff 00000f79: NOT 00000f7a: AND 00000f7b: PUSH1 0x01 00000f7d: OR 00000f7e: SWAP1 00000f7f: SSTORE 00000f80: JUMP 00000f81: JUMPDEST 00000f82: PUSH1 0x00 00000f84: DUP1 00000f85: MLOAD 00000f86: PUSH1 0x20 00000f88: PUSH2 0x241d 00000f8b: DUP4 00000f8c: CODECOPY 00000f8d: DUP2 00000f8e: MLOAD 00000f8f: SWAP2 00000f90: MSTORE 00000f91: PUSH2 0x0f99 00000f94: DUP2 00000f95: PUSH2 0x1068 00000f98: JUMP 00000f99: JUMPDEST 00000f9a: PUSH2 0x095c 00000f9d: PUSH2 0x0fa9 00000fa0: PUSH1 0x20 00000fa2: DUP5 00000fa3: ADD 00000fa4: DUP5 00000fa5: PUSH2 0x1dfa 00000fa8: JUMP 00000fa9: JUMPDEST 00000faa: PUSH1 0x20 00000fac: DUP5 00000fad: ADD 00000fae: CALLDATALOAD 00000faf: PUSH2 0x071f 00000fb2: PUSH1 0x40 00000fb4: DUP7 00000fb5: ADD 00000fb6: DUP7 00000fb7: PUSH2 0x2187 00000fba: JUMP 00000fbb: JUMPDEST 00000fbc: PUSH1 0x00 00000fbe: DUP1 00000fbf: MLOAD 00000fc0: PUSH1 0x20 00000fc2: PUSH2 0x23fd 00000fc5: DUP4 00000fc6: CODECOPY 00000fc7: DUP2 00000fc8: MLOAD 00000fc9: SWAP2 00000fca: MSTORE 00000fcb: PUSH2 0x0fd3 00000fce: DUP2 00000fcf: PUSH2 0x1068 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: PUSH2 0x08dc 00000fd7: DUP5 00000fd8: DUP5 00000fd9: DUP5 00000fda: PUSH2 0x14ff 00000fdd: JUMP 00000fde: JUMPDEST 00000fdf: PUSH1 0x00 00000fe1: SWAP2 00000fe2: DUP3 00000fe3: MSTORE 00000fe4: PUSH1 0x65 00000fe6: PUSH1 0x20 00000fe8: SWAP1 00000fe9: DUP2 00000fea: MSTORE 00000feb: PUSH1 0x40 00000fed: DUP1 00000fee: DUP5 00000fef: KECCAK256 00000ff0: PUSH1 0x01 00000ff2: PUSH1 0x01 00000ff4: PUSH1 0xa0 00000ff6: SHL 00000ff7: SUB 00000ff8: SWAP4 00000ff9: SWAP1 00000ffa: SWAP4 00000ffb: AND 00000ffc: DUP5 00000ffd: MSTORE 00000ffe: SWAP2 00000fff: SWAP1 00001000: MSTORE 00001001: SWAP1 00001002: KECCAK256 00001003: SLOAD 00001004: PUSH1 0xff 00001006: AND 00001007: SWAP1 00001008: JUMP 00001009: JUMPDEST 0000100a: PUSH1 0x00 0000100c: DUP3 0000100d: DUP2 0000100e: MSTORE 0000100f: PUSH1 0x65 00001011: PUSH1 0x20 00001013: MSTORE 00001014: PUSH1 0x40 00001016: SWAP1 00001017: KECCAK256 00001018: PUSH1 0x01 0000101a: ADD 0000101b: SLOAD 0000101c: PUSH2 0x1024 0000101f: DUP2 00001020: PUSH2 0x1068 00001023: JUMP 00001024: JUMPDEST 00001025: PUSH2 0x0813 00001028: DUP4 00001029: DUP4 0000102a: PUSH2 0x125d 0000102d: JUMP 0000102e: JUMPDEST 0000102f: PUSH1 0x00 00001031: DUP1 00001032: MLOAD 00001033: PUSH1 0x20 00001035: PUSH2 0x241d 00001038: DUP4 00001039: CODECOPY 0000103a: DUP2 0000103b: MLOAD 0000103c: SWAP2 0000103d: MSTORE 0000103e: PUSH2 0x0fd3 00001041: DUP2 00001042: PUSH2 0x1068 00001045: JUMP 00001046: JUMPDEST 00001047: PUSH1 0x00 00001049: DUP1 0000104a: MLOAD 0000104b: PUSH1 0x20 0000104d: PUSH2 0x23fd 00001050: DUP4 00001051: CODECOPY 00001052: DUP2 00001053: MLOAD 00001054: SWAP2 00001055: MSTORE 00001056: PUSH2 0x105e 00001059: DUP2 0000105a: PUSH2 0x1068 0000105d: JUMP 0000105e: JUMPDEST 0000105f: PUSH2 0x0813 00001062: DUP4 00001063: DUP4 00001064: PUSH2 0x15e3 00001067: JUMP 00001068: JUMPDEST 00001069: PUSH2 0x0a3c 0000106c: DUP2 0000106d: CALLER 0000106e: PUSH2 0x16fc 00001071: JUMP 00001072: JUMPDEST 00001073: PUSH1 0x40 00001075: MLOAD 00001076: PUSH4 0x6eb1769f 0000107b: PUSH1 0xe1 0000107d: SHL 0000107e: DUP2 0000107f: MSTORE 00001080: ADDRESS 00001081: PUSH1 0x04 00001083: DUP3 00001084: ADD 00001085: MSTORE 00001086: PUSH1 0x01 00001088: PUSH1 0x01 0000108a: PUSH1 0xa0 0000108c: SHL 0000108d: SUB 0000108e: DUP4 0000108f: DUP2 00001090: AND 00001091: PUSH1 0x24 00001093: DUP4 00001094: ADD 00001095: MSTORE 00001096: PUSH1 0x00 00001098: SWAP2 00001099: SWAP1 0000109a: DUP6 0000109b: AND 0000109c: SWAP1 0000109d: PUSH4 0xdd62ed3e 000010a2: SWAP1 000010a3: PUSH1 0x44 000010a5: ADD 000010a6: PUSH1 0x20 000010a8: PUSH1 0x40 000010aa: MLOAD 000010ab: DUP1 000010ac: DUP4 000010ad: SUB 000010ae: DUP2 000010af: DUP7 000010b0: GAS 000010b1: STATICCALL 000010b2: ISZERO 000010b3: DUP1 000010b4: ISZERO 000010b5: PUSH2 0x10c2 000010b8: JUMPI 000010b9: RETURNDATASIZE 000010ba: PUSH1 0x00 000010bc: DUP1 000010bd: RETURNDATACOPY 000010be: RETURNDATASIZE 000010bf: PUSH1 0x00 000010c1: REVERT 000010c2: JUMPDEST 000010c3: POP 000010c4: POP 000010c5: POP 000010c6: POP 000010c7: PUSH1 0x40 000010c9: MLOAD 000010ca: RETURNDATASIZE 000010cb: PUSH1 0x1f 000010cd: NOT 000010ce: PUSH1 0x1f 000010d0: DUP3 000010d1: ADD 000010d2: AND 000010d3: DUP3 000010d4: ADD 000010d5: DUP1 000010d6: PUSH1 0x40 000010d8: MSTORE 000010d9: POP 000010da: DUP2 000010db: ADD 000010dc: SWAP1 000010dd: PUSH2 0x10e6 000010e0: SWAP2 000010e1: SWAP1 000010e2: PUSH2 0x2145 000010e5: JUMP 000010e6: JUMPDEST 000010e7: SWAP1 000010e8: POP 000010e9: PUSH2 0x08dc 000010ec: DUP5 000010ed: PUSH4 0x095ea7b3 000010f2: PUSH1 0xe0 000010f4: SHL 000010f5: DUP6 000010f6: PUSH2 0x10ff 000010f9: DUP7 000010fa: DUP7 000010fb: PUSH2 0x2174 000010fe: JUMP 000010ff: JUMPDEST 00001100: PUSH1 0x40 00001102: MLOAD 00001103: PUSH1 0x01 00001105: PUSH1 0x01 00001107: PUSH1 0xa0 00001109: SHL 0000110a: SUB 0000110b: SWAP1 0000110c: SWAP3 0000110d: AND 0000110e: PUSH1 0x24 00001110: DUP4 00001111: ADD 00001112: MSTORE 00001113: PUSH1 0x44 00001115: DUP3 00001116: ADD 00001117: MSTORE 00001118: PUSH1 0x64 0000111a: ADD 0000111b: JUMPDEST 0000111c: PUSH1 0x40 0000111e: DUP1 0000111f: MLOAD 00001120: PUSH1 0x1f 00001122: NOT 00001123: DUP2 00001124: DUP5 00001125: SUB 00001126: ADD 00001127: DUP2 00001128: MSTORE 00001129: SWAP2 0000112a: SWAP1 0000112b: MSTORE 0000112c: PUSH1 0x20 0000112e: DUP2 0000112f: ADD 00001130: DUP1 00001131: MLOAD 00001132: PUSH1 0x01 00001134: PUSH1 0x01 00001136: PUSH1 0xe0 00001138: SHL 00001139: SUB 0000113a: AND 0000113b: PUSH1 0x01 0000113d: PUSH1 0x01 0000113f: PUSH1 0xe0 00001141: SHL 00001142: SUB 00001143: NOT 00001144: SWAP1 00001145: SWAP4 00001146: AND 00001147: SWAP3 00001148: SWAP1 00001149: SWAP3 0000114a: OR 0000114b: SWAP1 0000114c: SWAP2 0000114d: MSTORE 0000114e: PUSH2 0x1755 00001151: JUMP 00001152: JUMPDEST 00001153: PUSH1 0x01 00001155: PUSH1 0x01 00001157: PUSH1 0xa0 00001159: SHL 0000115a: SUB 0000115b: DUP5 0000115c: AND 0000115d: PUSH1 0x00 0000115f: SWAP1 00001160: DUP2 00001161: MSTORE 00001162: PUSH1 0xfb 00001164: PUSH1 0x20 00001166: MSTORE 00001167: PUSH1 0x40 00001169: SWAP1 0000116a: KECCAK256 0000116b: SLOAD 0000116c: PUSH1 0xff 0000116e: AND 0000116f: ISZERO 00001170: PUSH2 0x118c 00001173: JUMPI 00001174: PUSH1 0x40 00001176: MLOAD 00001177: PUSH4 0x20324605 0000117c: PUSH1 0xe0 0000117e: SHL 0000117f: DUP2 00001180: MSTORE 00001181: PUSH1 0x04 00001183: ADD 00001184: PUSH1 0x40 00001186: MLOAD 00001187: DUP1 00001188: SWAP2 00001189: SUB 0000118a: SWAP1 0000118b: REVERT 0000118c: JUMPDEST 0000118d: PUSH2 0x07e7 00001190: DUP3 00001191: DUP3 00001192: DUP1 00001193: DUP1 00001194: PUSH1 0x1f 00001196: ADD 00001197: PUSH1 0x20 00001199: DUP1 0000119a: SWAP2 0000119b: DIV 0000119c: MUL 0000119d: PUSH1 0x20 0000119f: ADD 000011a0: PUSH1 0x40 000011a2: MLOAD 000011a3: SWAP1 000011a4: DUP2 000011a5: ADD 000011a6: PUSH1 0x40 000011a8: MSTORE 000011a9: DUP1 000011aa: SWAP4 000011ab: SWAP3 000011ac: SWAP2 000011ad: SWAP1 000011ae: DUP2 000011af: DUP2 000011b0: MSTORE 000011b1: PUSH1 0x20 000011b3: ADD 000011b4: DUP4 000011b5: DUP4 000011b6: DUP1 000011b7: DUP3 000011b8: DUP5 000011b9: CALLDATACOPY 000011ba: PUSH1 0x00 000011bc: SWAP3 000011bd: ADD 000011be: SWAP2 000011bf: SWAP1 000011c0: SWAP2 000011c1: MSTORE 000011c2: POP 000011c3: POP 000011c4: POP 000011c5: PUSH1 0x01 000011c7: PUSH1 0x01 000011c9: PUSH1 0xa0 000011cb: SHL 000011cc: SUB 000011cd: DUP8 000011ce: AND 000011cf: SWAP2 000011d0: SWAP1 000011d1: POP 000011d2: DUP6 000011d3: PUSH2 0x182a 000011d6: JUMP 000011d7: JUMPDEST 000011d8: PUSH2 0x11e1 000011db: DUP3 000011dc: DUP3 000011dd: PUSH2 0x0fde 000011e0: JUMP 000011e1: JUMPDEST 000011e2: PUSH2 0x095c 000011e5: JUMPI 000011e6: PUSH1 0x00 000011e8: DUP3 000011e9: DUP2 000011ea: MSTORE 000011eb: PUSH1 0x65 000011ed: PUSH1 0x20 000011ef: SWAP1 000011f0: DUP2 000011f1: MSTORE 000011f2: PUSH1 0x40 000011f4: DUP1 000011f5: DUP4 000011f6: KECCAK256 000011f7: PUSH1 0x01 000011f9: PUSH1 0x01 000011fb: PUSH1 0xa0 000011fd: SHL 000011fe: SUB 000011ff: DUP6 00001200: AND 00001201: DUP5 00001202: MSTORE 00001203: SWAP1 00001204: SWAP2 00001205: MSTORE 00001206: SWAP1 00001207: KECCAK256 00001208: DUP1 00001209: SLOAD 0000120a: PUSH1 0xff 0000120c: NOT 0000120d: AND 0000120e: PUSH1 0x01 00001210: OR 00001211: SWAP1 00001212: SSTORE 00001213: PUSH2 0x1219 00001216: CALLER 00001217: SWAP1 00001218: JUMP 00001219: JUMPDEST 0000121a: PUSH1 0x01 0000121c: PUSH1 0x01 0000121e: PUSH1 0xa0 00001220: SHL 00001221: SUB 00001222: AND 00001223: DUP2 00001224: PUSH1 0x01 00001226: PUSH1 0x01 00001228: PUSH1 0xa0 0000122a: SHL 0000122b: SUB 0000122c: AND 0000122d: DUP4 0000122e: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 0000124f: PUSH1 0x40 00001251: MLOAD 00001252: PUSH1 0x40 00001254: MLOAD 00001255: DUP1 00001256: SWAP2 00001257: SUB 00001258: SWAP1 00001259: LOG4 0000125a: POP 0000125b: POP 0000125c: JUMP 0000125d: JUMPDEST 0000125e: PUSH2 0x1267 00001261: DUP3 00001262: DUP3 00001263: PUSH2 0x0fde 00001266: JUMP 00001267: JUMPDEST 00001268: ISZERO 00001269: PUSH2 0x095c 0000126c: JUMPI 0000126d: PUSH1 0x00 0000126f: DUP3 00001270: DUP2 00001271: MSTORE 00001272: PUSH1 0x65 00001274: PUSH1 0x20 00001276: SWAP1 00001277: DUP2 00001278: MSTORE 00001279: PUSH1 0x40 0000127b: DUP1 0000127c: DUP4 0000127d: KECCAK256 0000127e: PUSH1 0x01 00001280: PUSH1 0x01 00001282: PUSH1 0xa0 00001284: SHL 00001285: SUB 00001286: DUP6 00001287: AND 00001288: DUP1 00001289: DUP6 0000128a: MSTORE 0000128b: SWAP3 0000128c: MSTORE 0000128d: DUP1 0000128e: DUP4 0000128f: KECCAK256 00001290: DUP1 00001291: SLOAD 00001292: PUSH1 0xff 00001294: NOT 00001295: AND 00001296: SWAP1 00001297: SSTORE 00001298: MLOAD 00001299: CALLER 0000129a: SWAP3 0000129b: DUP6 0000129c: SWAP2 0000129d: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 000012be: SWAP2 000012bf: SWAP1 000012c0: LOG4 000012c1: POP 000012c2: POP 000012c3: JUMP 000012c4: JUMPDEST 000012c5: PUSH1 0x00 000012c7: DUP1 000012c8: MLOAD 000012c9: PUSH1 0x20 000012cb: PUSH2 0x23fd 000012ce: DUP4 000012cf: CODECOPY 000012d0: DUP2 000012d1: MLOAD 000012d2: SWAP2 000012d3: MSTORE 000012d4: PUSH2 0x095c 000012d7: DUP2 000012d8: PUSH2 0x1068 000012db: JUMP 000012dc: JUMPDEST 000012dd: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143 000012fe: SLOAD 000012ff: PUSH1 0xff 00001301: AND 00001302: ISZERO 00001303: PUSH2 0x130f 00001306: JUMPI 00001307: PUSH2 0x0813 0000130a: DUP4 0000130b: PUSH2 0x1858 0000130e: JUMP 0000130f: JUMPDEST 00001310: DUP3 00001311: PUSH1 0x01 00001313: PUSH1 0x01 00001315: PUSH1 0xa0 00001317: SHL 00001318: SUB 00001319: AND 0000131a: PUSH4 0x52d1902d 0000131f: PUSH1 0x40 00001321: MLOAD 00001322: DUP2 00001323: PUSH4 0xffffffff 00001328: AND 00001329: PUSH1 0xe0 0000132b: SHL 0000132c: DUP2 0000132d: MSTORE 0000132e: PUSH1 0x04 00001330: ADD 00001331: PUSH1 0x20 00001333: PUSH1 0x40 00001335: MLOAD 00001336: DUP1 00001337: DUP4 00001338: SUB 00001339: DUP2 0000133a: DUP7 0000133b: GAS 0000133c: STATICCALL 0000133d: SWAP3 0000133e: POP 0000133f: POP 00001340: POP 00001341: DUP1 00001342: ISZERO 00001343: PUSH2 0x1369 00001346: JUMPI 00001347: POP 00001348: PUSH1 0x40 0000134a: DUP1 0000134b: MLOAD 0000134c: PUSH1 0x1f 0000134e: RETURNDATASIZE 0000134f: SWAP1 00001350: DUP2 00001351: ADD 00001352: PUSH1 0x1f 00001354: NOT 00001355: AND 00001356: DUP3 00001357: ADD 00001358: SWAP1 00001359: SWAP3 0000135a: MSTORE 0000135b: PUSH2 0x1366 0000135e: SWAP2 0000135f: DUP2 00001360: ADD 00001361: SWAP1 00001362: PUSH2 0x2145 00001365: JUMP 00001366: JUMPDEST 00001367: PUSH1 0x01 00001369: JUMPDEST 0000136a: PUSH2 0x13cc 0000136d: JUMPI 0000136e: PUSH1 0x40 00001370: MLOAD 00001371: PUSH3 0x461bcd 00001375: PUSH1 0xe5 00001377: SHL 00001378: DUP2 00001379: MSTORE 0000137a: PUSH1 0x20 0000137c: PUSH1 0x04 0000137e: DUP3 0000137f: ADD 00001380: MSTORE 00001381: PUSH1 0x2e 00001383: PUSH1 0x24 00001385: DUP3 00001386: ADD 00001387: MSTORE 00001388: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469 000013a9: PUSH1 0x44 000013ab: DUP3 000013ac: ADD 000013ad: MSTORE 000013ae: PUSH14 0x6f6e206973206e6f742055555053 000013bd: PUSH1 0x90 000013bf: SHL 000013c0: PUSH1 0x64 000013c2: DUP3 000013c3: ADD 000013c4: MSTORE 000013c5: PUSH1 0x84 000013c7: ADD 000013c8: PUSH2 0x05e8 000013cb: JUMP 000013cc: JUMPDEST 000013cd: PUSH1 0x00 000013cf: DUP1 000013d0: MLOAD 000013d1: PUSH1 0x20 000013d3: PUSH2 0x238d 000013d6: DUP4 000013d7: CODECOPY 000013d8: DUP2 000013d9: MLOAD 000013da: SWAP2 000013db: MSTORE 000013dc: DUP2 000013dd: EQ 000013de: PUSH2 0x143b 000013e1: JUMPI 000013e2: PUSH1 0x40 000013e4: MLOAD 000013e5: PUSH3 0x461bcd 000013e9: PUSH1 0xe5 000013eb: SHL 000013ec: DUP2 000013ed: MSTORE 000013ee: PUSH1 0x20 000013f0: PUSH1 0x04 000013f2: DUP3 000013f3: ADD 000013f4: MSTORE 000013f5: PUSH1 0x29 000013f7: PUSH1 0x24 000013f9: DUP3 000013fa: ADD 000013fb: MSTORE 000013fc: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78 0000141d: PUSH1 0x44 0000141f: DUP3 00001420: ADD 00001421: MSTORE 00001422: PUSH9 0x1a58589b1955555251 0000142c: PUSH1 0xba 0000142e: SHL 0000142f: PUSH1 0x64 00001431: DUP3 00001432: ADD 00001433: MSTORE 00001434: PUSH1 0x84 00001436: ADD 00001437: PUSH2 0x05e8 0000143a: JUMP 0000143b: JUMPDEST 0000143c: POP 0000143d: PUSH2 0x0813 00001440: DUP4 00001441: DUP4 00001442: DUP4 00001443: PUSH2 0x18f4 00001446: JUMP 00001447: JUMPDEST 00001448: PUSH1 0x00 0000144a: SLOAD 0000144b: PUSH2 0x0100 0000144e: SWAP1 0000144f: DIV 00001450: PUSH1 0xff 00001452: AND 00001453: PUSH2 0x14b2 00001456: JUMPI 00001457: PUSH1 0x40 00001459: MLOAD 0000145a: PUSH3 0x461bcd 0000145e: PUSH1 0xe5 00001460: SHL 00001461: DUP2 00001462: MSTORE 00001463: PUSH1 0x20 00001465: PUSH1 0x04 00001467: DUP3 00001468: ADD 00001469: MSTORE 0000146a: PUSH1 0x2b 0000146c: PUSH1 0x24 0000146e: DUP3 0000146f: ADD 00001470: MSTORE 00001471: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00001492: PUSH1 0x44 00001494: DUP3 00001495: ADD 00001496: MSTORE 00001497: PUSH11 0x6e697469616c697a696e67 000014a3: PUSH1 0xa8 000014a5: SHL 000014a6: PUSH1 0x64 000014a8: DUP3 000014a9: ADD 000014aa: MSTORE 000014ab: PUSH1 0x84 000014ad: ADD 000014ae: PUSH2 0x05e8 000014b1: JUMP 000014b2: JUMPDEST 000014b3: JUMP 000014b4: JUMPDEST 000014b5: PUSH1 0x00 000014b7: DUP3 000014b8: DUP2 000014b9: MSTORE 000014ba: PUSH1 0x65 000014bc: PUSH1 0x20 000014be: MSTORE 000014bf: PUSH1 0x40 000014c1: DUP1 000014c2: DUP3 000014c3: KECCAK256 000014c4: PUSH1 0x01 000014c6: ADD 000014c7: DUP1 000014c8: SLOAD 000014c9: SWAP1 000014ca: DUP5 000014cb: SWAP1 000014cc: SSTORE 000014cd: SWAP1 000014ce: MLOAD 000014cf: SWAP1 000014d0: SWAP2 000014d1: DUP4 000014d2: SWAP2 000014d3: DUP4 000014d4: SWAP2 000014d5: DUP7 000014d6: SWAP2 000014d7: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff 000014f8: SWAP2 000014f9: SWAP1 000014fa: LOG4 000014fb: POP 000014fc: POP 000014fd: POP 000014fe: JUMP 000014ff: JUMPDEST 00001500: PUSH1 0x01 00001502: PUSH1 0x01 00001504: PUSH1 0xa0 00001506: SHL 00001507: SUB 00001508: DUP4 00001509: AND 0000150a: PUSH1 0x00 0000150c: SWAP1 0000150d: DUP2 0000150e: MSTORE 0000150f: PUSH1 0xfb 00001511: PUSH1 0x20 00001513: MSTORE 00001514: PUSH1 0x40 00001516: SWAP1 00001517: KECCAK256 00001518: SLOAD 00001519: PUSH1 0xff 0000151b: AND 0000151c: PUSH2 0x1538 0000151f: JUMPI 00001520: PUSH1 0x40 00001522: MLOAD 00001523: PUSH4 0x514e24c3 00001528: PUSH1 0xe1 0000152a: SHL 0000152b: DUP2 0000152c: MSTORE 0000152d: PUSH1 0x04 0000152f: ADD 00001530: PUSH1 0x40 00001532: MLOAD 00001533: DUP1 00001534: SWAP2 00001535: SUB 00001536: SWAP1 00001537: REVERT 00001538: JUMPDEST 00001539: PUSH1 0x40 0000153b: MLOAD 0000153c: PUSH4 0x70a08231 00001541: PUSH1 0xe0 00001543: SHL 00001544: DUP2 00001545: MSTORE 00001546: ADDRESS 00001547: PUSH1 0x04 00001549: DUP3 0000154a: ADD 0000154b: MSTORE 0000154c: PUSH1 0x00 0000154e: SWAP1 0000154f: PUSH1 0x01 00001551: PUSH1 0x01 00001553: PUSH1 0xa0 00001555: SHL 00001556: SUB 00001557: DUP6 00001558: AND 00001559: SWAP1 0000155a: PUSH4 0x70a08231 0000155f: SWAP1 00001560: PUSH1 0x24 00001562: ADD 00001563: PUSH1 0x20 00001565: PUSH1 0x40 00001567: MLOAD 00001568: DUP1 00001569: DUP4 0000156a: SUB 0000156b: DUP2 0000156c: DUP7 0000156d: GAS 0000156e: STATICCALL 0000156f: ISZERO 00001570: DUP1 00001571: ISZERO 00001572: PUSH2 0x157f 00001575: JUMPI 00001576: RETURNDATASIZE 00001577: PUSH1 0x00 00001579: DUP1 0000157a: RETURNDATACOPY 0000157b: RETURNDATASIZE 0000157c: PUSH1 0x00 0000157e: REVERT 0000157f: JUMPDEST 00001580: POP 00001581: POP 00001582: POP 00001583: POP 00001584: PUSH1 0x40 00001586: MLOAD 00001587: RETURNDATASIZE 00001588: PUSH1 0x1f 0000158a: NOT 0000158b: PUSH1 0x1f 0000158d: DUP3 0000158e: ADD 0000158f: AND 00001590: DUP3 00001591: ADD 00001592: DUP1 00001593: PUSH1 0x40 00001595: MSTORE 00001596: POP 00001597: DUP2 00001598: ADD 00001599: SWAP1 0000159a: PUSH2 0x15a3 0000159d: SWAP2 0000159e: SWAP1 0000159f: PUSH2 0x2145 000015a2: JUMP 000015a3: JUMPDEST 000015a4: SWAP1 000015a5: POP 000015a6: DUP2 000015a7: DUP2 000015a8: LT 000015a9: ISZERO 000015aa: PUSH2 0x15cf 000015ad: JUMPI 000015ae: PUSH1 0x40 000015b0: MLOAD 000015b1: PUSH3 0xfae2d5 000015b5: PUSH1 0xe2 000015b7: SHL 000015b8: DUP2 000015b9: MSTORE 000015ba: PUSH1 0x04 000015bc: DUP2 000015bd: ADD 000015be: DUP4 000015bf: SWAP1 000015c0: MSTORE 000015c1: PUSH1 0x24 000015c3: DUP2 000015c4: ADD 000015c5: DUP3 000015c6: SWAP1 000015c7: MSTORE 000015c8: PUSH1 0x44 000015ca: ADD 000015cb: PUSH2 0x05e8 000015ce: JUMP 000015cf: JUMPDEST 000015d0: PUSH2 0x08dc 000015d3: PUSH1 0x01 000015d5: PUSH1 0x01 000015d7: PUSH1 0xa0 000015d9: SHL 000015da: SUB 000015db: DUP6 000015dc: AND 000015dd: DUP5 000015de: DUP5 000015df: PUSH2 0x1919 000015e2: JUMP 000015e3: JUMPDEST 000015e4: DUP1 000015e5: SELFBALANCE 000015e6: LT 000015e7: ISZERO 000015e8: PUSH2 0x1633 000015eb: JUMPI 000015ec: PUSH1 0x40 000015ee: MLOAD 000015ef: PUSH3 0x461bcd 000015f3: PUSH1 0xe5 000015f5: SHL 000015f6: DUP2 000015f7: MSTORE 000015f8: PUSH1 0x20 000015fa: PUSH1 0x04 000015fc: DUP3 000015fd: ADD 000015fe: MSTORE 000015ff: PUSH1 0x1d 00001601: PUSH1 0x24 00001603: DUP3 00001604: ADD 00001605: MSTORE 00001606: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 00001627: PUSH1 0x44 00001629: DUP3 0000162a: ADD 0000162b: MSTORE 0000162c: PUSH1 0x64 0000162e: ADD 0000162f: PUSH2 0x05e8 00001632: JUMP 00001633: JUMPDEST 00001634: PUSH1 0x00 00001636: DUP3 00001637: PUSH1 0x01 00001639: PUSH1 0x01 0000163b: PUSH1 0xa0 0000163d: SHL 0000163e: SUB 0000163f: AND 00001640: DUP3 00001641: PUSH1 0x40 00001643: MLOAD 00001644: PUSH1 0x00 00001646: PUSH1 0x40 00001648: MLOAD 00001649: DUP1 0000164a: DUP4 0000164b: SUB 0000164c: DUP2 0000164d: DUP6 0000164e: DUP8 0000164f: GAS 00001650: CALL 00001651: SWAP3 00001652: POP 00001653: POP 00001654: POP 00001655: RETURNDATASIZE 00001656: DUP1 00001657: PUSH1 0x00 00001659: DUP2 0000165a: EQ 0000165b: PUSH2 0x1680 0000165e: JUMPI 0000165f: PUSH1 0x40 00001661: MLOAD 00001662: SWAP2 00001663: POP 00001664: PUSH1 0x1f 00001666: NOT 00001667: PUSH1 0x3f 00001669: RETURNDATASIZE 0000166a: ADD 0000166b: AND 0000166c: DUP3 0000166d: ADD 0000166e: PUSH1 0x40 00001670: MSTORE 00001671: RETURNDATASIZE 00001672: DUP3 00001673: MSTORE 00001674: RETURNDATASIZE 00001675: PUSH1 0x00 00001677: PUSH1 0x20 00001679: DUP5 0000167a: ADD 0000167b: RETURNDATACOPY 0000167c: PUSH2 0x1685 0000167f: JUMP 00001680: JUMPDEST 00001681: PUSH1 0x60 00001683: SWAP2 00001684: POP 00001685: JUMPDEST 00001686: POP 00001687: POP 00001688: SWAP1 00001689: POP 0000168a: DUP1 0000168b: PUSH2 0x0813 0000168e: JUMPI 0000168f: PUSH1 0x40 00001691: MLOAD 00001692: PUSH3 0x461bcd 00001696: PUSH1 0xe5 00001698: SHL 00001699: DUP2 0000169a: MSTORE 0000169b: PUSH1 0x20 0000169d: PUSH1 0x04 0000169f: DUP3 000016a0: ADD 000016a1: MSTORE 000016a2: PUSH1 0x3a 000016a4: PUSH1 0x24 000016a6: DUP3 000016a7: ADD 000016a8: MSTORE 000016a9: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 000016ca: PUSH1 0x44 000016cc: DUP3 000016cd: ADD 000016ce: MSTORE 000016cf: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 000016f0: PUSH1 0x64 000016f2: DUP3 000016f3: ADD 000016f4: MSTORE 000016f5: PUSH1 0x84 000016f7: ADD 000016f8: PUSH2 0x05e8 000016fb: JUMP 000016fc: JUMPDEST 000016fd: PUSH2 0x1706 00001700: DUP3 00001701: DUP3 00001702: PUSH2 0x0fde 00001705: JUMP 00001706: JUMPDEST 00001707: PUSH2 0x095c 0000170a: JUMPI 0000170b: PUSH2 0x1713 0000170e: DUP2 0000170f: PUSH2 0x1949 00001712: JUMP 00001713: JUMPDEST 00001714: PUSH2 0x171e 00001717: DUP4 00001718: PUSH1 0x20 0000171a: PUSH2 0x195b 0000171d: JUMP 0000171e: JUMPDEST 0000171f: PUSH1 0x40 00001721: MLOAD 00001722: PUSH1 0x20 00001724: ADD 00001725: PUSH2 0x172f 00001728: SWAP3 00001729: SWAP2 0000172a: SWAP1 0000172b: PUSH2 0x22b5 0000172e: JUMP 0000172f: JUMPDEST 00001730: PUSH1 0x40 00001732: DUP1 00001733: MLOAD 00001734: PUSH1 0x1f 00001736: NOT 00001737: DUP2 00001738: DUP5 00001739: SUB 0000173a: ADD 0000173b: DUP2 0000173c: MSTORE 0000173d: SWAP1 0000173e: DUP3 0000173f: SWAP1 00001740: MSTORE 00001741: PUSH3 0x461bcd 00001745: PUSH1 0xe5 00001747: SHL 00001748: DUP3 00001749: MSTORE 0000174a: PUSH2 0x05e8 0000174d: SWAP2 0000174e: PUSH1 0x04 00001750: ADD 00001751: PUSH2 0x1db2 00001754: JUMP 00001755: JUMPDEST 00001756: PUSH1 0x00 00001758: PUSH2 0x17aa 0000175b: DUP3 0000175c: PUSH1 0x40 0000175e: MLOAD 0000175f: DUP1 00001760: PUSH1 0x40 00001762: ADD 00001763: PUSH1 0x40 00001765: MSTORE 00001766: DUP1 00001767: PUSH1 0x20 00001769: DUP2 0000176a: MSTORE 0000176b: PUSH1 0x20 0000176d: ADD 0000176e: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 0000178f: DUP2 00001790: MSTORE 00001791: POP 00001792: DUP6 00001793: PUSH1 0x01 00001795: PUSH1 0x01 00001797: PUSH1 0xa0 00001799: SHL 0000179a: SUB 0000179b: AND 0000179c: PUSH2 0x1afe 0000179f: SWAP1 000017a0: SWAP3 000017a1: SWAP2 000017a2: SWAP1 000017a3: PUSH4 0xffffffff 000017a8: AND 000017a9: JUMP 000017aa: JUMPDEST 000017ab: SWAP1 000017ac: POP 000017ad: DUP1 000017ae: MLOAD 000017af: PUSH1 0x00 000017b1: EQ 000017b2: DUP1 000017b3: PUSH2 0x17cb 000017b6: JUMPI 000017b7: POP 000017b8: DUP1 000017b9: DUP1 000017ba: PUSH1 0x20 000017bc: ADD 000017bd: SWAP1 000017be: MLOAD 000017bf: DUP2 000017c0: ADD 000017c1: SWAP1 000017c2: PUSH2 0x17cb 000017c5: SWAP2 000017c6: SWAP1 000017c7: PUSH2 0x232a 000017ca: JUMP 000017cb: JUMPDEST 000017cc: PUSH2 0x0813 000017cf: JUMPI 000017d0: PUSH1 0x40 000017d2: MLOAD 000017d3: PUSH3 0x461bcd 000017d7: PUSH1 0xe5 000017d9: SHL 000017da: DUP2 000017db: MSTORE 000017dc: PUSH1 0x20 000017de: PUSH1 0x04 000017e0: DUP3 000017e1: ADD 000017e2: MSTORE 000017e3: PUSH1 0x2a 000017e5: PUSH1 0x24 000017e7: DUP3 000017e8: ADD 000017e9: MSTORE 000017ea: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000180b: PUSH1 0x44 0000180d: DUP3 0000180e: ADD 0000180f: MSTORE 00001810: PUSH10 0x1bdd081cdd58d8d95959 0000181b: PUSH1 0xb2 0000181d: SHL 0000181e: PUSH1 0x64 00001820: DUP3 00001821: ADD 00001822: MSTORE 00001823: PUSH1 0x84 00001825: ADD 00001826: PUSH2 0x05e8 00001829: JUMP 0000182a: JUMPDEST 0000182b: PUSH1 0x60 0000182d: PUSH2 0x1850 00001830: DUP5 00001831: DUP5 00001832: DUP5 00001833: PUSH1 0x40 00001835: MLOAD 00001836: DUP1 00001837: PUSH1 0x60 00001839: ADD 0000183a: PUSH1 0x40 0000183c: MSTORE 0000183d: DUP1 0000183e: PUSH1 0x29 00001840: DUP2 00001841: MSTORE 00001842: PUSH1 0x20 00001844: ADD 00001845: PUSH2 0x23ad 00001848: PUSH1 0x29 0000184a: SWAP2 0000184b: CODECOPY 0000184c: PUSH2 0x1b09 0000184f: JUMP 00001850: JUMPDEST 00001851: SWAP5 00001852: SWAP4 00001853: POP 00001854: POP 00001855: POP 00001856: POP 00001857: JUMP 00001858: JUMPDEST 00001859: PUSH1 0x01 0000185b: PUSH1 0x01 0000185d: PUSH1 0xa0 0000185f: SHL 00001860: SUB 00001861: DUP2 00001862: AND 00001863: EXTCODESIZE 00001864: PUSH2 0x18c5 00001867: JUMPI 00001868: PUSH1 0x40 0000186a: MLOAD 0000186b: PUSH3 0x461bcd 0000186f: PUSH1 0xe5 00001871: SHL 00001872: DUP2 00001873: MSTORE 00001874: PUSH1 0x20 00001876: PUSH1 0x04 00001878: DUP3 00001879: ADD 0000187a: MSTORE 0000187b: PUSH1 0x2d 0000187d: PUSH1 0x24 0000187f: DUP3 00001880: ADD 00001881: MSTORE 00001882: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e 000018a3: PUSH1 0x44 000018a5: DUP3 000018a6: ADD 000018a7: MSTORE 000018a8: PUSH13 0x1bdd08184818dbdb9d1c9858dd 000018b6: PUSH1 0x9a 000018b8: SHL 000018b9: PUSH1 0x64 000018bb: DUP3 000018bc: ADD 000018bd: MSTORE 000018be: PUSH1 0x84 000018c0: ADD 000018c1: PUSH2 0x05e8 000018c4: JUMP 000018c5: JUMPDEST 000018c6: PUSH1 0x00 000018c8: DUP1 000018c9: MLOAD 000018ca: PUSH1 0x20 000018cc: PUSH2 0x238d 000018cf: DUP4 000018d0: CODECOPY 000018d1: DUP2 000018d2: MLOAD 000018d3: SWAP2 000018d4: MSTORE 000018d5: DUP1 000018d6: SLOAD 000018d7: PUSH1 0x01 000018d9: PUSH1 0x01 000018db: PUSH1 0xa0 000018dd: SHL 000018de: SUB 000018df: NOT 000018e0: AND 000018e1: PUSH1 0x01 000018e3: PUSH1 0x01 000018e5: PUSH1 0xa0 000018e7: SHL 000018e8: SUB 000018e9: SWAP3 000018ea: SWAP1 000018eb: SWAP3 000018ec: AND 000018ed: SWAP2 000018ee: SWAP1 000018ef: SWAP2 000018f0: OR 000018f1: SWAP1 000018f2: SSTORE 000018f3: JUMP 000018f4: JUMPDEST 000018f5: PUSH2 0x18fd 000018f8: DUP4 000018f9: PUSH2 0x1be4 000018fc: JUMP 000018fd: JUMPDEST 000018fe: PUSH1 0x00 00001900: DUP3 00001901: MLOAD 00001902: GT 00001903: DUP1 00001904: PUSH2 0x190a 00001907: JUMPI 00001908: POP 00001909: DUP1 0000190a: JUMPDEST 0000190b: ISZERO 0000190c: PUSH2 0x0813 0000190f: JUMPI 00001910: PUSH2 0x08dc 00001913: DUP4 00001914: DUP4 00001915: PUSH2 0x1c24 00001918: JUMP 00001919: JUMPDEST 0000191a: PUSH1 0x40 0000191c: MLOAD 0000191d: PUSH1 0x01 0000191f: PUSH1 0x01 00001921: PUSH1 0xa0 00001923: SHL 00001924: SUB 00001925: DUP4 00001926: AND 00001927: PUSH1 0x24 00001929: DUP3 0000192a: ADD 0000192b: MSTORE 0000192c: PUSH1 0x44 0000192e: DUP2 0000192f: ADD 00001930: DUP3 00001931: SWAP1 00001932: MSTORE 00001933: PUSH2 0x0813 00001936: SWAP1 00001937: DUP5 00001938: SWAP1 00001939: PUSH4 0xa9059cbb 0000193e: PUSH1 0xe0 00001940: SHL 00001941: SWAP1 00001942: PUSH1 0x64 00001944: ADD 00001945: PUSH2 0x111b 00001948: JUMP 00001949: JUMPDEST 0000194a: PUSH1 0x60 0000194c: PUSH2 0x0497 0000194f: PUSH1 0x01 00001951: PUSH1 0x01 00001953: PUSH1 0xa0 00001955: SHL 00001956: SUB 00001957: DUP4 00001958: AND 00001959: PUSH1 0x14 0000195b: JUMPDEST 0000195c: PUSH1 0x60 0000195e: PUSH1 0x00 00001960: PUSH2 0x196a 00001963: DUP4 00001964: PUSH1 0x02 00001966: PUSH2 0x234c 00001969: JUMP 0000196a: JUMPDEST 0000196b: PUSH2 0x1975 0000196e: SWAP1 0000196f: PUSH1 0x02 00001971: PUSH2 0x2174 00001974: JUMP 00001975: JUMPDEST 00001976: PUSH8 0xffffffffffffffff 0000197f: DUP2 00001980: GT 00001981: ISZERO 00001982: PUSH2 0x198d 00001985: JUMPI 00001986: PUSH2 0x198d 00001989: PUSH2 0x1fc3 0000198c: JUMP 0000198d: JUMPDEST 0000198e: PUSH1 0x40 00001990: MLOAD 00001991: SWAP1 00001992: DUP1 00001993: DUP3 00001994: MSTORE 00001995: DUP1 00001996: PUSH1 0x1f 00001998: ADD 00001999: PUSH1 0x1f 0000199b: NOT 0000199c: AND 0000199d: PUSH1 0x20 0000199f: ADD 000019a0: DUP3 000019a1: ADD 000019a2: PUSH1 0x40 000019a4: MSTORE 000019a5: DUP1 000019a6: ISZERO 000019a7: PUSH2 0x19b7 000019aa: JUMPI 000019ab: PUSH1 0x20 000019ad: DUP3 000019ae: ADD 000019af: DUP2 000019b0: DUP1 000019b1: CALLDATASIZE 000019b2: DUP4 000019b3: CALLDATACOPY 000019b4: ADD 000019b5: SWAP1 000019b6: POP 000019b7: JUMPDEST 000019b8: POP 000019b9: SWAP1 000019ba: POP 000019bb: PUSH1 0x03 000019bd: PUSH1 0xfc 000019bf: SHL 000019c0: DUP2 000019c1: PUSH1 0x00 000019c3: DUP2 000019c4: MLOAD 000019c5: DUP2 000019c6: LT 000019c7: PUSH2 0x19d2 000019ca: JUMPI 000019cb: PUSH2 0x19d2 000019ce: PUSH2 0x21ce 000019d1: JUMP 000019d2: JUMPDEST 000019d3: PUSH1 0x20 000019d5: ADD 000019d6: ADD 000019d7: SWAP1 000019d8: PUSH1 0x01 000019da: PUSH1 0x01 000019dc: PUSH1 0xf8 000019de: SHL 000019df: SUB 000019e0: NOT 000019e1: AND 000019e2: SWAP1 000019e3: DUP2 000019e4: PUSH1 0x00 000019e6: BYTE 000019e7: SWAP1 000019e8: MSTORE8 000019e9: POP 000019ea: PUSH1 0x0f 000019ec: PUSH1 0xfb 000019ee: SHL 000019ef: DUP2 000019f0: PUSH1 0x01 000019f2: DUP2 000019f3: MLOAD 000019f4: DUP2 000019f5: LT 000019f6: PUSH2 0x1a01 000019f9: JUMPI 000019fa: PUSH2 0x1a01 000019fd: PUSH2 0x21ce 00001a00: JUMP 00001a01: JUMPDEST 00001a02: PUSH1 0x20 00001a04: ADD 00001a05: ADD 00001a06: SWAP1 00001a07: PUSH1 0x01 00001a09: PUSH1 0x01 00001a0b: PUSH1 0xf8 00001a0d: SHL 00001a0e: SUB 00001a0f: NOT 00001a10: AND 00001a11: SWAP1 00001a12: DUP2 00001a13: PUSH1 0x00 00001a15: BYTE 00001a16: SWAP1 00001a17: MSTORE8 00001a18: POP 00001a19: PUSH1 0x00 00001a1b: PUSH2 0x1a25 00001a1e: DUP5 00001a1f: PUSH1 0x02 00001a21: PUSH2 0x234c 00001a24: JUMP 00001a25: JUMPDEST 00001a26: PUSH2 0x1a30 00001a29: SWAP1 00001a2a: PUSH1 0x01 00001a2c: PUSH2 0x2174 00001a2f: JUMP 00001a30: JUMPDEST 00001a31: SWAP1 00001a32: POP 00001a33: JUMPDEST 00001a34: PUSH1 0x01 00001a36: DUP2 00001a37: GT 00001a38: ISZERO 00001a39: PUSH2 0x1aa8 00001a3c: JUMPI 00001a3d: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3 00001a4e: PUSH1 0x81 00001a50: SHL 00001a51: DUP6 00001a52: PUSH1 0x0f 00001a54: AND 00001a55: PUSH1 0x10 00001a57: DUP2 00001a58: LT 00001a59: PUSH2 0x1a64 00001a5c: JUMPI 00001a5d: PUSH2 0x1a64 00001a60: PUSH2 0x21ce 00001a63: JUMP 00001a64: JUMPDEST 00001a65: BYTE 00001a66: PUSH1 0xf8 00001a68: SHL 00001a69: DUP3 00001a6a: DUP3 00001a6b: DUP2 00001a6c: MLOAD 00001a6d: DUP2 00001a6e: LT 00001a6f: PUSH2 0x1a7a 00001a72: JUMPI 00001a73: PUSH2 0x1a7a 00001a76: PUSH2 0x21ce 00001a79: JUMP 00001a7a: JUMPDEST 00001a7b: PUSH1 0x20 00001a7d: ADD 00001a7e: ADD 00001a7f: SWAP1 00001a80: PUSH1 0x01 00001a82: PUSH1 0x01 00001a84: PUSH1 0xf8 00001a86: SHL 00001a87: SUB 00001a88: NOT 00001a89: AND 00001a8a: SWAP1 00001a8b: DUP2 00001a8c: PUSH1 0x00 00001a8e: BYTE 00001a8f: SWAP1 00001a90: MSTORE8 00001a91: POP 00001a92: PUSH1 0x04 00001a94: SWAP5 00001a95: SWAP1 00001a96: SWAP5 00001a97: SHR 00001a98: SWAP4 00001a99: PUSH2 0x1aa1 00001a9c: DUP2 00001a9d: PUSH2 0x2363 00001aa0: JUMP 00001aa1: JUMPDEST 00001aa2: SWAP1 00001aa3: POP 00001aa4: PUSH2 0x1a33 00001aa7: JUMP 00001aa8: JUMPDEST 00001aa9: POP 00001aaa: DUP4 00001aab: ISZERO 00001aac: PUSH2 0x1af7 00001aaf: JUMPI 00001ab0: PUSH1 0x40 00001ab2: MLOAD 00001ab3: PUSH3 0x461bcd 00001ab7: PUSH1 0xe5 00001ab9: SHL 00001aba: DUP2 00001abb: MSTORE 00001abc: PUSH1 0x20 00001abe: PUSH1 0x04 00001ac0: DUP3 00001ac1: ADD 00001ac2: DUP2 00001ac3: SWAP1 00001ac4: MSTORE 00001ac5: PUSH1 0x24 00001ac7: DUP3 00001ac8: ADD 00001ac9: MSTORE 00001aca: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74 00001aeb: PUSH1 0x44 00001aed: DUP3 00001aee: ADD 00001aef: MSTORE 00001af0: PUSH1 0x64 00001af2: ADD 00001af3: PUSH2 0x05e8 00001af6: JUMP 00001af7: JUMPDEST 00001af8: SWAP4 00001af9: SWAP3 00001afa: POP 00001afb: POP 00001afc: POP 00001afd: JUMP 00001afe: JUMPDEST 00001aff: PUSH1 0x60 00001b01: PUSH2 0x1850 00001b04: DUP5 00001b05: DUP5 00001b06: PUSH1 0x00 00001b08: DUP6 00001b09: JUMPDEST 00001b0a: PUSH1 0x60 00001b0c: DUP3 00001b0d: SELFBALANCE 00001b0e: LT 00001b0f: ISZERO 00001b10: PUSH2 0x1b6a 00001b13: JUMPI 00001b14: PUSH1 0x40 00001b16: MLOAD 00001b17: PUSH3 0x461bcd 00001b1b: PUSH1 0xe5 00001b1d: SHL 00001b1e: DUP2 00001b1f: MSTORE 00001b20: PUSH1 0x20 00001b22: PUSH1 0x04 00001b24: DUP3 00001b25: ADD 00001b26: MSTORE 00001b27: PUSH1 0x26 00001b29: PUSH1 0x24 00001b2b: DUP3 00001b2c: ADD 00001b2d: MSTORE 00001b2e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00001b4f: PUSH1 0x44 00001b51: DUP3 00001b52: ADD 00001b53: MSTORE 00001b54: PUSH6 0x1c8818d85b1b 00001b5b: PUSH1 0xd2 00001b5d: SHL 00001b5e: PUSH1 0x64 00001b60: DUP3 00001b61: ADD 00001b62: MSTORE 00001b63: PUSH1 0x84 00001b65: ADD 00001b66: PUSH2 0x05e8 00001b69: JUMP 00001b6a: JUMPDEST 00001b6b: PUSH1 0x00 00001b6d: DUP1 00001b6e: DUP7 00001b6f: PUSH1 0x01 00001b71: PUSH1 0x01 00001b73: PUSH1 0xa0 00001b75: SHL 00001b76: SUB 00001b77: AND 00001b78: DUP6 00001b79: DUP8 00001b7a: PUSH1 0x40 00001b7c: MLOAD 00001b7d: PUSH2 0x1b86 00001b80: SWAP2 00001b81: SWAP1 00001b82: PUSH2 0x237a 00001b85: JUMP 00001b86: JUMPDEST 00001b87: PUSH1 0x00 00001b89: PUSH1 0x40 00001b8b: MLOAD 00001b8c: DUP1 00001b8d: DUP4 00001b8e: SUB 00001b8f: DUP2 00001b90: DUP6 00001b91: DUP8 00001b92: GAS 00001b93: CALL 00001b94: SWAP3 00001b95: POP 00001b96: POP 00001b97: POP 00001b98: RETURNDATASIZE 00001b99: DUP1 00001b9a: PUSH1 0x00 00001b9c: DUP2 00001b9d: EQ 00001b9e: PUSH2 0x1bc3 00001ba1: JUMPI 00001ba2: PUSH1 0x40 00001ba4: MLOAD 00001ba5: SWAP2 00001ba6: POP 00001ba7: PUSH1 0x1f 00001ba9: NOT 00001baa: PUSH1 0x3f 00001bac: RETURNDATASIZE 00001bad: ADD 00001bae: AND 00001baf: DUP3 00001bb0: ADD 00001bb1: PUSH1 0x40 00001bb3: MSTORE 00001bb4: RETURNDATASIZE 00001bb5: DUP3 00001bb6: MSTORE 00001bb7: RETURNDATASIZE 00001bb8: PUSH1 0x00 00001bba: PUSH1 0x20 00001bbc: DUP5 00001bbd: ADD 00001bbe: RETURNDATACOPY 00001bbf: PUSH2 0x1bc8 00001bc2: JUMP 00001bc3: JUMPDEST 00001bc4: PUSH1 0x60 00001bc6: SWAP2 00001bc7: POP 00001bc8: JUMPDEST 00001bc9: POP 00001bca: SWAP2 00001bcb: POP 00001bcc: SWAP2 00001bcd: POP 00001bce: PUSH2 0x1bd9 00001bd1: DUP8 00001bd2: DUP4 00001bd3: DUP4 00001bd4: DUP8 00001bd5: PUSH2 0x1c49 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: SWAP8 00001bdb: SWAP7 00001bdc: POP 00001bdd: POP 00001bde: POP 00001bdf: POP 00001be0: POP 00001be1: POP 00001be2: POP 00001be3: JUMP 00001be4: JUMPDEST 00001be5: PUSH2 0x1bed 00001be8: DUP2 00001be9: PUSH2 0x1858 00001bec: JUMP 00001bed: JUMPDEST 00001bee: PUSH1 0x40 00001bf0: MLOAD 00001bf1: PUSH1 0x01 00001bf3: PUSH1 0x01 00001bf5: PUSH1 0xa0 00001bf7: SHL 00001bf8: SUB 00001bf9: DUP3 00001bfa: AND 00001bfb: SWAP1 00001bfc: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 00001c1d: SWAP1 00001c1e: PUSH1 0x00 00001c20: SWAP1 00001c21: LOG2 00001c22: POP 00001c23: JUMP 00001c24: JUMPDEST 00001c25: PUSH1 0x60 00001c27: PUSH2 0x1af7 00001c2a: DUP4 00001c2b: DUP4 00001c2c: PUSH1 0x40 00001c2e: MLOAD 00001c2f: DUP1 00001c30: PUSH1 0x60 00001c32: ADD 00001c33: PUSH1 0x40 00001c35: MSTORE 00001c36: DUP1 00001c37: PUSH1 0x27 00001c39: DUP2 00001c3a: MSTORE 00001c3b: PUSH1 0x20 00001c3d: ADD 00001c3e: PUSH2 0x23d6 00001c41: PUSH1 0x27 00001c43: SWAP2 00001c44: CODECOPY 00001c45: PUSH2 0x1cc2 00001c48: JUMP 00001c49: JUMPDEST 00001c4a: PUSH1 0x60 00001c4c: DUP4 00001c4d: ISZERO 00001c4e: PUSH2 0x1cb8 00001c51: JUMPI 00001c52: DUP3 00001c53: MLOAD 00001c54: PUSH1 0x00 00001c56: SUB 00001c57: PUSH2 0x1cb1 00001c5a: JUMPI 00001c5b: PUSH1 0x01 00001c5d: PUSH1 0x01 00001c5f: PUSH1 0xa0 00001c61: SHL 00001c62: SUB 00001c63: DUP6 00001c64: AND 00001c65: EXTCODESIZE 00001c66: PUSH2 0x1cb1 00001c69: JUMPI 00001c6a: PUSH1 0x40 00001c6c: MLOAD 00001c6d: PUSH3 0x461bcd 00001c71: PUSH1 0xe5 00001c73: SHL 00001c74: DUP2 00001c75: MSTORE 00001c76: PUSH1 0x20 00001c78: PUSH1 0x04 00001c7a: DUP3 00001c7b: ADD 00001c7c: MSTORE 00001c7d: PUSH1 0x1d 00001c7f: PUSH1 0x24 00001c81: DUP3 00001c82: ADD 00001c83: MSTORE 00001c84: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00001ca5: PUSH1 0x44 00001ca7: DUP3 00001ca8: ADD 00001ca9: MSTORE 00001caa: PUSH1 0x64 00001cac: ADD 00001cad: PUSH2 0x05e8 00001cb0: JUMP 00001cb1: JUMPDEST 00001cb2: POP 00001cb3: DUP2 00001cb4: PUSH2 0x1850 00001cb7: JUMP 00001cb8: JUMPDEST 00001cb9: PUSH2 0x1850 00001cbc: DUP4 00001cbd: DUP4 00001cbe: PUSH2 0x1d3a 00001cc1: JUMP 00001cc2: JUMPDEST 00001cc3: PUSH1 0x60 00001cc5: PUSH1 0x00 00001cc7: DUP1 00001cc8: DUP6 00001cc9: PUSH1 0x01 00001ccb: PUSH1 0x01 00001ccd: PUSH1 0xa0 00001ccf: SHL 00001cd0: SUB 00001cd1: AND 00001cd2: DUP6 00001cd3: PUSH1 0x40 00001cd5: MLOAD 00001cd6: PUSH2 0x1cdf 00001cd9: SWAP2 00001cda: SWAP1 00001cdb: PUSH2 0x237a 00001cde: JUMP 00001cdf: JUMPDEST 00001ce0: PUSH1 0x00 00001ce2: PUSH1 0x40 00001ce4: MLOAD 00001ce5: DUP1 00001ce6: DUP4 00001ce7: SUB 00001ce8: DUP2 00001ce9: DUP6 00001cea: GAS 00001ceb: DELEGATECALL 00001cec: SWAP2 00001ced: POP 00001cee: POP 00001cef: RETURNDATASIZE 00001cf0: DUP1 00001cf1: PUSH1 0x00 00001cf3: DUP2 00001cf4: EQ 00001cf5: PUSH2 0x1d1a 00001cf8: JUMPI 00001cf9: PUSH1 0x40 00001cfb: MLOAD 00001cfc: SWAP2 00001cfd: POP 00001cfe: PUSH1 0x1f 00001d00: NOT 00001d01: PUSH1 0x3f 00001d03: RETURNDATASIZE 00001d04: ADD 00001d05: AND 00001d06: DUP3 00001d07: ADD 00001d08: PUSH1 0x40 00001d0a: MSTORE 00001d0b: RETURNDATASIZE 00001d0c: DUP3 00001d0d: MSTORE 00001d0e: RETURNDATASIZE 00001d0f: PUSH1 0x00 00001d11: PUSH1 0x20 00001d13: DUP5 00001d14: ADD 00001d15: RETURNDATACOPY 00001d16: PUSH2 0x1d1f 00001d19: JUMP 00001d1a: JUMPDEST 00001d1b: PUSH1 0x60 00001d1d: SWAP2 00001d1e: POP 00001d1f: JUMPDEST 00001d20: POP 00001d21: SWAP2 00001d22: POP 00001d23: SWAP2 00001d24: POP 00001d25: PUSH2 0x1d30 00001d28: DUP7 00001d29: DUP4 00001d2a: DUP4 00001d2b: DUP8 00001d2c: PUSH2 0x1c49 00001d2f: JUMP 00001d30: JUMPDEST 00001d31: SWAP7 00001d32: SWAP6 00001d33: POP 00001d34: POP 00001d35: POP 00001d36: POP 00001d37: POP 00001d38: POP 00001d39: JUMP 00001d3a: JUMPDEST 00001d3b: DUP2 00001d3c: MLOAD 00001d3d: ISZERO 00001d3e: PUSH2 0x1d4a 00001d41: JUMPI 00001d42: DUP2 00001d43: MLOAD 00001d44: DUP1 00001d45: DUP4 00001d46: PUSH1 0x20 00001d48: ADD 00001d49: REVERT 00001d4a: JUMPDEST 00001d4b: DUP1 00001d4c: PUSH1 0x40 00001d4e: MLOAD 00001d4f: PUSH3 0x461bcd 00001d53: PUSH1 0xe5 00001d55: SHL 00001d56: DUP2 00001d57: MSTORE 00001d58: PUSH1 0x04 00001d5a: ADD 00001d5b: PUSH2 0x05e8 00001d5e: SWAP2 00001d5f: SWAP1 00001d60: PUSH2 0x1db2 00001d63: JUMP 00001d64: JUMPDEST 00001d65: PUSH1 0x00 00001d67: PUSH1 0x20 00001d69: DUP3 00001d6a: DUP5 00001d6b: SUB 00001d6c: SLT 00001d6d: ISZERO 00001d6e: PUSH2 0x1d76 00001d71: JUMPI 00001d72: PUSH1 0x00 00001d74: DUP1 00001d75: REVERT 00001d76: JUMPDEST 00001d77: DUP2 00001d78: CALLDATALOAD 00001d79: PUSH1 0x01 00001d7b: PUSH1 0x01 00001d7d: PUSH1 0xe0 00001d7f: SHL 00001d80: SUB 00001d81: NOT 00001d82: DUP2 00001d83: AND 00001d84: DUP2 00001d85: EQ 00001d86: PUSH2 0x1af7 00001d89: JUMPI 00001d8a: PUSH1 0x00 00001d8c: DUP1 00001d8d: REVERT 00001d8e: JUMPDEST 00001d8f: PUSH1 0x00 00001d91: JUMPDEST 00001d92: DUP4 00001d93: DUP2 00001d94: LT 00001d95: ISZERO 00001d96: PUSH2 0x1da9 00001d99: JUMPI 00001d9a: DUP2 00001d9b: DUP2 00001d9c: ADD 00001d9d: MLOAD 00001d9e: DUP4 00001d9f: DUP3 00001da0: ADD 00001da1: MSTORE 00001da2: PUSH1 0x20 00001da4: ADD 00001da5: PUSH2 0x1d91 00001da8: JUMP 00001da9: JUMPDEST 00001daa: POP 00001dab: POP 00001dac: PUSH1 0x00 00001dae: SWAP2 00001daf: ADD 00001db0: MSTORE 00001db1: JUMP 00001db2: JUMPDEST 00001db3: PUSH1 0x20 00001db5: DUP2 00001db6: MSTORE 00001db7: PUSH1 0x00 00001db9: DUP3 00001dba: MLOAD 00001dbb: DUP1 00001dbc: PUSH1 0x20 00001dbe: DUP5 00001dbf: ADD 00001dc0: MSTORE 00001dc1: PUSH2 0x1dd1 00001dc4: DUP2 00001dc5: PUSH1 0x40 00001dc7: DUP6 00001dc8: ADD 00001dc9: PUSH1 0x20 00001dcb: DUP8 00001dcc: ADD 00001dcd: PUSH2 0x1d8e 00001dd0: JUMP 00001dd1: JUMPDEST 00001dd2: PUSH1 0x1f 00001dd4: ADD 00001dd5: PUSH1 0x1f 00001dd7: NOT 00001dd8: AND 00001dd9: SWAP2 00001dda: SWAP1 00001ddb: SWAP2 00001ddc: ADD 00001ddd: PUSH1 0x40 00001ddf: ADD 00001de0: SWAP3 00001de1: SWAP2 00001de2: POP 00001de3: POP 00001de4: JUMP 00001de5: JUMPDEST 00001de6: PUSH1 0x01 00001de8: PUSH1 0x01 00001dea: PUSH1 0xa0 00001dec: SHL 00001ded: SUB 00001dee: DUP2 00001def: AND 00001df0: DUP2 00001df1: EQ 00001df2: PUSH2 0x0a3c 00001df5: JUMPI 00001df6: PUSH1 0x00 00001df8: DUP1 00001df9: REVERT 00001dfa: JUMPDEST 00001dfb: PUSH1 0x00 00001dfd: PUSH1 0x20 00001dff: DUP3 00001e00: DUP5 00001e01: SUB 00001e02: SLT 00001e03: ISZERO 00001e04: PUSH2 0x1e0c 00001e07: JUMPI 00001e08: PUSH1 0x00 00001e0a: DUP1 00001e0b: REVERT 00001e0c: JUMPDEST 00001e0d: DUP2 00001e0e: CALLDATALOAD 00001e0f: PUSH2 0x1af7 00001e12: DUP2 00001e13: PUSH2 0x1de5 00001e16: JUMP 00001e17: JUMPDEST 00001e18: PUSH1 0x00 00001e1a: PUSH1 0x20 00001e1c: DUP3 00001e1d: DUP5 00001e1e: SUB 00001e1f: SLT 00001e20: ISZERO 00001e21: PUSH2 0x1e29 00001e24: JUMPI 00001e25: PUSH1 0x00 00001e27: DUP1 00001e28: REVERT 00001e29: JUMPDEST 00001e2a: POP 00001e2b: CALLDATALOAD 00001e2c: SWAP2 00001e2d: SWAP1 00001e2e: POP 00001e2f: JUMP 00001e30: JUMPDEST 00001e31: PUSH1 0x00 00001e33: PUSH1 0x20 00001e35: DUP3 00001e36: DUP5 00001e37: SUB 00001e38: SLT 00001e39: ISZERO 00001e3a: PUSH2 0x1e42 00001e3d: JUMPI 00001e3e: PUSH1 0x00 00001e40: DUP1 00001e41: REVERT 00001e42: JUMPDEST 00001e43: DUP2 00001e44: CALLDATALOAD 00001e45: PUSH8 0xffffffffffffffff 00001e4e: DUP2 00001e4f: GT 00001e50: ISZERO 00001e51: PUSH2 0x1e59 00001e54: JUMPI 00001e55: PUSH1 0x00 00001e57: DUP1 00001e58: REVERT 00001e59: JUMPDEST 00001e5a: DUP3 00001e5b: ADD 00001e5c: PUSH1 0x80 00001e5e: DUP2 00001e5f: DUP6 00001e60: SUB 00001e61: SLT 00001e62: ISZERO 00001e63: PUSH2 0x1af7 00001e66: JUMPI 00001e67: PUSH1 0x00 00001e69: DUP1 00001e6a: REVERT 00001e6b: JUMPDEST 00001e6c: PUSH1 0x00 00001e6e: DUP1 00001e6f: PUSH1 0x40 00001e71: DUP4 00001e72: DUP6 00001e73: SUB 00001e74: SLT 00001e75: ISZERO 00001e76: PUSH2 0x1e7e 00001e79: JUMPI 00001e7a: PUSH1 0x00 00001e7c: DUP1 00001e7d: REVERT 00001e7e: JUMPDEST 00001e7f: DUP3 00001e80: CALLDATALOAD 00001e81: SWAP2 00001e82: POP 00001e83: PUSH1 0x20 00001e85: DUP4 00001e86: ADD 00001e87: CALLDATALOAD 00001e88: PUSH2 0x1e90 00001e8b: DUP2 00001e8c: PUSH2 0x1de5 00001e8f: JUMP 00001e90: JUMPDEST 00001e91: DUP1 00001e92: SWAP2 00001e93: POP 00001e94: POP 00001e95: SWAP3 00001e96: POP 00001e97: SWAP3 00001e98: SWAP1 00001e99: POP 00001e9a: JUMP 00001e9b: JUMPDEST 00001e9c: PUSH1 0x00 00001e9e: DUP1 00001e9f: DUP4 00001ea0: PUSH1 0x1f 00001ea2: DUP5 00001ea3: ADD 00001ea4: SLT 00001ea5: PUSH2 0x1ead 00001ea8: JUMPI 00001ea9: PUSH1 0x00 00001eab: DUP1 00001eac: REVERT 00001ead: JUMPDEST 00001eae: POP 00001eaf: DUP2 00001eb0: CALLDATALOAD 00001eb1: PUSH8 0xffffffffffffffff 00001eba: DUP2 00001ebb: GT 00001ebc: ISZERO 00001ebd: PUSH2 0x1ec5 00001ec0: JUMPI 00001ec1: PUSH1 0x00 00001ec3: DUP1 00001ec4: REVERT 00001ec5: JUMPDEST 00001ec6: PUSH1 0x20 00001ec8: DUP4 00001ec9: ADD 00001eca: SWAP2 00001ecb: POP 00001ecc: DUP4 00001ecd: PUSH1 0x20 00001ecf: DUP3 00001ed0: PUSH1 0x05 00001ed2: SHL 00001ed3: DUP6 00001ed4: ADD 00001ed5: ADD 00001ed6: GT 00001ed7: ISZERO 00001ed8: PUSH2 0x1ee0 00001edb: JUMPI 00001edc: PUSH1 0x00 00001ede: DUP1 00001edf: REVERT 00001ee0: JUMPDEST 00001ee1: SWAP3 00001ee2: POP 00001ee3: SWAP3 00001ee4: SWAP1 00001ee5: POP 00001ee6: JUMP 00001ee7: JUMPDEST 00001ee8: PUSH1 0x00 00001eea: DUP1 00001eeb: PUSH1 0x20 00001eed: DUP4 00001eee: DUP6 00001eef: SUB 00001ef0: SLT 00001ef1: ISZERO 00001ef2: PUSH2 0x1efa 00001ef5: JUMPI 00001ef6: PUSH1 0x00 00001ef8: DUP1 00001ef9: REVERT 00001efa: JUMPDEST 00001efb: DUP3 00001efc: CALLDATALOAD 00001efd: PUSH8 0xffffffffffffffff 00001f06: DUP2 00001f07: GT 00001f08: ISZERO 00001f09: PUSH2 0x1f11 00001f0c: JUMPI 00001f0d: PUSH1 0x00 00001f0f: DUP1 00001f10: REVERT 00001f11: JUMPDEST 00001f12: PUSH2 0x1f1d 00001f15: DUP6 00001f16: DUP3 00001f17: DUP7 00001f18: ADD 00001f19: PUSH2 0x1e9b 00001f1c: JUMP 00001f1d: JUMPDEST 00001f1e: SWAP1 00001f1f: SWAP7 00001f20: SWAP1 00001f21: SWAP6 00001f22: POP 00001f23: SWAP4 00001f24: POP 00001f25: POP 00001f26: POP 00001f27: POP 00001f28: JUMP 00001f29: JUMPDEST 00001f2a: PUSH1 0x00 00001f2c: DUP1 00001f2d: PUSH1 0x00 00001f2f: DUP1 00001f30: PUSH1 0x00 00001f32: DUP1 00001f33: PUSH1 0x60 00001f35: DUP8 00001f36: DUP10 00001f37: SUB 00001f38: SLT 00001f39: ISZERO 00001f3a: PUSH2 0x1f42 00001f3d: JUMPI 00001f3e: PUSH1 0x00 00001f40: DUP1 00001f41: REVERT 00001f42: JUMPDEST 00001f43: DUP7 00001f44: CALLDATALOAD 00001f45: PUSH8 0xffffffffffffffff 00001f4e: DUP1 00001f4f: DUP3 00001f50: GT 00001f51: ISZERO 00001f52: PUSH2 0x1f5a 00001f55: JUMPI 00001f56: PUSH1 0x00 00001f58: DUP1 00001f59: REVERT 00001f5a: JUMPDEST 00001f5b: PUSH2 0x1f66 00001f5e: DUP11 00001f5f: DUP4 00001f60: DUP12 00001f61: ADD 00001f62: PUSH2 0x1e9b 00001f65: JUMP 00001f66: JUMPDEST 00001f67: SWAP1 00001f68: SWAP9 00001f69: POP 00001f6a: SWAP7 00001f6b: POP 00001f6c: PUSH1 0x20 00001f6e: DUP10 00001f6f: ADD 00001f70: CALLDATALOAD 00001f71: SWAP2 00001f72: POP 00001f73: DUP1 00001f74: DUP3 00001f75: GT 00001f76: ISZERO 00001f77: PUSH2 0x1f7f 00001f7a: JUMPI 00001f7b: PUSH1 0x00 00001f7d: DUP1 00001f7e: REVERT 00001f7f: JUMPDEST 00001f80: PUSH2 0x1f8b 00001f83: DUP11 00001f84: DUP4 00001f85: DUP12 00001f86: ADD 00001f87: PUSH2 0x1e9b 00001f8a: JUMP 00001f8b: JUMPDEST 00001f8c: SWAP1 00001f8d: SWAP7 00001f8e: POP 00001f8f: SWAP5 00001f90: POP 00001f91: PUSH1 0x40 00001f93: DUP10 00001f94: ADD 00001f95: CALLDATALOAD 00001f96: SWAP2 00001f97: POP 00001f98: DUP1 00001f99: DUP3 00001f9a: GT 00001f9b: ISZERO 00001f9c: PUSH2 0x1fa4 00001f9f: JUMPI 00001fa0: PUSH1 0x00 00001fa2: DUP1 00001fa3: REVERT 00001fa4: JUMPDEST 00001fa5: POP 00001fa6: PUSH2 0x1fb1 00001fa9: DUP10 00001faa: DUP3 00001fab: DUP11 00001fac: ADD 00001fad: PUSH2 0x1e9b 00001fb0: JUMP 00001fb1: JUMPDEST 00001fb2: SWAP8 00001fb3: SWAP11 00001fb4: SWAP7 00001fb5: SWAP10 00001fb6: POP 00001fb7: SWAP5 00001fb8: SWAP8 00001fb9: POP 00001fba: SWAP3 00001fbb: SWAP6 00001fbc: SWAP4 00001fbd: SWAP5 00001fbe: SWAP3 00001fbf: POP 00001fc0: POP 00001fc1: POP 00001fc2: JUMP 00001fc3: JUMPDEST 00001fc4: PUSH4 0x4e487b71 00001fc9: PUSH1 0xe0 00001fcb: SHL 00001fcc: PUSH1 0x00 00001fce: MSTORE 00001fcf: PUSH1 0x41 00001fd1: PUSH1 0x04 00001fd3: MSTORE 00001fd4: PUSH1 0x24 00001fd6: PUSH1 0x00 00001fd8: REVERT 00001fd9: JUMPDEST 00001fda: PUSH1 0x00 00001fdc: DUP1 00001fdd: PUSH1 0x40 00001fdf: DUP4 00001fe0: DUP6 00001fe1: SUB 00001fe2: SLT 00001fe3: ISZERO 00001fe4: PUSH2 0x1fec 00001fe7: JUMPI 00001fe8: PUSH1 0x00 00001fea: DUP1 00001feb: REVERT 00001fec: JUMPDEST 00001fed: DUP3 00001fee: CALLDATALOAD 00001fef: PUSH2 0x1ff7 00001ff2: DUP2 00001ff3: PUSH2 0x1de5 00001ff6: JUMP 00001ff7: JUMPDEST 00001ff8: SWAP2 00001ff9: POP 00001ffa: PUSH1 0x20 00001ffc: DUP4 00001ffd: ADD 00001ffe: CALLDATALOAD 00001fff: PUSH8 0xffffffffffffffff 00002008: DUP1 00002009: DUP3 0000200a: GT 0000200b: ISZERO 0000200c: PUSH2 0x2014 0000200f: JUMPI 00002010: PUSH1 0x00 00002012: DUP1 00002013: REVERT 00002014: JUMPDEST 00002015: DUP2 00002016: DUP6 00002017: ADD 00002018: SWAP2 00002019: POP 0000201a: DUP6 0000201b: PUSH1 0x1f 0000201d: DUP4 0000201e: ADD 0000201f: SLT 00002020: PUSH2 0x2028 00002023: JUMPI 00002024: PUSH1 0x00 00002026: DUP1 00002027: REVERT 00002028: JUMPDEST 00002029: DUP2 0000202a: CALLDATALOAD 0000202b: DUP2 0000202c: DUP2 0000202d: GT 0000202e: ISZERO 0000202f: PUSH2 0x203a 00002032: JUMPI 00002033: PUSH2 0x203a 00002036: PUSH2 0x1fc3 00002039: JUMP 0000203a: JUMPDEST 0000203b: PUSH1 0x40 0000203d: MLOAD 0000203e: PUSH1 0x1f 00002040: DUP3 00002041: ADD 00002042: PUSH1 0x1f 00002044: NOT 00002045: SWAP1 00002046: DUP2 00002047: AND 00002048: PUSH1 0x3f 0000204a: ADD 0000204b: AND 0000204c: DUP2 0000204d: ADD 0000204e: SWAP1 0000204f: DUP4 00002050: DUP3 00002051: GT 00002052: DUP2 00002053: DUP4 00002054: LT 00002055: OR 00002056: ISZERO 00002057: PUSH2 0x2062 0000205a: JUMPI 0000205b: PUSH2 0x2062 0000205e: PUSH2 0x1fc3 00002061: JUMP 00002062: JUMPDEST 00002063: DUP2 00002064: PUSH1 0x40 00002066: MSTORE 00002067: DUP3 00002068: DUP2 00002069: MSTORE 0000206a: DUP9 0000206b: PUSH1 0x20 0000206d: DUP5 0000206e: DUP8 0000206f: ADD 00002070: ADD 00002071: GT 00002072: ISZERO 00002073: PUSH2 0x207b 00002076: JUMPI 00002077: PUSH1 0x00 00002079: DUP1 0000207a: REVERT 0000207b: JUMPDEST 0000207c: DUP3 0000207d: PUSH1 0x20 0000207f: DUP7 00002080: ADD 00002081: PUSH1 0x20 00002083: DUP4 00002084: ADD 00002085: CALLDATACOPY 00002086: PUSH1 0x00 00002088: PUSH1 0x20 0000208a: DUP5 0000208b: DUP4 0000208c: ADD 0000208d: ADD 0000208e: MSTORE 0000208f: DUP1 00002090: SWAP6 00002091: POP 00002092: POP 00002093: POP 00002094: POP 00002095: POP 00002096: POP 00002097: SWAP3 00002098: POP 00002099: SWAP3 0000209a: SWAP1 0000209b: POP 0000209c: JUMP 0000209d: JUMPDEST 0000209e: PUSH1 0x00 000020a0: PUSH1 0x20 000020a2: DUP3 000020a3: DUP5 000020a4: SUB 000020a5: SLT 000020a6: ISZERO 000020a7: PUSH2 0x20af 000020aa: JUMPI 000020ab: PUSH1 0x00 000020ad: DUP1 000020ae: REVERT 000020af: JUMPDEST 000020b0: DUP2 000020b1: CALLDATALOAD 000020b2: PUSH8 0xffffffffffffffff 000020bb: DUP2 000020bc: GT 000020bd: ISZERO 000020be: PUSH2 0x20c6 000020c1: JUMPI 000020c2: PUSH1 0x00 000020c4: DUP1 000020c5: REVERT 000020c6: JUMPDEST 000020c7: DUP3 000020c8: ADD 000020c9: PUSH1 0x60 000020cb: DUP2 000020cc: DUP6 000020cd: SUB 000020ce: SLT 000020cf: ISZERO 000020d0: PUSH2 0x1af7 000020d3: JUMPI 000020d4: PUSH1 0x00 000020d6: DUP1 000020d7: REVERT 000020d8: JUMPDEST 000020d9: PUSH1 0x00 000020db: DUP1 000020dc: PUSH1 0x00 000020de: PUSH1 0x60 000020e0: DUP5 000020e1: DUP7 000020e2: SUB 000020e3: SLT 000020e4: ISZERO 000020e5: PUSH2 0x20ed 000020e8: JUMPI 000020e9: PUSH1 0x00 000020eb: DUP1 000020ec: REVERT 000020ed: JUMPDEST 000020ee: DUP4 000020ef: CALLDATALOAD 000020f0: PUSH2 0x20f8 000020f3: DUP2 000020f4: PUSH2 0x1de5 000020f7: JUMP 000020f8: JUMPDEST 000020f9: SWAP3 000020fa: POP 000020fb: PUSH1 0x20 000020fd: DUP5 000020fe: ADD 000020ff: CALLDATALOAD 00002100: PUSH2 0x2108 00002103: DUP2 00002104: PUSH2 0x1de5 00002107: JUMP 00002108: JUMPDEST 00002109: SWAP3 0000210a: SWAP6 0000210b: SWAP3 0000210c: SWAP5 0000210d: POP 0000210e: POP 0000210f: POP 00002110: PUSH1 0x40 00002112: SWAP2 00002113: SWAP1 00002114: SWAP2 00002115: ADD 00002116: CALLDATALOAD 00002117: SWAP1 00002118: JUMP 00002119: JUMPDEST 0000211a: PUSH1 0x00 0000211c: DUP1 0000211d: PUSH1 0x40 0000211f: DUP4 00002120: DUP6 00002121: SUB 00002122: SLT 00002123: ISZERO 00002124: PUSH2 0x212c 00002127: JUMPI 00002128: PUSH1 0x00 0000212a: DUP1 0000212b: REVERT 0000212c: JUMPDEST 0000212d: DUP3 0000212e: CALLDATALOAD 0000212f: PUSH2 0x2137 00002132: DUP2 00002133: PUSH2 0x1de5 00002136: JUMP 00002137: JUMPDEST 00002138: SWAP5 00002139: PUSH1 0x20 0000213b: SWAP4 0000213c: SWAP1 0000213d: SWAP4 0000213e: ADD 0000213f: CALLDATALOAD 00002140: SWAP4 00002141: POP 00002142: POP 00002143: POP 00002144: JUMP 00002145: JUMPDEST 00002146: PUSH1 0x00 00002148: PUSH1 0x20 0000214a: DUP3 0000214b: DUP5 0000214c: SUB 0000214d: SLT 0000214e: ISZERO 0000214f: PUSH2 0x2157 00002152: JUMPI 00002153: PUSH1 0x00 00002155: DUP1 00002156: REVERT 00002157: JUMPDEST 00002158: POP 00002159: MLOAD 0000215a: SWAP2 0000215b: SWAP1 0000215c: POP 0000215d: JUMP 0000215e: JUMPDEST 0000215f: PUSH4 0x4e487b71 00002164: PUSH1 0xe0 00002166: SHL 00002167: PUSH1 0x00 00002169: MSTORE 0000216a: PUSH1 0x11 0000216c: PUSH1 0x04 0000216e: MSTORE 0000216f: PUSH1 0x24 00002171: PUSH1 0x00 00002173: REVERT 00002174: JUMPDEST 00002175: DUP1 00002176: DUP3 00002177: ADD 00002178: DUP1 00002179: DUP3 0000217a: GT 0000217b: ISZERO 0000217c: PUSH2 0x0497 0000217f: JUMPI 00002180: PUSH2 0x0497 00002183: PUSH2 0x215e 00002186: JUMP 00002187: JUMPDEST 00002188: PUSH1 0x00 0000218a: DUP1 0000218b: DUP4 0000218c: CALLDATALOAD 0000218d: PUSH1 0x1e 0000218f: NOT 00002190: DUP5 00002191: CALLDATASIZE 00002192: SUB 00002193: ADD 00002194: DUP2 00002195: SLT 00002196: PUSH2 0x219e 00002199: JUMPI 0000219a: PUSH1 0x00 0000219c: DUP1 0000219d: REVERT 0000219e: JUMPDEST 0000219f: DUP4 000021a0: ADD 000021a1: DUP1 000021a2: CALLDATALOAD 000021a3: SWAP2 000021a4: POP 000021a5: PUSH8 0xffffffffffffffff 000021ae: DUP3 000021af: GT 000021b0: ISZERO 000021b1: PUSH2 0x21b9 000021b4: JUMPI 000021b5: PUSH1 0x00 000021b7: DUP1 000021b8: REVERT 000021b9: JUMPDEST 000021ba: PUSH1 0x20 000021bc: ADD 000021bd: SWAP2 000021be: POP 000021bf: CALLDATASIZE 000021c0: DUP2 000021c1: SWAP1 000021c2: SUB 000021c3: DUP3 000021c4: SGT 000021c5: ISZERO 000021c6: PUSH2 0x1ee0 000021c9: JUMPI 000021ca: PUSH1 0x00 000021cc: DUP1 000021cd: REVERT 000021ce: JUMPDEST 000021cf: PUSH4 0x4e487b71 000021d4: PUSH1 0xe0 000021d6: SHL 000021d7: PUSH1 0x00 000021d9: MSTORE 000021da: PUSH1 0x32 000021dc: PUSH1 0x04 000021de: MSTORE 000021df: PUSH1 0x24 000021e1: PUSH1 0x00 000021e3: REVERT 000021e4: JUMPDEST 000021e5: PUSH1 0x00 000021e7: DUP3 000021e8: CALLDATALOAD 000021e9: PUSH1 0x5e 000021eb: NOT 000021ec: DUP4 000021ed: CALLDATASIZE 000021ee: SUB 000021ef: ADD 000021f0: DUP2 000021f1: SLT 000021f2: PUSH2 0x21fa 000021f5: JUMPI 000021f6: PUSH1 0x00 000021f8: DUP1 000021f9: REVERT 000021fa: JUMPDEST 000021fb: SWAP2 000021fc: SWAP1 000021fd: SWAP2 000021fe: ADD 000021ff: SWAP3 00002200: SWAP2 00002201: POP 00002202: POP 00002203: JUMP 00002204: JUMPDEST 00002205: PUSH1 0x00 00002207: PUSH1 0x01 00002209: DUP3 0000220a: ADD 0000220b: PUSH2 0x2216 0000220e: JUMPI 0000220f: PUSH2 0x2216 00002212: PUSH2 0x215e 00002215: JUMP 00002216: JUMPDEST 00002217: POP 00002218: PUSH1 0x01 0000221a: ADD 0000221b: SWAP1 0000221c: JUMP 0000221d: JUMPDEST 0000221e: PUSH1 0x20 00002220: DUP1 00002221: DUP3 00002222: MSTORE 00002223: PUSH1 0x2c 00002225: SWAP1 00002226: DUP3 00002227: ADD 00002228: MSTORE 00002229: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 0000224a: PUSH1 0x40 0000224c: DUP3 0000224d: ADD 0000224e: MSTORE 0000224f: PUSH12 0x19195b1959d85d1958d85b1b 0000225c: PUSH1 0xa2 0000225e: SHL 0000225f: PUSH1 0x60 00002261: DUP3 00002262: ADD 00002263: MSTORE 00002264: PUSH1 0x80 00002266: ADD 00002267: SWAP1 00002268: JUMP 00002269: JUMPDEST 0000226a: PUSH1 0x20 0000226c: DUP1 0000226d: DUP3 0000226e: MSTORE 0000226f: PUSH1 0x2c 00002271: SWAP1 00002272: DUP3 00002273: ADD 00002274: MSTORE 00002275: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 00002296: PUSH1 0x40 00002298: DUP3 00002299: ADD 0000229a: MSTORE 0000229b: PUSH12 0x6163746976652070726f7879 000022a8: PUSH1 0xa0 000022aa: SHL 000022ab: PUSH1 0x60 000022ad: DUP3 000022ae: ADD 000022af: MSTORE 000022b0: PUSH1 0x80 000022b2: ADD 000022b3: SWAP1 000022b4: JUMP 000022b5: JUMPDEST 000022b6: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000 000022d7: DUP2 000022d8: MSTORE 000022d9: PUSH1 0x00 000022db: DUP4 000022dc: MLOAD 000022dd: PUSH2 0x22ed 000022e0: DUP2 000022e1: PUSH1 0x17 000022e3: DUP6 000022e4: ADD 000022e5: PUSH1 0x20 000022e7: DUP9 000022e8: ADD 000022e9: PUSH2 0x1d8e 000022ec: JUMP 000022ed: JUMPDEST 000022ee: PUSH17 0x01034b99036b4b9b9b4b733903937b6329 00002300: PUSH1 0x7d 00002302: SHL 00002303: PUSH1 0x17 00002305: SWAP2 00002306: DUP5 00002307: ADD 00002308: SWAP2 00002309: DUP3 0000230a: ADD 0000230b: MSTORE 0000230c: DUP4 0000230d: MLOAD 0000230e: PUSH2 0x231e 00002311: DUP2 00002312: PUSH1 0x28 00002314: DUP5 00002315: ADD 00002316: PUSH1 0x20 00002318: DUP9 00002319: ADD 0000231a: PUSH2 0x1d8e 0000231d: JUMP 0000231e: JUMPDEST 0000231f: ADD 00002320: PUSH1 0x28 00002322: ADD 00002323: SWAP5 00002324: SWAP4 00002325: POP 00002326: POP 00002327: POP 00002328: POP 00002329: JUMP 0000232a: JUMPDEST 0000232b: PUSH1 0x00 0000232d: PUSH1 0x20 0000232f: DUP3 00002330: DUP5 00002331: SUB 00002332: SLT 00002333: ISZERO 00002334: PUSH2 0x233c 00002337: JUMPI 00002338: PUSH1 0x00 0000233a: DUP1 0000233b: REVERT 0000233c: JUMPDEST 0000233d: DUP2 0000233e: MLOAD 0000233f: DUP1 00002340: ISZERO 00002341: ISZERO 00002342: DUP2 00002343: EQ 00002344: PUSH2 0x1af7 00002347: JUMPI 00002348: PUSH1 0x00 0000234a: DUP1 0000234b: REVERT 0000234c: JUMPDEST 0000234d: DUP1 0000234e: DUP3 0000234f: MUL 00002350: DUP2 00002351: ISZERO 00002352: DUP3 00002353: DUP3 00002354: DIV 00002355: DUP5 00002356: EQ 00002357: OR 00002358: PUSH2 0x0497 0000235b: JUMPI 0000235c: PUSH2 0x0497 0000235f: PUSH2 0x215e 00002362: JUMP 00002363: JUMPDEST 00002364: PUSH1 0x00 00002366: DUP2 00002367: PUSH2 0x2372 0000236a: JUMPI 0000236b: PUSH2 0x2372 0000236e: PUSH2 0x215e 00002371: JUMP 00002372: JUMPDEST 00002373: POP 00002374: PUSH1 0x00 00002376: NOT 00002377: ADD 00002378: SWAP1 00002379: JUMP 0000237a: JUMPDEST 0000237b: PUSH1 0x00 0000237d: DUP3 0000237e: MLOAD 0000237f: PUSH2 0x21fa 00002382: DUP2 00002383: DUP5 00002384: PUSH1 0x20 00002386: DUP8 00002387: ADD 00002388: PUSH2 0x1d8e 0000238b: JUMP 0000238c: INVALID 0000238d: CALLDATASIZE 0000238e: ADDMOD 0000238f: SWAP5 00002390: LOG1 00002391: EXTCODESIZE 00002392: LOG1 00002393: LOG3 00002394: UNKNOWN(0x21) 00002395: MOD 00002396: PUSH8 0xc828492db98dca3e 0000239f: KECCAK256 000023a0: PUSH23 0xcc3735a920a3ca505d382bbc416464726573733a206c6f 000023b8: PUSH24 0x2d6c6576656c2063616c6c20776974682076616c75652066 000023d1: PUSH2 0x696c 000023d4: PUSH6 0x644164647265 000023db: PUSH20 0x733a206c6f772d6c6576656c2064656c65676174 000023f0: PUSH6 0x2063616c6c20 000023f7: PUSH7 0x61696c6564a498 000023ff: SMOD 00002400: KECCAK256 00002401: TLOAD 00002402: UNKNOWN(0xE4) 00002403: UNKNOWN(0xD3) 00002404: SSTORE 00002405: MULMOD 00002406: UNKNOWN(0x2E) 00002407: CREATE2 00002408: UNKNOWN(0xA8) 00002409: LOG1 0000240a: DUP16 0000240b: JUMP 0000240c: UNKNOWN(0xE8) 0000240d: SWAP2 0000240e: EXTCODECOPY 0000240f: DELEGATECALL 00002410: LOG2 00002411: ADD 00002412: UNKNOWN(0xFB) 00002413: UNKNOWN(0xE2) 00002414: DUP8 00002415: DUP3 00002416: JUMPDEST 00002417: MULMOD 00002418: JUMP 00002419: SWAP4 0000241a: UNKNOWN(0xC2) 0000241b: OR 0000241c: PUSH22 0xe1dcbdb91df27212a29bc27177c840cf2f819ecf2187 00002433: NUMBER 00002434: UNKNOWN(0x2E) 00002435: UNKNOWN(0x1F) 00002436: UNKNOWN(0xAC) 00002437: DUP7 00002438: UNKNOWN(0xC2) 00002439: UNKNOWN(0xDD) 0000243a: TSTORE 0000243b: UNKNOWN(0xFC) 0000243c: UNKNOWN(0xA9) 0000243d: LOG2 0000243e: PUSH5 0x6970667358 00002444: UNKNOWN(0x22) 00002445: SLT 00002446: KECCAK256 00002447: PUSH4 0xee10cff0 0000244c: MSTORE 0000244d: UNKNOWN(0xCD) 0000244e: DUP3 0000244f: GT 00002450: PUSH16 0x6c76d65c743cbde7e04d9a66c77f54ae 00002461: DIFFICULTY 00002462: UNKNOWN(0x23) 00002463: DIFFICULTY 00002464: BLOBBASEFEE 00002465: SELFBALANCE 00002466: TLOAD 00002467: PUSH5 0x736f6c6343 0000246d: STOP 0000246e: ADDMOD 0000246f: SGT 00002470: STOP 00002471: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x393d951f08fe3f8b73849c3d330d20c221656533fec370e0931a839cb7bde75f
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x393d951f08fe3f8b73849c3d330d20c221656533fec370e0931a839cb7bde75f",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x94a173b7",
"selector": "0x94a173b7",
"calldata_variants": [
"0x94a173b7",
"0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11a57ec",
"selector": "0xd11a57ec",
"calldata_variants": [
"0xd11a57ec",
"0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6d66ac8",
"selector": "0xe6d66ac8",
"calldata_variants": [
"0xe6d66ac8",
"0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x59ff6d3b",
"selector": "0x59ff6d3b",
"calldata_variants": [
"0x59ff6d3b",
"0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5c1c6dcd",
"selector": "0x5c1c6dcd",
"calldata_variants": [
"0x5c1c6dcd",
"0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7403,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 9231,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8
call_targets:
0x75161367fcac81482706d119ceedf8ef9a26fb8b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x75161367fcac81482706d119ceedf8ef9a26fb8b"
],
"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": "0x94a173b7",
"selector": "0x94a173b7",
"calldata_variants": [
"0x94a173b7",
"0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11a57ec",
"selector": "0xd11a57ec",
"calldata_variants": [
"0xd11a57ec",
"0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6d66ac8",
"selector": "0xe6d66ac8",
"calldata_variants": [
"0xe6d66ac8",
"0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x59ff6d3b",
"selector": "0x59ff6d3b",
"calldata_variants": [
"0x59ff6d3b",
"0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5c1c6dcd",
"selector": "0x5c1c6dcd",
"calldata_variants": [
"0x5c1c6dcd",
"0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5712,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7059,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8
call_targets:
0x75161367fcac81482706d119ceedf8ef9a26fb8b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbcec589304f90b3bc326880fad7d5ad697c361632aa28ea6f8481387e2dc3bb8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x75161367fcac81482706d119ceedf8ef9a26fb8b"
],
"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": "0x94a173b7",
"selector": "0x94a173b7",
"calldata_variants": [
"0x94a173b7",
"0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11a57ec",
"selector": "0xd11a57ec",
"calldata_variants": [
"0xd11a57ec",
"0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6d66ac8",
"selector": "0xe6d66ac8",
"calldata_variants": [
"0xe6d66ac8",
"0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x59ff6d3b",
"selector": "0x59ff6d3b",
"calldata_variants": [
"0x59ff6d3b",
"0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5c1c6dcd",
"selector": "0x5c1c6dcd",
"calldata_variants": [
"0x5c1c6dcd",
"0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5712,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7059,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x52787b2904b4b95a303343b086f31c6e54c0e8d9c15eae42f855d1274f8461f1
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x52787b2904b4b95a303343b086f31c6e54c0e8d9c15eae42f855d1274f8461f1",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x94a173b7",
"selector": "0x94a173b7",
"calldata_variants": [
"0x94a173b7",
"0x94a173b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11a57ec",
"selector": "0xd11a57ec",
"calldata_variants": [
"0xd11a57ec",
"0xd11a57ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6d66ac8",
"selector": "0xe6d66ac8",
"calldata_variants": [
"0xe6d66ac8",
"0xe6d66ac80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x59ff6d3b",
"selector": "0x59ff6d3b",
"calldata_variants": [
"0x59ff6d3b",
"0x59ff6d3b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5c1c6dcd",
"selector": "0x5c1c6dcd",
"calldata_variants": [
"0x5c1c6dcd",
"0x5c1c6dcd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|