cc7ab8a4-5254-4342-a9c5-0fe7ccd9475b
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 |
|---|---|---|---|---|
| 31254 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 110522 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 110523 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 110524 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 110525 | capability.graph | complete | 1 / 3 | 1 week ago |
| 110526 | detector.run | complete | 1 / 3 | 1 week ago |
| 110527 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:803859] OpenAI Codex v0.77.0 (research preview)
[codex:803859] --------
[codex:803859] workdir: /tmp/codex-multi-lyvyij8_
[codex:803859] model: gpt-5.2-codex
[codex:803859] provider: openai
[codex:803859] approval: never
[codex:803859] sandbox: read-only
[codex:803859] reasoning effort: xhigh
[codex:803859] reasoning summaries: auto
[codex:803859] session id: 019b7d64-4df9-7351-97c5-d6b29d1405e1
[codex:803859] --------
[codex:803859] user
[codex:803859] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:803859]
[codex:803859] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:803859]
[codex:803859] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:803859] - Gas inefficiency, code quality, or best practices
[codex:803859] - Theoretical vulnerabilities without a clear extraction path
[codex:803859] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:803859] - Issues requiring social engineering or off-chain coordination
[codex:803859]
[codex:803859] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:803859] - CALL/DELEGATECALL with controllable destination or calldata
[codex:803859] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:803859] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:803859] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:803859] - External calls before state updates (reentrancy)
[codex:803859] - SELFDESTRUCT with controllable beneficiary
[codex:803859] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:803859]
[codex:803859] For each finding, you MUST explain:
[codex:803859] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:803859] 2. The concrete sequence of transactions to extract value
[codex:803859] 3. Why you believe this is exploitable (not just suspicious)
[codex:803859]
[codex:803859] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:803859] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:803859]
[codex:803859] Output MUST be valid JSON matching the provided schema.
[codex:803859] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:803859] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:803859] mcp startup: no servers
[codex:803859]
[codex:803859] thinking
[codex:803859] **Preparing to read file contents**
[codex:803859] exec
[codex:803859] /bin/bash -lc ls in /tmp/codex-multi-lyvyij8_ succeeded in 5ms:
[codex:803859] BYTECODE_BUNDLE.txt
[codex:803859] codex-output-schema.json
[codex:803859] exec
[codex:803859] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-lyvyij8_ succeeded in 5ms:
[codex:803859] Runtime bytecode bundle for best-effort auditing.
[codex:803859] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:803859]
[codex:803859] FILE: runtime_bytecode.hex
[codex:803859] 0x60806040526004361061030e5760003560e01c80630116aa521461045357806302484ceb14610473578063025e7c27146104b05780631220c6ed146104d057806314ab0bbc1461050057806314bfd6d01461053b5780631ebf05511461055b5780631fa4d1ba1461059357806322c8f6cd146105b35780632708d2a2146105d35780632d345670146105e85780632f2ba2c314610608578063303006671461062a5780633343c8f71461063d5780633c12375e1461065d5780633e5e5411146106965780633ed02116146106c85780634279590a14610703578063435b5cdc1461072357806343755ed11461075b578063486d2e6c1461077b5780634e71e0c8146107b657806352650d6d146107cb5780635f3476ee146107eb57806360dc87001461080b578063626cb0521461082b5780636782fc9d146108585780636d151101146108785780636daadb11146108985780636fda62ed146108b8578063749008ab146108d85780637c9c9f16146108f85780637e926b4b1461091857806385242fba1461093857806386a0711214610958578063877cac55146109785780638794b69d146109985780638818024e146109ad578063886b5f53146109c957806389c06cb7146109e95780638b35c07a14610a165780638e5ee45714610a365780639043684a14610a565780639bed25d814610a76578063a299349114610a8b578063a4298ab614610aab578063a58edf0914610ac0578063a620caf414610ae0578063a762eb8c14610b00578063be19d11f14610b36578063c38c581314610b4b578063c462342c14610b6b578063cb19735e14610b8b578063cb819df914610ba1578063cc22678e14610bc1578063cf2fd14d14610bd6578063d6cfd38d14610bf6578063d92e233d14610cc3578063db1a987814610cd8578063dd420fa014610cf8578063df2981b314610d0d578063dfbe0ece14610d20578063e1c7392a14610d40578063e3aabeeb14610d55578063e442984514610d75578063e45deb9814610d95578063f2fde38b14610db5578063f3e41b1014610dd5578063f6b34db314610df55761044b565b3661044b5760408051608080820183526102ff60e21b828401908152630180808160e11b606080850191909152908352835160c0810185526009548152600060208083018290523383880181905293830184905234948301948552865180820190975290865260a0820195909552938301849052925190516103909190610e15565b6103a281600001518260200151610ec6565b60208101518051608090910151604051600080516020614fb9833981519152926103ce92600192613ed6565b60405180910390a16006546040516312b50f7360e01b81526001600160a01b03909116906312b50f7390610406908490600401613f56565b6020604051808303816000875af1158015610425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104499190613ff6565b005b6104496110fa565b34801561045f57600080fd5b5061044961046e36600461402a565b61110c565b34801561047f57600080fd5b50600754610493906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156104bc57600080fd5b506104936104cb366004614045565b61117a565b3480156104dc57600080fd5b506104f06104eb36600461402a565b6111a4565b60405190151581526020016104a7565b34801561050c57600080fd5b5061052d61051b366004614045565b600b6020526000908152604090205481565b6040519081526020016104a7565b34801561054757600080fd5b50610493610556366004614045565b6111ed565b34801561056757600080fd5b5061052d610576366004614076565b600c60209081526000928352604080842090915290825290205481565b34801561059f57600080fd5b506104496105ae3660046141d8565b6111fd565b3480156105bf57600080fd5b50600654610493906001600160a01b031681565b3480156105df57600080fd5b506104f06112e9565b3480156105f457600080fd5b506104f061060336600461402a565b611334565b34801561061457600080fd5b5061061d611368565b6040516104a79190614309565b6104f0610638366004614472565b6113ca565b34801561064957600080fd5b506104496106583660046141d8565b6114c5565b34801561066957600080fd5b5060005461067d9062010000900460601b81565b6040516001600160601b031990911681526020016104a7565b3480156106a257600080fd5b506106af6102ff60e21b81565b6040516001600160e01b031990911681526020016104a7565b3480156106d457600080fd5b506104f06106e33660046144f0565b600d60209081526000928352604080842090915290825290205460ff1681565b34801561070f57600080fd5b5061044961071e36600461455e565b6115b1565b34801561072f57600080fd5b5061052d61073e3660046145f7565b601060209081526000928352604080842090915290825290205481565b34801561076757600080fd5b5061044961077636600461461a565b61169a565b34801561078757600080fd5b506104f061079636600461467d565b600e60209081526000928352604080842090915290825290205460ff1681565b3480156107c257600080fd5b506104f0611730565b3480156107d757600080fd5b506104496107e6366004614045565b611774565b3480156107f757600080fd5b506104f061080636600461469f565b611781565b34801561081757600080fd5b50610449610826366004614745565b6117a8565b34801561083757600080fd5b5061052d61084636600461402a565b600f6020526000908152604090205481565b34801561086457600080fd5b5061044961087336600461479e565b61180a565b34801561088457600080fd5b506104f061089336600461402a565b6118b5565b3480156108a457600080fd5b506104496108b336600461402a565b6118f2565b3480156108c457600080fd5b506104496108d3366004614880565b611923565b3480156108e457600080fd5b50600854610493906001600160a01b031681565b34801561090457600080fd5b506104496109133660046148eb565b61199a565b34801561092457600080fd5b506104f0610933366004614915565b6119be565b34801561094457600080fd5b506104f0610953366004614932565b611a79565b34801561096457600080fd5b50610449610973366004614966565b611a8c565b34801561098457600080fd5b506104496109933660046149a7565b611bac565b3480156109a457600080fd5b5061061d611c72565b3480156109b957600080fd5b5061052d6001600160f81b031981565b3480156109d557600080fd5b506104496109e436600461402a565b611cd2565b3480156109f557600080fd5b5061052d610a0436600461402a565b60016020526000908152604090205481565b348015610a2257600080fd5b50610449610a3136600461402a565b611cfc565b348015610a4257600080fd5b50610449610a5136600461461a565b611d2a565b348015610a6257600080fd5b50610449610a713660046149a7565b611dc0565b348015610a8257600080fd5b506104f061211f565b348015610a9757600080fd5b50610449610aa6366004614a32565b612172565b348015610ab757600080fd5b5061061d61229a565b348015610acc57600080fd5b50610493610adb366004614045565b6122fa565b348015610aec57600080fd5b50610449610afb36600461467d565b61230a565b348015610b0c57600080fd5b5061052d610b1b36600461402a565b6001600160a01b031660009081526001602052604090205490565b348015610b4257600080fd5b506104f061234d565b348015610b5757600080fd5b506104f0610b6636600461402a565b612374565b348015610b7757600080fd5b50610449610b86366004614a68565b6123a8565b348015610b9757600080fd5b5061052d60095481565b348015610bad57600080fd5b50610449610bbc36600461402a565b612441565b348015610bcd57600080fd5b506104f061246b565b348015610be257600080fd5b506104f0610bf136600461402a565b612492565b348015610c0257600080fd5b50610cb0610c11366004614045565b600a6020908152600091825260409182902082516060808201855282546001600160801b038082168452600160801b91829004811684870152600185015484880152865192830187526002850154808216845291909104169381019390935260038201549383019390935260048101546005820154600683015460079093015460ff8316936001600160a01b0361010090940484169392831692169087565b6040516104a79796959493929190614acd565b348015610ccf57600080fd5b50610493600081565b348015610ce457600080fd5b50610449610cf336600461455e565b6124cf565b348015610d0457600080fd5b5061061d6125b1565b610449610d1b36600461467d565b612611565b348015610d2c57600080fd5b50610493610d3b366004614045565b612657565b348015610d4c57600080fd5b50610449612667565b348015610d6157600080fd5b50610449610d70366004614b28565b61285d565b348015610d8157600080fd5b50610449610d90366004614880565b6128da565b348015610da157600080fd5b506104f0610db036600461402a565b612979565b348015610dc157600080fd5b506104f0610dd036600461402a565b6129b6565b348015610de157600080fd5b50610449610df0366004614a32565b612a3c565b348015610e0157600080fd5b50610449610e1036600461467d565b612b65565b6000828152600a6020908152604091829020825160608101845260028201546001600160801b03808216808452600160801b9092041693820193909352600390910154928101929092528210801590610e7b575080602001516001600160801b03168211155b610ec15760405162461bcd60e51b81526020600482015260126024820152717661756c7420616d6f756e7420636865636b60701b60448201526064015b60405180910390fd5b505050565b8051610ed29083612b9d565b8051610edd90612c07565b8051610eee90338360800151612c5e565b6020820151610f0d906001600160801b0319166202010160e81b612d10565b15610f16575050565b6020820151610f36906001600160801b031916630180808160e11b612d10565b15610f3f575050565b6020820151610f5e906001600160801b03191662c0404160e21b612d10565b15610fa55780516000908152600e6020908152604080832082850151845290915290205460ff16610fa15760405162461bcd60e51b8152600401610eb890614b5c565b5050565b6020820151610fc6906001600160801b03191664040101020560d81b612d10565b15610fcf575050565b6020820151610ff0906001600160801b03191664040101040560d81b612d10565b156110335780516000908152600e6020908152604080832082850151845290915290205460ff16610fa15760405162461bcd60e51b8152600401610eb890614b5c565b6020820151611053906001600160801b031916638020204160db1b612d10565b1561105c575050565b602082015161107c906001600160801b031916638020208160db1b612d10565b156110bf5780516000908152600e6020908152604080832082850151845290915290205460ff16610fa15760405162461bcd60e51b8152600401610eb890614b5c565b60405162461bcd60e51b815260206004820152601060248201526f5661756c745f7265715f6e617469766560801b6044820152606401610eb8565b61110a611105612d22565b612d31565b565b611114612d55565b6007546001600160a01b03166111585760405162461bcd60e51b815260206004820152600960248201526877626663207a65726f60b81b6044820152606401610eb8565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6002818154811061118a57600080fd5b6000918252602090912001546001600160a01b0316905081565b60006111b2335b6003612dc3565b6111ce5760405162461bcd60e51b8152600401610eb890614b87565b6111d782612ded565b6111e46002836003612e31565b5060015b919050565b6004818154811061118a57600080fd5b611205612d55565b60005b8251811015610ec15760005b82828151811061122657611226614bab565b6020026020010151518110156112d6576000600d600086858151811061124e5761124e614bab565b60200260200101518152602001908152602001600020600085858151811061127857611278614bab565b6020026020010151848151811061129157611291614bab565b6020908102919091018101516001600160801b0319168252810191909152604001600020805460ff1916911515919091179055806112ce81614bd7565b915050611214565b50806112e181614bd7565b915050611208565b60006112f7335b6002612dc3565b6113135760405162461bcd60e51b8152600401610eb890614bf0565b6113206004336001612e31565b61132d6005336002612e99565b5060015b90565b600061133f336111ab565b61135b5760405162461bcd60e51b8152600401610eb890614b87565b6111e46004836001612e99565b606060058054806020026020016040519081016040528092919081815260200182805480156113c057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113a2575b5050505050905090565b602081015180516080909101516000916113e391610e15565b6113f582600001518360200151610ec6565b60208201518051608090910151604051600080516020614fb98339815191529261142192600192613ed6565b60405180910390a1602082015180516080909101516114409190612f01565b6020830151608001526006546040516312b50f7360e01b81526001600160a01b03909116906312b50f7390611479908590600401613f56565b6020604051808303816000875af1158015611498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bc9190613ff6565b50600192915050565b6114cd612d55565b60005b8251811015610ec15760005b8282815181106114ee576114ee614bab565b60200260200101515181101561159e576001600d600086858151811061151657611516614bab565b60200260200101518152602001908152602001600020600085858151811061154057611540614bab565b6020026020010151848151811061155957611559614bab565b6020908102919091018101516001600160801b0319168252810191909152604001600020805460ff19169115159190911790558061159681614bd7565b9150506114dc565b50806115a981614bd7565b9150506114d0565b6115b9612d55565b60005b83811015611693578282828181106115d6576115d6614bab565b905060600201600a60008787858181106115f2576115f2614bab565b90506020020135815260200190815260200160002060020181816116169190614c31565b9050507f51d59f78ee8211b3edc94eb20901616991e8c0282b67fa431a20b21410978ed285858381811061164c5761164c614bab565b9050602002013584848481811061166557611665614bab565b905060600201604051611679929190614cb7565b60405180910390a18061168b81614bd7565b9150506115bc565b5050505050565b6116a2612d55565b60005b8251811015610ec1576001600e60008584815181106116c6576116c6614bab565b6020026020010151815260200190815260200160002060008484815181106116f0576116f0614bab565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061172890614bd7565b9150506116a5565b600061173e335b6004612dc3565b61175a5760405162461bcd60e51b8152600401610eb890614ccb565b6117676002336003612e31565b61132d6003336004612e99565b61177c612d55565b600955565b600061178b612d55565b81516000908152600b602052604090205482526114bc838361301d565b6117b0612d55565b60005b8251811015610ec1576117f88382815181106117d1576117d1614bab565b60200260200101518383815181106117eb576117eb614bab565b6020026020010151613192565b8061180281614bd7565b9150506117b3565b611812612d55565b60005b83518110156118af5781818151811061183057611830614bab565b6020026020010151600c600086848151811061184e5761184e614bab565b60200260200101518152602001908152602001600020600085848151811061187857611878614bab565b6020908102919091018101516001600160e01b031916825281019190915260400160002055806118a781614bd7565b915050611815565b50505050565b60006118c0336111ab565b6118dc5760405162461bcd60e51b8152600401610eb890614b87565b6118e582612ded565b6111e46002836003612e99565b6118fb336111ab565b6119175760405162461bcd60e51b8152600401610eb890614b87565b61192081613205565b50565b61192b612d55565b611933613245565b5060005b838110156116935782828281811061195157611951614bab565b90506020020135600b600087878581811061196e5761196e614bab565b90506020020135815260200190815260200160002081905550808061199290614bd7565b915050611937565b6119a2612d55565b6001600160a01b039091166000908152600f6020526040902055565b60006119c9336111ab565b6119e55760405162461bcd60e51b8152600401610eb890614b87565b81611a6b5760006001600160a01b03166003600081548110611a0957611a09614bab565b6000918252602090912001546001600160a01b031603611a6b5760405162461bcd60e51b815260206004820181905260248201527f666174616c3a205468657265206973206e6f2070656e64696e67206f776e65726044820152606401610eb8565b6111e46002335b6003612e99565b6000611a83612d55565b6111e4826132d9565b611a94612d55565b6008546001600160a01b031680611ad95760405162461bcd60e51b81526020600482015260096024820152680696e697420737761760bc1b6044820152606401610eb8565b6000611ae3613245565b905060005b8381101561169357611b1b858583818110611b0557611b05614bab565b90506020020135836132f090919063ffffffff16565b611b555760405162461bcd60e51b815260206004820152600b60248201526a31b7b4b7103937baba32b960a91b6044820152606401610eb8565b611b9a600a6000878785818110611b6e57611b6e614bab565b60209081029290920135835250810191909152604001600020600601546001600160a01b031684613192565b80611ba481614bd7565b915050611ae8565b611bb4612d55565b60005b8381101561169357611c09858583818110611bd457611bd4614bab565b90506020020135848484818110611bed57611bed614bab565b90506101600201803603810190611c049190614d71565b6132f5565b600080516020615019833981519152858583818110611c2a57611c2a614bab565b90506020020135848484818110611c4357611c43614bab565b90506101600201604051611c58929190614e20565b60405180910390a180611c6a81614bd7565b915050611bb7565b606060048054806020026020016040519081016040528092919081815260200182805480156113c0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116113a2575050505050905090565b611cda612d55565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b611d05336111ab565b611d215760405162461bcd60e51b8152600401610eb890614b87565b611920816133f8565b611d32612d55565b60005b8251811015610ec1576000600e6000858481518110611d5657611d56614bab565b602002602001015181526020019081526020016000206000848481518110611d8057611d80614bab565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611db890614bd7565b915050611d35565b611dc8612d55565b6000611dd2613245565b9050611ddf81600061344c565b611e1b5760405162461bcd60e51b815260206004820152600d60248201526c1a5b9a5d0818dbdb9d1c9858dd609a1b6044820152606401610eb8565b60006001600160a01b03815b8681101561211557826001600160a01b0316868683818110611e4b57611e4b614bab565b90506101600201610120016020810190611e65919061402a565b6001600160a01b031603611eaa5760405162461bcd60e51b815260206004820152600c60248201526b1d185c99d95d0819985d5b1d60a21b6044820152606401610eb8565b611ed8888883818110611ebf57611ebf614bab565b90506020020135878784818110611bed57611bed614bab565b878782818110611eea57611eea614bab565b90506020020135600f6000888885818110611f0757611f07614bab565b90506101600201610120016020810190611f21919061402a565b6001600160a01b03168152602081019190915260400160002055611f66888883818110611f5057611f50614bab565b90506020020135856132f090919063ffffffff16565b156120ac57826001600160a01b0316868683818110611f8757611f87614bab565b9050610160020160e0016020810190611fa0919061402a565b6001600160a01b03161461200d5761200d868683818110611fc357611fc3614bab565b90506101600201610120016020810190611fdd919061402a565b878784818110611fef57611fef614bab565b9050610160020160e0016020810190612008919061402a565b613192565b826001600160a01b031686868381811061202957612029614bab565b90506101600201610100016020810190612043919061402a565b6001600160a01b0316146120ac576120ac86868381811061206657612066614bab565b90506101600201610120016020810190612080919061402a565b87878481811061209257612092614bab565b90506101600201610100016020810190612008919061402a565b6000805160206150198339815191528888838181106120cd576120cd614bab565b905060200201358787848181106120e6576120e6614bab565b905061016002016040516120fb929190614e20565b60405180910390a18061210d81614bd7565b915050611e27565b5050505050505050565b600061212c336001612dc3565b6121655760405162461bcd60e51b815260206004820152600a60248201526927b7363c9020b236b4b760b11b6044820152606401610eb8565b61132d6004336001612e99565b61217a612d55565b6000612184613245565b905060005b83518110156118af578281815181106121a4576121a4614bab565b6020026020010151600a60008684815181106121c2576121c2614bab565b6020026020010151815260200190815260200160002060040160016101000a8154816001600160a01b0302191690836001600160a01b0316021790555061222b84828151811061221457612214614bab565b6020026020010151836132f090919063ffffffff16565b1561228857612288600a600086848151811061224957612249614bab565b6020026020010151815260200190815260200160002060050160009054906101000a90046001600160a01b03168483815181106117eb576117eb614bab565b8061229281614bd7565b915050612189565b606060028054806020026020016040519081016040528092919081815260200182805480156113c0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116113a2575050505050905090565b6005818154811061118a57600080fd5b6123138261345b565b60008281526010602090815260408083203384529091528120805483929061233c908490614ec1565b90915550610fa190508233836134db565b600061235833611737565b6117675760405162461bcd60e51b8152600401610eb890614ccb565b600061237f336111ab565b61239b5760405162461bcd60e51b8152600401610eb890614b87565b6111e46004836001612e31565b6123b1336111ab565b6123cd5760405162461bcd60e51b8152600401610eb890614b87565b60005462010000900460601b6001600160601b0319161561241c5760405162461bcd60e51b81526020600482015260096024820152686f6e6c79206f6e636560b81b6044820152606401610eb8565b6000805460609290921c620100000262010000600160b01b0319909216919091179055565b612449612d55565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000612476336112f0565b6113205760405162461bcd60e51b8152600401610eb890614bf0565b600061249d336111ab565b6124b95760405162461bcd60e51b8152600401610eb890614b87565b6124c282612ded565b6111e46003836004612e31565b6124d7612d55565b60005b83811015611693578282828181106124f4576124f4614bab565b905060600201600a600087878581811061251057612510614bab565b90506020020135815260200190815260200160002060000181816125349190614c31565b9050507facfad0157cd2da7666b74ee0913cbf7138d00099b488e5fc050f407085ffcbeb85858381811061256a5761256a614bab565b9050602002013584848481811061258357612583614bab565b905060600201604051612597929190614cb7565b60405180910390a1806125a981614bd7565b9150506124da565b606060038054806020026020016040519081016040528092919081815260200182805480156113c0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116113a2575050505050905090565b61261a8261345b565b612625823383612c5e565b60008281526010602090815260408083203384529091528120805483929061264e908490614ed8565b90915550505050565b6003818154811061118a57600080fd5b600054610100900460ff16158080156126875750600054600160ff909116105b806126a8575061269630612b8e565b1580156126a8575060005460ff166001145b61270b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610eb8565b6000805460ff19166001179055801561272e576000805461ff0019166101001790555b6127393360036135d4565b6002805460018082019092557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03199081163317909155600380548084019091557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805482169055600480548084019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054821690556005805492830181556000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0909101805490911690558015611920576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b612865612d55565b60005b8151811015610fa1576003600a600084848151811061288957612889614bab565b6020026020010151815260200190815260200160002060040160006101000a81548160ff021916908360038111156128c3576128c3613ec0565b0217905550806128d281614bd7565b915050612868565b6128e2612d55565b60005b83811015611693578282828181106128ff576128ff614bab565b9050602002016020810190612914919061402a565b600a600087878581811061292a5761292a614bab565b90506020020135815260200190815260200160002060060160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550808061297190614bd7565b9150506128e5565b6000612984336111ab565b6129a05760405162461bcd60e51b8152600401610eb890614b87565b6129a982612ded565b6111e46005836002612e31565b60006129c1336111ab565b6129dd5760405162461bcd60e51b8152600401610eb890614b87565b6129e682612ded565b6129f1600233611a72565b6129fe6002836003612e31565b6040516001600160a01b0383169033907f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c90600090a3506001919050565b612a44612d55565b6000612a4e613245565b90506000805b845181101561169357838181518110612a6f57612a6f614bab565b6020026020010151600a6000878481518110612a8d57612a8d614bab565b6020026020010151815260200190815260200160002060050160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550612af6858281518110612adf57612adf614bab565b6020026020010151846132f090919063ffffffff16565b15612b5357612b53600a6000878481518110612b1457612b14614bab565b6020026020010151815260200190815260200160002060060160009054906101000a90046001600160a01b03168583815181106117eb576117eb614bab565b80612b5d81614bd7565b915050612a54565b612b6d612d55565b6000828152600a60205260408120600701805483929061233c908490614ec1565b6001600160a01b03163b151590565b6000828152600d60209081526040808320848301516001600160801b031916845290915290205460ff16610fa15760405162461bcd60e51b81526020600482015260116024820152703b30bab63a1034b739ba393ab1ba34b7b760791b6044820152606401610eb8565b6000818152600a60205260409020600601546001600160a01b03166119205760405162461bcd60e51b815260206004820152600d60248201526c6369726375697420627265616b60981b6044820152606401610eb8565b3415612ce9576009548314612ca75760405162461bcd60e51b815260206004820152600f60248201526e18dbda5b881a5b99195e0819985a5b608a1b6044820152606401610eb8565b348114610ec15760405162461bcd60e51b815260206004820152601060248201526f18dbda5b88185b5bdd5b9d0819985a5b60821b6044820152606401610eb8565b6000838152600a60205260409020600601546001600160a01b03166118af81843085613689565b6001600160801b031990811691161490565b6000612d2c6136f4565b905090565b3660008037600080366000845af43d6000803e808015612d50573d6000f35b3d6000fd5b33600090815260016020526040902054612d70816003613715565b80612d815750612d81816001613715565b6119205760405162461bcd60e51b815260206004820152601360248201527227b7363c9027bbb732b91037b91020b236b4b760691b6044820152606401610eb8565b6001600160a01b038216600090815260016020526040812054612de69083613715565b9392505050565b336001600160a01b038216036119205760405162461bcd60e51b815260206004820152600960248201526820baba341029b2b63360b91b6044820152606401610eb8565b612e3a8261375d565b612e4482826135d4565b612e4e83836137a1565b806004811115612e6057612e60613ec0565b6040516001600160a01b038416907f16648684a169742a8946057cc0e413441c39b8c40d8a0b329547a5b58d0fad3390600090a3505050565b612ea28261375d565b612eac8282613850565b612eb68383613907565b806004811115612ec857612ec8613ec0565b6040516001600160a01b038416907f4c122a44c01f7baedf7841724cfb4cecb281d5d9f46ddfe8bcace2d9d121fb5a90600090a3505050565b6000828152600a60209081526040808320815160608101835281546001600160801b038082168352600160801b9091041693810193909352600101549082018190528290670de0b6b3a764000090612f599086614ef0565b612f639190614f0f565b82519091506001600160801b0316811015612f85575080516001600160801b03165b81602001516001600160801b0316811115612faa575060208101516001600160801b03165b808411612fe35760405162461bcd60e51b81526020600482015260076024820152667375622066656560c81b6044820152606401610eb8565b6000858152600a602052604081206007018054839290613004908490614ed8565b9091555061301490508185614ec1565b95945050505050565b6130348160000151826060015183608001516134db565b6020820151613053906001600160801b0319166202020160e81b612d10565b1561305c575050565b602082015161307c906001600160801b031916630302030160e01b612d10565b15613085575050565b60208201516130a5906001600160801b031916630302040160e01b612d10565b156130ae575050565b60208201516130cf906001600160801b03191664040207030160d81b612d10565b156130d8575050565b60208201516130f9906001600160801b03191664040207040160d81b612d10565b15613102575050565b6020820151613123906001600160801b03191664040206030160d81b612d10565b1561312c575050565b602082015161314d906001600160801b03191664040206040160d81b612d10565b15613156575050565b60405162461bcd60e51b81526020600482015260116024820152705661756c745f657865635f6e617469766560781b6044820152606401610eb8565b60405163095ea7b360e01b81526001600160a01b0383169063095ea7b3906131c290849060001990600401614f31565b6020604051808303816000875af11580156131e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec19190613ff6565b61320e81613951565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60095461325381600061344c565b6132925760405162461bcd60e51b815260206004820152601060248201526f0d2dcd2e87440c6ded2dc40d2dcc8caf60831b6044820152606401610eb8565b6006546001600160a01b03166113315760405162461bcd60e51b815260206004820152600c60248201526b1a5b9a5d0e881cdbd8dad95d60a21b6044820152606401610eb8565b6119208160000151826040015183608001516134db565b141590565b6000828152600a602090815260409182902083518051818401516001600160801b03918216600160801b91831682021784559185015160018085019190915586850151805195810151958316959092169092029390931760028301559183015160038083019190915592840151600482018054869593949293919260ff1990911691849081111561338857613388613ec0565b021790555060608201516004820180546001600160a01b0392831661010002610100600160a81b031990911617905560808301516005830180549183166001600160a01b031992831617905560a084015160068401805491909316911617905560c0909101516007909101555050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6134216139ee565b604080516001600160a01b03928316815291841660208301520160405180910390a161192081613a04565b6001600160801b031916141590565b6000818152600a602052604090206004015460ff16600381600381111561348457613484613ec0565b141580156134a4575060008160038111156134a1576134a1613ec0565b14155b610fa15760405162461bcd60e51b81526020600482015260086024820152676d696e7461626c6560c01b6044820152606401610eb8565b600954830361355b57478111156135255760405162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b6044820152606401610eb8565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156118af573d6000803e3d6000fd5b60036000848152600a602052604090206004015460ff16600381111561358357613583613ec0565b036135ae576000838152600a6020526040902060060154610ec1906001600160a01b03168383613a7e565b6000838152600a6020526040902060060154610ec1906001600160a01b03168383613a9d565b6001600160a01b0382166000908152600160205260409020546135f78183613715565b156136395760405162461bcd60e51b8152602060048201526012602482015271636f6e666c696374206175746820666c616760701b6044820152606401610eb8565b81600481111561364b5761364b613ec0565b613656906008614f4a565b6001600160a01b0390931660009081526001602052604090206001600160f81b031960ff949094169390931c1790915550565b6040516001600160a01b03808516602483015283166044820152606481018290526118af9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613abc565b6000600080516020614ff98339815191525b546001600160a01b0316919050565b60006001600160f81b03198383600481111561373357613733613ec0565b60ff166020811061374657613746614bab565b1a60f81b6001600160f81b03191614905092915050565b6001600160a01b0381166119205760405162461bcd60e51b815260206004820152600b60248201526a5a65726f4164647265737360a81b6044820152606401610eb8565b60006001600160a01b0316826000815481106137bf576137bf614bab565b6000918252602090912001546001600160a01b03160361381f5780826000815481106137ed576137ed614bab565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505050565b81546001810183556000838152602090200180546001600160a01b0383166001600160a01b03199091161790555050565b6001600160a01b0382166000908152600160205260409020546138738183613715565b6138b15760405162461bcd60e51b815260206004820152600f60248201526e0dcdee840ccd8c2cecac840c2eae8d608b1b6044820152606401610eb8565b8160048111156138c3576138c3613ec0565b6138ce906008614f4a565b6001600160a01b0393909316600090815260016020526040902080546001600160f81b031960ff9095169490941c199093169092555050565b6139488282846001868054905061391e9190614ec1565b8154811061392e5761392e614bab565b6000918252602090912001546001600160a01b0316613b5e565b610fa182613c1c565b61395a81612b8e565b6139bc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610eb8565b80600080516020614ff98339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6000600080516020614fd9833981519152613706565b6001600160a01b038116613a695760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610eb8565b80600080516020614fd98339815191526139cd565b610ec1836340c10f1960e01b84846040516024016136bd929190614f31565b610ec18363a9059cbb60e01b84846040516024016136bd929190614f31565b6000613b01826040518060400160405280600d81526020016c1cd859994e881b1bddd0d85b1b609a1b815250856001600160a01b0316613ca09092919063ffffffff16565b805190915015610ec15780806020019051810190613b1f9190613ff6565b610ec15760405162461bcd60e51b815260206004820152601060248201526f736166653a2072657475726e4461746160801b6044820152606401610eb8565b806001600160a01b0316826001600160a01b031603613b8157610ec18383613cb7565b825460005b8181101561169357836001600160a01b0316858281548110613baa57613baa614bab565b6000918252602090912001546001600160a01b031603613c0a5782858281548110613bd757613bd7614bab565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550611693565b80613c1481614bd7565b915050613b86565b8054600103613c6b57600081600081548110613c3a57613c3a614bab565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050565b80805480613c7b57613c7b614f73565b600082815260209020810160001990810180546001600160a01b031916905501905550565b6060613caf8484600085613d49565b949350505050565b815460005b81811015613d1257826001600160a01b0316848281548110613ce057613ce0614bab565b6000918252602090912001546001600160a01b031603613d005750505050565b80613d0a81614bd7565b915050613cbc565b5060405162461bcd60e51b815260206004820152600b60248201526a3737ba1031b7b73a30b4b760a91b6044820152606401610eb8565b606082471015613daa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610eb8565b600080866001600160a01b03168587604051613dc69190614f89565b60006040518083038185875af1925050503d8060008114613e03576040519150601f19603f3d011682016040523d82523d6000602084013e613e08565b606091505b5091509150613e1987838387613e24565b979650505050505050565b60608315613e91578251600003613e8a57613e3e85612b8e565b613e8a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610eb8565b5081613caf565b613caf8383815115613ea65781518083602001fd5b8060405162461bcd60e51b8152600401610eb89190614fa5565b634e487b7160e01b600052602160045260246000fd5b6060810160038510613eea57613eea613ec0565b938152602081019290925260409091015290565b60005b83811015613f19578181015183820152602001613f01565b838111156118af5750506000910152565b60008151808452613f42816020860160208601613efe565b601f01601f19169290920160200192915050565b602081526000825163ffffffff60e01b815116602084015260018060801b0319602082015116604084015250602083015160608084015280516080840152602081015160a0840152604081015160018060a01b0380821660c08601528060608401511660e08601525050608081015161010084015260a0810151905060c0610120840152613caf610140840182613f2a565b801515811461192057600080fd5b60006020828403121561400857600080fd5b8151612de681613fe8565b80356001600160a01b03811681146111e857600080fd5b60006020828403121561403c57600080fd5b612de682614013565b60006020828403121561405757600080fd5b5035919050565b80356001600160e01b0319811681146111e857600080fd5b6000806040838503121561408957600080fd5b823591506140996020840161405e565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156140da576140da6140a2565b60405290565b60405160c081016001600160401b03811182821017156140da576140da6140a2565b604051601f8201601f191681016001600160401b038111828210171561412a5761412a6140a2565b604052919050565b60006001600160401b0382111561414b5761414b6140a2565b5060051b60200190565b600082601f83011261416657600080fd5b8135602061417b61417683614132565b614102565b82815260059290921b8401810191818101908684111561419a57600080fd5b8286015b848110156141b5578035835291830191830161419e565b509695505050505050565b80356001600160801b0319811681146111e857600080fd5b60008060408084860312156141ec57600080fd5b83356001600160401b038082111561420357600080fd5b61420f87838801614155565b945060209150818601358181111561422657600080fd5b8601601f8101881361423757600080fd5b803561424561417682614132565b81815260059190911b8201840190848101908a83111561426457600080fd5b8584015b838110156142f7578035868111156142805760008081fd5b8501603f81018d136142925760008081fd5b878101356142a261417682614132565b81815260059190911b82018a0190898101908f8311156142c25760008081fd5b928b01925b828410156142e7576142d8846141c0565b8252928a0192908a01906142c7565b8652505050918601918601614268565b50809750505050505050509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561434a5783516001600160a01b031683529284019291840191600101614325565b50909695505050505050565b60006040828403121561436857600080fd5b6143706140b8565b905061437b8261405e565b8152614389602083016141c0565b602082015292915050565b600060c082840312156143a657600080fd5b6143ae6140e0565b905081358152602080830135818301526143ca60408401614013565b60408301526143db60608401614013565b60608301526080838101359083015260a08301356001600160401b038082111561440457600080fd5b818501915085601f83011261441857600080fd5b81358181111561442a5761442a6140a2565b61443c601f8201601f19168501614102565b9150808252868482850101111561445257600080fd5b80848401858401376000848284010152508060a085015250505092915050565b60006020828403121561448457600080fd5b81356001600160401b038082111561449b57600080fd5b90830190606082860312156144af57600080fd5b6144b76140b8565b6144c18684614356565b81526040830135828111156144d557600080fd5b6144e187828601614394565b60208301525095945050505050565b6000806040838503121561450357600080fd5b82359150614099602084016141c0565b60008083601f84011261452557600080fd5b5081356001600160401b0381111561453c57600080fd5b6020830191508360208260051b850101111561455757600080fd5b9250929050565b6000806000806040858703121561457457600080fd5b84356001600160401b038082111561458b57600080fd5b61459788838901614513565b909650945060208701359150808211156145b057600080fd5b818701915087601f8301126145c457600080fd5b8135818111156145d357600080fd5b8860206060830285010111156145e857600080fd5b95989497505060200194505050565b6000806040838503121561460a57600080fd5b8235915061409960208401614013565b6000806040838503121561462d57600080fd5b82356001600160401b038082111561464457600080fd5b61465086838701614155565b9350602085013591508082111561466657600080fd5b5061467385828601614155565b9150509250929050565b6000806040838503121561469057600080fd5b50508035926020909101359150565b600080606083850312156146b257600080fd5b6146bc8484614356565b915060408301356001600160401b038111156146d757600080fd5b61467385828601614394565b600082601f8301126146f457600080fd5b8135602061470461417683614132565b82815260059290921b8401810191818101908684111561472357600080fd5b8286015b848110156141b55761473881614013565b8352918301918301614727565b6000806040838503121561475857600080fd5b82356001600160401b038082111561476f57600080fd5b61477b868387016146e3565b9350602085013591508082111561479157600080fd5b50614673858286016146e3565b6000806000606084860312156147b357600080fd5b83356001600160401b03808211156147ca57600080fd5b6147d687838801614155565b94506020915081860135818111156147ed57600080fd5b8601601f810188136147fe57600080fd5b803561480c61417682614132565b81815260059190911b8201840190848101908a83111561482b57600080fd5b928501925b82841015614850576148418461405e565b82529285019290850190614830565b9650505050604086013591508082111561486957600080fd5b5061487686828701614155565b9150509250925092565b6000806000806040858703121561489657600080fd5b84356001600160401b03808211156148ad57600080fd5b6148b988838901614513565b909650945060208701359150808211156148d257600080fd5b506148df87828801614513565b95989497509550505050565b600080604083850312156148fe57600080fd5b61490783614013565b946020939093013593505050565b60006020828403121561492757600080fd5b8135612de681613fe8565b60006020828403121561494457600080fd5b81356001600160401b0381111561495a57600080fd5b613caf84828501614394565b6000806020838503121561497957600080fd5b82356001600160401b0381111561498f57600080fd5b61499b85828601614513565b90969095509350505050565b600080600080604085870312156149bd57600080fd5b84356001600160401b03808211156149d457600080fd5b6149e088838901614513565b909650945060208701359150808211156149f957600080fd5b818701915087601f830112614a0d57600080fd5b813581811115614a1c57600080fd5b886020610160830285010111156145e857600080fd5b60008060408385031215614a4557600080fd5b82356001600160401b0380821115614a5c57600080fd5b61477b86838701614155565b600060208284031215614a7a57600080fd5b81356001600160601b031981168114612de657600080fd5b80516001600160801b03908116835260208083015190911690830152604090810151910152565b60048110614ac957614ac9613ec0565b9052565b6101608101614adc828a614a92565b614ae96060830189614a92565b614af660c0830188614ab9565b6001600160a01b0395861660e08301529385166101008201529190931661012082015261014001919091529392505050565b600060208284031215614b3a57600080fd5b81356001600160401b03811115614b5057600080fd5b613caf84828501614155565b6020808252601190820152701b9bdd081cdd5c1c1bdc9d08185cdcd95d607a1b604082015260600190565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201614be957614be9614bc1565b5060010190565b60208082526012908201527127b7363c902832b73234b7339020b236b4b760711b604082015260600190565b6001600160801b038116811461192057600080fd5b8135614c3c81614c1c565b81546001600160801b03199081166001600160801b039290921691821783556020840135614c6981614c1c565b60801b1617815560409190910135600190910155565b8035614c8a81614c1c565b6001600160801b039081168352602082013590614ca682614c1c565b166020830152604090810135910152565b82815260808101612de66020830184614c7f565b60208082526012908201527127b7363c902832b73234b7339027bbb732b960711b604082015260600190565b600060608284031215614d0957600080fd5b604051606081016001600160401b0381118282101715614d2b57614d2b6140a2565b6040529050808235614d3c81614c1c565b81526020830135614d4c81614c1c565b6020820152604092830135920191909152919050565b8035600481106111e857600080fd5b60006101608284031215614d8457600080fd5b60405160e081016001600160401b0381118282101715614da657614da66140a2565b604052614db38484614cf7565b8152614dc28460608501614cf7565b6020820152614dd360c08401614d62565b6040820152614de460e08401614013565b6060820152614df66101008401614013565b6080820152614e086101208401614013565b60a0820152610140929092013560c083015250919050565b8281526101808101614e356020830184614c7f565b614e456080830160608501614c7f565b614e5160c08401614d62565b614e5e60e0840182614ab9565b50614e6b60e08401614013565b61010060018060a01b0380831682860152614e87828701614013565b9250610120915080831682860152614ea0828701614013565b16610140858101919091529490940135610160909301929092529392505050565b600082821015614ed357614ed3614bc1565b500390565b60008219821115614eeb57614eeb614bc1565b500190565b6000816000190483118215151615614f0a57614f0a614bc1565b500290565b600082614f2c57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b03929092168252602082015260400190565b600060ff821660ff84168160ff0481118215151615614f6b57614f6b614bc1565b029392505050565b634e487b7160e01b600052603160045260246000fd5b60008251614f9b818460208701613efe565b9190910192915050565b602081526000612de66020830184613f2a56fe77af05e6a92fec1895af9546423ef6796ffe69d557ab50a909edfe4d3352b205b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6b3d21df97c6b6a7a77df229a0b01302c712242f00b1ae7eae9c98af47b1aecca264697066735822122015657cafa2a3c2f882f36bcfbd641a7b88907ef9c17cecf2a9b26e116ef77f4564736f6c634300080d0033
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing bytecode for upgradeability risks**
[codex:803859]
[codex:803859] I'm examining function selectors, delegatecall patterns, and upgrade functions within the large runtime bytecode to check if upgrade mechanisms are properly protected. Since the bytecode shows typical ERC1967 and Ownable features and lacks clear unprotected upgrade or delegatecall paths, I focus on confirming no obvious vulnerabilities before concluding no exploit path is found.
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] import binascii
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] # ensure even length
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] # opcode map for some
[codex:803859] ops = {0xf1:'CALL',0xf4:'DELEGATECALL',0xff:'SELFDESTRUCT',0xfa:'STATICCALL'}
[codex:803859] for opcode,name in ops.items():
[codex:803859] offs=[i for i,b in enumerate(code) if b==opcode]
[codex:803859] print(name,len(offs))
[codex:803859] print(' first 10:',offs[:10])
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 38ms:
[codex:803859] CALL 7
[codex:803859] first 10: [1044, 3049, 5255, 10729, 12752, 13637, 15827]
[codex:803859] DELEGATECALL 9
[codex:803859] first 10: [541, 1518, 9451, 9455, 11562, 11583, 12012, 13318, 18158]
[codex:803859] SELFDESTRUCT 57
[codex:803859] first 10: [801, 1705, 1791, 1970, 3219, 3972, 4118, 4258, 4793, 5505]
[codex:803859] STATICCALL 7
[codex:803859] first 10: [1105, 2782, 5681, 9530, 10058, 10079, 13324]
[codex:803859]
[codex:803859] thinking
[codex:803859] **Implementing precise opcode parsing**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] ops = {0xf1:'CALL',0xf4:'DELEGATECALL',0xff:'SELFDESTRUCT',0xfa:'STATICCALL'}
[codex:803859]
[codex:803859] pc=0
[codex:803859] found={k:[] for k in ops}
[codex:803859] while pc < len(code):
[codex:803859] op=code[pc]
[codex:803859] if op in ops:
[codex:803859] found[op].append(pc)
[codex:803859] pc+=1
[codex:803859] continue
[codex:803859] if 0x60 <= op <= 0x7f: # PUSH1-32
[codex:803859] push_len = op-0x5f
[codex:803859] pc += 1 + push_len
[codex:803859] else:
[codex:803859] pc += 1
[codex:803859]
[codex:803859] for op,name in ops.items():
[codex:803859] offs=found[op]
[codex:803859] print(name,len(offs))
[codex:803859] print(' first 20:',offs[:20])
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 37ms:
[codex:803859] CALL 5
[codex:803859] first 20: [1044, 5255, 12752, 13637, 15827]
[codex:803859] DELEGATECALL 1
[codex:803859] first 20: [11583]
[codex:803859] SELFDESTRUCT 0
[codex:803859] first 20: []
[codex:803859] STATICCALL 0
[codex:803859] first 20: []
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing delegatecall usage**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] def disasm(start, end):
[codex:803859] pc=start
[codex:803859] while pc<end:
[codex:803859] op=code[pc]
[codex:803859] if 0x60 <= op <= 0x7f:
[codex:803859] l=op-0x5f
[codex:803859] data=code[pc+1:pc+1+l]
[codex:803859] print(f\"{pc:05d}: PUSH{l} 0x{data.hex()}\")
[codex:803859] pc += 1+l
[codex:803859] else:
[codex:803859] name = {
[codex:803859] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',
[codex:803859] 0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:803859] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:803859] 0x20:'SHA3',
[codex:803859] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:803859] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:803859] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:803859] 0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:803859] }.get(op, f'OP{op:02x}')
[codex:803859] print(f\"{pc:05d}: {name}\")
[codex:803859] pc += 1
[codex:803859]
[codex:803859] # show around delegatecall at 11583
[codex:803859] start=11583-40
[codex:803859] end=11583+40
[codex:803859] if start<0: start=0
[codex:803859] print(f\"Disasm {start}-{end} (delegatecall @11583)\")
[codex:803859] disasm(start,end)
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 30ms:
[codex:803859] Disasm 11543-11623 (delegatecall @11583)
[codex:803859] 11543: SHL
[codex:803859] 11544: SUB
[codex:803859] 11545: NOT
[codex:803859] 11546: OP90
[codex:803859] 11547: OP81
[codex:803859] 11548: AND
[codex:803859] 11549: OP91
[codex:803859] 11550: AND
[codex:803859] 11551: EQ
[codex:803859] 11552: OP90
[codex:803859] 11553: JUMP
[codex:803859] 11554: JUMPDEST
[codex:803859] 11555: PUSH1 0x00
[codex:803859] 11557: PUSH2 0x2d2c
[codex:803859] 11560: PUSH2 0x36f4
[codex:803859] 11563: JUMP
[codex:803859] 11564: JUMPDEST
[codex:803859] 11565: OP90
[codex:803859] 11566: POP
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing delegatecall and implementation retrieval**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] # simple disassembler with op names
[codex:803859] opnames={
[codex:803859] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',
[codex:803859] 0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:803859] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:803859] 0x20:'SHA3',
[codex:803859] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:803859] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:803859] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:803859] 0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:803859] }
[codex:803859]
[codex:803859] code_len=len(code)
[codex:803859]
[codex:803859] start=0x36f4-40
[codex:803859] end=0x36f4+80
[codex:803859] if start<0: start=0
[codex:803859] if end>code_len: end=code_len
[codex:803859]
[codex:803859] pc=start
[codex:803859] print(f\"Disasm {start}-{end} around 0x36f4\")
[codex:803859] while pc<end:
[codex:803859] op=code[pc]
[codex:803859] if 0x60 <= op <= 0x7f:
[codex:803859] l=op-0x5f
[codex:803859] data=code[pc+1:pc+1+l]
[codex:803859] print(f\"{pc:05d}: PUSH{l} 0x{data.hex()}\")
[codex:803859] pc += 1+l
[codex:803859] else:
[codex:803859] name=opnames.get(op,f'OP{op:02x}')
[codex:803859] print(f\"{pc:05d}: {name}\")
[codex:803859] pc+=1
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 28ms:
[codex:803859] Disasm 14028-14148 around 0x36f4
[codex:803859] 14028: OP90
[codex:803859] 14029: MSTORE
[codex:803859] 14030: PUSH1 0x20
[codex:803859] 14032: OP81
[codex:803859] 14033: ADD
[codex:803859] 14034: OP80
[codex:803859] 14035: MLOAD
[codex:803859] 14036: PUSH1 0x01
[codex:803859] 14038: PUSH1 0x01
[codex:803859] 14040: PUSH1 0xe0
[codex:803859] 14042: SHL
[codex:803859] 14043: SUB
[codex:803859] 14044: AND
[codex:803859] 14045: PUSH1 0x01
[codex:803859] 14047: PUSH1 0x01
[codex:803859] 14049: PUSH1 0xe0
[codex:803859] 14051: SHL
[codex:803859] 14052: SUB
[codex:803859] 14053: NOT
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing proxy and upgrade patterns**
[codex:803859]
[codex:803859] I'm piecing together how the contract reads and writes its implementation address via EIP-1967 storage slots, suspecting a proxy or modular ("diamond") architecture with delegatecall fallbacks. The key next step is to verify whether the upgrade functions have proper access control, since missing checks could let attackers hijack the upgrade process. I'll look for the upgrade-related string in the bytecode to pinpoint relevant code and examine the presence of caller-admin comparisons.
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] import binascii
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] needle=b\"ERC1967: new implementation is not a contract\"
[codex:803859] idx=code.find(needle)
[codex:803859] print('index',idx)
[codex:803859] # print nearby bytes
[codex:803859] print(code[idx-20:idx+len(needle)+20])
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 28ms:
[codex:803859] index -1
[codex:803859] b''
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing embedded revert strings**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] for needle in [b'ERC1967', b'new implementation']:
[codex:803859] idx=code.find(needle)
[codex:803859] print(needle, idx)
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 27ms:
[codex:803859] b'ERC1967' 14714
[codex:803859] b'new implementation' 14723
[codex:803859]
[codex:803859] thinking
[codex:803859] **Disassembling around address 14700**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] opnames={
[codex:803859] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',
[codex:803859] 0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:803859] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:803859] 0x20:'SHA3',
[codex:803859] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:803859] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:803859] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:803859] 0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:803859] }
[codex:803859]
[codex:803859] start=14660
[codex:803859] end=14840
[codex:803859] pc=start
[codex:803859] print(f\"Disasm {start}-{end}\")
[codex:803859] while pc<end:
[codex:803859] op=code[pc]
[codex:803859] if 0x60 <= op <= 0x7f:
[codex:803859] l=op-0x5f
[codex:803859] data=code[pc+1:pc+1+l]
[codex:803859] print(f\"{pc:05d}: PUSH{l} 0x{data.hex()}\")
[codex:803859] pc += 1+l
[codex:803859] else:
[codex:803859] name=opnames.get(op,f'OP{op:02x}')
[codex:803859] print(f\"{pc:05d}: {name}\")
[codex:803859] pc += 1
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 26ms:
[codex:803859] Disasm 14660-14840
[codex:803859] 14660: PUSH2 0x3b5e
[codex:803859] 14663: JUMP
[codex:803859] 14664: JUMPDEST
[codex:803859] 14665: PUSH2 0x0fa1
[codex:803859] 14668: OP82
[codex:803859] 14669: PUSH2 0x3c1c
[codex:803859] 14672: JUMP
[codex:803859] 14673: JUMPDEST
[codex:803859] 14674: PUSH2 0x395a
[codex:803859] 14677: OP81
[codex:803859] 14678: PUSH2 0x2b8e
[codex:803859] 14681: JUMP
[codex:803859] 14682: JUMPDEST
[codex:803859] 14683: PUSH2 0x39bc
[codex:803859] 14686: JUMPI
[codex:803859] 14687: PUSH1 0x40
[codex:803859] 14689: MLOAD
[codex:803859] 14690: PUSH3 0x461bcd
[codex:803859] 14694: PUSH1 0xe5
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing upgrade function selectors**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] selectors=[]
[codex:803859] # scan first 1200 bytes
[codex:803859] limit=1200
[codex:803859] pc=0
[codex:803859] while pc < limit:
[codex:803859] op=code[pc]
[codex:803859] if op==0x63: # PUSH4
[codex:803859] sel=code[pc+1:pc+5]
[codex:803859] # look ahead for EQ and JUMPI within next 10 bytes
[codex:803859] window=code[pc+5:pc+15]
[codex:803859] if 0x14 in window and 0x57 in window: # EQ and JUMPI
[codex:803859] selectors.append('0x'+sel.hex())
[codex:803859] pc += 5
[codex:803859] elif 0x60 <= op <= 0x7f:
[codex:803859] pc += 1 + (op-0x5f)
[codex:803859] else:
[codex:803859] pc += 1
[codex:803859]
[codex:803859] print('found',len(selectors))
[codex:803859] print(sorted(set(selectors)))
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 30ms:
[codex:803859] found 69
[codex:803859] ['0x0116aa52', '0x02484ceb', '0x025e7c27', '0x1220c6ed', '0x14ab0bbc', '0x14bfd6d0', '0x1ebf0551', '0x1fa4d1ba', '0x22c8f6cd', '0x2708d2a2', '0x2d345670', '0x2f2ba2c3', '0x30300667', '0x3343c8f7', '0x3c12375e', '0x3e5e5411', '0x3ed02116', '0x4279590a', '0x435b5cdc', '0x43755ed1', '0x486d2e6c', '0x4e71e0c8', '0x52650d6d', '0x5f3476ee', '0x60dc8700', '0x626cb052', '0x6782fc9d', '0x6d151101', '0x6daadb11', '0x6fda62ed', '0x749008ab', '0x7c9c9f16', '0x7e926b4b', '0x85242fba', '0x86a07112', '0x877cac55', '0x8794b69d', '0x8818024e', '0x886b5f53', '0x89c06cb7', '0x8b35c07a', '0x8e5ee457', '0x9043684a', '0x9bed25d8', '0xa2993491', '0xa4298ab6', '0xa58edf09', '0xa620caf4', '0xa762eb8c', '0xbe19d11f', '0xc38c5813', '0xc462342c', '0xcb19735e', '0xcb819df9', '0xcc22678e', '0xcf2fd14d', '0xd6cfd38d', '0xd92e233d', '0xdb1a9878', '0xdd420fa0', '0xdf2981b3', '0xdfbe0ece', '0xe1c7392a', '0xe3aabeeb', '0xe4429845', '0xe45deb98', '0xf2fde38b', '0xf3e41b10', '0xf6b34db3']
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing upgrade function selectors and internal calls**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] needle=bytes.fromhex('61395a')
[codex:803859] positions=[]
[codex:803859] idx=0
[codex:803859] while True:
[codex:803859] idx=code.find(needle, idx)
[codex:803859] if idx==-1: break
[codex:803859] positions.append(idx)
[codex:803859] idx += 1
[codex:803859] print('positions',positions)
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 30ms:
[codex:803859] positions [14674]
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing internal upgrade and implementation slot**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] # read 32 bytes at offset 0x4ff9
[codex:803859] start=0x4ff9
[codex:803859] slot=code[start:start+32]
[codex:803859] print('slot constant at 0x4ff9:',slot.hex())
[codex:803859] # also at 0x4fd9 maybe admin slot constant
[codex:803859] for off in [0x4fd9,0x4ff9,0x5019,0x4f99]:
[codex:803859] if off+32 <= len(code):
[codex:803859] print(hex(off), code[off:off+32].hex())
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 26ms:
[codex:803859] slot constant at 0x4ff9: 360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
[codex:803859] 0x4fd9 b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
[codex:803859] 0x4ff9 360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
[codex:803859] 0x5019 6b3d21df97c6b6a7a77df229a0b01302c712242f00b1ae7eae9c98af47b1aecc
[codex:803859] 0x4f99 fe565b9190910192915050565b602081526000612de66020830184613f2a56fe
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing upgradeable proxy slots and functions**
[codex:803859]
[codex:803859] I’m tracing the EIP-1967 upgradeable proxy pattern by locating key storage slots for admin, implementation, and beacon. I want to find if external functions allow changing these without access control, which could be dangerous. To do this, I plan to identify internal functions like `_setImplementation` and see if external functions call them unchecked, using jump destinations from the dispatcher for each selector. I’ll implement pattern matching to map selectors to jump destinations and pinpoint the external upgrade function entries.
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] # simple pattern matching in first 1500 bytes
[codex:803859] selectors={}
[codex:803859] limit=1500
[codex:803859] pc=0
[codex:803859] while pc < limit-10:
[codex:803859] if code[pc]==0x63: # PUSH4
[codex:803859] sel=code[pc+1:pc+5].hex()
[codex:803859] # next op should be EQ (0x14) maybe after DUP1 etc? Actually pattern may be PUSH4, EQ, PUSH2 dest, JUMPI
[codex:803859] # We'll search within next 20 bytes for pattern: 0x14 0x61 <dest_hi> <dest_lo> 0x57
[codex:803859] window=code[pc+5:pc+25]
[codex:803859] for i in range(len(window)-4):
[codex:803859] if window[i]==0x14 and window[i+1]==0x61 and window[i+4]==0x57:
[codex:803859] dest=int.from_bytes(window[i+2:i+4],'big')
[codex:803859] selectors['0x'+sel]=dest
[codex:803859] break
[codex:803859] pc+=5
[codex:803859] elif 0x60 <= code[pc] <= 0x7f:
[codex:803859] pc += 1+(code[pc]-0x5f)
[codex:803859] else:
[codex:803859] pc+=1
[codex:803859]
[codex:803859] print('selectors mapped',len(selectors))
[codex:803859] # print sorted by dest
[codex:803859] for sel,dest in sorted(selectors.items(), key=lambda x:x[1]):
[codex:803859] print(sel, hex(dest))
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 31ms:
[codex:803859] selectors mapped 69
[codex:803859] 0x0116aa52 0x453
[codex:803859] 0x02484ceb 0x473
[codex:803859] 0x025e7c27 0x4b0
[codex:803859] 0x1220c6ed 0x4d0
[codex:803859] 0x14ab0bbc 0x500
[codex:803859] 0x14bfd6d0 0x53b
[codex:803859] 0x1ebf0551 0x55b
[codex:803859] 0x1fa4d1ba 0x593
[codex:803859] 0x22c8f6cd 0x5b3
[codex:803859] 0x2708d2a2 0x5d3
[codex:803859] 0x2d345670 0x5e8
[codex:803859] 0x2f2ba2c3 0x608
[codex:803859] 0x30300667 0x62a
[codex:803859] 0x3343c8f7 0x63d
[codex:803859] 0x3c12375e 0x65d
[codex:803859] 0x3e5e5411 0x696
[codex:803859] 0x3ed02116 0x6c8
[codex:803859] 0x4279590a 0x703
[codex:803859] 0x435b5cdc 0x723
[codex:803859]
[codex:803859] thinking
[codex:803859] **Identifying upgrade functions setting implementation slot**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859] needle=bytes.fromhex('614ff9')
[codex:803859] positions=[]
[codex:803859] idx=0
[codex:803859] while True:
[codex:803859] idx=code.find(needle, idx)
[codex:803859] if idx==-1: break
[codex:803859] positions.append(idx)
[codex:803859] idx += 1
[codex:803859] print('PUSH2 0x4ff9 positions',positions)
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 28ms:
[codex:803859] PUSH2 0x4ff9 positions [14077, 14788]
[codex:803859]
[codex:803859] thinking
[codex:803859] **Analyzing function boundaries and jumps**
[codex:803859] exec
[codex:803859] /bin/bash -lc "python3 - <<'PY'
[codex:803859] from pathlib import Path
[codex:803859] hexdata=Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split()[0].strip()
[codex:803859] if hexdata.startswith('0x'): hexdata=hexdata[2:]
[codex:803859] if len(hexdata)%2: hexdata=hexdata[:-1]
[codex:803859] code=bytes.fromhex(hexdata)
[codex:803859]
[codex:803859] opnames={
[codex:803859] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',
[codex:803859] 0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:803859] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:803859] 0x20:'SHA3',
[codex:803859] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:803859] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:803859] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:803859] 0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:803859] }
[codex:803859]
[codex:803859] start=14620
[codex:803859] end=14710
[codex:803859] pc=start
[codex:803859] print(f\"Disasm {start}-{end}\")
[codex:803859] while pc<end:
[codex:803859] op=code[pc]
[codex:803859] if 0x60 <= op <= 0x7f:
[codex:803859] l=op-0x5f
[codex:803859] data=code[pc+1:pc+1+l]
[codex:803859] print(f\"{pc:05d}: PUSH{l} 0x{data.hex()}\")
[codex:803859] pc += 1+l
[codex:803859] else:
[codex:803859] name=opnames.get(op,f'OP{op:02x}')
[codex:803859] print(f\"{pc:05d}: {name}\")
[codex:803859] pc += 1
[codex:803859] PY" in /tmp/codex-multi-lyvyij8_ succeeded in 28ms:
[codex:803859] Disasm 14620-14710
[codex:803859] 14620: OPc1
[codex:803859] 14621: JUMP
[codex:803859] 14622: JUMPDEST
[codex:803859] 14623: OP81
[codex:803859] 14624: SLOAD
[codex:803859] 14625: OP81
[codex:803859] 14626: LT
[codex:803859] 14627: PUSH2 0x392e
[codex:803859] 14630: JUMPI
[codex:803859] 14631: PUSH2 0x392e
[codex:803859] 14634: PUSH2 0x4bab
[codex:803859] 14637: JUMP
[codex:803859] 14638: JUMPDEST
[codex:803859] 14639: PUSH1 0x00
[codex:803859] 14641: OP91
[codex:803859] 14642: OP82
[codex:803859] 14643: MSTORE
[codex:803859] 14644: PUSH1 0x20
[codex:803859] 14646: OP90
[codex:803859]
[codex:803859] thinking
[codex:803859] **Concluding no exploit found**
[codex:803859]
[codex:803859] I'll summarize that no concrete, exploitable profit path was identified from the bytecode analysis while noting the complexity and common proxy patterns, to comply with the user's instructions.
[codex:803859] codex
[codex:803859] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from bytecode-only analysis of BYTECODE_BUNDLE.txt.","findings":[]}
[codex:803859] tokens used
[codex:803859] 57,676
[codex:803859] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from bytecode-only analysis of BYTECODE_BUNDLE.txt.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T06:33:23.158734+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit path identified from bytecode-only analysis of BYTECODE_BUNDLE.txt.",
"raw_final": {
"summary": "No concrete, exploitable profit path identified from bytecode-only analysis of BYTECODE_BUNDLE.txt.",
"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 0x030e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x0116aa52 00000019: EQ 0000001a: PUSH2 0x0453 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x02484ceb 00000024: EQ 00000025: PUSH2 0x0473 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x025e7c27 0000002f: EQ 00000030: PUSH2 0x04b0 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0x1220c6ed 0000003a: EQ 0000003b: PUSH2 0x04d0 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x14ab0bbc 00000045: EQ 00000046: PUSH2 0x0500 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x14bfd6d0 00000050: EQ 00000051: PUSH2 0x053b 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0x1ebf0551 0000005b: EQ 0000005c: PUSH2 0x055b 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0x1fa4d1ba 00000066: EQ 00000067: PUSH2 0x0593 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0x22c8f6cd 00000071: EQ 00000072: PUSH2 0x05b3 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0x2708d2a2 0000007c: EQ 0000007d: PUSH2 0x05d3 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0x2d345670 00000087: EQ 00000088: PUSH2 0x05e8 0000008b: JUMPI 0000008c: DUP1 0000008d: PUSH4 0x2f2ba2c3 00000092: EQ 00000093: PUSH2 0x0608 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0x30300667 0000009d: EQ 0000009e: PUSH2 0x062a 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0x3343c8f7 000000a8: EQ 000000a9: PUSH2 0x063d 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0x3c12375e 000000b3: EQ 000000b4: PUSH2 0x065d 000000b7: JUMPI 000000b8: DUP1 000000b9: PUSH4 0x3e5e5411 000000be: EQ 000000bf: PUSH2 0x0696 000000c2: JUMPI 000000c3: DUP1 000000c4: PUSH4 0x3ed02116 000000c9: EQ 000000ca: PUSH2 0x06c8 000000cd: JUMPI 000000ce: DUP1 000000cf: PUSH4 0x4279590a 000000d4: EQ 000000d5: PUSH2 0x0703 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0x435b5cdc 000000df: EQ 000000e0: PUSH2 0x0723 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0x43755ed1 000000ea: EQ 000000eb: PUSH2 0x075b 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x486d2e6c 000000f5: EQ 000000f6: PUSH2 0x077b 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x4e71e0c8 00000100: EQ 00000101: PUSH2 0x07b6 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x52650d6d 0000010b: EQ 0000010c: PUSH2 0x07cb 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x5f3476ee 00000116: EQ 00000117: PUSH2 0x07eb 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x60dc8700 00000121: EQ 00000122: PUSH2 0x080b 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x626cb052 0000012c: EQ 0000012d: PUSH2 0x082b 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x6782fc9d 00000137: EQ 00000138: PUSH2 0x0858 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0x6d151101 00000142: EQ 00000143: PUSH2 0x0878 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0x6daadb11 0000014d: EQ 0000014e: PUSH2 0x0898 00000151: JUMPI 00000152: DUP1 00000153: PUSH4 0x6fda62ed 00000158: EQ 00000159: PUSH2 0x08b8 0000015c: JUMPI 0000015d: DUP1 0000015e: PUSH4 0x749008ab 00000163: EQ 00000164: PUSH2 0x08d8 00000167: JUMPI 00000168: DUP1 00000169: PUSH4 0x7c9c9f16 0000016e: EQ 0000016f: PUSH2 0x08f8 00000172: JUMPI 00000173: DUP1 00000174: PUSH4 0x7e926b4b 00000179: EQ 0000017a: PUSH2 0x0918 0000017d: JUMPI 0000017e: DUP1 0000017f: PUSH4 0x85242fba 00000184: EQ 00000185: PUSH2 0x0938 00000188: JUMPI 00000189: DUP1 0000018a: PUSH4 0x86a07112 0000018f: EQ 00000190: PUSH2 0x0958 00000193: JUMPI 00000194: DUP1 00000195: PUSH4 0x877cac55 0000019a: EQ 0000019b: PUSH2 0x0978 0000019e: JUMPI 0000019f: DUP1 000001a0: PUSH4 0x8794b69d 000001a5: EQ 000001a6: PUSH2 0x0998 000001a9: JUMPI 000001aa: DUP1 000001ab: PUSH4 0x8818024e 000001b0: EQ 000001b1: PUSH2 0x09ad 000001b4: JUMPI 000001b5: DUP1 000001b6: PUSH4 0x886b5f53 000001bb: EQ 000001bc: PUSH2 0x09c9 000001bf: JUMPI 000001c0: DUP1 000001c1: PUSH4 0x89c06cb7 000001c6: EQ 000001c7: PUSH2 0x09e9 000001ca: JUMPI 000001cb: DUP1 000001cc: PUSH4 0x8b35c07a 000001d1: EQ 000001d2: PUSH2 0x0a16 000001d5: JUMPI 000001d6: DUP1 000001d7: PUSH4 0x8e5ee457 000001dc: EQ 000001dd: PUSH2 0x0a36 000001e0: JUMPI 000001e1: DUP1 000001e2: PUSH4 0x9043684a 000001e7: EQ 000001e8: PUSH2 0x0a56 000001eb: JUMPI 000001ec: DUP1 000001ed: PUSH4 0x9bed25d8 000001f2: EQ 000001f3: PUSH2 0x0a76 000001f6: JUMPI 000001f7: DUP1 000001f8: PUSH4 0xa2993491 000001fd: EQ 000001fe: PUSH2 0x0a8b 00000201: JUMPI 00000202: DUP1 00000203: PUSH4 0xa4298ab6 00000208: EQ 00000209: PUSH2 0x0aab 0000020c: JUMPI 0000020d: DUP1 0000020e: PUSH4 0xa58edf09 00000213: EQ 00000214: PUSH2 0x0ac0 00000217: JUMPI 00000218: DUP1 00000219: PUSH4 0xa620caf4 0000021e: EQ 0000021f: PUSH2 0x0ae0 00000222: JUMPI 00000223: DUP1 00000224: PUSH4 0xa762eb8c 00000229: EQ 0000022a: PUSH2 0x0b00 0000022d: JUMPI 0000022e: DUP1 0000022f: PUSH4 0xbe19d11f 00000234: EQ 00000235: PUSH2 0x0b36 00000238: JUMPI 00000239: DUP1 0000023a: PUSH4 0xc38c5813 0000023f: EQ 00000240: PUSH2 0x0b4b 00000243: JUMPI 00000244: DUP1 00000245: PUSH4 0xc462342c 0000024a: EQ 0000024b: PUSH2 0x0b6b 0000024e: JUMPI 0000024f: DUP1 00000250: PUSH4 0xcb19735e 00000255: EQ 00000256: PUSH2 0x0b8b 00000259: JUMPI 0000025a: DUP1 0000025b: PUSH4 0xcb819df9 00000260: EQ 00000261: PUSH2 0x0ba1 00000264: JUMPI 00000265: DUP1 00000266: PUSH4 0xcc22678e 0000026b: EQ 0000026c: PUSH2 0x0bc1 0000026f: JUMPI 00000270: DUP1 00000271: PUSH4 0xcf2fd14d 00000276: EQ 00000277: PUSH2 0x0bd6 0000027a: JUMPI 0000027b: DUP1 0000027c: PUSH4 0xd6cfd38d 00000281: EQ 00000282: PUSH2 0x0bf6 00000285: JUMPI 00000286: DUP1 00000287: PUSH4 0xd92e233d 0000028c: EQ 0000028d: PUSH2 0x0cc3 00000290: JUMPI 00000291: DUP1 00000292: PUSH4 0xdb1a9878 00000297: EQ 00000298: PUSH2 0x0cd8 0000029b: JUMPI 0000029c: DUP1 0000029d: PUSH4 0xdd420fa0 000002a2: EQ 000002a3: PUSH2 0x0cf8 000002a6: JUMPI 000002a7: DUP1 000002a8: PUSH4 0xdf2981b3 000002ad: EQ 000002ae: PUSH2 0x0d0d 000002b1: JUMPI 000002b2: DUP1 000002b3: PUSH4 0xdfbe0ece 000002b8: EQ 000002b9: PUSH2 0x0d20 000002bc: JUMPI 000002bd: DUP1 000002be: PUSH4 0xe1c7392a 000002c3: EQ 000002c4: PUSH2 0x0d40 000002c7: JUMPI 000002c8: DUP1 000002c9: PUSH4 0xe3aabeeb 000002ce: EQ 000002cf: PUSH2 0x0d55 000002d2: JUMPI 000002d3: DUP1 000002d4: PUSH4 0xe4429845 000002d9: EQ 000002da: PUSH2 0x0d75 000002dd: JUMPI 000002de: DUP1 000002df: PUSH4 0xe45deb98 000002e4: EQ 000002e5: PUSH2 0x0d95 000002e8: JUMPI 000002e9: DUP1 000002ea: PUSH4 0xf2fde38b 000002ef: EQ 000002f0: PUSH2 0x0db5 000002f3: JUMPI 000002f4: DUP1 000002f5: PUSH4 0xf3e41b10 000002fa: EQ 000002fb: PUSH2 0x0dd5 000002fe: JUMPI 000002ff: DUP1 00000300: PUSH4 0xf6b34db3 00000305: EQ 00000306: PUSH2 0x0df5 00000309: JUMPI 0000030a: PUSH2 0x044b 0000030d: JUMP 0000030e: JUMPDEST 0000030f: CALLDATASIZE 00000310: PUSH2 0x044b 00000313: JUMPI 00000314: PUSH1 0x40 00000316: DUP1 00000317: MLOAD 00000318: PUSH1 0x80 0000031a: DUP1 0000031b: DUP3 0000031c: ADD 0000031d: DUP4 0000031e: MSTORE 0000031f: PUSH2 0x02ff 00000322: PUSH1 0xe2 00000324: SHL 00000325: DUP3 00000326: DUP5 00000327: ADD 00000328: SWAP1 00000329: DUP2 0000032a: MSTORE 0000032b: PUSH4 0x01808081 00000330: PUSH1 0xe1 00000332: SHL 00000333: PUSH1 0x60 00000335: DUP1 00000336: DUP6 00000337: ADD 00000338: SWAP2 00000339: SWAP1 0000033a: SWAP2 0000033b: MSTORE 0000033c: SWAP1 0000033d: DUP4 0000033e: MSTORE 0000033f: DUP4 00000340: MLOAD 00000341: PUSH1 0xc0 00000343: DUP2 00000344: ADD 00000345: DUP6 00000346: MSTORE 00000347: PUSH1 0x09 00000349: SLOAD 0000034a: DUP2 0000034b: MSTORE 0000034c: PUSH1 0x00 0000034e: PUSH1 0x20 00000350: DUP1 00000351: DUP4 00000352: ADD 00000353: DUP3 00000354: SWAP1 00000355: MSTORE 00000356: CALLER 00000357: DUP4 00000358: DUP9 00000359: ADD 0000035a: DUP2 0000035b: SWAP1 0000035c: MSTORE 0000035d: SWAP4 0000035e: DUP4 0000035f: ADD 00000360: DUP5 00000361: SWAP1 00000362: MSTORE 00000363: CALLVALUE 00000364: SWAP5 00000365: DUP4 00000366: ADD 00000367: SWAP5 00000368: DUP6 00000369: MSTORE 0000036a: DUP7 0000036b: MLOAD 0000036c: DUP1 0000036d: DUP3 0000036e: ADD 0000036f: SWAP1 00000370: SWAP8 00000371: MSTORE 00000372: SWAP1 00000373: DUP7 00000374: MSTORE 00000375: PUSH1 0xa0 00000377: DUP3 00000378: ADD 00000379: SWAP6 0000037a: SWAP1 0000037b: SWAP6 0000037c: MSTORE 0000037d: SWAP4 0000037e: DUP4 0000037f: ADD 00000380: DUP5 00000381: SWAP1 00000382: MSTORE 00000383: SWAP3 00000384: MLOAD 00000385: SWAP1 00000386: MLOAD 00000387: PUSH2 0x0390 0000038a: SWAP2 0000038b: SWAP1 0000038c: PUSH2 0x0e15 0000038f: JUMP 00000390: JUMPDEST 00000391: PUSH2 0x03a2 00000394: DUP2 00000395: PUSH1 0x00 00000397: ADD 00000398: MLOAD 00000399: DUP3 0000039a: PUSH1 0x20 0000039c: ADD 0000039d: MLOAD 0000039e: PUSH2 0x0ec6 000003a1: JUMP 000003a2: JUMPDEST 000003a3: PUSH1 0x20 000003a5: DUP2 000003a6: ADD 000003a7: MLOAD 000003a8: DUP1 000003a9: MLOAD 000003aa: PUSH1 0x80 000003ac: SWAP1 000003ad: SWAP2 000003ae: ADD 000003af: MLOAD 000003b0: PUSH1 0x40 000003b2: MLOAD 000003b3: PUSH1 0x00 000003b5: DUP1 000003b6: MLOAD 000003b7: PUSH1 0x20 000003b9: PUSH2 0x4fb9 000003bc: DUP4 000003bd: CODECOPY 000003be: DUP2 000003bf: MLOAD 000003c0: SWAP2 000003c1: MSTORE 000003c2: SWAP3 000003c3: PUSH2 0x03ce 000003c6: SWAP3 000003c7: PUSH1 0x01 000003c9: SWAP3 000003ca: PUSH2 0x3ed6 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH1 0x40 000003d1: MLOAD 000003d2: DUP1 000003d3: SWAP2 000003d4: SUB 000003d5: SWAP1 000003d6: LOG1 000003d7: PUSH1 0x06 000003d9: SLOAD 000003da: PUSH1 0x40 000003dc: MLOAD 000003dd: PUSH4 0x12b50f73 000003e2: PUSH1 0xe0 000003e4: SHL 000003e5: DUP2 000003e6: MSTORE 000003e7: PUSH1 0x01 000003e9: PUSH1 0x01 000003eb: PUSH1 0xa0 000003ed: SHL 000003ee: SUB 000003ef: SWAP1 000003f0: SWAP2 000003f1: AND 000003f2: SWAP1 000003f3: PUSH4 0x12b50f73 000003f8: SWAP1 000003f9: PUSH2 0x0406 000003fc: SWAP1 000003fd: DUP5 000003fe: SWAP1 000003ff: PUSH1 0x04 00000401: ADD 00000402: PUSH2 0x3f56 00000405: JUMP 00000406: JUMPDEST 00000407: PUSH1 0x20 00000409: PUSH1 0x40 0000040b: MLOAD 0000040c: DUP1 0000040d: DUP4 0000040e: SUB 0000040f: DUP2 00000410: PUSH1 0x00 00000412: DUP8 00000413: GAS 00000414: CALL 00000415: ISZERO 00000416: DUP1 00000417: ISZERO 00000418: PUSH2 0x0425 0000041b: JUMPI 0000041c: RETURNDATASIZE 0000041d: PUSH1 0x00 0000041f: DUP1 00000420: RETURNDATACOPY 00000421: RETURNDATASIZE 00000422: PUSH1 0x00 00000424: REVERT 00000425: JUMPDEST 00000426: POP 00000427: POP 00000428: POP 00000429: POP 0000042a: PUSH1 0x40 0000042c: MLOAD 0000042d: RETURNDATASIZE 0000042e: PUSH1 0x1f 00000430: NOT 00000431: PUSH1 0x1f 00000433: DUP3 00000434: ADD 00000435: AND 00000436: DUP3 00000437: ADD 00000438: DUP1 00000439: PUSH1 0x40 0000043b: MSTORE 0000043c: POP 0000043d: DUP2 0000043e: ADD 0000043f: SWAP1 00000440: PUSH2 0x0449 00000443: SWAP2 00000444: SWAP1 00000445: PUSH2 0x3ff6 00000448: JUMP 00000449: JUMPDEST 0000044a: STOP 0000044b: JUMPDEST 0000044c: PUSH2 0x0449 0000044f: PUSH2 0x10fa 00000452: JUMP 00000453: JUMPDEST 00000454: CALLVALUE 00000455: DUP1 00000456: ISZERO 00000457: PUSH2 0x045f 0000045a: JUMPI 0000045b: PUSH1 0x00 0000045d: DUP1 0000045e: REVERT 0000045f: JUMPDEST 00000460: POP 00000461: PUSH2 0x0449 00000464: PUSH2 0x046e 00000467: CALLDATASIZE 00000468: PUSH1 0x04 0000046a: PUSH2 0x402a 0000046d: JUMP 0000046e: JUMPDEST 0000046f: PUSH2 0x110c 00000472: JUMP 00000473: JUMPDEST 00000474: CALLVALUE 00000475: DUP1 00000476: ISZERO 00000477: PUSH2 0x047f 0000047a: JUMPI 0000047b: PUSH1 0x00 0000047d: DUP1 0000047e: REVERT 0000047f: JUMPDEST 00000480: POP 00000481: PUSH1 0x07 00000483: SLOAD 00000484: PUSH2 0x0493 00000487: SWAP1 00000488: PUSH1 0x01 0000048a: PUSH1 0x01 0000048c: PUSH1 0xa0 0000048e: SHL 0000048f: SUB 00000490: AND 00000491: DUP2 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH1 0x40 00000496: MLOAD 00000497: PUSH1 0x01 00000499: PUSH1 0x01 0000049b: PUSH1 0xa0 0000049d: SHL 0000049e: SUB 0000049f: SWAP1 000004a0: SWAP2 000004a1: AND 000004a2: DUP2 000004a3: MSTORE 000004a4: PUSH1 0x20 000004a6: ADD 000004a7: JUMPDEST 000004a8: PUSH1 0x40 000004aa: MLOAD 000004ab: DUP1 000004ac: SWAP2 000004ad: SUB 000004ae: SWAP1 000004af: RETURN 000004b0: JUMPDEST 000004b1: CALLVALUE 000004b2: DUP1 000004b3: ISZERO 000004b4: PUSH2 0x04bc 000004b7: JUMPI 000004b8: PUSH1 0x00 000004ba: DUP1 000004bb: REVERT 000004bc: JUMPDEST 000004bd: POP 000004be: PUSH2 0x0493 000004c1: PUSH2 0x04cb 000004c4: CALLDATASIZE 000004c5: PUSH1 0x04 000004c7: PUSH2 0x4045 000004ca: JUMP 000004cb: JUMPDEST 000004cc: PUSH2 0x117a 000004cf: JUMP 000004d0: JUMPDEST 000004d1: CALLVALUE 000004d2: DUP1 000004d3: ISZERO 000004d4: PUSH2 0x04dc 000004d7: JUMPI 000004d8: PUSH1 0x00 000004da: DUP1 000004db: REVERT 000004dc: JUMPDEST 000004dd: POP 000004de: PUSH2 0x04f0 000004e1: PUSH2 0x04eb 000004e4: CALLDATASIZE 000004e5: PUSH1 0x04 000004e7: PUSH2 0x402a 000004ea: JUMP 000004eb: JUMPDEST 000004ec: PUSH2 0x11a4 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH1 0x40 000004f3: MLOAD 000004f4: SWAP1 000004f5: ISZERO 000004f6: ISZERO 000004f7: DUP2 000004f8: MSTORE 000004f9: PUSH1 0x20 000004fb: ADD 000004fc: PUSH2 0x04a7 000004ff: JUMP 00000500: JUMPDEST 00000501: CALLVALUE 00000502: DUP1 00000503: ISZERO 00000504: PUSH2 0x050c 00000507: JUMPI 00000508: PUSH1 0x00 0000050a: DUP1 0000050b: REVERT 0000050c: JUMPDEST 0000050d: POP 0000050e: PUSH2 0x052d 00000511: PUSH2 0x051b 00000514: CALLDATASIZE 00000515: PUSH1 0x04 00000517: PUSH2 0x4045 0000051a: JUMP 0000051b: JUMPDEST 0000051c: PUSH1 0x0b 0000051e: PUSH1 0x20 00000520: MSTORE 00000521: PUSH1 0x00 00000523: SWAP1 00000524: DUP2 00000525: MSTORE 00000526: PUSH1 0x40 00000528: SWAP1 00000529: KECCAK256 0000052a: SLOAD 0000052b: DUP2 0000052c: JUMP 0000052d: JUMPDEST 0000052e: PUSH1 0x40 00000530: MLOAD 00000531: SWAP1 00000532: DUP2 00000533: MSTORE 00000534: PUSH1 0x20 00000536: ADD 00000537: PUSH2 0x04a7 0000053a: JUMP 0000053b: JUMPDEST 0000053c: CALLVALUE 0000053d: DUP1 0000053e: ISZERO 0000053f: PUSH2 0x0547 00000542: JUMPI 00000543: PUSH1 0x00 00000545: DUP1 00000546: REVERT 00000547: JUMPDEST 00000548: POP 00000549: PUSH2 0x0493 0000054c: PUSH2 0x0556 0000054f: CALLDATASIZE 00000550: PUSH1 0x04 00000552: PUSH2 0x4045 00000555: JUMP 00000556: JUMPDEST 00000557: PUSH2 0x11ed 0000055a: JUMP 0000055b: JUMPDEST 0000055c: CALLVALUE 0000055d: DUP1 0000055e: ISZERO 0000055f: PUSH2 0x0567 00000562: JUMPI 00000563: PUSH1 0x00 00000565: DUP1 00000566: REVERT 00000567: JUMPDEST 00000568: POP 00000569: PUSH2 0x052d 0000056c: PUSH2 0x0576 0000056f: CALLDATASIZE 00000570: PUSH1 0x04 00000572: PUSH2 0x4076 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH1 0x0c 00000579: PUSH1 0x20 0000057b: SWAP1 0000057c: DUP2 0000057d: MSTORE 0000057e: PUSH1 0x00 00000580: SWAP3 00000581: DUP4 00000582: MSTORE 00000583: PUSH1 0x40 00000585: DUP1 00000586: DUP5 00000587: KECCAK256 00000588: SWAP1 00000589: SWAP2 0000058a: MSTORE 0000058b: SWAP1 0000058c: DUP3 0000058d: MSTORE 0000058e: SWAP1 0000058f: KECCAK256 00000590: SLOAD 00000591: DUP2 00000592: JUMP 00000593: JUMPDEST 00000594: CALLVALUE 00000595: DUP1 00000596: ISZERO 00000597: PUSH2 0x059f 0000059a: JUMPI 0000059b: PUSH1 0x00 0000059d: DUP1 0000059e: REVERT 0000059f: JUMPDEST 000005a0: POP 000005a1: PUSH2 0x0449 000005a4: PUSH2 0x05ae 000005a7: CALLDATASIZE 000005a8: PUSH1 0x04 000005aa: PUSH2 0x41d8 000005ad: JUMP 000005ae: JUMPDEST 000005af: PUSH2 0x11fd 000005b2: JUMP 000005b3: JUMPDEST 000005b4: CALLVALUE 000005b5: DUP1 000005b6: ISZERO 000005b7: PUSH2 0x05bf 000005ba: JUMPI 000005bb: PUSH1 0x00 000005bd: DUP1 000005be: REVERT 000005bf: JUMPDEST 000005c0: POP 000005c1: PUSH1 0x06 000005c3: SLOAD 000005c4: PUSH2 0x0493 000005c7: SWAP1 000005c8: PUSH1 0x01 000005ca: PUSH1 0x01 000005cc: PUSH1 0xa0 000005ce: SHL 000005cf: SUB 000005d0: AND 000005d1: DUP2 000005d2: JUMP 000005d3: JUMPDEST 000005d4: CALLVALUE 000005d5: DUP1 000005d6: ISZERO 000005d7: PUSH2 0x05df 000005da: JUMPI 000005db: PUSH1 0x00 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: POP 000005e1: PUSH2 0x04f0 000005e4: PUSH2 0x12e9 000005e7: JUMP 000005e8: JUMPDEST 000005e9: CALLVALUE 000005ea: DUP1 000005eb: ISZERO 000005ec: PUSH2 0x05f4 000005ef: JUMPI 000005f0: PUSH1 0x00 000005f2: DUP1 000005f3: REVERT 000005f4: JUMPDEST 000005f5: POP 000005f6: PUSH2 0x04f0 000005f9: PUSH2 0x0603 000005fc: CALLDATASIZE 000005fd: PUSH1 0x04 000005ff: PUSH2 0x402a 00000602: JUMP 00000603: JUMPDEST 00000604: PUSH2 0x1334 00000607: JUMP 00000608: JUMPDEST 00000609: CALLVALUE 0000060a: DUP1 0000060b: ISZERO 0000060c: PUSH2 0x0614 0000060f: JUMPI 00000610: PUSH1 0x00 00000612: DUP1 00000613: REVERT 00000614: JUMPDEST 00000615: POP 00000616: PUSH2 0x061d 00000619: PUSH2 0x1368 0000061c: JUMP 0000061d: JUMPDEST 0000061e: PUSH1 0x40 00000620: MLOAD 00000621: PUSH2 0x04a7 00000624: SWAP2 00000625: SWAP1 00000626: PUSH2 0x4309 00000629: JUMP 0000062a: JUMPDEST 0000062b: PUSH2 0x04f0 0000062e: PUSH2 0x0638 00000631: CALLDATASIZE 00000632: PUSH1 0x04 00000634: PUSH2 0x4472 00000637: JUMP 00000638: JUMPDEST 00000639: PUSH2 0x13ca 0000063c: JUMP 0000063d: JUMPDEST 0000063e: CALLVALUE 0000063f: DUP1 00000640: ISZERO 00000641: PUSH2 0x0649 00000644: JUMPI 00000645: PUSH1 0x00 00000647: DUP1 00000648: REVERT 00000649: JUMPDEST 0000064a: POP 0000064b: PUSH2 0x0449 0000064e: PUSH2 0x0658 00000651: CALLDATASIZE 00000652: PUSH1 0x04 00000654: PUSH2 0x41d8 00000657: JUMP 00000658: JUMPDEST 00000659: PUSH2 0x14c5 0000065c: JUMP 0000065d: JUMPDEST 0000065e: CALLVALUE 0000065f: DUP1 00000660: ISZERO 00000661: PUSH2 0x0669 00000664: JUMPI 00000665: PUSH1 0x00 00000667: DUP1 00000668: REVERT 00000669: JUMPDEST 0000066a: POP 0000066b: PUSH1 0x00 0000066d: SLOAD 0000066e: PUSH2 0x067d 00000671: SWAP1 00000672: PUSH3 0x010000 00000676: SWAP1 00000677: DIV 00000678: PUSH1 0x60 0000067a: SHL 0000067b: DUP2 0000067c: JUMP 0000067d: JUMPDEST 0000067e: PUSH1 0x40 00000680: MLOAD 00000681: PUSH1 0x01 00000683: PUSH1 0x01 00000685: PUSH1 0x60 00000687: SHL 00000688: SUB 00000689: NOT 0000068a: SWAP1 0000068b: SWAP2 0000068c: AND 0000068d: DUP2 0000068e: MSTORE 0000068f: PUSH1 0x20 00000691: ADD 00000692: PUSH2 0x04a7 00000695: JUMP 00000696: JUMPDEST 00000697: CALLVALUE 00000698: DUP1 00000699: ISZERO 0000069a: PUSH2 0x06a2 0000069d: JUMPI 0000069e: PUSH1 0x00 000006a0: DUP1 000006a1: REVERT 000006a2: JUMPDEST 000006a3: POP 000006a4: PUSH2 0x06af 000006a7: PUSH2 0x02ff 000006aa: PUSH1 0xe2 000006ac: SHL 000006ad: DUP2 000006ae: JUMP 000006af: JUMPDEST 000006b0: PUSH1 0x40 000006b2: MLOAD 000006b3: PUSH1 0x01 000006b5: PUSH1 0x01 000006b7: PUSH1 0xe0 000006b9: SHL 000006ba: SUB 000006bb: NOT 000006bc: SWAP1 000006bd: SWAP2 000006be: AND 000006bf: DUP2 000006c0: MSTORE 000006c1: PUSH1 0x20 000006c3: ADD 000006c4: PUSH2 0x04a7 000006c7: JUMP 000006c8: JUMPDEST 000006c9: CALLVALUE 000006ca: DUP1 000006cb: ISZERO 000006cc: PUSH2 0x06d4 000006cf: JUMPI 000006d0: PUSH1 0x00 000006d2: DUP1 000006d3: REVERT 000006d4: JUMPDEST 000006d5: POP 000006d6: PUSH2 0x04f0 000006d9: PUSH2 0x06e3 000006dc: CALLDATASIZE 000006dd: PUSH1 0x04 000006df: PUSH2 0x44f0 000006e2: JUMP 000006e3: JUMPDEST 000006e4: PUSH1 0x0d 000006e6: PUSH1 0x20 000006e8: SWAP1 000006e9: DUP2 000006ea: MSTORE 000006eb: PUSH1 0x00 000006ed: SWAP3 000006ee: DUP4 000006ef: MSTORE 000006f0: PUSH1 0x40 000006f2: DUP1 000006f3: DUP5 000006f4: KECCAK256 000006f5: SWAP1 000006f6: SWAP2 000006f7: MSTORE 000006f8: SWAP1 000006f9: DUP3 000006fa: MSTORE 000006fb: SWAP1 000006fc: KECCAK256 000006fd: SLOAD 000006fe: PUSH1 0xff 00000700: AND 00000701: DUP2 00000702: JUMP 00000703: JUMPDEST 00000704: CALLVALUE 00000705: DUP1 00000706: ISZERO 00000707: PUSH2 0x070f 0000070a: JUMPI 0000070b: PUSH1 0x00 0000070d: DUP1 0000070e: REVERT 0000070f: JUMPDEST 00000710: POP 00000711: PUSH2 0x0449 00000714: PUSH2 0x071e 00000717: CALLDATASIZE 00000718: PUSH1 0x04 0000071a: PUSH2 0x455e 0000071d: JUMP 0000071e: JUMPDEST 0000071f: PUSH2 0x15b1 00000722: JUMP 00000723: JUMPDEST 00000724: CALLVALUE 00000725: DUP1 00000726: ISZERO 00000727: PUSH2 0x072f 0000072a: JUMPI 0000072b: PUSH1 0x00 0000072d: DUP1 0000072e: REVERT 0000072f: JUMPDEST 00000730: POP 00000731: PUSH2 0x052d 00000734: PUSH2 0x073e 00000737: CALLDATASIZE 00000738: PUSH1 0x04 0000073a: PUSH2 0x45f7 0000073d: JUMP 0000073e: JUMPDEST 0000073f: PUSH1 0x10 00000741: PUSH1 0x20 00000743: SWAP1 00000744: DUP2 00000745: MSTORE 00000746: PUSH1 0x00 00000748: SWAP3 00000749: DUP4 0000074a: MSTORE 0000074b: PUSH1 0x40 0000074d: DUP1 0000074e: DUP5 0000074f: KECCAK256 00000750: SWAP1 00000751: SWAP2 00000752: MSTORE 00000753: SWAP1 00000754: DUP3 00000755: MSTORE 00000756: SWAP1 00000757: KECCAK256 00000758: SLOAD 00000759: DUP2 0000075a: JUMP 0000075b: JUMPDEST 0000075c: CALLVALUE 0000075d: DUP1 0000075e: ISZERO 0000075f: PUSH2 0x0767 00000762: JUMPI 00000763: PUSH1 0x00 00000765: DUP1 00000766: REVERT 00000767: JUMPDEST 00000768: POP 00000769: PUSH2 0x0449 0000076c: PUSH2 0x0776 0000076f: CALLDATASIZE 00000770: PUSH1 0x04 00000772: PUSH2 0x461a 00000775: JUMP 00000776: JUMPDEST 00000777: PUSH2 0x169a 0000077a: JUMP 0000077b: JUMPDEST 0000077c: CALLVALUE 0000077d: DUP1 0000077e: ISZERO 0000077f: PUSH2 0x0787 00000782: JUMPI 00000783: PUSH1 0x00 00000785: DUP1 00000786: REVERT 00000787: JUMPDEST 00000788: POP 00000789: PUSH2 0x04f0 0000078c: PUSH2 0x0796 0000078f: CALLDATASIZE 00000790: PUSH1 0x04 00000792: PUSH2 0x467d 00000795: JUMP 00000796: JUMPDEST 00000797: PUSH1 0x0e 00000799: PUSH1 0x20 0000079b: SWAP1 0000079c: DUP2 0000079d: MSTORE 0000079e: PUSH1 0x00 000007a0: SWAP3 000007a1: DUP4 000007a2: MSTORE 000007a3: PUSH1 0x40 000007a5: DUP1 000007a6: DUP5 000007a7: KECCAK256 000007a8: SWAP1 000007a9: SWAP2 000007aa: MSTORE 000007ab: SWAP1 000007ac: DUP3 000007ad: MSTORE 000007ae: SWAP1 000007af: KECCAK256 000007b0: SLOAD 000007b1: PUSH1 0xff 000007b3: AND 000007b4: DUP2 000007b5: JUMP 000007b6: JUMPDEST 000007b7: CALLVALUE 000007b8: DUP1 000007b9: ISZERO 000007ba: PUSH2 0x07c2 000007bd: JUMPI 000007be: PUSH1 0x00 000007c0: DUP1 000007c1: REVERT 000007c2: JUMPDEST 000007c3: POP 000007c4: PUSH2 0x04f0 000007c7: PUSH2 0x1730 000007ca: JUMP 000007cb: JUMPDEST 000007cc: CALLVALUE 000007cd: DUP1 000007ce: ISZERO 000007cf: PUSH2 0x07d7 000007d2: JUMPI 000007d3: PUSH1 0x00 000007d5: DUP1 000007d6: REVERT 000007d7: JUMPDEST 000007d8: POP 000007d9: PUSH2 0x0449 000007dc: PUSH2 0x07e6 000007df: CALLDATASIZE 000007e0: PUSH1 0x04 000007e2: PUSH2 0x4045 000007e5: JUMP 000007e6: JUMPDEST 000007e7: PUSH2 0x1774 000007ea: JUMP 000007eb: JUMPDEST 000007ec: CALLVALUE 000007ed: DUP1 000007ee: ISZERO 000007ef: PUSH2 0x07f7 000007f2: JUMPI 000007f3: PUSH1 0x00 000007f5: DUP1 000007f6: REVERT 000007f7: JUMPDEST 000007f8: POP 000007f9: PUSH2 0x04f0 000007fc: PUSH2 0x0806 000007ff: CALLDATASIZE 00000800: PUSH1 0x04 00000802: PUSH2 0x469f 00000805: JUMP 00000806: JUMPDEST 00000807: PUSH2 0x1781 0000080a: JUMP 0000080b: JUMPDEST 0000080c: CALLVALUE 0000080d: DUP1 0000080e: ISZERO 0000080f: PUSH2 0x0817 00000812: JUMPI 00000813: PUSH1 0x00 00000815: DUP1 00000816: REVERT 00000817: JUMPDEST 00000818: POP 00000819: PUSH2 0x0449 0000081c: PUSH2 0x0826 0000081f: CALLDATASIZE 00000820: PUSH1 0x04 00000822: PUSH2 0x4745 00000825: JUMP 00000826: JUMPDEST 00000827: PUSH2 0x17a8 0000082a: JUMP 0000082b: JUMPDEST 0000082c: CALLVALUE 0000082d: DUP1 0000082e: ISZERO 0000082f: PUSH2 0x0837 00000832: JUMPI 00000833: PUSH1 0x00 00000835: DUP1 00000836: REVERT 00000837: JUMPDEST 00000838: POP 00000839: PUSH2 0x052d 0000083c: PUSH2 0x0846 0000083f: CALLDATASIZE 00000840: PUSH1 0x04 00000842: PUSH2 0x402a 00000845: JUMP 00000846: JUMPDEST 00000847: PUSH1 0x0f 00000849: PUSH1 0x20 0000084b: MSTORE 0000084c: PUSH1 0x00 0000084e: SWAP1 0000084f: DUP2 00000850: MSTORE 00000851: PUSH1 0x40 00000853: SWAP1 00000854: KECCAK256 00000855: SLOAD 00000856: DUP2 00000857: JUMP 00000858: JUMPDEST 00000859: CALLVALUE 0000085a: DUP1 0000085b: ISZERO 0000085c: PUSH2 0x0864 0000085f: JUMPI 00000860: PUSH1 0x00 00000862: DUP1 00000863: REVERT 00000864: JUMPDEST 00000865: POP 00000866: PUSH2 0x0449 00000869: PUSH2 0x0873 0000086c: CALLDATASIZE 0000086d: PUSH1 0x04 0000086f: PUSH2 0x479e 00000872: JUMP 00000873: JUMPDEST 00000874: PUSH2 0x180a 00000877: JUMP 00000878: JUMPDEST 00000879: CALLVALUE 0000087a: DUP1 0000087b: ISZERO 0000087c: PUSH2 0x0884 0000087f: JUMPI 00000880: PUSH1 0x00 00000882: DUP1 00000883: REVERT 00000884: JUMPDEST 00000885: POP 00000886: PUSH2 0x04f0 00000889: PUSH2 0x0893 0000088c: CALLDATASIZE 0000088d: PUSH1 0x04 0000088f: PUSH2 0x402a 00000892: JUMP 00000893: JUMPDEST 00000894: PUSH2 0x18b5 00000897: JUMP 00000898: JUMPDEST 00000899: CALLVALUE 0000089a: DUP1 0000089b: ISZERO 0000089c: PUSH2 0x08a4 0000089f: JUMPI 000008a0: PUSH1 0x00 000008a2: DUP1 000008a3: REVERT 000008a4: JUMPDEST 000008a5: POP 000008a6: PUSH2 0x0449 000008a9: PUSH2 0x08b3 000008ac: CALLDATASIZE 000008ad: PUSH1 0x04 000008af: PUSH2 0x402a 000008b2: JUMP 000008b3: JUMPDEST 000008b4: PUSH2 0x18f2 000008b7: JUMP 000008b8: JUMPDEST 000008b9: CALLVALUE 000008ba: DUP1 000008bb: ISZERO 000008bc: PUSH2 0x08c4 000008bf: JUMPI 000008c0: PUSH1 0x00 000008c2: DUP1 000008c3: REVERT 000008c4: JUMPDEST 000008c5: POP 000008c6: PUSH2 0x0449 000008c9: PUSH2 0x08d3 000008cc: CALLDATASIZE 000008cd: PUSH1 0x04 000008cf: PUSH2 0x4880 000008d2: JUMP 000008d3: JUMPDEST 000008d4: PUSH2 0x1923 000008d7: JUMP 000008d8: JUMPDEST 000008d9: CALLVALUE 000008da: DUP1 000008db: ISZERO 000008dc: PUSH2 0x08e4 000008df: JUMPI 000008e0: PUSH1 0x00 000008e2: DUP1 000008e3: REVERT 000008e4: JUMPDEST 000008e5: POP 000008e6: PUSH1 0x08 000008e8: SLOAD 000008e9: PUSH2 0x0493 000008ec: SWAP1 000008ed: PUSH1 0x01 000008ef: PUSH1 0x01 000008f1: PUSH1 0xa0 000008f3: SHL 000008f4: SUB 000008f5: AND 000008f6: DUP2 000008f7: JUMP 000008f8: JUMPDEST 000008f9: CALLVALUE 000008fa: DUP1 000008fb: ISZERO 000008fc: PUSH2 0x0904 000008ff: JUMPI 00000900: PUSH1 0x00 00000902: DUP1 00000903: REVERT 00000904: JUMPDEST 00000905: POP 00000906: PUSH2 0x0449 00000909: PUSH2 0x0913 0000090c: CALLDATASIZE 0000090d: PUSH1 0x04 0000090f: PUSH2 0x48eb 00000912: JUMP 00000913: JUMPDEST 00000914: PUSH2 0x199a 00000917: JUMP 00000918: JUMPDEST 00000919: CALLVALUE 0000091a: DUP1 0000091b: ISZERO 0000091c: PUSH2 0x0924 0000091f: JUMPI 00000920: PUSH1 0x00 00000922: DUP1 00000923: REVERT 00000924: JUMPDEST 00000925: POP 00000926: PUSH2 0x04f0 00000929: PUSH2 0x0933 0000092c: CALLDATASIZE 0000092d: PUSH1 0x04 0000092f: PUSH2 0x4915 00000932: JUMP 00000933: JUMPDEST 00000934: PUSH2 0x19be 00000937: JUMP 00000938: JUMPDEST 00000939: CALLVALUE 0000093a: DUP1 0000093b: ISZERO 0000093c: PUSH2 0x0944 0000093f: JUMPI 00000940: PUSH1 0x00 00000942: DUP1 00000943: REVERT 00000944: JUMPDEST 00000945: POP 00000946: PUSH2 0x04f0 00000949: PUSH2 0x0953 0000094c: CALLDATASIZE 0000094d: PUSH1 0x04 0000094f: PUSH2 0x4932 00000952: JUMP 00000953: JUMPDEST 00000954: PUSH2 0x1a79 00000957: JUMP 00000958: JUMPDEST 00000959: CALLVALUE 0000095a: DUP1 0000095b: ISZERO 0000095c: PUSH2 0x0964 0000095f: JUMPI 00000960: PUSH1 0x00 00000962: DUP1 00000963: REVERT 00000964: JUMPDEST 00000965: POP 00000966: PUSH2 0x0449 00000969: PUSH2 0x0973 0000096c: CALLDATASIZE 0000096d: PUSH1 0x04 0000096f: PUSH2 0x4966 00000972: JUMP 00000973: JUMPDEST 00000974: PUSH2 0x1a8c 00000977: JUMP 00000978: JUMPDEST 00000979: CALLVALUE 0000097a: DUP1 0000097b: ISZERO 0000097c: PUSH2 0x0984 0000097f: JUMPI 00000980: PUSH1 0x00 00000982: DUP1 00000983: REVERT 00000984: JUMPDEST 00000985: POP 00000986: PUSH2 0x0449 00000989: PUSH2 0x0993 0000098c: CALLDATASIZE 0000098d: PUSH1 0x04 0000098f: PUSH2 0x49a7 00000992: JUMP 00000993: JUMPDEST 00000994: PUSH2 0x1bac 00000997: JUMP 00000998: JUMPDEST 00000999: CALLVALUE 0000099a: DUP1 0000099b: ISZERO 0000099c: PUSH2 0x09a4 0000099f: JUMPI 000009a0: PUSH1 0x00 000009a2: DUP1 000009a3: REVERT 000009a4: JUMPDEST 000009a5: POP 000009a6: PUSH2 0x061d 000009a9: PUSH2 0x1c72 000009ac: JUMP 000009ad: JUMPDEST 000009ae: CALLVALUE 000009af: DUP1 000009b0: ISZERO 000009b1: PUSH2 0x09b9 000009b4: JUMPI 000009b5: PUSH1 0x00 000009b7: DUP1 000009b8: REVERT 000009b9: JUMPDEST 000009ba: POP 000009bb: PUSH2 0x052d 000009be: PUSH1 0x01 000009c0: PUSH1 0x01 000009c2: PUSH1 0xf8 000009c4: SHL 000009c5: SUB 000009c6: NOT 000009c7: DUP2 000009c8: JUMP 000009c9: JUMPDEST 000009ca: CALLVALUE 000009cb: DUP1 000009cc: ISZERO 000009cd: PUSH2 0x09d5 000009d0: JUMPI 000009d1: PUSH1 0x00 000009d3: DUP1 000009d4: REVERT 000009d5: JUMPDEST 000009d6: POP 000009d7: PUSH2 0x0449 000009da: PUSH2 0x09e4 000009dd: CALLDATASIZE 000009de: PUSH1 0x04 000009e0: PUSH2 0x402a 000009e3: JUMP 000009e4: JUMPDEST 000009e5: PUSH2 0x1cd2 000009e8: JUMP 000009e9: JUMPDEST 000009ea: CALLVALUE 000009eb: DUP1 000009ec: ISZERO 000009ed: PUSH2 0x09f5 000009f0: JUMPI 000009f1: PUSH1 0x00 000009f3: DUP1 000009f4: REVERT 000009f5: JUMPDEST 000009f6: POP 000009f7: PUSH2 0x052d 000009fa: PUSH2 0x0a04 000009fd: CALLDATASIZE 000009fe: PUSH1 0x04 00000a00: PUSH2 0x402a 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH1 0x01 00000a07: PUSH1 0x20 00000a09: MSTORE 00000a0a: PUSH1 0x00 00000a0c: SWAP1 00000a0d: DUP2 00000a0e: MSTORE 00000a0f: PUSH1 0x40 00000a11: SWAP1 00000a12: KECCAK256 00000a13: SLOAD 00000a14: DUP2 00000a15: JUMP 00000a16: JUMPDEST 00000a17: CALLVALUE 00000a18: DUP1 00000a19: ISZERO 00000a1a: PUSH2 0x0a22 00000a1d: JUMPI 00000a1e: PUSH1 0x00 00000a20: DUP1 00000a21: REVERT 00000a22: JUMPDEST 00000a23: POP 00000a24: PUSH2 0x0449 00000a27: PUSH2 0x0a31 00000a2a: CALLDATASIZE 00000a2b: PUSH1 0x04 00000a2d: PUSH2 0x402a 00000a30: JUMP 00000a31: JUMPDEST 00000a32: PUSH2 0x1cfc 00000a35: JUMP 00000a36: JUMPDEST 00000a37: CALLVALUE 00000a38: DUP1 00000a39: ISZERO 00000a3a: PUSH2 0x0a42 00000a3d: JUMPI 00000a3e: PUSH1 0x00 00000a40: DUP1 00000a41: REVERT 00000a42: JUMPDEST 00000a43: POP 00000a44: PUSH2 0x0449 00000a47: PUSH2 0x0a51 00000a4a: CALLDATASIZE 00000a4b: PUSH1 0x04 00000a4d: PUSH2 0x461a 00000a50: JUMP 00000a51: JUMPDEST 00000a52: PUSH2 0x1d2a 00000a55: JUMP 00000a56: JUMPDEST 00000a57: CALLVALUE 00000a58: DUP1 00000a59: ISZERO 00000a5a: PUSH2 0x0a62 00000a5d: JUMPI 00000a5e: PUSH1 0x00 00000a60: DUP1 00000a61: REVERT 00000a62: JUMPDEST 00000a63: POP 00000a64: PUSH2 0x0449 00000a67: PUSH2 0x0a71 00000a6a: CALLDATASIZE 00000a6b: PUSH1 0x04 00000a6d: PUSH2 0x49a7 00000a70: JUMP 00000a71: JUMPDEST 00000a72: PUSH2 0x1dc0 00000a75: JUMP 00000a76: JUMPDEST 00000a77: CALLVALUE 00000a78: DUP1 00000a79: ISZERO 00000a7a: PUSH2 0x0a82 00000a7d: JUMPI 00000a7e: PUSH1 0x00 00000a80: DUP1 00000a81: REVERT 00000a82: JUMPDEST 00000a83: POP 00000a84: PUSH2 0x04f0 00000a87: PUSH2 0x211f 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: CALLVALUE 00000a8d: DUP1 00000a8e: ISZERO 00000a8f: PUSH2 0x0a97 00000a92: JUMPI 00000a93: PUSH1 0x00 00000a95: DUP1 00000a96: REVERT 00000a97: JUMPDEST 00000a98: POP 00000a99: PUSH2 0x0449 00000a9c: PUSH2 0x0aa6 00000a9f: CALLDATASIZE 00000aa0: PUSH1 0x04 00000aa2: PUSH2 0x4a32 00000aa5: JUMP 00000aa6: JUMPDEST 00000aa7: PUSH2 0x2172 00000aaa: JUMP 00000aab: JUMPDEST 00000aac: CALLVALUE 00000aad: DUP1 00000aae: ISZERO 00000aaf: PUSH2 0x0ab7 00000ab2: JUMPI 00000ab3: PUSH1 0x00 00000ab5: DUP1 00000ab6: REVERT 00000ab7: JUMPDEST 00000ab8: POP 00000ab9: PUSH2 0x061d 00000abc: PUSH2 0x229a 00000abf: JUMP 00000ac0: JUMPDEST 00000ac1: CALLVALUE 00000ac2: DUP1 00000ac3: ISZERO 00000ac4: PUSH2 0x0acc 00000ac7: JUMPI 00000ac8: PUSH1 0x00 00000aca: DUP1 00000acb: REVERT 00000acc: JUMPDEST 00000acd: POP 00000ace: PUSH2 0x0493 00000ad1: PUSH2 0x0adb 00000ad4: CALLDATASIZE 00000ad5: PUSH1 0x04 00000ad7: PUSH2 0x4045 00000ada: JUMP 00000adb: JUMPDEST 00000adc: PUSH2 0x22fa 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: CALLVALUE 00000ae2: DUP1 00000ae3: ISZERO 00000ae4: PUSH2 0x0aec 00000ae7: JUMPI 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: REVERT 00000aec: JUMPDEST 00000aed: POP 00000aee: PUSH2 0x0449 00000af1: PUSH2 0x0afb 00000af4: CALLDATASIZE 00000af5: PUSH1 0x04 00000af7: PUSH2 0x467d 00000afa: JUMP 00000afb: JUMPDEST 00000afc: PUSH2 0x230a 00000aff: JUMP 00000b00: JUMPDEST 00000b01: CALLVALUE 00000b02: DUP1 00000b03: ISZERO 00000b04: PUSH2 0x0b0c 00000b07: JUMPI 00000b08: PUSH1 0x00 00000b0a: DUP1 00000b0b: REVERT 00000b0c: JUMPDEST 00000b0d: POP 00000b0e: PUSH2 0x052d 00000b11: PUSH2 0x0b1b 00000b14: CALLDATASIZE 00000b15: PUSH1 0x04 00000b17: PUSH2 0x402a 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: PUSH1 0x01 00000b1e: PUSH1 0x01 00000b20: PUSH1 0xa0 00000b22: SHL 00000b23: SUB 00000b24: AND 00000b25: PUSH1 0x00 00000b27: SWAP1 00000b28: DUP2 00000b29: MSTORE 00000b2a: PUSH1 0x01 00000b2c: PUSH1 0x20 00000b2e: MSTORE 00000b2f: PUSH1 0x40 00000b31: SWAP1 00000b32: KECCAK256 00000b33: SLOAD 00000b34: SWAP1 00000b35: JUMP 00000b36: JUMPDEST 00000b37: CALLVALUE 00000b38: DUP1 00000b39: ISZERO 00000b3a: PUSH2 0x0b42 00000b3d: JUMPI 00000b3e: PUSH1 0x00 00000b40: DUP1 00000b41: REVERT 00000b42: JUMPDEST 00000b43: POP 00000b44: PUSH2 0x04f0 00000b47: PUSH2 0x234d 00000b4a: JUMP 00000b4b: JUMPDEST 00000b4c: CALLVALUE 00000b4d: DUP1 00000b4e: ISZERO 00000b4f: PUSH2 0x0b57 00000b52: JUMPI 00000b53: PUSH1 0x00 00000b55: DUP1 00000b56: REVERT 00000b57: JUMPDEST 00000b58: POP 00000b59: PUSH2 0x04f0 00000b5c: PUSH2 0x0b66 00000b5f: CALLDATASIZE 00000b60: PUSH1 0x04 00000b62: PUSH2 0x402a 00000b65: JUMP 00000b66: JUMPDEST 00000b67: PUSH2 0x2374 00000b6a: JUMP 00000b6b: JUMPDEST 00000b6c: CALLVALUE 00000b6d: DUP1 00000b6e: ISZERO 00000b6f: PUSH2 0x0b77 00000b72: JUMPI 00000b73: PUSH1 0x00 00000b75: DUP1 00000b76: REVERT 00000b77: JUMPDEST 00000b78: POP 00000b79: PUSH2 0x0449 00000b7c: PUSH2 0x0b86 00000b7f: CALLDATASIZE 00000b80: PUSH1 0x04 00000b82: PUSH2 0x4a68 00000b85: JUMP 00000b86: JUMPDEST 00000b87: PUSH2 0x23a8 00000b8a: JUMP 00000b8b: JUMPDEST 00000b8c: CALLVALUE 00000b8d: DUP1 00000b8e: ISZERO 00000b8f: PUSH2 0x0b97 00000b92: JUMPI 00000b93: PUSH1 0x00 00000b95: DUP1 00000b96: REVERT 00000b97: JUMPDEST 00000b98: POP 00000b99: PUSH2 0x052d 00000b9c: PUSH1 0x09 00000b9e: SLOAD 00000b9f: DUP2 00000ba0: JUMP 00000ba1: JUMPDEST 00000ba2: CALLVALUE 00000ba3: DUP1 00000ba4: ISZERO 00000ba5: PUSH2 0x0bad 00000ba8: JUMPI 00000ba9: PUSH1 0x00 00000bab: DUP1 00000bac: REVERT 00000bad: JUMPDEST 00000bae: POP 00000baf: PUSH2 0x0449 00000bb2: PUSH2 0x0bbc 00000bb5: CALLDATASIZE 00000bb6: PUSH1 0x04 00000bb8: PUSH2 0x402a 00000bbb: JUMP 00000bbc: JUMPDEST 00000bbd: PUSH2 0x2441 00000bc0: JUMP 00000bc1: JUMPDEST 00000bc2: CALLVALUE 00000bc3: DUP1 00000bc4: ISZERO 00000bc5: PUSH2 0x0bcd 00000bc8: JUMPI 00000bc9: PUSH1 0x00 00000bcb: DUP1 00000bcc: REVERT 00000bcd: JUMPDEST 00000bce: POP 00000bcf: PUSH2 0x04f0 00000bd2: PUSH2 0x246b 00000bd5: JUMP 00000bd6: JUMPDEST 00000bd7: CALLVALUE 00000bd8: DUP1 00000bd9: ISZERO 00000bda: PUSH2 0x0be2 00000bdd: JUMPI 00000bde: PUSH1 0x00 00000be0: DUP1 00000be1: REVERT 00000be2: JUMPDEST 00000be3: POP 00000be4: PUSH2 0x04f0 00000be7: PUSH2 0x0bf1 00000bea: CALLDATASIZE 00000beb: PUSH1 0x04 00000bed: PUSH2 0x402a 00000bf0: JUMP 00000bf1: JUMPDEST 00000bf2: PUSH2 0x2492 00000bf5: JUMP 00000bf6: JUMPDEST 00000bf7: CALLVALUE 00000bf8: DUP1 00000bf9: ISZERO 00000bfa: PUSH2 0x0c02 00000bfd: JUMPI 00000bfe: PUSH1 0x00 00000c00: DUP1 00000c01: REVERT 00000c02: JUMPDEST 00000c03: POP 00000c04: PUSH2 0x0cb0 00000c07: PUSH2 0x0c11 00000c0a: CALLDATASIZE 00000c0b: PUSH1 0x04 00000c0d: PUSH2 0x4045 00000c10: JUMP 00000c11: JUMPDEST 00000c12: PUSH1 0x0a 00000c14: PUSH1 0x20 00000c16: SWAP1 00000c17: DUP2 00000c18: MSTORE 00000c19: PUSH1 0x00 00000c1b: SWAP2 00000c1c: DUP3 00000c1d: MSTORE 00000c1e: PUSH1 0x40 00000c20: SWAP2 00000c21: DUP3 00000c22: SWAP1 00000c23: KECCAK256 00000c24: DUP3 00000c25: MLOAD 00000c26: PUSH1 0x60 00000c28: DUP1 00000c29: DUP3 00000c2a: ADD 00000c2b: DUP6 00000c2c: MSTORE 00000c2d: DUP3 00000c2e: SLOAD 00000c2f: PUSH1 0x01 00000c31: PUSH1 0x01 00000c33: PUSH1 0x80 00000c35: SHL 00000c36: SUB 00000c37: DUP1 00000c38: DUP3 00000c39: AND 00000c3a: DUP5 00000c3b: MSTORE 00000c3c: PUSH1 0x01 00000c3e: PUSH1 0x80 00000c40: SHL 00000c41: SWAP2 00000c42: DUP3 00000c43: SWAP1 00000c44: DIV 00000c45: DUP2 00000c46: AND 00000c47: DUP5 00000c48: DUP8 00000c49: ADD 00000c4a: MSTORE 00000c4b: PUSH1 0x01 00000c4d: DUP6 00000c4e: ADD 00000c4f: SLOAD 00000c50: DUP5 00000c51: DUP9 00000c52: ADD 00000c53: MSTORE 00000c54: DUP7 00000c55: MLOAD 00000c56: SWAP3 00000c57: DUP4 00000c58: ADD 00000c59: DUP8 00000c5a: MSTORE 00000c5b: PUSH1 0x02 00000c5d: DUP6 00000c5e: ADD 00000c5f: SLOAD 00000c60: DUP1 00000c61: DUP3 00000c62: AND 00000c63: DUP5 00000c64: MSTORE 00000c65: SWAP2 00000c66: SWAP1 00000c67: SWAP2 00000c68: DIV 00000c69: AND 00000c6a: SWAP4 00000c6b: DUP2 00000c6c: ADD 00000c6d: SWAP4 00000c6e: SWAP1 00000c6f: SWAP4 00000c70: MSTORE 00000c71: PUSH1 0x03 00000c73: DUP3 00000c74: ADD 00000c75: SLOAD 00000c76: SWAP4 00000c77: DUP4 00000c78: ADD 00000c79: SWAP4 00000c7a: SWAP1 00000c7b: SWAP4 00000c7c: MSTORE 00000c7d: PUSH1 0x04 00000c7f: DUP2 00000c80: ADD 00000c81: SLOAD 00000c82: PUSH1 0x05 00000c84: DUP3 00000c85: ADD 00000c86: SLOAD 00000c87: PUSH1 0x06 00000c89: DUP4 00000c8a: ADD 00000c8b: SLOAD 00000c8c: PUSH1 0x07 00000c8e: SWAP1 00000c8f: SWAP4 00000c90: ADD 00000c91: SLOAD 00000c92: PUSH1 0xff 00000c94: DUP4 00000c95: AND 00000c96: SWAP4 00000c97: PUSH1 0x01 00000c99: PUSH1 0x01 00000c9b: PUSH1 0xa0 00000c9d: SHL 00000c9e: SUB 00000c9f: PUSH2 0x0100 00000ca2: SWAP1 00000ca3: SWAP5 00000ca4: DIV 00000ca5: DUP5 00000ca6: AND 00000ca7: SWAP4 00000ca8: SWAP3 00000ca9: DUP4 00000caa: AND 00000cab: SWAP3 00000cac: AND 00000cad: SWAP1 00000cae: DUP8 00000caf: JUMP 00000cb0: JUMPDEST 00000cb1: PUSH1 0x40 00000cb3: MLOAD 00000cb4: PUSH2 0x04a7 00000cb7: SWAP8 00000cb8: SWAP7 00000cb9: SWAP6 00000cba: SWAP5 00000cbb: SWAP4 00000cbc: SWAP3 00000cbd: SWAP2 00000cbe: SWAP1 00000cbf: PUSH2 0x4acd 00000cc2: JUMP 00000cc3: JUMPDEST 00000cc4: CALLVALUE 00000cc5: DUP1 00000cc6: ISZERO 00000cc7: PUSH2 0x0ccf 00000cca: JUMPI 00000ccb: PUSH1 0x00 00000ccd: DUP1 00000cce: REVERT 00000ccf: JUMPDEST 00000cd0: POP 00000cd1: PUSH2 0x0493 00000cd4: PUSH1 0x00 00000cd6: DUP2 00000cd7: JUMP 00000cd8: JUMPDEST 00000cd9: CALLVALUE 00000cda: DUP1 00000cdb: ISZERO 00000cdc: PUSH2 0x0ce4 00000cdf: JUMPI 00000ce0: PUSH1 0x00 00000ce2: DUP1 00000ce3: REVERT 00000ce4: JUMPDEST 00000ce5: POP 00000ce6: PUSH2 0x0449 00000ce9: PUSH2 0x0cf3 00000cec: CALLDATASIZE 00000ced: PUSH1 0x04 00000cef: PUSH2 0x455e 00000cf2: JUMP 00000cf3: JUMPDEST 00000cf4: PUSH2 0x24cf 00000cf7: JUMP 00000cf8: JUMPDEST 00000cf9: CALLVALUE 00000cfa: DUP1 00000cfb: ISZERO 00000cfc: PUSH2 0x0d04 00000cff: JUMPI 00000d00: PUSH1 0x00 00000d02: DUP1 00000d03: REVERT 00000d04: JUMPDEST 00000d05: POP 00000d06: PUSH2 0x061d 00000d09: PUSH2 0x25b1 00000d0c: JUMP 00000d0d: JUMPDEST 00000d0e: PUSH2 0x0449 00000d11: PUSH2 0x0d1b 00000d14: CALLDATASIZE 00000d15: PUSH1 0x04 00000d17: PUSH2 0x467d 00000d1a: JUMP 00000d1b: JUMPDEST 00000d1c: PUSH2 0x2611 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: CALLVALUE 00000d22: DUP1 00000d23: ISZERO 00000d24: PUSH2 0x0d2c 00000d27: JUMPI 00000d28: PUSH1 0x00 00000d2a: DUP1 00000d2b: REVERT 00000d2c: JUMPDEST 00000d2d: POP 00000d2e: PUSH2 0x0493 00000d31: PUSH2 0x0d3b 00000d34: CALLDATASIZE 00000d35: PUSH1 0x04 00000d37: PUSH2 0x4045 00000d3a: JUMP 00000d3b: JUMPDEST 00000d3c: PUSH2 0x2657 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: CALLVALUE 00000d42: DUP1 00000d43: ISZERO 00000d44: PUSH2 0x0d4c 00000d47: JUMPI 00000d48: PUSH1 0x00 00000d4a: DUP1 00000d4b: REVERT 00000d4c: JUMPDEST 00000d4d: POP 00000d4e: PUSH2 0x0449 00000d51: PUSH2 0x2667 00000d54: JUMP 00000d55: JUMPDEST 00000d56: CALLVALUE 00000d57: DUP1 00000d58: ISZERO 00000d59: PUSH2 0x0d61 00000d5c: JUMPI 00000d5d: PUSH1 0x00 00000d5f: DUP1 00000d60: REVERT 00000d61: JUMPDEST 00000d62: POP 00000d63: PUSH2 0x0449 00000d66: PUSH2 0x0d70 00000d69: CALLDATASIZE 00000d6a: PUSH1 0x04 00000d6c: PUSH2 0x4b28 00000d6f: JUMP 00000d70: JUMPDEST 00000d71: PUSH2 0x285d 00000d74: JUMP 00000d75: JUMPDEST 00000d76: CALLVALUE 00000d77: DUP1 00000d78: ISZERO 00000d79: PUSH2 0x0d81 00000d7c: JUMPI 00000d7d: PUSH1 0x00 00000d7f: DUP1 00000d80: REVERT 00000d81: JUMPDEST 00000d82: POP 00000d83: PUSH2 0x0449 00000d86: PUSH2 0x0d90 00000d89: CALLDATASIZE 00000d8a: PUSH1 0x04 00000d8c: PUSH2 0x4880 00000d8f: JUMP 00000d90: JUMPDEST 00000d91: PUSH2 0x28da 00000d94: JUMP 00000d95: JUMPDEST 00000d96: CALLVALUE 00000d97: DUP1 00000d98: ISZERO 00000d99: PUSH2 0x0da1 00000d9c: JUMPI 00000d9d: PUSH1 0x00 00000d9f: DUP1 00000da0: REVERT 00000da1: JUMPDEST 00000da2: POP 00000da3: PUSH2 0x04f0 00000da6: PUSH2 0x0db0 00000da9: CALLDATASIZE 00000daa: PUSH1 0x04 00000dac: PUSH2 0x402a 00000daf: JUMP 00000db0: JUMPDEST 00000db1: PUSH2 0x2979 00000db4: JUMP 00000db5: JUMPDEST 00000db6: CALLVALUE 00000db7: DUP1 00000db8: ISZERO 00000db9: PUSH2 0x0dc1 00000dbc: JUMPI 00000dbd: PUSH1 0x00 00000dbf: DUP1 00000dc0: REVERT 00000dc1: JUMPDEST 00000dc2: POP 00000dc3: PUSH2 0x04f0 00000dc6: PUSH2 0x0dd0 00000dc9: CALLDATASIZE 00000dca: PUSH1 0x04 00000dcc: PUSH2 0x402a 00000dcf: JUMP 00000dd0: JUMPDEST 00000dd1: PUSH2 0x29b6 00000dd4: JUMP 00000dd5: JUMPDEST 00000dd6: CALLVALUE 00000dd7: DUP1 00000dd8: ISZERO 00000dd9: PUSH2 0x0de1 00000ddc: JUMPI 00000ddd: PUSH1 0x00 00000ddf: DUP1 00000de0: REVERT 00000de1: JUMPDEST 00000de2: POP 00000de3: PUSH2 0x0449 00000de6: PUSH2 0x0df0 00000de9: CALLDATASIZE 00000dea: PUSH1 0x04 00000dec: PUSH2 0x4a32 00000def: JUMP 00000df0: JUMPDEST 00000df1: PUSH2 0x2a3c 00000df4: JUMP 00000df5: JUMPDEST 00000df6: CALLVALUE 00000df7: DUP1 00000df8: ISZERO 00000df9: PUSH2 0x0e01 00000dfc: JUMPI 00000dfd: PUSH1 0x00 00000dff: DUP1 00000e00: REVERT 00000e01: JUMPDEST 00000e02: POP 00000e03: PUSH2 0x0449 00000e06: PUSH2 0x0e10 00000e09: CALLDATASIZE 00000e0a: PUSH1 0x04 00000e0c: PUSH2 0x467d 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: PUSH2 0x2b65 00000e14: JUMP 00000e15: JUMPDEST 00000e16: PUSH1 0x00 00000e18: DUP3 00000e19: DUP2 00000e1a: MSTORE 00000e1b: PUSH1 0x0a 00000e1d: PUSH1 0x20 00000e1f: SWAP1 00000e20: DUP2 00000e21: MSTORE 00000e22: PUSH1 0x40 00000e24: SWAP2 00000e25: DUP3 00000e26: SWAP1 00000e27: KECCAK256 00000e28: DUP3 00000e29: MLOAD 00000e2a: PUSH1 0x60 00000e2c: DUP2 00000e2d: ADD 00000e2e: DUP5 00000e2f: MSTORE 00000e30: PUSH1 0x02 00000e32: DUP3 00000e33: ADD 00000e34: SLOAD 00000e35: PUSH1 0x01 00000e37: PUSH1 0x01 00000e39: PUSH1 0x80 00000e3b: SHL 00000e3c: SUB 00000e3d: DUP1 00000e3e: DUP3 00000e3f: AND 00000e40: DUP1 00000e41: DUP5 00000e42: MSTORE 00000e43: PUSH1 0x01 00000e45: PUSH1 0x80 00000e47: SHL 00000e48: SWAP1 00000e49: SWAP3 00000e4a: DIV 00000e4b: AND 00000e4c: SWAP4 00000e4d: DUP3 00000e4e: ADD 00000e4f: SWAP4 00000e50: SWAP1 00000e51: SWAP4 00000e52: MSTORE 00000e53: PUSH1 0x03 00000e55: SWAP1 00000e56: SWAP2 00000e57: ADD 00000e58: SLOAD 00000e59: SWAP3 00000e5a: DUP2 00000e5b: ADD 00000e5c: SWAP3 00000e5d: SWAP1 00000e5e: SWAP3 00000e5f: MSTORE 00000e60: DUP3 00000e61: LT 00000e62: DUP1 00000e63: ISZERO 00000e64: SWAP1 00000e65: PUSH2 0x0e7b 00000e68: JUMPI 00000e69: POP 00000e6a: DUP1 00000e6b: PUSH1 0x20 00000e6d: ADD 00000e6e: MLOAD 00000e6f: PUSH1 0x01 00000e71: PUSH1 0x01 00000e73: PUSH1 0x80 00000e75: SHL 00000e76: SUB 00000e77: AND 00000e78: DUP3 00000e79: GT 00000e7a: ISZERO 00000e7b: JUMPDEST 00000e7c: PUSH2 0x0ec1 00000e7f: JUMPI 00000e80: PUSH1 0x40 00000e82: MLOAD 00000e83: PUSH3 0x461bcd 00000e87: PUSH1 0xe5 00000e89: SHL 00000e8a: DUP2 00000e8b: MSTORE 00000e8c: PUSH1 0x20 00000e8e: PUSH1 0x04 00000e90: DUP3 00000e91: ADD 00000e92: MSTORE 00000e93: PUSH1 0x12 00000e95: PUSH1 0x24 00000e97: DUP3 00000e98: ADD 00000e99: MSTORE 00000e9a: PUSH18 0x7661756c7420616d6f756e7420636865636b 00000ead: PUSH1 0x70 00000eaf: SHL 00000eb0: PUSH1 0x44 00000eb2: DUP3 00000eb3: ADD 00000eb4: MSTORE 00000eb5: PUSH1 0x64 00000eb7: ADD 00000eb8: JUMPDEST 00000eb9: PUSH1 0x40 00000ebb: MLOAD 00000ebc: DUP1 00000ebd: SWAP2 00000ebe: SUB 00000ebf: SWAP1 00000ec0: REVERT 00000ec1: JUMPDEST 00000ec2: POP 00000ec3: POP 00000ec4: POP 00000ec5: JUMP 00000ec6: JUMPDEST 00000ec7: DUP1 00000ec8: MLOAD 00000ec9: PUSH2 0x0ed2 00000ecc: SWAP1 00000ecd: DUP4 00000ece: PUSH2 0x2b9d 00000ed1: JUMP 00000ed2: JUMPDEST 00000ed3: DUP1 00000ed4: MLOAD 00000ed5: PUSH2 0x0edd 00000ed8: SWAP1 00000ed9: PUSH2 0x2c07 00000edc: JUMP 00000edd: JUMPDEST 00000ede: DUP1 00000edf: MLOAD 00000ee0: PUSH2 0x0eee 00000ee3: SWAP1 00000ee4: CALLER 00000ee5: DUP4 00000ee6: PUSH1 0x80 00000ee8: ADD 00000ee9: MLOAD 00000eea: PUSH2 0x2c5e 00000eed: JUMP 00000eee: JUMPDEST 00000eef: PUSH1 0x20 00000ef1: DUP3 00000ef2: ADD 00000ef3: MLOAD 00000ef4: PUSH2 0x0f0d 00000ef7: SWAP1 00000ef8: PUSH1 0x01 00000efa: PUSH1 0x01 00000efc: PUSH1 0x80 00000efe: SHL 00000eff: SUB 00000f00: NOT 00000f01: AND 00000f02: PUSH3 0x020101 00000f06: PUSH1 0xe8 00000f08: SHL 00000f09: PUSH2 0x2d10 00000f0c: JUMP 00000f0d: JUMPDEST 00000f0e: ISZERO 00000f0f: PUSH2 0x0f16 00000f12: JUMPI 00000f13: POP 00000f14: POP 00000f15: JUMP 00000f16: JUMPDEST 00000f17: PUSH1 0x20 00000f19: DUP3 00000f1a: ADD 00000f1b: MLOAD 00000f1c: PUSH2 0x0f36 00000f1f: SWAP1 00000f20: PUSH1 0x01 00000f22: PUSH1 0x01 00000f24: PUSH1 0x80 00000f26: SHL 00000f27: SUB 00000f28: NOT 00000f29: AND 00000f2a: PUSH4 0x01808081 00000f2f: PUSH1 0xe1 00000f31: SHL 00000f32: PUSH2 0x2d10 00000f35: JUMP 00000f36: JUMPDEST 00000f37: ISZERO 00000f38: PUSH2 0x0f3f 00000f3b: JUMPI 00000f3c: POP 00000f3d: POP 00000f3e: JUMP 00000f3f: JUMPDEST 00000f40: PUSH1 0x20 00000f42: DUP3 00000f43: ADD 00000f44: MLOAD 00000f45: PUSH2 0x0f5e 00000f48: SWAP1 00000f49: PUSH1 0x01 00000f4b: PUSH1 0x01 00000f4d: PUSH1 0x80 00000f4f: SHL 00000f50: SUB 00000f51: NOT 00000f52: AND 00000f53: PUSH3 0xc04041 00000f57: PUSH1 0xe2 00000f59: SHL 00000f5a: PUSH2 0x2d10 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: ISZERO 00000f60: PUSH2 0x0fa5 00000f63: JUMPI 00000f64: DUP1 00000f65: MLOAD 00000f66: PUSH1 0x00 00000f68: SWAP1 00000f69: DUP2 00000f6a: MSTORE 00000f6b: PUSH1 0x0e 00000f6d: PUSH1 0x20 00000f6f: SWAP1 00000f70: DUP2 00000f71: MSTORE 00000f72: PUSH1 0x40 00000f74: DUP1 00000f75: DUP4 00000f76: KECCAK256 00000f77: DUP3 00000f78: DUP6 00000f79: ADD 00000f7a: MLOAD 00000f7b: DUP5 00000f7c: MSTORE 00000f7d: SWAP1 00000f7e: SWAP2 00000f7f: MSTORE 00000f80: SWAP1 00000f81: KECCAK256 00000f82: SLOAD 00000f83: PUSH1 0xff 00000f85: AND 00000f86: PUSH2 0x0fa1 00000f89: JUMPI 00000f8a: PUSH1 0x40 00000f8c: MLOAD 00000f8d: PUSH3 0x461bcd 00000f91: PUSH1 0xe5 00000f93: SHL 00000f94: DUP2 00000f95: MSTORE 00000f96: PUSH1 0x04 00000f98: ADD 00000f99: PUSH2 0x0eb8 00000f9c: SWAP1 00000f9d: PUSH2 0x4b5c 00000fa0: JUMP 00000fa1: JUMPDEST 00000fa2: POP 00000fa3: POP 00000fa4: JUMP 00000fa5: JUMPDEST 00000fa6: PUSH1 0x20 00000fa8: DUP3 00000fa9: ADD 00000faa: MLOAD 00000fab: PUSH2 0x0fc6 00000fae: SWAP1 00000faf: PUSH1 0x01 00000fb1: PUSH1 0x01 00000fb3: PUSH1 0x80 00000fb5: SHL 00000fb6: SUB 00000fb7: NOT 00000fb8: AND 00000fb9: PUSH5 0x0401010205 00000fbf: PUSH1 0xd8 00000fc1: SHL 00000fc2: PUSH2 0x2d10 00000fc5: JUMP 00000fc6: JUMPDEST 00000fc7: ISZERO 00000fc8: PUSH2 0x0fcf 00000fcb: JUMPI 00000fcc: POP 00000fcd: POP 00000fce: JUMP 00000fcf: JUMPDEST 00000fd0: PUSH1 0x20 00000fd2: DUP3 00000fd3: ADD 00000fd4: MLOAD 00000fd5: PUSH2 0x0ff0 00000fd8: SWAP1 00000fd9: PUSH1 0x01 00000fdb: PUSH1 0x01 00000fdd: PUSH1 0x80 00000fdf: SHL 00000fe0: SUB 00000fe1: NOT 00000fe2: AND 00000fe3: PUSH5 0x0401010405 00000fe9: PUSH1 0xd8 00000feb: SHL 00000fec: PUSH2 0x2d10 00000fef: JUMP 00000ff0: JUMPDEST 00000ff1: ISZERO 00000ff2: PUSH2 0x1033 00000ff5: JUMPI 00000ff6: DUP1 00000ff7: MLOAD 00000ff8: PUSH1 0x00 00000ffa: SWAP1 00000ffb: DUP2 00000ffc: MSTORE 00000ffd: PUSH1 0x0e 00000fff: PUSH1 0x20 00001001: SWAP1 00001002: DUP2 00001003: MSTORE 00001004: PUSH1 0x40 00001006: DUP1 00001007: DUP4 00001008: KECCAK256 00001009: DUP3 0000100a: DUP6 0000100b: ADD 0000100c: MLOAD 0000100d: DUP5 0000100e: MSTORE 0000100f: SWAP1 00001010: SWAP2 00001011: MSTORE 00001012: SWAP1 00001013: KECCAK256 00001014: SLOAD 00001015: PUSH1 0xff 00001017: AND 00001018: PUSH2 0x0fa1 0000101b: JUMPI 0000101c: PUSH1 0x40 0000101e: MLOAD 0000101f: PUSH3 0x461bcd 00001023: PUSH1 0xe5 00001025: SHL 00001026: DUP2 00001027: MSTORE 00001028: PUSH1 0x04 0000102a: ADD 0000102b: PUSH2 0x0eb8 0000102e: SWAP1 0000102f: PUSH2 0x4b5c 00001032: JUMP 00001033: JUMPDEST 00001034: PUSH1 0x20 00001036: DUP3 00001037: ADD 00001038: MLOAD 00001039: PUSH2 0x1053 0000103c: SWAP1 0000103d: PUSH1 0x01 0000103f: PUSH1 0x01 00001041: PUSH1 0x80 00001043: SHL 00001044: SUB 00001045: NOT 00001046: AND 00001047: PUSH4 0x80202041 0000104c: PUSH1 0xdb 0000104e: SHL 0000104f: PUSH2 0x2d10 00001052: JUMP 00001053: JUMPDEST 00001054: ISZERO 00001055: PUSH2 0x105c 00001058: JUMPI 00001059: POP 0000105a: POP 0000105b: JUMP 0000105c: JUMPDEST 0000105d: PUSH1 0x20 0000105f: DUP3 00001060: ADD 00001061: MLOAD 00001062: PUSH2 0x107c 00001065: SWAP1 00001066: PUSH1 0x01 00001068: PUSH1 0x01 0000106a: PUSH1 0x80 0000106c: SHL 0000106d: SUB 0000106e: NOT 0000106f: AND 00001070: PUSH4 0x80202081 00001075: PUSH1 0xdb 00001077: SHL 00001078: PUSH2 0x2d10 0000107b: JUMP 0000107c: JUMPDEST 0000107d: ISZERO 0000107e: PUSH2 0x10bf 00001081: JUMPI 00001082: DUP1 00001083: MLOAD 00001084: PUSH1 0x00 00001086: SWAP1 00001087: DUP2 00001088: MSTORE 00001089: PUSH1 0x0e 0000108b: PUSH1 0x20 0000108d: SWAP1 0000108e: DUP2 0000108f: MSTORE 00001090: PUSH1 0x40 00001092: DUP1 00001093: DUP4 00001094: KECCAK256 00001095: DUP3 00001096: DUP6 00001097: ADD 00001098: MLOAD 00001099: DUP5 0000109a: MSTORE 0000109b: SWAP1 0000109c: SWAP2 0000109d: MSTORE 0000109e: SWAP1 0000109f: KECCAK256 000010a0: SLOAD 000010a1: PUSH1 0xff 000010a3: AND 000010a4: PUSH2 0x0fa1 000010a7: JUMPI 000010a8: PUSH1 0x40 000010aa: MLOAD 000010ab: PUSH3 0x461bcd 000010af: PUSH1 0xe5 000010b1: SHL 000010b2: DUP2 000010b3: MSTORE 000010b4: PUSH1 0x04 000010b6: ADD 000010b7: PUSH2 0x0eb8 000010ba: SWAP1 000010bb: PUSH2 0x4b5c 000010be: JUMP 000010bf: JUMPDEST 000010c0: PUSH1 0x40 000010c2: MLOAD 000010c3: PUSH3 0x461bcd 000010c7: PUSH1 0xe5 000010c9: SHL 000010ca: DUP2 000010cb: MSTORE 000010cc: PUSH1 0x20 000010ce: PUSH1 0x04 000010d0: DUP3 000010d1: ADD 000010d2: MSTORE 000010d3: PUSH1 0x10 000010d5: PUSH1 0x24 000010d7: DUP3 000010d8: ADD 000010d9: MSTORE 000010da: PUSH16 0x5661756c745f7265715f6e6174697665 000010eb: PUSH1 0x80 000010ed: SHL 000010ee: PUSH1 0x44 000010f0: DUP3 000010f1: ADD 000010f2: MSTORE 000010f3: PUSH1 0x64 000010f5: ADD 000010f6: PUSH2 0x0eb8 000010f9: JUMP 000010fa: JUMPDEST 000010fb: PUSH2 0x110a 000010fe: PUSH2 0x1105 00001101: PUSH2 0x2d22 00001104: JUMP 00001105: JUMPDEST 00001106: PUSH2 0x2d31 00001109: JUMP 0000110a: JUMPDEST 0000110b: JUMP 0000110c: JUMPDEST 0000110d: PUSH2 0x1114 00001110: PUSH2 0x2d55 00001113: JUMP 00001114: JUMPDEST 00001115: PUSH1 0x07 00001117: SLOAD 00001118: PUSH1 0x01 0000111a: PUSH1 0x01 0000111c: PUSH1 0xa0 0000111e: SHL 0000111f: SUB 00001120: AND 00001121: PUSH2 0x1158 00001124: JUMPI 00001125: PUSH1 0x40 00001127: MLOAD 00001128: PUSH3 0x461bcd 0000112c: PUSH1 0xe5 0000112e: SHL 0000112f: DUP2 00001130: MSTORE 00001131: PUSH1 0x20 00001133: PUSH1 0x04 00001135: DUP3 00001136: ADD 00001137: MSTORE 00001138: PUSH1 0x09 0000113a: PUSH1 0x24 0000113c: DUP3 0000113d: ADD 0000113e: MSTORE 0000113f: PUSH9 0x77626663207a65726f 00001149: PUSH1 0xb8 0000114b: SHL 0000114c: PUSH1 0x44 0000114e: DUP3 0000114f: ADD 00001150: MSTORE 00001151: PUSH1 0x64 00001153: ADD 00001154: PUSH2 0x0eb8 00001157: JUMP 00001158: JUMPDEST 00001159: PUSH1 0x08 0000115b: DUP1 0000115c: SLOAD 0000115d: PUSH1 0x01 0000115f: PUSH1 0x01 00001161: PUSH1 0xa0 00001163: SHL 00001164: SUB 00001165: NOT 00001166: AND 00001167: PUSH1 0x01 00001169: PUSH1 0x01 0000116b: PUSH1 0xa0 0000116d: SHL 0000116e: SUB 0000116f: SWAP3 00001170: SWAP1 00001171: SWAP3 00001172: AND 00001173: SWAP2 00001174: SWAP1 00001175: SWAP2 00001176: OR 00001177: SWAP1 00001178: SSTORE 00001179: JUMP 0000117a: JUMPDEST 0000117b: PUSH1 0x02 0000117d: DUP2 0000117e: DUP2 0000117f: SLOAD 00001180: DUP2 00001181: LT 00001182: PUSH2 0x118a 00001185: JUMPI 00001186: PUSH1 0x00 00001188: DUP1 00001189: REVERT 0000118a: JUMPDEST 0000118b: PUSH1 0x00 0000118d: SWAP2 0000118e: DUP3 0000118f: MSTORE 00001190: PUSH1 0x20 00001192: SWAP1 00001193: SWAP2 00001194: KECCAK256 00001195: ADD 00001196: SLOAD 00001197: PUSH1 0x01 00001199: PUSH1 0x01 0000119b: PUSH1 0xa0 0000119d: SHL 0000119e: SUB 0000119f: AND 000011a0: SWAP1 000011a1: POP 000011a2: DUP2 000011a3: JUMP 000011a4: JUMPDEST 000011a5: PUSH1 0x00 000011a7: PUSH2 0x11b2 000011aa: CALLER 000011ab: JUMPDEST 000011ac: PUSH1 0x03 000011ae: PUSH2 0x2dc3 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH2 0x11ce 000011b6: JUMPI 000011b7: PUSH1 0x40 000011b9: MLOAD 000011ba: PUSH3 0x461bcd 000011be: PUSH1 0xe5 000011c0: SHL 000011c1: DUP2 000011c2: MSTORE 000011c3: PUSH1 0x04 000011c5: ADD 000011c6: PUSH2 0x0eb8 000011c9: SWAP1 000011ca: PUSH2 0x4b87 000011cd: JUMP 000011ce: JUMPDEST 000011cf: PUSH2 0x11d7 000011d2: DUP3 000011d3: PUSH2 0x2ded 000011d6: JUMP 000011d7: JUMPDEST 000011d8: PUSH2 0x11e4 000011db: PUSH1 0x02 000011dd: DUP4 000011de: PUSH1 0x03 000011e0: PUSH2 0x2e31 000011e3: JUMP 000011e4: JUMPDEST 000011e5: POP 000011e6: PUSH1 0x01 000011e8: JUMPDEST 000011e9: SWAP2 000011ea: SWAP1 000011eb: POP 000011ec: JUMP 000011ed: JUMPDEST 000011ee: PUSH1 0x04 000011f0: DUP2 000011f1: DUP2 000011f2: SLOAD 000011f3: DUP2 000011f4: LT 000011f5: PUSH2 0x118a 000011f8: JUMPI 000011f9: PUSH1 0x00 000011fb: DUP1 000011fc: REVERT 000011fd: JUMPDEST 000011fe: PUSH2 0x1205 00001201: PUSH2 0x2d55 00001204: JUMP 00001205: JUMPDEST 00001206: PUSH1 0x00 00001208: JUMPDEST 00001209: DUP3 0000120a: MLOAD 0000120b: DUP2 0000120c: LT 0000120d: ISZERO 0000120e: PUSH2 0x0ec1 00001211: JUMPI 00001212: PUSH1 0x00 00001214: JUMPDEST 00001215: DUP3 00001216: DUP3 00001217: DUP2 00001218: MLOAD 00001219: DUP2 0000121a: LT 0000121b: PUSH2 0x1226 0000121e: JUMPI 0000121f: PUSH2 0x1226 00001222: PUSH2 0x4bab 00001225: JUMP 00001226: JUMPDEST 00001227: PUSH1 0x20 00001229: MUL 0000122a: PUSH1 0x20 0000122c: ADD 0000122d: ADD 0000122e: MLOAD 0000122f: MLOAD 00001230: DUP2 00001231: LT 00001232: ISZERO 00001233: PUSH2 0x12d6 00001236: JUMPI 00001237: PUSH1 0x00 00001239: PUSH1 0x0d 0000123b: PUSH1 0x00 0000123d: DUP7 0000123e: DUP6 0000123f: DUP2 00001240: MLOAD 00001241: DUP2 00001242: LT 00001243: PUSH2 0x124e 00001246: JUMPI 00001247: PUSH2 0x124e 0000124a: PUSH2 0x4bab 0000124d: JUMP 0000124e: JUMPDEST 0000124f: PUSH1 0x20 00001251: MUL 00001252: PUSH1 0x20 00001254: ADD 00001255: ADD 00001256: MLOAD 00001257: DUP2 00001258: MSTORE 00001259: PUSH1 0x20 0000125b: ADD 0000125c: SWAP1 0000125d: DUP2 0000125e: MSTORE 0000125f: PUSH1 0x20 00001261: ADD 00001262: PUSH1 0x00 00001264: KECCAK256 00001265: PUSH1 0x00 00001267: DUP6 00001268: DUP6 00001269: DUP2 0000126a: MLOAD 0000126b: DUP2 0000126c: LT 0000126d: PUSH2 0x1278 00001270: JUMPI 00001271: PUSH2 0x1278 00001274: PUSH2 0x4bab 00001277: JUMP 00001278: JUMPDEST 00001279: PUSH1 0x20 0000127b: MUL 0000127c: PUSH1 0x20 0000127e: ADD 0000127f: ADD 00001280: MLOAD 00001281: DUP5 00001282: DUP2 00001283: MLOAD 00001284: DUP2 00001285: LT 00001286: PUSH2 0x1291 00001289: JUMPI 0000128a: PUSH2 0x1291 0000128d: PUSH2 0x4bab 00001290: JUMP 00001291: JUMPDEST 00001292: PUSH1 0x20 00001294: SWAP1 00001295: DUP2 00001296: MUL 00001297: SWAP2 00001298: SWAP1 00001299: SWAP2 0000129a: ADD 0000129b: DUP2 0000129c: ADD 0000129d: MLOAD 0000129e: PUSH1 0x01 000012a0: PUSH1 0x01 000012a2: PUSH1 0x80 000012a4: SHL 000012a5: SUB 000012a6: NOT 000012a7: AND 000012a8: DUP3 000012a9: MSTORE 000012aa: DUP2 000012ab: ADD 000012ac: SWAP2 000012ad: SWAP1 000012ae: SWAP2 000012af: MSTORE 000012b0: PUSH1 0x40 000012b2: ADD 000012b3: PUSH1 0x00 000012b5: KECCAK256 000012b6: DUP1 000012b7: SLOAD 000012b8: PUSH1 0xff 000012ba: NOT 000012bb: AND 000012bc: SWAP2 000012bd: ISZERO 000012be: ISZERO 000012bf: SWAP2 000012c0: SWAP1 000012c1: SWAP2 000012c2: OR 000012c3: SWAP1 000012c4: SSTORE 000012c5: DUP1 000012c6: PUSH2 0x12ce 000012c9: DUP2 000012ca: PUSH2 0x4bd7 000012cd: JUMP 000012ce: JUMPDEST 000012cf: SWAP2 000012d0: POP 000012d1: POP 000012d2: PUSH2 0x1214 000012d5: JUMP 000012d6: JUMPDEST 000012d7: POP 000012d8: DUP1 000012d9: PUSH2 0x12e1 000012dc: DUP2 000012dd: PUSH2 0x4bd7 000012e0: JUMP 000012e1: JUMPDEST 000012e2: SWAP2 000012e3: POP 000012e4: POP 000012e5: PUSH2 0x1208 000012e8: JUMP 000012e9: JUMPDEST 000012ea: PUSH1 0x00 000012ec: PUSH2 0x12f7 000012ef: CALLER 000012f0: JUMPDEST 000012f1: PUSH1 0x02 000012f3: PUSH2 0x2dc3 000012f6: JUMP 000012f7: JUMPDEST 000012f8: PUSH2 0x1313 000012fb: JUMPI 000012fc: PUSH1 0x40 000012fe: MLOAD 000012ff: PUSH3 0x461bcd 00001303: PUSH1 0xe5 00001305: SHL 00001306: DUP2 00001307: MSTORE 00001308: PUSH1 0x04 0000130a: ADD 0000130b: PUSH2 0x0eb8 0000130e: SWAP1 0000130f: PUSH2 0x4bf0 00001312: JUMP 00001313: JUMPDEST 00001314: PUSH2 0x1320 00001317: PUSH1 0x04 00001319: CALLER 0000131a: PUSH1 0x01 0000131c: PUSH2 0x2e31 0000131f: JUMP 00001320: JUMPDEST 00001321: PUSH2 0x132d 00001324: PUSH1 0x05 00001326: CALLER 00001327: PUSH1 0x02 00001329: PUSH2 0x2e99 0000132c: JUMP 0000132d: JUMPDEST 0000132e: POP 0000132f: PUSH1 0x01 00001331: JUMPDEST 00001332: SWAP1 00001333: JUMP 00001334: JUMPDEST 00001335: PUSH1 0x00 00001337: PUSH2 0x133f 0000133a: CALLER 0000133b: PUSH2 0x11ab 0000133e: JUMP 0000133f: JUMPDEST 00001340: PUSH2 0x135b 00001343: JUMPI 00001344: PUSH1 0x40 00001346: MLOAD 00001347: PUSH3 0x461bcd 0000134b: PUSH1 0xe5 0000134d: SHL 0000134e: DUP2 0000134f: MSTORE 00001350: PUSH1 0x04 00001352: ADD 00001353: PUSH2 0x0eb8 00001356: SWAP1 00001357: PUSH2 0x4b87 0000135a: JUMP 0000135b: JUMPDEST 0000135c: PUSH2 0x11e4 0000135f: PUSH1 0x04 00001361: DUP4 00001362: PUSH1 0x01 00001364: PUSH2 0x2e99 00001367: JUMP 00001368: JUMPDEST 00001369: PUSH1 0x60 0000136b: PUSH1 0x05 0000136d: DUP1 0000136e: SLOAD 0000136f: DUP1 00001370: PUSH1 0x20 00001372: MUL 00001373: PUSH1 0x20 00001375: ADD 00001376: PUSH1 0x40 00001378: MLOAD 00001379: SWAP1 0000137a: DUP2 0000137b: ADD 0000137c: PUSH1 0x40 0000137e: MSTORE 0000137f: DUP1 00001380: SWAP3 00001381: SWAP2 00001382: SWAP1 00001383: DUP2 00001384: DUP2 00001385: MSTORE 00001386: PUSH1 0x20 00001388: ADD 00001389: DUP3 0000138a: DUP1 0000138b: SLOAD 0000138c: DUP1 0000138d: ISZERO 0000138e: PUSH2 0x13c0 00001391: JUMPI 00001392: PUSH1 0x20 00001394: MUL 00001395: DUP3 00001396: ADD 00001397: SWAP2 00001398: SWAP1 00001399: PUSH1 0x00 0000139b: MSTORE 0000139c: PUSH1 0x20 0000139e: PUSH1 0x00 000013a0: KECCAK256 000013a1: SWAP1 000013a2: JUMPDEST 000013a3: DUP2 000013a4: SLOAD 000013a5: PUSH1 0x01 000013a7: PUSH1 0x01 000013a9: PUSH1 0xa0 000013ab: SHL 000013ac: SUB 000013ad: AND 000013ae: DUP2 000013af: MSTORE 000013b0: PUSH1 0x01 000013b2: SWAP1 000013b3: SWAP2 000013b4: ADD 000013b5: SWAP1 000013b6: PUSH1 0x20 000013b8: ADD 000013b9: DUP1 000013ba: DUP4 000013bb: GT 000013bc: PUSH2 0x13a2 000013bf: JUMPI 000013c0: JUMPDEST 000013c1: POP 000013c2: POP 000013c3: POP 000013c4: POP 000013c5: POP 000013c6: SWAP1 000013c7: POP 000013c8: SWAP1 000013c9: JUMP 000013ca: JUMPDEST 000013cb: PUSH1 0x20 000013cd: DUP2 000013ce: ADD 000013cf: MLOAD 000013d0: DUP1 000013d1: MLOAD 000013d2: PUSH1 0x80 000013d4: SWAP1 000013d5: SWAP2 000013d6: ADD 000013d7: MLOAD 000013d8: PUSH1 0x00 000013da: SWAP2 000013db: PUSH2 0x13e3 000013de: SWAP2 000013df: PUSH2 0x0e15 000013e2: JUMP 000013e3: JUMPDEST 000013e4: PUSH2 0x13f5 000013e7: DUP3 000013e8: PUSH1 0x00 000013ea: ADD 000013eb: MLOAD 000013ec: DUP4 000013ed: PUSH1 0x20 000013ef: ADD 000013f0: MLOAD 000013f1: PUSH2 0x0ec6 000013f4: JUMP 000013f5: JUMPDEST 000013f6: PUSH1 0x20 000013f8: DUP3 000013f9: ADD 000013fa: MLOAD 000013fb: DUP1 000013fc: MLOAD 000013fd: PUSH1 0x80 000013ff: SWAP1 00001400: SWAP2 00001401: ADD 00001402: MLOAD 00001403: PUSH1 0x40 00001405: MLOAD 00001406: PUSH1 0x00 00001408: DUP1 00001409: MLOAD 0000140a: PUSH1 0x20 0000140c: PUSH2 0x4fb9 0000140f: DUP4 00001410: CODECOPY 00001411: DUP2 00001412: MLOAD 00001413: SWAP2 00001414: MSTORE 00001415: SWAP3 00001416: PUSH2 0x1421 00001419: SWAP3 0000141a: PUSH1 0x01 0000141c: SWAP3 0000141d: PUSH2 0x3ed6 00001420: JUMP 00001421: JUMPDEST 00001422: PUSH1 0x40 00001424: MLOAD 00001425: DUP1 00001426: SWAP2 00001427: SUB 00001428: SWAP1 00001429: LOG1 0000142a: PUSH1 0x20 0000142c: DUP3 0000142d: ADD 0000142e: MLOAD 0000142f: DUP1 00001430: MLOAD 00001431: PUSH1 0x80 00001433: SWAP1 00001434: SWAP2 00001435: ADD 00001436: MLOAD 00001437: PUSH2 0x1440 0000143a: SWAP2 0000143b: SWAP1 0000143c: PUSH2 0x2f01 0000143f: JUMP 00001440: JUMPDEST 00001441: PUSH1 0x20 00001443: DUP4 00001444: ADD 00001445: MLOAD 00001446: PUSH1 0x80 00001448: ADD 00001449: MSTORE 0000144a: PUSH1 0x06 0000144c: SLOAD 0000144d: PUSH1 0x40 0000144f: MLOAD 00001450: PUSH4 0x12b50f73 00001455: PUSH1 0xe0 00001457: SHL 00001458: DUP2 00001459: MSTORE 0000145a: PUSH1 0x01 0000145c: PUSH1 0x01 0000145e: PUSH1 0xa0 00001460: SHL 00001461: SUB 00001462: SWAP1 00001463: SWAP2 00001464: AND 00001465: SWAP1 00001466: PUSH4 0x12b50f73 0000146b: SWAP1 0000146c: PUSH2 0x1479 0000146f: SWAP1 00001470: DUP6 00001471: SWAP1 00001472: PUSH1 0x04 00001474: ADD 00001475: PUSH2 0x3f56 00001478: JUMP 00001479: JUMPDEST 0000147a: PUSH1 0x20 0000147c: PUSH1 0x40 0000147e: MLOAD 0000147f: DUP1 00001480: DUP4 00001481: SUB 00001482: DUP2 00001483: PUSH1 0x00 00001485: DUP8 00001486: GAS 00001487: CALL 00001488: ISZERO 00001489: DUP1 0000148a: ISZERO 0000148b: PUSH2 0x1498 0000148e: JUMPI 0000148f: RETURNDATASIZE 00001490: PUSH1 0x00 00001492: DUP1 00001493: RETURNDATACOPY 00001494: RETURNDATASIZE 00001495: PUSH1 0x00 00001497: REVERT 00001498: JUMPDEST 00001499: POP 0000149a: POP 0000149b: POP 0000149c: POP 0000149d: PUSH1 0x40 0000149f: MLOAD 000014a0: RETURNDATASIZE 000014a1: PUSH1 0x1f 000014a3: NOT 000014a4: PUSH1 0x1f 000014a6: DUP3 000014a7: ADD 000014a8: AND 000014a9: DUP3 000014aa: ADD 000014ab: DUP1 000014ac: PUSH1 0x40 000014ae: MSTORE 000014af: POP 000014b0: DUP2 000014b1: ADD 000014b2: SWAP1 000014b3: PUSH2 0x14bc 000014b6: SWAP2 000014b7: SWAP1 000014b8: PUSH2 0x3ff6 000014bb: JUMP 000014bc: JUMPDEST 000014bd: POP 000014be: PUSH1 0x01 000014c0: SWAP3 000014c1: SWAP2 000014c2: POP 000014c3: POP 000014c4: JUMP 000014c5: JUMPDEST 000014c6: PUSH2 0x14cd 000014c9: PUSH2 0x2d55 000014cc: JUMP 000014cd: JUMPDEST 000014ce: PUSH1 0x00 000014d0: JUMPDEST 000014d1: DUP3 000014d2: MLOAD 000014d3: DUP2 000014d4: LT 000014d5: ISZERO 000014d6: PUSH2 0x0ec1 000014d9: JUMPI 000014da: PUSH1 0x00 000014dc: JUMPDEST 000014dd: DUP3 000014de: DUP3 000014df: DUP2 000014e0: MLOAD 000014e1: DUP2 000014e2: LT 000014e3: PUSH2 0x14ee 000014e6: JUMPI 000014e7: PUSH2 0x14ee 000014ea: PUSH2 0x4bab 000014ed: JUMP 000014ee: JUMPDEST 000014ef: PUSH1 0x20 000014f1: MUL 000014f2: PUSH1 0x20 000014f4: ADD 000014f5: ADD 000014f6: MLOAD 000014f7: MLOAD 000014f8: DUP2 000014f9: LT 000014fa: ISZERO 000014fb: PUSH2 0x159e 000014fe: JUMPI 000014ff: PUSH1 0x01 00001501: PUSH1 0x0d 00001503: PUSH1 0x00 00001505: DUP7 00001506: DUP6 00001507: DUP2 00001508: MLOAD 00001509: DUP2 0000150a: LT 0000150b: PUSH2 0x1516 0000150e: JUMPI 0000150f: PUSH2 0x1516 00001512: PUSH2 0x4bab 00001515: JUMP 00001516: JUMPDEST 00001517: PUSH1 0x20 00001519: MUL 0000151a: PUSH1 0x20 0000151c: ADD 0000151d: ADD 0000151e: MLOAD 0000151f: DUP2 00001520: MSTORE 00001521: PUSH1 0x20 00001523: ADD 00001524: SWAP1 00001525: DUP2 00001526: MSTORE 00001527: PUSH1 0x20 00001529: ADD 0000152a: PUSH1 0x00 0000152c: KECCAK256 0000152d: PUSH1 0x00 0000152f: DUP6 00001530: DUP6 00001531: DUP2 00001532: MLOAD 00001533: DUP2 00001534: LT 00001535: PUSH2 0x1540 00001538: JUMPI 00001539: PUSH2 0x1540 0000153c: PUSH2 0x4bab 0000153f: JUMP 00001540: JUMPDEST 00001541: PUSH1 0x20 00001543: MUL 00001544: PUSH1 0x20 00001546: ADD 00001547: ADD 00001548: MLOAD 00001549: DUP5 0000154a: DUP2 0000154b: MLOAD 0000154c: DUP2 0000154d: LT 0000154e: PUSH2 0x1559 00001551: JUMPI 00001552: PUSH2 0x1559 00001555: PUSH2 0x4bab 00001558: JUMP 00001559: JUMPDEST 0000155a: PUSH1 0x20 0000155c: SWAP1 0000155d: DUP2 0000155e: MUL 0000155f: SWAP2 00001560: SWAP1 00001561: SWAP2 00001562: ADD 00001563: DUP2 00001564: ADD 00001565: MLOAD 00001566: PUSH1 0x01 00001568: PUSH1 0x01 0000156a: PUSH1 0x80 0000156c: SHL 0000156d: SUB 0000156e: NOT 0000156f: AND 00001570: DUP3 00001571: MSTORE 00001572: DUP2 00001573: ADD 00001574: SWAP2 00001575: SWAP1 00001576: SWAP2 00001577: MSTORE 00001578: PUSH1 0x40 0000157a: ADD 0000157b: PUSH1 0x00 0000157d: KECCAK256 0000157e: DUP1 0000157f: SLOAD 00001580: PUSH1 0xff 00001582: NOT 00001583: AND 00001584: SWAP2 00001585: ISZERO 00001586: ISZERO 00001587: SWAP2 00001588: SWAP1 00001589: SWAP2 0000158a: OR 0000158b: SWAP1 0000158c: SSTORE 0000158d: DUP1 0000158e: PUSH2 0x1596 00001591: DUP2 00001592: PUSH2 0x4bd7 00001595: JUMP 00001596: JUMPDEST 00001597: SWAP2 00001598: POP 00001599: POP 0000159a: PUSH2 0x14dc 0000159d: JUMP 0000159e: JUMPDEST 0000159f: POP 000015a0: DUP1 000015a1: PUSH2 0x15a9 000015a4: DUP2 000015a5: PUSH2 0x4bd7 000015a8: JUMP 000015a9: JUMPDEST 000015aa: SWAP2 000015ab: POP 000015ac: POP 000015ad: PUSH2 0x14d0 000015b0: JUMP 000015b1: JUMPDEST 000015b2: PUSH2 0x15b9 000015b5: PUSH2 0x2d55 000015b8: JUMP 000015b9: JUMPDEST 000015ba: PUSH1 0x00 000015bc: JUMPDEST 000015bd: DUP4 000015be: DUP2 000015bf: LT 000015c0: ISZERO 000015c1: PUSH2 0x1693 000015c4: JUMPI 000015c5: DUP3 000015c6: DUP3 000015c7: DUP3 000015c8: DUP2 000015c9: DUP2 000015ca: LT 000015cb: PUSH2 0x15d6 000015ce: JUMPI 000015cf: PUSH2 0x15d6 000015d2: PUSH2 0x4bab 000015d5: JUMP 000015d6: JUMPDEST 000015d7: SWAP1 000015d8: POP 000015d9: PUSH1 0x60 000015db: MUL 000015dc: ADD 000015dd: PUSH1 0x0a 000015df: PUSH1 0x00 000015e1: DUP8 000015e2: DUP8 000015e3: DUP6 000015e4: DUP2 000015e5: DUP2 000015e6: LT 000015e7: PUSH2 0x15f2 000015ea: JUMPI 000015eb: PUSH2 0x15f2 000015ee: PUSH2 0x4bab 000015f1: JUMP 000015f2: JUMPDEST 000015f3: SWAP1 000015f4: POP 000015f5: PUSH1 0x20 000015f7: MUL 000015f8: ADD 000015f9: CALLDATALOAD 000015fa: DUP2 000015fb: MSTORE 000015fc: PUSH1 0x20 000015fe: ADD 000015ff: SWAP1 00001600: DUP2 00001601: MSTORE 00001602: PUSH1 0x20 00001604: ADD 00001605: PUSH1 0x00 00001607: KECCAK256 00001608: PUSH1 0x02 0000160a: ADD 0000160b: DUP2 0000160c: DUP2 0000160d: PUSH2 0x1616 00001610: SWAP2 00001611: SWAP1 00001612: PUSH2 0x4c31 00001615: JUMP 00001616: JUMPDEST 00001617: SWAP1 00001618: POP 00001619: POP 0000161a: PUSH32 0x51d59f78ee8211b3edc94eb20901616991e8c0282b67fa431a20b21410978ed2 0000163b: DUP6 0000163c: DUP6 0000163d: DUP4 0000163e: DUP2 0000163f: DUP2 00001640: LT 00001641: PUSH2 0x164c 00001644: JUMPI 00001645: PUSH2 0x164c 00001648: PUSH2 0x4bab 0000164b: JUMP 0000164c: JUMPDEST 0000164d: SWAP1 0000164e: POP 0000164f: PUSH1 0x20 00001651: MUL 00001652: ADD 00001653: CALLDATALOAD 00001654: DUP5 00001655: DUP5 00001656: DUP5 00001657: DUP2 00001658: DUP2 00001659: LT 0000165a: PUSH2 0x1665 0000165d: JUMPI 0000165e: PUSH2 0x1665 00001661: PUSH2 0x4bab 00001664: JUMP 00001665: JUMPDEST 00001666: SWAP1 00001667: POP 00001668: PUSH1 0x60 0000166a: MUL 0000166b: ADD 0000166c: PUSH1 0x40 0000166e: MLOAD 0000166f: PUSH2 0x1679 00001672: SWAP3 00001673: SWAP2 00001674: SWAP1 00001675: PUSH2 0x4cb7 00001678: JUMP 00001679: JUMPDEST 0000167a: PUSH1 0x40 0000167c: MLOAD 0000167d: DUP1 0000167e: SWAP2 0000167f: SUB 00001680: SWAP1 00001681: LOG1 00001682: DUP1 00001683: PUSH2 0x168b 00001686: DUP2 00001687: PUSH2 0x4bd7 0000168a: JUMP 0000168b: JUMPDEST 0000168c: SWAP2 0000168d: POP 0000168e: POP 0000168f: PUSH2 0x15bc 00001692: JUMP 00001693: JUMPDEST 00001694: POP 00001695: POP 00001696: POP 00001697: POP 00001698: POP 00001699: JUMP 0000169a: JUMPDEST 0000169b: PUSH2 0x16a2 0000169e: PUSH2 0x2d55 000016a1: JUMP 000016a2: JUMPDEST 000016a3: PUSH1 0x00 000016a5: JUMPDEST 000016a6: DUP3 000016a7: MLOAD 000016a8: DUP2 000016a9: LT 000016aa: ISZERO 000016ab: PUSH2 0x0ec1 000016ae: JUMPI 000016af: PUSH1 0x01 000016b1: PUSH1 0x0e 000016b3: PUSH1 0x00 000016b5: DUP6 000016b6: DUP5 000016b7: DUP2 000016b8: MLOAD 000016b9: DUP2 000016ba: LT 000016bb: PUSH2 0x16c6 000016be: JUMPI 000016bf: PUSH2 0x16c6 000016c2: PUSH2 0x4bab 000016c5: JUMP 000016c6: JUMPDEST 000016c7: PUSH1 0x20 000016c9: MUL 000016ca: PUSH1 0x20 000016cc: ADD 000016cd: ADD 000016ce: MLOAD 000016cf: DUP2 000016d0: MSTORE 000016d1: PUSH1 0x20 000016d3: ADD 000016d4: SWAP1 000016d5: DUP2 000016d6: MSTORE 000016d7: PUSH1 0x20 000016d9: ADD 000016da: PUSH1 0x00 000016dc: KECCAK256 000016dd: PUSH1 0x00 000016df: DUP5 000016e0: DUP5 000016e1: DUP2 000016e2: MLOAD 000016e3: DUP2 000016e4: LT 000016e5: PUSH2 0x16f0 000016e8: JUMPI 000016e9: PUSH2 0x16f0 000016ec: PUSH2 0x4bab 000016ef: JUMP 000016f0: JUMPDEST 000016f1: PUSH1 0x20 000016f3: MUL 000016f4: PUSH1 0x20 000016f6: ADD 000016f7: ADD 000016f8: MLOAD 000016f9: DUP2 000016fa: MSTORE 000016fb: PUSH1 0x20 000016fd: ADD 000016fe: SWAP1 000016ff: DUP2 00001700: MSTORE 00001701: PUSH1 0x20 00001703: ADD 00001704: PUSH1 0x00 00001706: KECCAK256 00001707: PUSH1 0x00 00001709: PUSH2 0x0100 0000170c: EXP 0000170d: DUP2 0000170e: SLOAD 0000170f: DUP2 00001710: PUSH1 0xff 00001712: MUL 00001713: NOT 00001714: AND 00001715: SWAP1 00001716: DUP4 00001717: ISZERO 00001718: ISZERO 00001719: MUL 0000171a: OR 0000171b: SWAP1 0000171c: SSTORE 0000171d: POP 0000171e: DUP1 0000171f: DUP1 00001720: PUSH2 0x1728 00001723: SWAP1 00001724: PUSH2 0x4bd7 00001727: JUMP 00001728: JUMPDEST 00001729: SWAP2 0000172a: POP 0000172b: POP 0000172c: PUSH2 0x16a5 0000172f: JUMP 00001730: JUMPDEST 00001731: PUSH1 0x00 00001733: PUSH2 0x173e 00001736: CALLER 00001737: JUMPDEST 00001738: PUSH1 0x04 0000173a: PUSH2 0x2dc3 0000173d: JUMP 0000173e: JUMPDEST 0000173f: PUSH2 0x175a 00001742: JUMPI 00001743: PUSH1 0x40 00001745: MLOAD 00001746: PUSH3 0x461bcd 0000174a: PUSH1 0xe5 0000174c: SHL 0000174d: DUP2 0000174e: MSTORE 0000174f: PUSH1 0x04 00001751: ADD 00001752: PUSH2 0x0eb8 00001755: SWAP1 00001756: PUSH2 0x4ccb 00001759: JUMP 0000175a: JUMPDEST 0000175b: PUSH2 0x1767 0000175e: PUSH1 0x02 00001760: CALLER 00001761: PUSH1 0x03 00001763: PUSH2 0x2e31 00001766: JUMP 00001767: JUMPDEST 00001768: PUSH2 0x132d 0000176b: PUSH1 0x03 0000176d: CALLER 0000176e: PUSH1 0x04 00001770: PUSH2 0x2e99 00001773: JUMP 00001774: JUMPDEST 00001775: PUSH2 0x177c 00001778: PUSH2 0x2d55 0000177b: JUMP 0000177c: JUMPDEST 0000177d: PUSH1 0x09 0000177f: SSTORE 00001780: JUMP 00001781: JUMPDEST 00001782: PUSH1 0x00 00001784: PUSH2 0x178b 00001787: PUSH2 0x2d55 0000178a: JUMP 0000178b: JUMPDEST 0000178c: DUP2 0000178d: MLOAD 0000178e: PUSH1 0x00 00001790: SWAP1 00001791: DUP2 00001792: MSTORE 00001793: PUSH1 0x0b 00001795: PUSH1 0x20 00001797: MSTORE 00001798: PUSH1 0x40 0000179a: SWAP1 0000179b: KECCAK256 0000179c: SLOAD 0000179d: DUP3 0000179e: MSTORE 0000179f: PUSH2 0x14bc 000017a2: DUP4 000017a3: DUP4 000017a4: PUSH2 0x301d 000017a7: JUMP 000017a8: JUMPDEST 000017a9: PUSH2 0x17b0 000017ac: PUSH2 0x2d55 000017af: JUMP 000017b0: JUMPDEST 000017b1: PUSH1 0x00 000017b3: JUMPDEST 000017b4: DUP3 000017b5: MLOAD 000017b6: DUP2 000017b7: LT 000017b8: ISZERO 000017b9: PUSH2 0x0ec1 000017bc: JUMPI 000017bd: PUSH2 0x17f8 000017c0: DUP4 000017c1: DUP3 000017c2: DUP2 000017c3: MLOAD 000017c4: DUP2 000017c5: LT 000017c6: PUSH2 0x17d1 000017c9: JUMPI 000017ca: PUSH2 0x17d1 000017cd: PUSH2 0x4bab 000017d0: JUMP 000017d1: JUMPDEST 000017d2: PUSH1 0x20 000017d4: MUL 000017d5: PUSH1 0x20 000017d7: ADD 000017d8: ADD 000017d9: MLOAD 000017da: DUP4 000017db: DUP4 000017dc: DUP2 000017dd: MLOAD 000017de: DUP2 000017df: LT 000017e0: PUSH2 0x17eb 000017e3: JUMPI 000017e4: PUSH2 0x17eb 000017e7: PUSH2 0x4bab 000017ea: JUMP 000017eb: JUMPDEST 000017ec: PUSH1 0x20 000017ee: MUL 000017ef: PUSH1 0x20 000017f1: ADD 000017f2: ADD 000017f3: MLOAD 000017f4: PUSH2 0x3192 000017f7: JUMP 000017f8: JUMPDEST 000017f9: DUP1 000017fa: PUSH2 0x1802 000017fd: DUP2 000017fe: PUSH2 0x4bd7 00001801: JUMP 00001802: JUMPDEST 00001803: SWAP2 00001804: POP 00001805: POP 00001806: PUSH2 0x17b3 00001809: JUMP 0000180a: JUMPDEST 0000180b: PUSH2 0x1812 0000180e: PUSH2 0x2d55 00001811: JUMP 00001812: JUMPDEST 00001813: PUSH1 0x00 00001815: JUMPDEST 00001816: DUP4 00001817: MLOAD 00001818: DUP2 00001819: LT 0000181a: ISZERO 0000181b: PUSH2 0x18af 0000181e: JUMPI 0000181f: DUP2 00001820: DUP2 00001821: DUP2 00001822: MLOAD 00001823: DUP2 00001824: LT 00001825: PUSH2 0x1830 00001828: JUMPI 00001829: PUSH2 0x1830 0000182c: PUSH2 0x4bab 0000182f: JUMP 00001830: JUMPDEST 00001831: PUSH1 0x20 00001833: MUL 00001834: PUSH1 0x20 00001836: ADD 00001837: ADD 00001838: MLOAD 00001839: PUSH1 0x0c 0000183b: PUSH1 0x00 0000183d: DUP7 0000183e: DUP5 0000183f: DUP2 00001840: MLOAD 00001841: DUP2 00001842: LT 00001843: PUSH2 0x184e 00001846: JUMPI 00001847: PUSH2 0x184e 0000184a: PUSH2 0x4bab 0000184d: JUMP 0000184e: JUMPDEST 0000184f: PUSH1 0x20 00001851: MUL 00001852: PUSH1 0x20 00001854: ADD 00001855: ADD 00001856: MLOAD 00001857: DUP2 00001858: MSTORE 00001859: PUSH1 0x20 0000185b: ADD 0000185c: SWAP1 0000185d: DUP2 0000185e: MSTORE 0000185f: PUSH1 0x20 00001861: ADD 00001862: PUSH1 0x00 00001864: KECCAK256 00001865: PUSH1 0x00 00001867: DUP6 00001868: DUP5 00001869: DUP2 0000186a: MLOAD 0000186b: DUP2 0000186c: LT 0000186d: PUSH2 0x1878 00001870: JUMPI 00001871: PUSH2 0x1878 00001874: PUSH2 0x4bab 00001877: JUMP 00001878: JUMPDEST 00001879: PUSH1 0x20 0000187b: SWAP1 0000187c: DUP2 0000187d: MUL 0000187e: SWAP2 0000187f: SWAP1 00001880: SWAP2 00001881: ADD 00001882: DUP2 00001883: ADD 00001884: MLOAD 00001885: PUSH1 0x01 00001887: PUSH1 0x01 00001889: PUSH1 0xe0 0000188b: SHL 0000188c: SUB 0000188d: NOT 0000188e: AND 0000188f: DUP3 00001890: MSTORE 00001891: DUP2 00001892: ADD 00001893: SWAP2 00001894: SWAP1 00001895: SWAP2 00001896: MSTORE 00001897: PUSH1 0x40 00001899: ADD 0000189a: PUSH1 0x00 0000189c: KECCAK256 0000189d: SSTORE 0000189e: DUP1 0000189f: PUSH2 0x18a7 000018a2: DUP2 000018a3: PUSH2 0x4bd7 000018a6: JUMP 000018a7: JUMPDEST 000018a8: SWAP2 000018a9: POP 000018aa: POP 000018ab: PUSH2 0x1815 000018ae: JUMP 000018af: JUMPDEST 000018b0: POP 000018b1: POP 000018b2: POP 000018b3: POP 000018b4: JUMP 000018b5: JUMPDEST 000018b6: PUSH1 0x00 000018b8: PUSH2 0x18c0 000018bb: CALLER 000018bc: PUSH2 0x11ab 000018bf: JUMP 000018c0: JUMPDEST 000018c1: PUSH2 0x18dc 000018c4: JUMPI 000018c5: PUSH1 0x40 000018c7: MLOAD 000018c8: PUSH3 0x461bcd 000018cc: PUSH1 0xe5 000018ce: SHL 000018cf: DUP2 000018d0: MSTORE 000018d1: PUSH1 0x04 000018d3: ADD 000018d4: PUSH2 0x0eb8 000018d7: SWAP1 000018d8: PUSH2 0x4b87 000018db: JUMP 000018dc: JUMPDEST 000018dd: PUSH2 0x18e5 000018e0: DUP3 000018e1: PUSH2 0x2ded 000018e4: JUMP 000018e5: JUMPDEST 000018e6: PUSH2 0x11e4 000018e9: PUSH1 0x02 000018eb: DUP4 000018ec: PUSH1 0x03 000018ee: PUSH2 0x2e99 000018f1: JUMP 000018f2: JUMPDEST 000018f3: PUSH2 0x18fb 000018f6: CALLER 000018f7: PUSH2 0x11ab 000018fa: JUMP 000018fb: JUMPDEST 000018fc: PUSH2 0x1917 000018ff: JUMPI 00001900: PUSH1 0x40 00001902: MLOAD 00001903: PUSH3 0x461bcd 00001907: PUSH1 0xe5 00001909: SHL 0000190a: DUP2 0000190b: MSTORE 0000190c: PUSH1 0x04 0000190e: ADD 0000190f: PUSH2 0x0eb8 00001912: SWAP1 00001913: PUSH2 0x4b87 00001916: JUMP 00001917: JUMPDEST 00001918: PUSH2 0x1920 0000191b: DUP2 0000191c: PUSH2 0x3205 0000191f: JUMP 00001920: JUMPDEST 00001921: POP 00001922: JUMP 00001923: JUMPDEST 00001924: PUSH2 0x192b 00001927: PUSH2 0x2d55 0000192a: JUMP 0000192b: JUMPDEST 0000192c: PUSH2 0x1933 0000192f: PUSH2 0x3245 00001932: JUMP 00001933: JUMPDEST 00001934: POP 00001935: PUSH1 0x00 00001937: JUMPDEST 00001938: DUP4 00001939: DUP2 0000193a: LT 0000193b: ISZERO 0000193c: PUSH2 0x1693 0000193f: JUMPI 00001940: DUP3 00001941: DUP3 00001942: DUP3 00001943: DUP2 00001944: DUP2 00001945: LT 00001946: PUSH2 0x1951 00001949: JUMPI 0000194a: PUSH2 0x1951 0000194d: PUSH2 0x4bab 00001950: JUMP 00001951: JUMPDEST 00001952: SWAP1 00001953: POP 00001954: PUSH1 0x20 00001956: MUL 00001957: ADD 00001958: CALLDATALOAD 00001959: PUSH1 0x0b 0000195b: PUSH1 0x00 0000195d: DUP8 0000195e: DUP8 0000195f: DUP6 00001960: DUP2 00001961: DUP2 00001962: LT 00001963: PUSH2 0x196e 00001966: JUMPI 00001967: PUSH2 0x196e 0000196a: PUSH2 0x4bab 0000196d: JUMP 0000196e: JUMPDEST 0000196f: SWAP1 00001970: POP 00001971: PUSH1 0x20 00001973: MUL 00001974: ADD 00001975: CALLDATALOAD 00001976: DUP2 00001977: MSTORE 00001978: PUSH1 0x20 0000197a: ADD 0000197b: SWAP1 0000197c: DUP2 0000197d: MSTORE 0000197e: PUSH1 0x20 00001980: ADD 00001981: PUSH1 0x00 00001983: KECCAK256 00001984: DUP2 00001985: SWAP1 00001986: SSTORE 00001987: POP 00001988: DUP1 00001989: DUP1 0000198a: PUSH2 0x1992 0000198d: SWAP1 0000198e: PUSH2 0x4bd7 00001991: JUMP 00001992: JUMPDEST 00001993: SWAP2 00001994: POP 00001995: POP 00001996: PUSH2 0x1937 00001999: JUMP 0000199a: JUMPDEST 0000199b: PUSH2 0x19a2 0000199e: PUSH2 0x2d55 000019a1: JUMP 000019a2: JUMPDEST 000019a3: PUSH1 0x01 000019a5: PUSH1 0x01 000019a7: PUSH1 0xa0 000019a9: SHL 000019aa: SUB 000019ab: SWAP1 000019ac: SWAP2 000019ad: AND 000019ae: PUSH1 0x00 000019b0: SWAP1 000019b1: DUP2 000019b2: MSTORE 000019b3: PUSH1 0x0f 000019b5: PUSH1 0x20 000019b7: MSTORE 000019b8: PUSH1 0x40 000019ba: SWAP1 000019bb: KECCAK256 000019bc: SSTORE 000019bd: JUMP 000019be: JUMPDEST 000019bf: PUSH1 0x00 000019c1: PUSH2 0x19c9 000019c4: CALLER 000019c5: PUSH2 0x11ab 000019c8: JUMP 000019c9: JUMPDEST 000019ca: PUSH2 0x19e5 000019cd: JUMPI 000019ce: PUSH1 0x40 000019d0: MLOAD 000019d1: PUSH3 0x461bcd 000019d5: PUSH1 0xe5 000019d7: SHL 000019d8: DUP2 000019d9: MSTORE 000019da: PUSH1 0x04 000019dc: ADD 000019dd: PUSH2 0x0eb8 000019e0: SWAP1 000019e1: PUSH2 0x4b87 000019e4: JUMP 000019e5: JUMPDEST 000019e6: DUP2 000019e7: PUSH2 0x1a6b 000019ea: JUMPI 000019eb: PUSH1 0x00 000019ed: PUSH1 0x01 000019ef: PUSH1 0x01 000019f1: PUSH1 0xa0 000019f3: SHL 000019f4: SUB 000019f5: AND 000019f6: PUSH1 0x03 000019f8: PUSH1 0x00 000019fa: DUP2 000019fb: SLOAD 000019fc: DUP2 000019fd: LT 000019fe: PUSH2 0x1a09 00001a01: JUMPI 00001a02: PUSH2 0x1a09 00001a05: PUSH2 0x4bab 00001a08: JUMP 00001a09: JUMPDEST 00001a0a: PUSH1 0x00 00001a0c: SWAP2 00001a0d: DUP3 00001a0e: MSTORE 00001a0f: PUSH1 0x20 00001a11: SWAP1 00001a12: SWAP2 00001a13: KECCAK256 00001a14: ADD 00001a15: SLOAD 00001a16: PUSH1 0x01 00001a18: PUSH1 0x01 00001a1a: PUSH1 0xa0 00001a1c: SHL 00001a1d: SUB 00001a1e: AND 00001a1f: SUB 00001a20: PUSH2 0x1a6b 00001a23: JUMPI 00001a24: PUSH1 0x40 00001a26: MLOAD 00001a27: PUSH3 0x461bcd 00001a2b: PUSH1 0xe5 00001a2d: SHL 00001a2e: DUP2 00001a2f: MSTORE 00001a30: PUSH1 0x20 00001a32: PUSH1 0x04 00001a34: DUP3 00001a35: ADD 00001a36: DUP2 00001a37: SWAP1 00001a38: MSTORE 00001a39: PUSH1 0x24 00001a3b: DUP3 00001a3c: ADD 00001a3d: MSTORE 00001a3e: PUSH32 0x666174616c3a205468657265206973206e6f2070656e64696e67206f776e6572 00001a5f: PUSH1 0x44 00001a61: DUP3 00001a62: ADD 00001a63: MSTORE 00001a64: PUSH1 0x64 00001a66: ADD 00001a67: PUSH2 0x0eb8 00001a6a: JUMP 00001a6b: JUMPDEST 00001a6c: PUSH2 0x11e4 00001a6f: PUSH1 0x02 00001a71: CALLER 00001a72: JUMPDEST 00001a73: PUSH1 0x03 00001a75: PUSH2 0x2e99 00001a78: JUMP 00001a79: JUMPDEST 00001a7a: PUSH1 0x00 00001a7c: PUSH2 0x1a83 00001a7f: PUSH2 0x2d55 00001a82: JUMP 00001a83: JUMPDEST 00001a84: PUSH2 0x11e4 00001a87: DUP3 00001a88: PUSH2 0x32d9 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: PUSH2 0x1a94 00001a90: PUSH2 0x2d55 00001a93: JUMP 00001a94: JUMPDEST 00001a95: PUSH1 0x08 00001a97: SLOAD 00001a98: PUSH1 0x01 00001a9a: PUSH1 0x01 00001a9c: PUSH1 0xa0 00001a9e: SHL 00001a9f: SUB 00001aa0: AND 00001aa1: DUP1 00001aa2: PUSH2 0x1ad9 00001aa5: JUMPI 00001aa6: PUSH1 0x40 00001aa8: MLOAD 00001aa9: PUSH3 0x461bcd 00001aad: PUSH1 0xe5 00001aaf: SHL 00001ab0: DUP2 00001ab1: MSTORE 00001ab2: PUSH1 0x20 00001ab4: PUSH1 0x04 00001ab6: DUP3 00001ab7: ADD 00001ab8: MSTORE 00001ab9: PUSH1 0x09 00001abb: PUSH1 0x24 00001abd: DUP3 00001abe: ADD 00001abf: MSTORE 00001ac0: PUSH9 0x0696e6974207377617 00001aca: PUSH1 0xbc 00001acc: SHL 00001acd: PUSH1 0x44 00001acf: DUP3 00001ad0: ADD 00001ad1: MSTORE 00001ad2: PUSH1 0x64 00001ad4: ADD 00001ad5: PUSH2 0x0eb8 00001ad8: JUMP 00001ad9: JUMPDEST 00001ada: PUSH1 0x00 00001adc: PUSH2 0x1ae3 00001adf: PUSH2 0x3245 00001ae2: JUMP 00001ae3: JUMPDEST 00001ae4: SWAP1 00001ae5: POP 00001ae6: PUSH1 0x00 00001ae8: JUMPDEST 00001ae9: DUP4 00001aea: DUP2 00001aeb: LT 00001aec: ISZERO 00001aed: PUSH2 0x1693 00001af0: JUMPI 00001af1: PUSH2 0x1b1b 00001af4: DUP6 00001af5: DUP6 00001af6: DUP4 00001af7: DUP2 00001af8: DUP2 00001af9: LT 00001afa: PUSH2 0x1b05 00001afd: JUMPI 00001afe: PUSH2 0x1b05 00001b01: PUSH2 0x4bab 00001b04: JUMP 00001b05: JUMPDEST 00001b06: SWAP1 00001b07: POP 00001b08: PUSH1 0x20 00001b0a: MUL 00001b0b: ADD 00001b0c: CALLDATALOAD 00001b0d: DUP4 00001b0e: PUSH2 0x32f0 00001b11: SWAP1 00001b12: SWAP2 00001b13: SWAP1 00001b14: PUSH4 0xffffffff 00001b19: AND 00001b1a: JUMP 00001b1b: JUMPDEST 00001b1c: PUSH2 0x1b55 00001b1f: JUMPI 00001b20: PUSH1 0x40 00001b22: MLOAD 00001b23: PUSH3 0x461bcd 00001b27: PUSH1 0xe5 00001b29: SHL 00001b2a: DUP2 00001b2b: MSTORE 00001b2c: PUSH1 0x20 00001b2e: PUSH1 0x04 00001b30: DUP3 00001b31: ADD 00001b32: MSTORE 00001b33: PUSH1 0x0b 00001b35: PUSH1 0x24 00001b37: DUP3 00001b38: ADD 00001b39: MSTORE 00001b3a: PUSH11 0x31b7b4b7103937baba32b9 00001b46: PUSH1 0xa9 00001b48: SHL 00001b49: PUSH1 0x44 00001b4b: DUP3 00001b4c: ADD 00001b4d: MSTORE 00001b4e: PUSH1 0x64 00001b50: ADD 00001b51: PUSH2 0x0eb8 00001b54: JUMP 00001b55: JUMPDEST 00001b56: PUSH2 0x1b9a 00001b59: PUSH1 0x0a 00001b5b: PUSH1 0x00 00001b5d: DUP8 00001b5e: DUP8 00001b5f: DUP6 00001b60: DUP2 00001b61: DUP2 00001b62: LT 00001b63: PUSH2 0x1b6e 00001b66: JUMPI 00001b67: PUSH2 0x1b6e 00001b6a: PUSH2 0x4bab 00001b6d: JUMP 00001b6e: JUMPDEST 00001b6f: PUSH1 0x20 00001b71: SWAP1 00001b72: DUP2 00001b73: MUL 00001b74: SWAP3 00001b75: SWAP1 00001b76: SWAP3 00001b77: ADD 00001b78: CALLDATALOAD 00001b79: DUP4 00001b7a: MSTORE 00001b7b: POP 00001b7c: DUP2 00001b7d: ADD 00001b7e: SWAP2 00001b7f: SWAP1 00001b80: SWAP2 00001b81: MSTORE 00001b82: PUSH1 0x40 00001b84: ADD 00001b85: PUSH1 0x00 00001b87: KECCAK256 00001b88: PUSH1 0x06 00001b8a: ADD 00001b8b: SLOAD 00001b8c: PUSH1 0x01 00001b8e: PUSH1 0x01 00001b90: PUSH1 0xa0 00001b92: SHL 00001b93: SUB 00001b94: AND 00001b95: DUP5 00001b96: PUSH2 0x3192 00001b99: JUMP 00001b9a: JUMPDEST 00001b9b: DUP1 00001b9c: PUSH2 0x1ba4 00001b9f: DUP2 00001ba0: PUSH2 0x4bd7 00001ba3: JUMP 00001ba4: JUMPDEST 00001ba5: SWAP2 00001ba6: POP 00001ba7: POP 00001ba8: PUSH2 0x1ae8 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH2 0x1bb4 00001bb0: PUSH2 0x2d55 00001bb3: JUMP 00001bb4: JUMPDEST 00001bb5: PUSH1 0x00 00001bb7: JUMPDEST 00001bb8: DUP4 00001bb9: DUP2 00001bba: LT 00001bbb: ISZERO 00001bbc: PUSH2 0x1693 00001bbf: JUMPI 00001bc0: PUSH2 0x1c09 00001bc3: DUP6 00001bc4: DUP6 00001bc5: DUP4 00001bc6: DUP2 00001bc7: DUP2 00001bc8: LT 00001bc9: PUSH2 0x1bd4 00001bcc: JUMPI 00001bcd: PUSH2 0x1bd4 00001bd0: PUSH2 0x4bab 00001bd3: JUMP 00001bd4: JUMPDEST 00001bd5: SWAP1 00001bd6: POP 00001bd7: PUSH1 0x20 00001bd9: MUL 00001bda: ADD 00001bdb: CALLDATALOAD 00001bdc: DUP5 00001bdd: DUP5 00001bde: DUP5 00001bdf: DUP2 00001be0: DUP2 00001be1: LT 00001be2: PUSH2 0x1bed 00001be5: JUMPI 00001be6: PUSH2 0x1bed 00001be9: PUSH2 0x4bab 00001bec: JUMP 00001bed: JUMPDEST 00001bee: SWAP1 00001bef: POP 00001bf0: PUSH2 0x0160 00001bf3: MUL 00001bf4: ADD 00001bf5: DUP1 00001bf6: CALLDATASIZE 00001bf7: SUB 00001bf8: DUP2 00001bf9: ADD 00001bfa: SWAP1 00001bfb: PUSH2 0x1c04 00001bfe: SWAP2 00001bff: SWAP1 00001c00: PUSH2 0x4d71 00001c03: JUMP 00001c04: JUMPDEST 00001c05: PUSH2 0x32f5 00001c08: JUMP 00001c09: JUMPDEST 00001c0a: PUSH1 0x00 00001c0c: DUP1 00001c0d: MLOAD 00001c0e: PUSH1 0x20 00001c10: PUSH2 0x5019 00001c13: DUP4 00001c14: CODECOPY 00001c15: DUP2 00001c16: MLOAD 00001c17: SWAP2 00001c18: MSTORE 00001c19: DUP6 00001c1a: DUP6 00001c1b: DUP4 00001c1c: DUP2 00001c1d: DUP2 00001c1e: LT 00001c1f: PUSH2 0x1c2a 00001c22: JUMPI 00001c23: PUSH2 0x1c2a 00001c26: PUSH2 0x4bab 00001c29: JUMP 00001c2a: JUMPDEST 00001c2b: SWAP1 00001c2c: POP 00001c2d: PUSH1 0x20 00001c2f: MUL 00001c30: ADD 00001c31: CALLDATALOAD 00001c32: DUP5 00001c33: DUP5 00001c34: DUP5 00001c35: DUP2 00001c36: DUP2 00001c37: LT 00001c38: PUSH2 0x1c43 00001c3b: JUMPI 00001c3c: PUSH2 0x1c43 00001c3f: PUSH2 0x4bab 00001c42: JUMP 00001c43: JUMPDEST 00001c44: SWAP1 00001c45: POP 00001c46: PUSH2 0x0160 00001c49: MUL 00001c4a: ADD 00001c4b: PUSH1 0x40 00001c4d: MLOAD 00001c4e: PUSH2 0x1c58 00001c51: SWAP3 00001c52: SWAP2 00001c53: SWAP1 00001c54: PUSH2 0x4e20 00001c57: JUMP 00001c58: JUMPDEST 00001c59: PUSH1 0x40 00001c5b: MLOAD 00001c5c: DUP1 00001c5d: SWAP2 00001c5e: SUB 00001c5f: SWAP1 00001c60: LOG1 00001c61: DUP1 00001c62: PUSH2 0x1c6a 00001c65: DUP2 00001c66: PUSH2 0x4bd7 00001c69: JUMP 00001c6a: JUMPDEST 00001c6b: SWAP2 00001c6c: POP 00001c6d: POP 00001c6e: PUSH2 0x1bb7 00001c71: JUMP 00001c72: JUMPDEST 00001c73: PUSH1 0x60 00001c75: PUSH1 0x04 00001c77: DUP1 00001c78: SLOAD 00001c79: DUP1 00001c7a: PUSH1 0x20 00001c7c: MUL 00001c7d: PUSH1 0x20 00001c7f: ADD 00001c80: PUSH1 0x40 00001c82: MLOAD 00001c83: SWAP1 00001c84: DUP2 00001c85: ADD 00001c86: PUSH1 0x40 00001c88: MSTORE 00001c89: DUP1 00001c8a: SWAP3 00001c8b: SWAP2 00001c8c: SWAP1 00001c8d: DUP2 00001c8e: DUP2 00001c8f: MSTORE 00001c90: PUSH1 0x20 00001c92: ADD 00001c93: DUP3 00001c94: DUP1 00001c95: SLOAD 00001c96: DUP1 00001c97: ISZERO 00001c98: PUSH2 0x13c0 00001c9b: JUMPI 00001c9c: PUSH1 0x20 00001c9e: MUL 00001c9f: DUP3 00001ca0: ADD 00001ca1: SWAP2 00001ca2: SWAP1 00001ca3: PUSH1 0x00 00001ca5: MSTORE 00001ca6: PUSH1 0x20 00001ca8: PUSH1 0x00 00001caa: KECCAK256 00001cab: SWAP1 00001cac: DUP2 00001cad: SLOAD 00001cae: PUSH1 0x01 00001cb0: PUSH1 0x01 00001cb2: PUSH1 0xa0 00001cb4: SHL 00001cb5: SUB 00001cb6: AND 00001cb7: DUP2 00001cb8: MSTORE 00001cb9: PUSH1 0x01 00001cbb: SWAP1 00001cbc: SWAP2 00001cbd: ADD 00001cbe: SWAP1 00001cbf: PUSH1 0x20 00001cc1: ADD 00001cc2: DUP1 00001cc3: DUP4 00001cc4: GT 00001cc5: PUSH2 0x13a2 00001cc8: JUMPI 00001cc9: POP 00001cca: POP 00001ccb: POP 00001ccc: POP 00001ccd: POP 00001cce: SWAP1 00001ccf: POP 00001cd0: SWAP1 00001cd1: JUMP 00001cd2: JUMPDEST 00001cd3: PUSH2 0x1cda 00001cd6: PUSH2 0x2d55 00001cd9: JUMP 00001cda: JUMPDEST 00001cdb: PUSH1 0x07 00001cdd: DUP1 00001cde: SLOAD 00001cdf: PUSH1 0x01 00001ce1: PUSH1 0x01 00001ce3: PUSH1 0xa0 00001ce5: SHL 00001ce6: SUB 00001ce7: NOT 00001ce8: AND 00001ce9: PUSH1 0x01 00001ceb: PUSH1 0x01 00001ced: PUSH1 0xa0 00001cef: SHL 00001cf0: SUB 00001cf1: SWAP3 00001cf2: SWAP1 00001cf3: SWAP3 00001cf4: AND 00001cf5: SWAP2 00001cf6: SWAP1 00001cf7: SWAP2 00001cf8: OR 00001cf9: SWAP1 00001cfa: SSTORE 00001cfb: JUMP 00001cfc: JUMPDEST 00001cfd: PUSH2 0x1d05 00001d00: CALLER 00001d01: PUSH2 0x11ab 00001d04: JUMP 00001d05: JUMPDEST 00001d06: PUSH2 0x1d21 00001d09: JUMPI 00001d0a: PUSH1 0x40 00001d0c: MLOAD 00001d0d: PUSH3 0x461bcd 00001d11: PUSH1 0xe5 00001d13: SHL 00001d14: DUP2 00001d15: MSTORE 00001d16: PUSH1 0x04 00001d18: ADD 00001d19: PUSH2 0x0eb8 00001d1c: SWAP1 00001d1d: PUSH2 0x4b87 00001d20: JUMP 00001d21: JUMPDEST 00001d22: PUSH2 0x1920 00001d25: DUP2 00001d26: PUSH2 0x33f8 00001d29: JUMP 00001d2a: JUMPDEST 00001d2b: PUSH2 0x1d32 00001d2e: PUSH2 0x2d55 00001d31: JUMP 00001d32: JUMPDEST 00001d33: PUSH1 0x00 00001d35: JUMPDEST 00001d36: DUP3 00001d37: MLOAD 00001d38: DUP2 00001d39: LT 00001d3a: ISZERO 00001d3b: PUSH2 0x0ec1 00001d3e: JUMPI 00001d3f: PUSH1 0x00 00001d41: PUSH1 0x0e 00001d43: PUSH1 0x00 00001d45: DUP6 00001d46: DUP5 00001d47: DUP2 00001d48: MLOAD 00001d49: DUP2 00001d4a: LT 00001d4b: PUSH2 0x1d56 00001d4e: JUMPI 00001d4f: PUSH2 0x1d56 00001d52: PUSH2 0x4bab 00001d55: JUMP 00001d56: JUMPDEST 00001d57: PUSH1 0x20 00001d59: MUL 00001d5a: PUSH1 0x20 00001d5c: ADD 00001d5d: ADD 00001d5e: MLOAD 00001d5f: DUP2 00001d60: MSTORE 00001d61: PUSH1 0x20 00001d63: ADD 00001d64: SWAP1 00001d65: DUP2 00001d66: MSTORE 00001d67: PUSH1 0x20 00001d69: ADD 00001d6a: PUSH1 0x00 00001d6c: KECCAK256 00001d6d: PUSH1 0x00 00001d6f: DUP5 00001d70: DUP5 00001d71: DUP2 00001d72: MLOAD 00001d73: DUP2 00001d74: LT 00001d75: PUSH2 0x1d80 00001d78: JUMPI 00001d79: PUSH2 0x1d80 00001d7c: PUSH2 0x4bab 00001d7f: JUMP 00001d80: JUMPDEST 00001d81: PUSH1 0x20 00001d83: MUL 00001d84: PUSH1 0x20 00001d86: ADD 00001d87: ADD 00001d88: MLOAD 00001d89: DUP2 00001d8a: MSTORE 00001d8b: PUSH1 0x20 00001d8d: ADD 00001d8e: SWAP1 00001d8f: DUP2 00001d90: MSTORE 00001d91: PUSH1 0x20 00001d93: ADD 00001d94: PUSH1 0x00 00001d96: KECCAK256 00001d97: PUSH1 0x00 00001d99: PUSH2 0x0100 00001d9c: EXP 00001d9d: DUP2 00001d9e: SLOAD 00001d9f: DUP2 00001da0: PUSH1 0xff 00001da2: MUL 00001da3: NOT 00001da4: AND 00001da5: SWAP1 00001da6: DUP4 00001da7: ISZERO 00001da8: ISZERO 00001da9: MUL 00001daa: OR 00001dab: SWAP1 00001dac: SSTORE 00001dad: POP 00001dae: DUP1 00001daf: DUP1 00001db0: PUSH2 0x1db8 00001db3: SWAP1 00001db4: PUSH2 0x4bd7 00001db7: JUMP 00001db8: JUMPDEST 00001db9: SWAP2 00001dba: POP 00001dbb: POP 00001dbc: PUSH2 0x1d35 00001dbf: JUMP 00001dc0: JUMPDEST 00001dc1: PUSH2 0x1dc8 00001dc4: PUSH2 0x2d55 00001dc7: JUMP 00001dc8: JUMPDEST 00001dc9: PUSH1 0x00 00001dcb: PUSH2 0x1dd2 00001dce: PUSH2 0x3245 00001dd1: JUMP 00001dd2: JUMPDEST 00001dd3: SWAP1 00001dd4: POP 00001dd5: PUSH2 0x1ddf 00001dd8: DUP2 00001dd9: PUSH1 0x00 00001ddb: PUSH2 0x344c 00001dde: JUMP 00001ddf: JUMPDEST 00001de0: PUSH2 0x1e1b 00001de3: JUMPI 00001de4: PUSH1 0x40 00001de6: MLOAD 00001de7: PUSH3 0x461bcd 00001deb: PUSH1 0xe5 00001ded: SHL 00001dee: DUP2 00001def: MSTORE 00001df0: PUSH1 0x20 00001df2: PUSH1 0x04 00001df4: DUP3 00001df5: ADD 00001df6: MSTORE 00001df7: PUSH1 0x0d 00001df9: PUSH1 0x24 00001dfb: DUP3 00001dfc: ADD 00001dfd: MSTORE 00001dfe: PUSH13 0x1a5b9a5d0818dbdb9d1c9858dd 00001e0c: PUSH1 0x9a 00001e0e: SHL 00001e0f: PUSH1 0x44 00001e11: DUP3 00001e12: ADD 00001e13: MSTORE 00001e14: PUSH1 0x64 00001e16: ADD 00001e17: PUSH2 0x0eb8 00001e1a: JUMP 00001e1b: JUMPDEST 00001e1c: PUSH1 0x00 00001e1e: PUSH1 0x01 00001e20: PUSH1 0x01 00001e22: PUSH1 0xa0 00001e24: SHL 00001e25: SUB 00001e26: DUP2 00001e27: JUMPDEST 00001e28: DUP7 00001e29: DUP2 00001e2a: LT 00001e2b: ISZERO 00001e2c: PUSH2 0x2115 00001e2f: JUMPI 00001e30: DUP3 00001e31: PUSH1 0x01 00001e33: PUSH1 0x01 00001e35: PUSH1 0xa0 00001e37: SHL 00001e38: SUB 00001e39: AND 00001e3a: DUP7 00001e3b: DUP7 00001e3c: DUP4 00001e3d: DUP2 00001e3e: DUP2 00001e3f: LT 00001e40: PUSH2 0x1e4b 00001e43: JUMPI 00001e44: PUSH2 0x1e4b 00001e47: PUSH2 0x4bab 00001e4a: JUMP 00001e4b: JUMPDEST 00001e4c: SWAP1 00001e4d: POP 00001e4e: PUSH2 0x0160 00001e51: MUL 00001e52: ADD 00001e53: PUSH2 0x0120 00001e56: ADD 00001e57: PUSH1 0x20 00001e59: DUP2 00001e5a: ADD 00001e5b: SWAP1 00001e5c: PUSH2 0x1e65 00001e5f: SWAP2 00001e60: SWAP1 00001e61: PUSH2 0x402a 00001e64: JUMP 00001e65: JUMPDEST 00001e66: PUSH1 0x01 00001e68: PUSH1 0x01 00001e6a: PUSH1 0xa0 00001e6c: SHL 00001e6d: SUB 00001e6e: AND 00001e6f: SUB 00001e70: PUSH2 0x1eaa 00001e73: JUMPI 00001e74: PUSH1 0x40 00001e76: MLOAD 00001e77: PUSH3 0x461bcd 00001e7b: PUSH1 0xe5 00001e7d: SHL 00001e7e: DUP2 00001e7f: MSTORE 00001e80: PUSH1 0x20 00001e82: PUSH1 0x04 00001e84: DUP3 00001e85: ADD 00001e86: MSTORE 00001e87: PUSH1 0x0c 00001e89: PUSH1 0x24 00001e8b: DUP3 00001e8c: ADD 00001e8d: MSTORE 00001e8e: PUSH12 0x1d185c99d95d0819985d5b1d 00001e9b: PUSH1 0xa2 00001e9d: SHL 00001e9e: PUSH1 0x44 00001ea0: DUP3 00001ea1: ADD 00001ea2: MSTORE 00001ea3: PUSH1 0x64 00001ea5: ADD 00001ea6: PUSH2 0x0eb8 00001ea9: JUMP 00001eaa: JUMPDEST 00001eab: PUSH2 0x1ed8 00001eae: DUP9 00001eaf: DUP9 00001eb0: DUP4 00001eb1: DUP2 00001eb2: DUP2 00001eb3: LT 00001eb4: PUSH2 0x1ebf 00001eb7: JUMPI 00001eb8: PUSH2 0x1ebf 00001ebb: PUSH2 0x4bab 00001ebe: JUMP 00001ebf: JUMPDEST 00001ec0: SWAP1 00001ec1: POP 00001ec2: PUSH1 0x20 00001ec4: MUL 00001ec5: ADD 00001ec6: CALLDATALOAD 00001ec7: DUP8 00001ec8: DUP8 00001ec9: DUP5 00001eca: DUP2 00001ecb: DUP2 00001ecc: LT 00001ecd: PUSH2 0x1bed 00001ed0: JUMPI 00001ed1: PUSH2 0x1bed 00001ed4: PUSH2 0x4bab 00001ed7: JUMP 00001ed8: JUMPDEST 00001ed9: DUP8 00001eda: DUP8 00001edb: DUP3 00001edc: DUP2 00001edd: DUP2 00001ede: LT 00001edf: PUSH2 0x1eea 00001ee2: JUMPI 00001ee3: PUSH2 0x1eea 00001ee6: PUSH2 0x4bab 00001ee9: JUMP 00001eea: JUMPDEST 00001eeb: SWAP1 00001eec: POP 00001eed: PUSH1 0x20 00001eef: MUL 00001ef0: ADD 00001ef1: CALLDATALOAD 00001ef2: PUSH1 0x0f 00001ef4: PUSH1 0x00 00001ef6: DUP9 00001ef7: DUP9 00001ef8: DUP6 00001ef9: DUP2 00001efa: DUP2 00001efb: LT 00001efc: PUSH2 0x1f07 00001eff: JUMPI 00001f00: PUSH2 0x1f07 00001f03: PUSH2 0x4bab 00001f06: JUMP 00001f07: JUMPDEST 00001f08: SWAP1 00001f09: POP 00001f0a: PUSH2 0x0160 00001f0d: MUL 00001f0e: ADD 00001f0f: PUSH2 0x0120 00001f12: ADD 00001f13: PUSH1 0x20 00001f15: DUP2 00001f16: ADD 00001f17: SWAP1 00001f18: PUSH2 0x1f21 00001f1b: SWAP2 00001f1c: SWAP1 00001f1d: PUSH2 0x402a 00001f20: JUMP 00001f21: JUMPDEST 00001f22: PUSH1 0x01 00001f24: PUSH1 0x01 00001f26: PUSH1 0xa0 00001f28: SHL 00001f29: SUB 00001f2a: AND 00001f2b: DUP2 00001f2c: MSTORE 00001f2d: PUSH1 0x20 00001f2f: DUP2 00001f30: ADD 00001f31: SWAP2 00001f32: SWAP1 00001f33: SWAP2 00001f34: MSTORE 00001f35: PUSH1 0x40 00001f37: ADD 00001f38: PUSH1 0x00 00001f3a: KECCAK256 00001f3b: SSTORE 00001f3c: PUSH2 0x1f66 00001f3f: DUP9 00001f40: DUP9 00001f41: DUP4 00001f42: DUP2 00001f43: DUP2 00001f44: LT 00001f45: PUSH2 0x1f50 00001f48: JUMPI 00001f49: PUSH2 0x1f50 00001f4c: PUSH2 0x4bab 00001f4f: JUMP 00001f50: JUMPDEST 00001f51: SWAP1 00001f52: POP 00001f53: PUSH1 0x20 00001f55: MUL 00001f56: ADD 00001f57: CALLDATALOAD 00001f58: DUP6 00001f59: PUSH2 0x32f0 00001f5c: SWAP1 00001f5d: SWAP2 00001f5e: SWAP1 00001f5f: PUSH4 0xffffffff 00001f64: AND 00001f65: JUMP 00001f66: JUMPDEST 00001f67: ISZERO 00001f68: PUSH2 0x20ac 00001f6b: JUMPI 00001f6c: DUP3 00001f6d: PUSH1 0x01 00001f6f: PUSH1 0x01 00001f71: PUSH1 0xa0 00001f73: SHL 00001f74: SUB 00001f75: AND 00001f76: DUP7 00001f77: DUP7 00001f78: DUP4 00001f79: DUP2 00001f7a: DUP2 00001f7b: LT 00001f7c: PUSH2 0x1f87 00001f7f: JUMPI 00001f80: PUSH2 0x1f87 00001f83: PUSH2 0x4bab 00001f86: JUMP 00001f87: JUMPDEST 00001f88: SWAP1 00001f89: POP 00001f8a: PUSH2 0x0160 00001f8d: MUL 00001f8e: ADD 00001f8f: PUSH1 0xe0 00001f91: ADD 00001f92: PUSH1 0x20 00001f94: DUP2 00001f95: ADD 00001f96: SWAP1 00001f97: PUSH2 0x1fa0 00001f9a: SWAP2 00001f9b: SWAP1 00001f9c: PUSH2 0x402a 00001f9f: JUMP 00001fa0: JUMPDEST 00001fa1: PUSH1 0x01 00001fa3: PUSH1 0x01 00001fa5: PUSH1 0xa0 00001fa7: SHL 00001fa8: SUB 00001fa9: AND 00001faa: EQ 00001fab: PUSH2 0x200d 00001fae: JUMPI 00001faf: PUSH2 0x200d 00001fb2: DUP7 00001fb3: DUP7 00001fb4: DUP4 00001fb5: DUP2 00001fb6: DUP2 00001fb7: LT 00001fb8: PUSH2 0x1fc3 00001fbb: JUMPI 00001fbc: PUSH2 0x1fc3 00001fbf: PUSH2 0x4bab 00001fc2: JUMP 00001fc3: JUMPDEST 00001fc4: SWAP1 00001fc5: POP 00001fc6: PUSH2 0x0160 00001fc9: MUL 00001fca: ADD 00001fcb: PUSH2 0x0120 00001fce: ADD 00001fcf: PUSH1 0x20 00001fd1: DUP2 00001fd2: ADD 00001fd3: SWAP1 00001fd4: PUSH2 0x1fdd 00001fd7: SWAP2 00001fd8: SWAP1 00001fd9: PUSH2 0x402a 00001fdc: JUMP 00001fdd: JUMPDEST 00001fde: DUP8 00001fdf: DUP8 00001fe0: DUP5 00001fe1: DUP2 00001fe2: DUP2 00001fe3: LT 00001fe4: PUSH2 0x1fef 00001fe7: JUMPI 00001fe8: PUSH2 0x1fef 00001feb: PUSH2 0x4bab 00001fee: JUMP 00001fef: JUMPDEST 00001ff0: SWAP1 00001ff1: POP 00001ff2: PUSH2 0x0160 00001ff5: MUL 00001ff6: ADD 00001ff7: PUSH1 0xe0 00001ff9: ADD 00001ffa: PUSH1 0x20 00001ffc: DUP2 00001ffd: ADD 00001ffe: SWAP1 00001fff: PUSH2 0x2008 00002002: SWAP2 00002003: SWAP1 00002004: PUSH2 0x402a 00002007: JUMP 00002008: JUMPDEST 00002009: PUSH2 0x3192 0000200c: JUMP 0000200d: JUMPDEST 0000200e: DUP3 0000200f: PUSH1 0x01 00002011: PUSH1 0x01 00002013: PUSH1 0xa0 00002015: SHL 00002016: SUB 00002017: AND 00002018: DUP7 00002019: DUP7 0000201a: DUP4 0000201b: DUP2 0000201c: DUP2 0000201d: LT 0000201e: PUSH2 0x2029 00002021: JUMPI 00002022: PUSH2 0x2029 00002025: PUSH2 0x4bab 00002028: JUMP 00002029: JUMPDEST 0000202a: SWAP1 0000202b: POP 0000202c: PUSH2 0x0160 0000202f: MUL 00002030: ADD 00002031: PUSH2 0x0100 00002034: ADD 00002035: PUSH1 0x20 00002037: DUP2 00002038: ADD 00002039: SWAP1 0000203a: PUSH2 0x2043 0000203d: SWAP2 0000203e: SWAP1 0000203f: PUSH2 0x402a 00002042: JUMP 00002043: JUMPDEST 00002044: PUSH1 0x01 00002046: PUSH1 0x01 00002048: PUSH1 0xa0 0000204a: SHL 0000204b: SUB 0000204c: AND 0000204d: EQ 0000204e: PUSH2 0x20ac 00002051: JUMPI 00002052: PUSH2 0x20ac 00002055: DUP7 00002056: DUP7 00002057: DUP4 00002058: DUP2 00002059: DUP2 0000205a: LT 0000205b: PUSH2 0x2066 0000205e: JUMPI 0000205f: PUSH2 0x2066 00002062: PUSH2 0x4bab 00002065: JUMP 00002066: JUMPDEST 00002067: SWAP1 00002068: POP 00002069: PUSH2 0x0160 0000206c: MUL 0000206d: ADD 0000206e: PUSH2 0x0120 00002071: ADD 00002072: PUSH1 0x20 00002074: DUP2 00002075: ADD 00002076: SWAP1 00002077: PUSH2 0x2080 0000207a: SWAP2 0000207b: SWAP1 0000207c: PUSH2 0x402a 0000207f: JUMP 00002080: JUMPDEST 00002081: DUP8 00002082: DUP8 00002083: DUP5 00002084: DUP2 00002085: DUP2 00002086: LT 00002087: PUSH2 0x2092 0000208a: JUMPI 0000208b: PUSH2 0x2092 0000208e: PUSH2 0x4bab 00002091: JUMP 00002092: JUMPDEST 00002093: SWAP1 00002094: POP 00002095: PUSH2 0x0160 00002098: MUL 00002099: ADD 0000209a: PUSH2 0x0100 0000209d: ADD 0000209e: PUSH1 0x20 000020a0: DUP2 000020a1: ADD 000020a2: SWAP1 000020a3: PUSH2 0x2008 000020a6: SWAP2 000020a7: SWAP1 000020a8: PUSH2 0x402a 000020ab: JUMP 000020ac: JUMPDEST 000020ad: PUSH1 0x00 000020af: DUP1 000020b0: MLOAD 000020b1: PUSH1 0x20 000020b3: PUSH2 0x5019 000020b6: DUP4 000020b7: CODECOPY 000020b8: DUP2 000020b9: MLOAD 000020ba: SWAP2 000020bb: MSTORE 000020bc: DUP9 000020bd: DUP9 000020be: DUP4 000020bf: DUP2 000020c0: DUP2 000020c1: LT 000020c2: PUSH2 0x20cd 000020c5: JUMPI 000020c6: PUSH2 0x20cd 000020c9: PUSH2 0x4bab 000020cc: JUMP 000020cd: JUMPDEST 000020ce: SWAP1 000020cf: POP 000020d0: PUSH1 0x20 000020d2: MUL 000020d3: ADD 000020d4: CALLDATALOAD 000020d5: DUP8 000020d6: DUP8 000020d7: DUP5 000020d8: DUP2 000020d9: DUP2 000020da: LT 000020db: PUSH2 0x20e6 000020de: JUMPI 000020df: PUSH2 0x20e6 000020e2: PUSH2 0x4bab 000020e5: JUMP 000020e6: JUMPDEST 000020e7: SWAP1 000020e8: POP 000020e9: PUSH2 0x0160 000020ec: MUL 000020ed: ADD 000020ee: PUSH1 0x40 000020f0: MLOAD 000020f1: PUSH2 0x20fb 000020f4: SWAP3 000020f5: SWAP2 000020f6: SWAP1 000020f7: PUSH2 0x4e20 000020fa: JUMP 000020fb: JUMPDEST 000020fc: PUSH1 0x40 000020fe: MLOAD 000020ff: DUP1 00002100: SWAP2 00002101: SUB 00002102: SWAP1 00002103: LOG1 00002104: DUP1 00002105: PUSH2 0x210d 00002108: DUP2 00002109: PUSH2 0x4bd7 0000210c: JUMP 0000210d: JUMPDEST 0000210e: SWAP2 0000210f: POP 00002110: POP 00002111: PUSH2 0x1e27 00002114: JUMP 00002115: JUMPDEST 00002116: POP 00002117: POP 00002118: POP 00002119: POP 0000211a: POP 0000211b: POP 0000211c: POP 0000211d: POP 0000211e: JUMP 0000211f: JUMPDEST 00002120: PUSH1 0x00 00002122: PUSH2 0x212c 00002125: CALLER 00002126: PUSH1 0x01 00002128: PUSH2 0x2dc3 0000212b: JUMP 0000212c: JUMPDEST 0000212d: PUSH2 0x2165 00002130: JUMPI 00002131: PUSH1 0x40 00002133: MLOAD 00002134: PUSH3 0x461bcd 00002138: PUSH1 0xe5 0000213a: SHL 0000213b: DUP2 0000213c: MSTORE 0000213d: PUSH1 0x20 0000213f: PUSH1 0x04 00002141: DUP3 00002142: ADD 00002143: MSTORE 00002144: PUSH1 0x0a 00002146: PUSH1 0x24 00002148: DUP3 00002149: ADD 0000214a: MSTORE 0000214b: PUSH10 0x27b7363c9020b236b4b7 00002156: PUSH1 0xb1 00002158: SHL 00002159: PUSH1 0x44 0000215b: DUP3 0000215c: ADD 0000215d: MSTORE 0000215e: PUSH1 0x64 00002160: ADD 00002161: PUSH2 0x0eb8 00002164: JUMP 00002165: JUMPDEST 00002166: PUSH2 0x132d 00002169: PUSH1 0x04 0000216b: CALLER 0000216c: PUSH1 0x01 0000216e: PUSH2 0x2e99 00002171: JUMP 00002172: JUMPDEST 00002173: PUSH2 0x217a 00002176: PUSH2 0x2d55 00002179: JUMP 0000217a: JUMPDEST 0000217b: PUSH1 0x00 0000217d: PUSH2 0x2184 00002180: PUSH2 0x3245 00002183: JUMP 00002184: JUMPDEST 00002185: SWAP1 00002186: POP 00002187: PUSH1 0x00 00002189: JUMPDEST 0000218a: DUP4 0000218b: MLOAD 0000218c: DUP2 0000218d: LT 0000218e: ISZERO 0000218f: PUSH2 0x18af 00002192: JUMPI 00002193: DUP3 00002194: DUP2 00002195: DUP2 00002196: MLOAD 00002197: DUP2 00002198: LT 00002199: PUSH2 0x21a4 0000219c: JUMPI 0000219d: PUSH2 0x21a4 000021a0: PUSH2 0x4bab 000021a3: JUMP 000021a4: JUMPDEST 000021a5: PUSH1 0x20 000021a7: MUL 000021a8: PUSH1 0x20 000021aa: ADD 000021ab: ADD 000021ac: MLOAD 000021ad: PUSH1 0x0a 000021af: PUSH1 0x00 000021b1: DUP7 000021b2: DUP5 000021b3: DUP2 000021b4: MLOAD 000021b5: DUP2 000021b6: LT 000021b7: PUSH2 0x21c2 000021ba: JUMPI 000021bb: PUSH2 0x21c2 000021be: PUSH2 0x4bab 000021c1: JUMP 000021c2: JUMPDEST 000021c3: PUSH1 0x20 000021c5: MUL 000021c6: PUSH1 0x20 000021c8: ADD 000021c9: ADD 000021ca: MLOAD 000021cb: DUP2 000021cc: MSTORE 000021cd: PUSH1 0x20 000021cf: ADD 000021d0: SWAP1 000021d1: DUP2 000021d2: MSTORE 000021d3: PUSH1 0x20 000021d5: ADD 000021d6: PUSH1 0x00 000021d8: KECCAK256 000021d9: PUSH1 0x04 000021db: ADD 000021dc: PUSH1 0x01 000021de: PUSH2 0x0100 000021e1: EXP 000021e2: DUP2 000021e3: SLOAD 000021e4: DUP2 000021e5: PUSH1 0x01 000021e7: PUSH1 0x01 000021e9: PUSH1 0xa0 000021eb: SHL 000021ec: SUB 000021ed: MUL 000021ee: NOT 000021ef: AND 000021f0: SWAP1 000021f1: DUP4 000021f2: PUSH1 0x01 000021f4: PUSH1 0x01 000021f6: PUSH1 0xa0 000021f8: SHL 000021f9: SUB 000021fa: AND 000021fb: MUL 000021fc: OR 000021fd: SWAP1 000021fe: SSTORE 000021ff: POP 00002200: PUSH2 0x222b 00002203: DUP5 00002204: DUP3 00002205: DUP2 00002206: MLOAD 00002207: DUP2 00002208: LT 00002209: PUSH2 0x2214 0000220c: JUMPI 0000220d: PUSH2 0x2214 00002210: PUSH2 0x4bab 00002213: JUMP 00002214: JUMPDEST 00002215: PUSH1 0x20 00002217: MUL 00002218: PUSH1 0x20 0000221a: ADD 0000221b: ADD 0000221c: MLOAD 0000221d: DUP4 0000221e: PUSH2 0x32f0 00002221: SWAP1 00002222: SWAP2 00002223: SWAP1 00002224: PUSH4 0xffffffff 00002229: AND 0000222a: JUMP 0000222b: JUMPDEST 0000222c: ISZERO 0000222d: PUSH2 0x2288 00002230: JUMPI 00002231: PUSH2 0x2288 00002234: PUSH1 0x0a 00002236: PUSH1 0x00 00002238: DUP7 00002239: DUP5 0000223a: DUP2 0000223b: MLOAD 0000223c: DUP2 0000223d: LT 0000223e: PUSH2 0x2249 00002241: JUMPI 00002242: PUSH2 0x2249 00002245: PUSH2 0x4bab 00002248: JUMP 00002249: JUMPDEST 0000224a: PUSH1 0x20 0000224c: MUL 0000224d: PUSH1 0x20 0000224f: ADD 00002250: ADD 00002251: MLOAD 00002252: DUP2 00002253: MSTORE 00002254: PUSH1 0x20 00002256: ADD 00002257: SWAP1 00002258: DUP2 00002259: MSTORE 0000225a: PUSH1 0x20 0000225c: ADD 0000225d: PUSH1 0x00 0000225f: KECCAK256 00002260: PUSH1 0x05 00002262: ADD 00002263: PUSH1 0x00 00002265: SWAP1 00002266: SLOAD 00002267: SWAP1 00002268: PUSH2 0x0100 0000226b: EXP 0000226c: SWAP1 0000226d: DIV 0000226e: PUSH1 0x01 00002270: PUSH1 0x01 00002272: PUSH1 0xa0 00002274: SHL 00002275: SUB 00002276: AND 00002277: DUP5 00002278: DUP4 00002279: DUP2 0000227a: MLOAD 0000227b: DUP2 0000227c: LT 0000227d: PUSH2 0x17eb 00002280: JUMPI 00002281: PUSH2 0x17eb 00002284: PUSH2 0x4bab 00002287: JUMP 00002288: JUMPDEST 00002289: DUP1 0000228a: PUSH2 0x2292 0000228d: DUP2 0000228e: PUSH2 0x4bd7 00002291: JUMP 00002292: JUMPDEST 00002293: SWAP2 00002294: POP 00002295: POP 00002296: PUSH2 0x2189 00002299: JUMP 0000229a: JUMPDEST 0000229b: PUSH1 0x60 0000229d: PUSH1 0x02 0000229f: DUP1 000022a0: SLOAD 000022a1: DUP1 000022a2: PUSH1 0x20 000022a4: MUL 000022a5: PUSH1 0x20 000022a7: ADD 000022a8: PUSH1 0x40 000022aa: MLOAD 000022ab: SWAP1 000022ac: DUP2 000022ad: ADD 000022ae: PUSH1 0x40 000022b0: MSTORE 000022b1: DUP1 000022b2: SWAP3 000022b3: SWAP2 000022b4: SWAP1 000022b5: DUP2 000022b6: DUP2 000022b7: MSTORE 000022b8: PUSH1 0x20 000022ba: ADD 000022bb: DUP3 000022bc: DUP1 000022bd: SLOAD 000022be: DUP1 000022bf: ISZERO 000022c0: PUSH2 0x13c0 000022c3: JUMPI 000022c4: PUSH1 0x20 000022c6: MUL 000022c7: DUP3 000022c8: ADD 000022c9: SWAP2 000022ca: SWAP1 000022cb: PUSH1 0x00 000022cd: MSTORE 000022ce: PUSH1 0x20 000022d0: PUSH1 0x00 000022d2: KECCAK256 000022d3: SWAP1 000022d4: DUP2 000022d5: SLOAD 000022d6: PUSH1 0x01 000022d8: PUSH1 0x01 000022da: PUSH1 0xa0 000022dc: SHL 000022dd: SUB 000022de: AND 000022df: DUP2 000022e0: MSTORE 000022e1: PUSH1 0x01 000022e3: SWAP1 000022e4: SWAP2 000022e5: ADD 000022e6: SWAP1 000022e7: PUSH1 0x20 000022e9: ADD 000022ea: DUP1 000022eb: DUP4 000022ec: GT 000022ed: PUSH2 0x13a2 000022f0: JUMPI 000022f1: POP 000022f2: POP 000022f3: POP 000022f4: POP 000022f5: POP 000022f6: SWAP1 000022f7: POP 000022f8: SWAP1 000022f9: JUMP 000022fa: JUMPDEST 000022fb: PUSH1 0x05 000022fd: DUP2 000022fe: DUP2 000022ff: SLOAD 00002300: DUP2 00002301: LT 00002302: PUSH2 0x118a 00002305: JUMPI 00002306: PUSH1 0x00 00002308: DUP1 00002309: REVERT 0000230a: JUMPDEST 0000230b: PUSH2 0x2313 0000230e: DUP3 0000230f: PUSH2 0x345b 00002312: JUMP 00002313: JUMPDEST 00002314: PUSH1 0x00 00002316: DUP3 00002317: DUP2 00002318: MSTORE 00002319: PUSH1 0x10 0000231b: PUSH1 0x20 0000231d: SWAP1 0000231e: DUP2 0000231f: MSTORE 00002320: PUSH1 0x40 00002322: DUP1 00002323: DUP4 00002324: KECCAK256 00002325: CALLER 00002326: DUP5 00002327: MSTORE 00002328: SWAP1 00002329: SWAP2 0000232a: MSTORE 0000232b: DUP2 0000232c: KECCAK256 0000232d: DUP1 0000232e: SLOAD 0000232f: DUP4 00002330: SWAP3 00002331: SWAP1 00002332: PUSH2 0x233c 00002335: SWAP1 00002336: DUP5 00002337: SWAP1 00002338: PUSH2 0x4ec1 0000233b: JUMP 0000233c: JUMPDEST 0000233d: SWAP1 0000233e: SWAP2 0000233f: SSTORE 00002340: POP 00002341: PUSH2 0x0fa1 00002344: SWAP1 00002345: POP 00002346: DUP3 00002347: CALLER 00002348: DUP4 00002349: PUSH2 0x34db 0000234c: JUMP 0000234d: JUMPDEST 0000234e: PUSH1 0x00 00002350: PUSH2 0x2358 00002353: CALLER 00002354: PUSH2 0x1737 00002357: JUMP 00002358: JUMPDEST 00002359: PUSH2 0x1767 0000235c: JUMPI 0000235d: PUSH1 0x40 0000235f: MLOAD 00002360: PUSH3 0x461bcd 00002364: PUSH1 0xe5 00002366: SHL 00002367: DUP2 00002368: MSTORE 00002369: PUSH1 0x04 0000236b: ADD 0000236c: PUSH2 0x0eb8 0000236f: SWAP1 00002370: PUSH2 0x4ccb 00002373: JUMP 00002374: JUMPDEST 00002375: PUSH1 0x00 00002377: PUSH2 0x237f 0000237a: CALLER 0000237b: PUSH2 0x11ab 0000237e: JUMP 0000237f: JUMPDEST 00002380: PUSH2 0x239b 00002383: JUMPI 00002384: PUSH1 0x40 00002386: MLOAD 00002387: PUSH3 0x461bcd 0000238b: PUSH1 0xe5 0000238d: SHL 0000238e: DUP2 0000238f: MSTORE 00002390: PUSH1 0x04 00002392: ADD 00002393: PUSH2 0x0eb8 00002396: SWAP1 00002397: PUSH2 0x4b87 0000239a: JUMP 0000239b: JUMPDEST 0000239c: PUSH2 0x11e4 0000239f: PUSH1 0x04 000023a1: DUP4 000023a2: PUSH1 0x01 000023a4: PUSH2 0x2e31 000023a7: JUMP 000023a8: JUMPDEST 000023a9: PUSH2 0x23b1 000023ac: CALLER 000023ad: PUSH2 0x11ab 000023b0: JUMP 000023b1: JUMPDEST 000023b2: PUSH2 0x23cd 000023b5: JUMPI 000023b6: PUSH1 0x40 000023b8: MLOAD 000023b9: PUSH3 0x461bcd 000023bd: PUSH1 0xe5 000023bf: SHL 000023c0: DUP2 000023c1: MSTORE 000023c2: PUSH1 0x04 000023c4: ADD 000023c5: PUSH2 0x0eb8 000023c8: SWAP1 000023c9: PUSH2 0x4b87 000023cc: JUMP 000023cd: JUMPDEST 000023ce: PUSH1 0x00 000023d0: SLOAD 000023d1: PUSH3 0x010000 000023d5: SWAP1 000023d6: DIV 000023d7: PUSH1 0x60 000023d9: SHL 000023da: PUSH1 0x01 000023dc: PUSH1 0x01 000023de: PUSH1 0x60 000023e0: SHL 000023e1: SUB 000023e2: NOT 000023e3: AND 000023e4: ISZERO 000023e5: PUSH2 0x241c 000023e8: JUMPI 000023e9: PUSH1 0x40 000023eb: MLOAD 000023ec: PUSH3 0x461bcd 000023f0: PUSH1 0xe5 000023f2: SHL 000023f3: DUP2 000023f4: MSTORE 000023f5: PUSH1 0x20 000023f7: PUSH1 0x04 000023f9: DUP3 000023fa: ADD 000023fb: MSTORE 000023fc: PUSH1 0x09 000023fe: PUSH1 0x24 00002400: DUP3 00002401: ADD 00002402: MSTORE 00002403: PUSH9 0x6f6e6c79206f6e6365 0000240d: PUSH1 0xb8 0000240f: SHL 00002410: PUSH1 0x44 00002412: DUP3 00002413: ADD 00002414: MSTORE 00002415: PUSH1 0x64 00002417: ADD 00002418: PUSH2 0x0eb8 0000241b: JUMP 0000241c: JUMPDEST 0000241d: PUSH1 0x00 0000241f: DUP1 00002420: SLOAD 00002421: PUSH1 0x60 00002423: SWAP3 00002424: SWAP1 00002425: SWAP3 00002426: SHR 00002427: PUSH3 0x010000 0000242b: MUL 0000242c: PUSH3 0x010000 00002430: PUSH1 0x01 00002432: PUSH1 0xb0 00002434: SHL 00002435: SUB 00002436: NOT 00002437: SWAP1 00002438: SWAP3 00002439: AND 0000243a: SWAP2 0000243b: SWAP1 0000243c: SWAP2 0000243d: OR 0000243e: SWAP1 0000243f: SSTORE 00002440: JUMP 00002441: JUMPDEST 00002442: PUSH2 0x2449 00002445: PUSH2 0x2d55 00002448: JUMP 00002449: JUMPDEST 0000244a: PUSH1 0x06 0000244c: DUP1 0000244d: SLOAD 0000244e: PUSH1 0x01 00002450: PUSH1 0x01 00002452: PUSH1 0xa0 00002454: SHL 00002455: SUB 00002456: NOT 00002457: AND 00002458: PUSH1 0x01 0000245a: PUSH1 0x01 0000245c: PUSH1 0xa0 0000245e: SHL 0000245f: SUB 00002460: SWAP3 00002461: SWAP1 00002462: SWAP3 00002463: AND 00002464: SWAP2 00002465: SWAP1 00002466: SWAP2 00002467: OR 00002468: SWAP1 00002469: SSTORE 0000246a: JUMP 0000246b: JUMPDEST 0000246c: PUSH1 0x00 0000246e: PUSH2 0x2476 00002471: CALLER 00002472: PUSH2 0x12f0 00002475: JUMP 00002476: JUMPDEST 00002477: PUSH2 0x1320 0000247a: JUMPI 0000247b: PUSH1 0x40 0000247d: MLOAD 0000247e: PUSH3 0x461bcd 00002482: PUSH1 0xe5 00002484: SHL 00002485: DUP2 00002486: MSTORE 00002487: PUSH1 0x04 00002489: ADD 0000248a: PUSH2 0x0eb8 0000248d: SWAP1 0000248e: PUSH2 0x4bf0 00002491: JUMP 00002492: JUMPDEST 00002493: PUSH1 0x00 00002495: PUSH2 0x249d 00002498: CALLER 00002499: PUSH2 0x11ab 0000249c: JUMP 0000249d: JUMPDEST 0000249e: PUSH2 0x24b9 000024a1: JUMPI 000024a2: PUSH1 0x40 000024a4: MLOAD 000024a5: PUSH3 0x461bcd 000024a9: PUSH1 0xe5 000024ab: SHL 000024ac: DUP2 000024ad: MSTORE 000024ae: PUSH1 0x04 000024b0: ADD 000024b1: PUSH2 0x0eb8 000024b4: SWAP1 000024b5: PUSH2 0x4b87 000024b8: JUMP 000024b9: JUMPDEST 000024ba: PUSH2 0x24c2 000024bd: DUP3 000024be: PUSH2 0x2ded 000024c1: JUMP 000024c2: JUMPDEST 000024c3: PUSH2 0x11e4 000024c6: PUSH1 0x03 000024c8: DUP4 000024c9: PUSH1 0x04 000024cb: PUSH2 0x2e31 000024ce: JUMP 000024cf: JUMPDEST 000024d0: PUSH2 0x24d7 000024d3: PUSH2 0x2d55 000024d6: JUMP 000024d7: JUMPDEST 000024d8: PUSH1 0x00 000024da: JUMPDEST 000024db: DUP4 000024dc: DUP2 000024dd: LT 000024de: ISZERO 000024df: PUSH2 0x1693 000024e2: JUMPI 000024e3: DUP3 000024e4: DUP3 000024e5: DUP3 000024e6: DUP2 000024e7: DUP2 000024e8: LT 000024e9: PUSH2 0x24f4 000024ec: JUMPI 000024ed: PUSH2 0x24f4 000024f0: PUSH2 0x4bab 000024f3: JUMP 000024f4: JUMPDEST 000024f5: SWAP1 000024f6: POP 000024f7: PUSH1 0x60 000024f9: MUL 000024fa: ADD 000024fb: PUSH1 0x0a 000024fd: PUSH1 0x00 000024ff: DUP8 00002500: DUP8 00002501: DUP6 00002502: DUP2 00002503: DUP2 00002504: LT 00002505: PUSH2 0x2510 00002508: JUMPI 00002509: PUSH2 0x2510 0000250c: PUSH2 0x4bab 0000250f: JUMP 00002510: JUMPDEST 00002511: SWAP1 00002512: POP 00002513: PUSH1 0x20 00002515: MUL 00002516: ADD 00002517: CALLDATALOAD 00002518: DUP2 00002519: MSTORE 0000251a: PUSH1 0x20 0000251c: ADD 0000251d: SWAP1 0000251e: DUP2 0000251f: MSTORE 00002520: PUSH1 0x20 00002522: ADD 00002523: PUSH1 0x00 00002525: KECCAK256 00002526: PUSH1 0x00 00002528: ADD 00002529: DUP2 0000252a: DUP2 0000252b: PUSH2 0x2534 0000252e: SWAP2 0000252f: SWAP1 00002530: PUSH2 0x4c31 00002533: JUMP 00002534: JUMPDEST 00002535: SWAP1 00002536: POP 00002537: POP 00002538: PUSH32 0xacfad0157cd2da7666b74ee0913cbf7138d00099b488e5fc050f407085ffcbeb 00002559: DUP6 0000255a: DUP6 0000255b: DUP4 0000255c: DUP2 0000255d: DUP2 0000255e: LT 0000255f: PUSH2 0x256a 00002562: JUMPI 00002563: PUSH2 0x256a 00002566: PUSH2 0x4bab 00002569: JUMP 0000256a: JUMPDEST 0000256b: SWAP1 0000256c: POP 0000256d: PUSH1 0x20 0000256f: MUL 00002570: ADD 00002571: CALLDATALOAD 00002572: DUP5 00002573: DUP5 00002574: DUP5 00002575: DUP2 00002576: DUP2 00002577: LT 00002578: PUSH2 0x2583 0000257b: JUMPI 0000257c: PUSH2 0x2583 0000257f: PUSH2 0x4bab 00002582: JUMP 00002583: JUMPDEST 00002584: SWAP1 00002585: POP 00002586: PUSH1 0x60 00002588: MUL 00002589: ADD 0000258a: PUSH1 0x40 0000258c: MLOAD 0000258d: PUSH2 0x2597 00002590: SWAP3 00002591: SWAP2 00002592: SWAP1 00002593: PUSH2 0x4cb7 00002596: JUMP 00002597: JUMPDEST 00002598: PUSH1 0x40 0000259a: MLOAD 0000259b: DUP1 0000259c: SWAP2 0000259d: SUB 0000259e: SWAP1 0000259f: LOG1 000025a0: DUP1 000025a1: PUSH2 0x25a9 000025a4: DUP2 000025a5: PUSH2 0x4bd7 000025a8: JUMP 000025a9: JUMPDEST 000025aa: SWAP2 000025ab: POP 000025ac: POP 000025ad: PUSH2 0x24da 000025b0: JUMP 000025b1: JUMPDEST 000025b2: PUSH1 0x60 000025b4: PUSH1 0x03 000025b6: DUP1 000025b7: SLOAD 000025b8: DUP1 000025b9: PUSH1 0x20 000025bb: MUL 000025bc: PUSH1 0x20 000025be: ADD 000025bf: PUSH1 0x40 000025c1: MLOAD 000025c2: SWAP1 000025c3: DUP2 000025c4: ADD 000025c5: PUSH1 0x40 000025c7: MSTORE 000025c8: DUP1 000025c9: SWAP3 000025ca: SWAP2 000025cb: SWAP1 000025cc: DUP2 000025cd: DUP2 000025ce: MSTORE 000025cf: PUSH1 0x20 000025d1: ADD 000025d2: DUP3 000025d3: DUP1 000025d4: SLOAD 000025d5: DUP1 000025d6: ISZERO 000025d7: PUSH2 0x13c0 000025da: JUMPI 000025db: PUSH1 0x20 000025dd: MUL 000025de: DUP3 000025df: ADD 000025e0: SWAP2 000025e1: SWAP1 000025e2: PUSH1 0x00 000025e4: MSTORE 000025e5: PUSH1 0x20 000025e7: PUSH1 0x00 000025e9: KECCAK256 000025ea: SWAP1 000025eb: DUP2 000025ec: SLOAD 000025ed: PUSH1 0x01 000025ef: PUSH1 0x01 000025f1: PUSH1 0xa0 000025f3: SHL 000025f4: SUB 000025f5: AND 000025f6: DUP2 000025f7: MSTORE 000025f8: PUSH1 0x01 000025fa: SWAP1 000025fb: SWAP2 000025fc: ADD 000025fd: SWAP1 000025fe: PUSH1 0x20 00002600: ADD 00002601: DUP1 00002602: DUP4 00002603: GT 00002604: PUSH2 0x13a2 00002607: JUMPI 00002608: POP 00002609: POP 0000260a: POP 0000260b: POP 0000260c: POP 0000260d: SWAP1 0000260e: POP 0000260f: SWAP1 00002610: JUMP 00002611: JUMPDEST 00002612: PUSH2 0x261a 00002615: DUP3 00002616: PUSH2 0x345b 00002619: JUMP 0000261a: JUMPDEST 0000261b: PUSH2 0x2625 0000261e: DUP3 0000261f: CALLER 00002620: DUP4 00002621: PUSH2 0x2c5e 00002624: JUMP 00002625: JUMPDEST 00002626: PUSH1 0x00 00002628: DUP3 00002629: DUP2 0000262a: MSTORE 0000262b: PUSH1 0x10 0000262d: PUSH1 0x20 0000262f: SWAP1 00002630: DUP2 00002631: MSTORE 00002632: PUSH1 0x40 00002634: DUP1 00002635: DUP4 00002636: KECCAK256 00002637: CALLER 00002638: DUP5 00002639: MSTORE 0000263a: SWAP1 0000263b: SWAP2 0000263c: MSTORE 0000263d: DUP2 0000263e: KECCAK256 0000263f: DUP1 00002640: SLOAD 00002641: DUP4 00002642: SWAP3 00002643: SWAP1 00002644: PUSH2 0x264e 00002647: SWAP1 00002648: DUP5 00002649: SWAP1 0000264a: PUSH2 0x4ed8 0000264d: JUMP 0000264e: JUMPDEST 0000264f: SWAP1 00002650: SWAP2 00002651: SSTORE 00002652: POP 00002653: POP 00002654: POP 00002655: POP 00002656: JUMP 00002657: JUMPDEST 00002658: PUSH1 0x03 0000265a: DUP2 0000265b: DUP2 0000265c: SLOAD 0000265d: DUP2 0000265e: LT 0000265f: PUSH2 0x118a 00002662: JUMPI 00002663: PUSH1 0x00 00002665: DUP1 00002666: REVERT 00002667: JUMPDEST 00002668: PUSH1 0x00 0000266a: SLOAD 0000266b: PUSH2 0x0100 0000266e: SWAP1 0000266f: DIV 00002670: PUSH1 0xff 00002672: AND 00002673: ISZERO 00002674: DUP1 00002675: DUP1 00002676: ISZERO 00002677: PUSH2 0x2687 0000267a: JUMPI 0000267b: POP 0000267c: PUSH1 0x00 0000267e: SLOAD 0000267f: PUSH1 0x01 00002681: PUSH1 0xff 00002683: SWAP1 00002684: SWAP2 00002685: AND 00002686: LT 00002687: JUMPDEST 00002688: DUP1 00002689: PUSH2 0x26a8 0000268c: JUMPI 0000268d: POP 0000268e: PUSH2 0x2696 00002691: ADDRESS 00002692: PUSH2 0x2b8e 00002695: JUMP 00002696: JUMPDEST 00002697: ISZERO 00002698: DUP1 00002699: ISZERO 0000269a: PUSH2 0x26a8 0000269d: JUMPI 0000269e: POP 0000269f: PUSH1 0x00 000026a1: SLOAD 000026a2: PUSH1 0xff 000026a4: AND 000026a5: PUSH1 0x01 000026a7: EQ 000026a8: JUMPDEST 000026a9: PUSH2 0x270b 000026ac: JUMPI 000026ad: PUSH1 0x40 000026af: MLOAD 000026b0: PUSH3 0x461bcd 000026b4: PUSH1 0xe5 000026b6: SHL 000026b7: DUP2 000026b8: MSTORE 000026b9: PUSH1 0x20 000026bb: PUSH1 0x04 000026bd: DUP3 000026be: ADD 000026bf: MSTORE 000026c0: PUSH1 0x2e 000026c2: PUSH1 0x24 000026c4: DUP3 000026c5: ADD 000026c6: MSTORE 000026c7: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000026e8: PUSH1 0x44 000026ea: DUP3 000026eb: ADD 000026ec: MSTORE 000026ed: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 000026fc: PUSH1 0x92 000026fe: SHL 000026ff: PUSH1 0x64 00002701: DUP3 00002702: ADD 00002703: MSTORE 00002704: PUSH1 0x84 00002706: ADD 00002707: PUSH2 0x0eb8 0000270a: JUMP 0000270b: JUMPDEST 0000270c: PUSH1 0x00 0000270e: DUP1 0000270f: SLOAD 00002710: PUSH1 0xff 00002712: NOT 00002713: AND 00002714: PUSH1 0x01 00002716: OR 00002717: SWAP1 00002718: SSTORE 00002719: DUP1 0000271a: ISZERO 0000271b: PUSH2 0x272e 0000271e: JUMPI 0000271f: PUSH1 0x00 00002721: DUP1 00002722: SLOAD 00002723: PUSH2 0xff00 00002726: NOT 00002727: AND 00002728: PUSH2 0x0100 0000272b: OR 0000272c: SWAP1 0000272d: SSTORE 0000272e: JUMPDEST 0000272f: PUSH2 0x2739 00002732: CALLER 00002733: PUSH1 0x03 00002735: PUSH2 0x35d4 00002738: JUMP 00002739: JUMPDEST 0000273a: PUSH1 0x02 0000273c: DUP1 0000273d: SLOAD 0000273e: PUSH1 0x01 00002740: DUP1 00002741: DUP3 00002742: ADD 00002743: SWAP1 00002744: SWAP3 00002745: SSTORE 00002746: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 00002767: ADD 00002768: DUP1 00002769: SLOAD 0000276a: PUSH1 0x01 0000276c: PUSH1 0x01 0000276e: PUSH1 0xa0 00002770: SHL 00002771: SUB 00002772: NOT 00002773: SWAP1 00002774: DUP2 00002775: AND 00002776: CALLER 00002777: OR 00002778: SWAP1 00002779: SWAP2 0000277a: SSTORE 0000277b: PUSH1 0x03 0000277d: DUP1 0000277e: SLOAD 0000277f: DUP1 00002780: DUP5 00002781: ADD 00002782: SWAP1 00002783: SWAP2 00002784: SSTORE 00002785: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b 000027a6: ADD 000027a7: DUP1 000027a8: SLOAD 000027a9: DUP3 000027aa: AND 000027ab: SWAP1 000027ac: SSTORE 000027ad: PUSH1 0x04 000027af: DUP1 000027b0: SLOAD 000027b1: DUP1 000027b2: DUP5 000027b3: ADD 000027b4: SWAP1 000027b5: SWAP2 000027b6: SSTORE 000027b7: PUSH32 0x8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b 000027d8: ADD 000027d9: DUP1 000027da: SLOAD 000027db: DUP3 000027dc: AND 000027dd: SWAP1 000027de: SSTORE 000027df: PUSH1 0x05 000027e1: DUP1 000027e2: SLOAD 000027e3: SWAP3 000027e4: DUP4 000027e5: ADD 000027e6: DUP2 000027e7: SSTORE 000027e8: PUSH1 0x00 000027ea: MSTORE 000027eb: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0 0000280c: SWAP1 0000280d: SWAP2 0000280e: ADD 0000280f: DUP1 00002810: SLOAD 00002811: SWAP1 00002812: SWAP2 00002813: AND 00002814: SWAP1 00002815: SSTORE 00002816: DUP1 00002817: ISZERO 00002818: PUSH2 0x1920 0000281b: JUMPI 0000281c: PUSH1 0x00 0000281e: DUP1 0000281f: SLOAD 00002820: PUSH2 0xff00 00002823: NOT 00002824: AND 00002825: SWAP1 00002826: SSTORE 00002827: PUSH1 0x40 00002829: MLOAD 0000282a: PUSH1 0x01 0000282c: DUP2 0000282d: MSTORE 0000282e: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 0000284f: SWAP1 00002850: PUSH1 0x20 00002852: ADD 00002853: PUSH1 0x40 00002855: MLOAD 00002856: DUP1 00002857: SWAP2 00002858: SUB 00002859: SWAP1 0000285a: LOG1 0000285b: POP 0000285c: JUMP 0000285d: JUMPDEST 0000285e: PUSH2 0x2865 00002861: PUSH2 0x2d55 00002864: JUMP 00002865: JUMPDEST 00002866: PUSH1 0x00 00002868: JUMPDEST 00002869: DUP2 0000286a: MLOAD 0000286b: DUP2 0000286c: LT 0000286d: ISZERO 0000286e: PUSH2 0x0fa1 00002871: JUMPI 00002872: PUSH1 0x03 00002874: PUSH1 0x0a 00002876: PUSH1 0x00 00002878: DUP5 00002879: DUP5 0000287a: DUP2 0000287b: MLOAD 0000287c: DUP2 0000287d: LT 0000287e: PUSH2 0x2889 00002881: JUMPI 00002882: PUSH2 0x2889 00002885: PUSH2 0x4bab 00002888: JUMP 00002889: JUMPDEST 0000288a: PUSH1 0x20 0000288c: MUL 0000288d: PUSH1 0x20 0000288f: ADD 00002890: ADD 00002891: MLOAD 00002892: DUP2 00002893: MSTORE 00002894: PUSH1 0x20 00002896: ADD 00002897: SWAP1 00002898: DUP2 00002899: MSTORE 0000289a: PUSH1 0x20 0000289c: ADD 0000289d: PUSH1 0x00 0000289f: KECCAK256 000028a0: PUSH1 0x04 000028a2: ADD 000028a3: PUSH1 0x00 000028a5: PUSH2 0x0100 000028a8: EXP 000028a9: DUP2 000028aa: SLOAD 000028ab: DUP2 000028ac: PUSH1 0xff 000028ae: MUL 000028af: NOT 000028b0: AND 000028b1: SWAP1 000028b2: DUP4 000028b3: PUSH1 0x03 000028b5: DUP2 000028b6: GT 000028b7: ISZERO 000028b8: PUSH2 0x28c3 000028bb: JUMPI 000028bc: PUSH2 0x28c3 000028bf: PUSH2 0x3ec0 000028c2: JUMP 000028c3: JUMPDEST 000028c4: MUL 000028c5: OR 000028c6: SWAP1 000028c7: SSTORE 000028c8: POP 000028c9: DUP1 000028ca: PUSH2 0x28d2 000028cd: DUP2 000028ce: PUSH2 0x4bd7 000028d1: JUMP 000028d2: JUMPDEST 000028d3: SWAP2 000028d4: POP 000028d5: POP 000028d6: PUSH2 0x2868 000028d9: JUMP 000028da: JUMPDEST 000028db: PUSH2 0x28e2 000028de: PUSH2 0x2d55 000028e1: JUMP 000028e2: JUMPDEST 000028e3: PUSH1 0x00 000028e5: JUMPDEST 000028e6: DUP4 000028e7: DUP2 000028e8: LT 000028e9: ISZERO 000028ea: PUSH2 0x1693 000028ed: JUMPI 000028ee: DUP3 000028ef: DUP3 000028f0: DUP3 000028f1: DUP2 000028f2: DUP2 000028f3: LT 000028f4: PUSH2 0x28ff 000028f7: JUMPI 000028f8: PUSH2 0x28ff 000028fb: PUSH2 0x4bab 000028fe: JUMP 000028ff: JUMPDEST 00002900: SWAP1 00002901: POP 00002902: PUSH1 0x20 00002904: MUL 00002905: ADD 00002906: PUSH1 0x20 00002908: DUP2 00002909: ADD 0000290a: SWAP1 0000290b: PUSH2 0x2914 0000290e: SWAP2 0000290f: SWAP1 00002910: PUSH2 0x402a 00002913: JUMP 00002914: JUMPDEST 00002915: PUSH1 0x0a 00002917: PUSH1 0x00 00002919: DUP8 0000291a: DUP8 0000291b: DUP6 0000291c: DUP2 0000291d: DUP2 0000291e: LT 0000291f: PUSH2 0x292a 00002922: JUMPI 00002923: PUSH2 0x292a 00002926: PUSH2 0x4bab 00002929: JUMP 0000292a: JUMPDEST 0000292b: SWAP1 0000292c: POP 0000292d: PUSH1 0x20 0000292f: MUL 00002930: ADD 00002931: CALLDATALOAD 00002932: DUP2 00002933: MSTORE 00002934: PUSH1 0x20 00002936: ADD 00002937: SWAP1 00002938: DUP2 00002939: MSTORE 0000293a: PUSH1 0x20 0000293c: ADD 0000293d: PUSH1 0x00 0000293f: KECCAK256 00002940: PUSH1 0x06 00002942: ADD 00002943: PUSH1 0x00 00002945: PUSH2 0x0100 00002948: EXP 00002949: DUP2 0000294a: SLOAD 0000294b: DUP2 0000294c: PUSH1 0x01 0000294e: PUSH1 0x01 00002950: PUSH1 0xa0 00002952: SHL 00002953: SUB 00002954: MUL 00002955: NOT 00002956: AND 00002957: SWAP1 00002958: DUP4 00002959: PUSH1 0x01 0000295b: PUSH1 0x01 0000295d: PUSH1 0xa0 0000295f: SHL 00002960: SUB 00002961: AND 00002962: MUL 00002963: OR 00002964: SWAP1 00002965: SSTORE 00002966: POP 00002967: DUP1 00002968: DUP1 00002969: PUSH2 0x2971 0000296c: SWAP1 0000296d: PUSH2 0x4bd7 00002970: JUMP 00002971: JUMPDEST 00002972: SWAP2 00002973: POP 00002974: POP 00002975: PUSH2 0x28e5 00002978: JUMP 00002979: JUMPDEST 0000297a: PUSH1 0x00 0000297c: PUSH2 0x2984 0000297f: CALLER 00002980: PUSH2 0x11ab 00002983: JUMP 00002984: JUMPDEST 00002985: PUSH2 0x29a0 00002988: JUMPI 00002989: PUSH1 0x40 0000298b: MLOAD 0000298c: PUSH3 0x461bcd 00002990: PUSH1 0xe5 00002992: SHL 00002993: DUP2 00002994: MSTORE 00002995: PUSH1 0x04 00002997: ADD 00002998: PUSH2 0x0eb8 0000299b: SWAP1 0000299c: PUSH2 0x4b87 0000299f: JUMP 000029a0: JUMPDEST 000029a1: PUSH2 0x29a9 000029a4: DUP3 000029a5: PUSH2 0x2ded 000029a8: JUMP 000029a9: JUMPDEST 000029aa: PUSH2 0x11e4 000029ad: PUSH1 0x05 000029af: DUP4 000029b0: PUSH1 0x02 000029b2: PUSH2 0x2e31 000029b5: JUMP 000029b6: JUMPDEST 000029b7: PUSH1 0x00 000029b9: PUSH2 0x29c1 000029bc: CALLER 000029bd: PUSH2 0x11ab 000029c0: JUMP 000029c1: JUMPDEST 000029c2: PUSH2 0x29dd 000029c5: JUMPI 000029c6: PUSH1 0x40 000029c8: MLOAD 000029c9: PUSH3 0x461bcd 000029cd: PUSH1 0xe5 000029cf: SHL 000029d0: DUP2 000029d1: MSTORE 000029d2: PUSH1 0x04 000029d4: ADD 000029d5: PUSH2 0x0eb8 000029d8: SWAP1 000029d9: PUSH2 0x4b87 000029dc: JUMP 000029dd: JUMPDEST 000029de: PUSH2 0x29e6 000029e1: DUP3 000029e2: PUSH2 0x2ded 000029e5: JUMP 000029e6: JUMPDEST 000029e7: PUSH2 0x29f1 000029ea: PUSH1 0x02 000029ec: CALLER 000029ed: PUSH2 0x1a72 000029f0: JUMP 000029f1: JUMPDEST 000029f2: PUSH2 0x29fe 000029f5: PUSH1 0x02 000029f7: DUP4 000029f8: PUSH1 0x03 000029fa: PUSH2 0x2e31 000029fd: JUMP 000029fe: JUMPDEST 000029ff: PUSH1 0x40 00002a01: MLOAD 00002a02: PUSH1 0x01 00002a04: PUSH1 0x01 00002a06: PUSH1 0xa0 00002a08: SHL 00002a09: SUB 00002a0a: DUP4 00002a0b: AND 00002a0c: SWAP1 00002a0d: CALLER 00002a0e: SWAP1 00002a0f: PUSH32 0x5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c 00002a30: SWAP1 00002a31: PUSH1 0x00 00002a33: SWAP1 00002a34: LOG3 00002a35: POP 00002a36: PUSH1 0x01 00002a38: SWAP2 00002a39: SWAP1 00002a3a: POP 00002a3b: JUMP 00002a3c: JUMPDEST 00002a3d: PUSH2 0x2a44 00002a40: PUSH2 0x2d55 00002a43: JUMP 00002a44: JUMPDEST 00002a45: PUSH1 0x00 00002a47: PUSH2 0x2a4e 00002a4a: PUSH2 0x3245 00002a4d: JUMP 00002a4e: JUMPDEST 00002a4f: SWAP1 00002a50: POP 00002a51: PUSH1 0x00 00002a53: DUP1 00002a54: JUMPDEST 00002a55: DUP5 00002a56: MLOAD 00002a57: DUP2 00002a58: LT 00002a59: ISZERO 00002a5a: PUSH2 0x1693 00002a5d: JUMPI 00002a5e: DUP4 00002a5f: DUP2 00002a60: DUP2 00002a61: MLOAD 00002a62: DUP2 00002a63: LT 00002a64: PUSH2 0x2a6f 00002a67: JUMPI 00002a68: PUSH2 0x2a6f 00002a6b: PUSH2 0x4bab 00002a6e: JUMP 00002a6f: JUMPDEST 00002a70: PUSH1 0x20 00002a72: MUL 00002a73: PUSH1 0x20 00002a75: ADD 00002a76: ADD 00002a77: MLOAD 00002a78: PUSH1 0x0a 00002a7a: PUSH1 0x00 00002a7c: DUP8 00002a7d: DUP5 00002a7e: DUP2 00002a7f: MLOAD 00002a80: DUP2 00002a81: LT 00002a82: PUSH2 0x2a8d 00002a85: JUMPI 00002a86: PUSH2 0x2a8d 00002a89: PUSH2 0x4bab 00002a8c: JUMP 00002a8d: JUMPDEST 00002a8e: PUSH1 0x20 00002a90: MUL 00002a91: PUSH1 0x20 00002a93: ADD 00002a94: ADD 00002a95: MLOAD 00002a96: DUP2 00002a97: MSTORE 00002a98: PUSH1 0x20 00002a9a: ADD 00002a9b: SWAP1 00002a9c: DUP2 00002a9d: MSTORE 00002a9e: PUSH1 0x20 00002aa0: ADD 00002aa1: PUSH1 0x00 00002aa3: KECCAK256 00002aa4: PUSH1 0x05 00002aa6: ADD 00002aa7: PUSH1 0x00 00002aa9: PUSH2 0x0100 00002aac: EXP 00002aad: DUP2 00002aae: SLOAD 00002aaf: DUP2 00002ab0: PUSH1 0x01 00002ab2: PUSH1 0x01 00002ab4: PUSH1 0xa0 00002ab6: SHL 00002ab7: SUB 00002ab8: MUL 00002ab9: NOT 00002aba: AND 00002abb: SWAP1 00002abc: DUP4 00002abd: PUSH1 0x01 00002abf: PUSH1 0x01 00002ac1: PUSH1 0xa0 00002ac3: SHL 00002ac4: SUB 00002ac5: AND 00002ac6: MUL 00002ac7: OR 00002ac8: SWAP1 00002ac9: SSTORE 00002aca: POP 00002acb: PUSH2 0x2af6 00002ace: DUP6 00002acf: DUP3 00002ad0: DUP2 00002ad1: MLOAD 00002ad2: DUP2 00002ad3: LT 00002ad4: PUSH2 0x2adf 00002ad7: JUMPI 00002ad8: PUSH2 0x2adf 00002adb: PUSH2 0x4bab 00002ade: JUMP 00002adf: JUMPDEST 00002ae0: PUSH1 0x20 00002ae2: MUL 00002ae3: PUSH1 0x20 00002ae5: ADD 00002ae6: ADD 00002ae7: MLOAD 00002ae8: DUP5 00002ae9: PUSH2 0x32f0 00002aec: SWAP1 00002aed: SWAP2 00002aee: SWAP1 00002aef: PUSH4 0xffffffff 00002af4: AND 00002af5: JUMP 00002af6: JUMPDEST 00002af7: ISZERO 00002af8: PUSH2 0x2b53 00002afb: JUMPI 00002afc: PUSH2 0x2b53 00002aff: PUSH1 0x0a 00002b01: PUSH1 0x00 00002b03: DUP8 00002b04: DUP5 00002b05: DUP2 00002b06: MLOAD 00002b07: DUP2 00002b08: LT 00002b09: PUSH2 0x2b14 00002b0c: JUMPI 00002b0d: PUSH2 0x2b14 00002b10: PUSH2 0x4bab 00002b13: JUMP 00002b14: JUMPDEST 00002b15: PUSH1 0x20 00002b17: MUL 00002b18: PUSH1 0x20 00002b1a: ADD 00002b1b: ADD 00002b1c: MLOAD 00002b1d: DUP2 00002b1e: MSTORE 00002b1f: PUSH1 0x20 00002b21: ADD 00002b22: SWAP1 00002b23: DUP2 00002b24: MSTORE 00002b25: PUSH1 0x20 00002b27: ADD 00002b28: PUSH1 0x00 00002b2a: KECCAK256 00002b2b: PUSH1 0x06 00002b2d: ADD 00002b2e: PUSH1 0x00 00002b30: SWAP1 00002b31: SLOAD 00002b32: SWAP1 00002b33: PUSH2 0x0100 00002b36: EXP 00002b37: SWAP1 00002b38: DIV 00002b39: PUSH1 0x01 00002b3b: PUSH1 0x01 00002b3d: PUSH1 0xa0 00002b3f: SHL 00002b40: SUB 00002b41: AND 00002b42: DUP6 00002b43: DUP4 00002b44: DUP2 00002b45: MLOAD 00002b46: DUP2 00002b47: LT 00002b48: PUSH2 0x17eb 00002b4b: JUMPI 00002b4c: PUSH2 0x17eb 00002b4f: PUSH2 0x4bab 00002b52: JUMP 00002b53: JUMPDEST 00002b54: DUP1 00002b55: PUSH2 0x2b5d 00002b58: DUP2 00002b59: PUSH2 0x4bd7 00002b5c: JUMP 00002b5d: JUMPDEST 00002b5e: SWAP2 00002b5f: POP 00002b60: POP 00002b61: PUSH2 0x2a54 00002b64: JUMP 00002b65: JUMPDEST 00002b66: PUSH2 0x2b6d 00002b69: PUSH2 0x2d55 00002b6c: JUMP 00002b6d: JUMPDEST 00002b6e: PUSH1 0x00 00002b70: DUP3 00002b71: DUP2 00002b72: MSTORE 00002b73: PUSH1 0x0a 00002b75: PUSH1 0x20 00002b77: MSTORE 00002b78: PUSH1 0x40 00002b7a: DUP2 00002b7b: KECCAK256 00002b7c: PUSH1 0x07 00002b7e: ADD 00002b7f: DUP1 00002b80: SLOAD 00002b81: DUP4 00002b82: SWAP3 00002b83: SWAP1 00002b84: PUSH2 0x233c 00002b87: SWAP1 00002b88: DUP5 00002b89: SWAP1 00002b8a: PUSH2 0x4ec1 00002b8d: JUMP 00002b8e: JUMPDEST 00002b8f: PUSH1 0x01 00002b91: PUSH1 0x01 00002b93: PUSH1 0xa0 00002b95: SHL 00002b96: SUB 00002b97: AND 00002b98: EXTCODESIZE 00002b99: ISZERO 00002b9a: ISZERO 00002b9b: SWAP1 00002b9c: JUMP 00002b9d: JUMPDEST 00002b9e: PUSH1 0x00 00002ba0: DUP3 00002ba1: DUP2 00002ba2: MSTORE 00002ba3: PUSH1 0x0d 00002ba5: PUSH1 0x20 00002ba7: SWAP1 00002ba8: DUP2 00002ba9: MSTORE 00002baa: PUSH1 0x40 00002bac: DUP1 00002bad: DUP4 00002bae: KECCAK256 00002baf: DUP5 00002bb0: DUP4 00002bb1: ADD 00002bb2: MLOAD 00002bb3: PUSH1 0x01 00002bb5: PUSH1 0x01 00002bb7: PUSH1 0x80 00002bb9: SHL 00002bba: SUB 00002bbb: NOT 00002bbc: AND 00002bbd: DUP5 00002bbe: MSTORE 00002bbf: SWAP1 00002bc0: SWAP2 00002bc1: MSTORE 00002bc2: SWAP1 00002bc3: KECCAK256 00002bc4: SLOAD 00002bc5: PUSH1 0xff 00002bc7: AND 00002bc8: PUSH2 0x0fa1 00002bcb: JUMPI 00002bcc: PUSH1 0x40 00002bce: MLOAD 00002bcf: PUSH3 0x461bcd 00002bd3: PUSH1 0xe5 00002bd5: SHL 00002bd6: DUP2 00002bd7: MSTORE 00002bd8: PUSH1 0x20 00002bda: PUSH1 0x04 00002bdc: DUP3 00002bdd: ADD 00002bde: MSTORE 00002bdf: PUSH1 0x11 00002be1: PUSH1 0x24 00002be3: DUP3 00002be4: ADD 00002be5: MSTORE 00002be6: PUSH17 0x3b30bab63a1034b739ba393ab1ba34b7b7 00002bf8: PUSH1 0x79 00002bfa: SHL 00002bfb: PUSH1 0x44 00002bfd: DUP3 00002bfe: ADD 00002bff: MSTORE 00002c00: PUSH1 0x64 00002c02: ADD 00002c03: PUSH2 0x0eb8 00002c06: JUMP 00002c07: JUMPDEST 00002c08: PUSH1 0x00 00002c0a: DUP2 00002c0b: DUP2 00002c0c: MSTORE 00002c0d: PUSH1 0x0a 00002c0f: PUSH1 0x20 00002c11: MSTORE 00002c12: PUSH1 0x40 00002c14: SWAP1 00002c15: KECCAK256 00002c16: PUSH1 0x06 00002c18: ADD 00002c19: SLOAD 00002c1a: PUSH1 0x01 00002c1c: PUSH1 0x01 00002c1e: PUSH1 0xa0 00002c20: SHL 00002c21: SUB 00002c22: AND 00002c23: PUSH2 0x1920 00002c26: JUMPI 00002c27: PUSH1 0x40 00002c29: MLOAD 00002c2a: PUSH3 0x461bcd 00002c2e: PUSH1 0xe5 00002c30: SHL 00002c31: DUP2 00002c32: MSTORE 00002c33: PUSH1 0x20 00002c35: PUSH1 0x04 00002c37: DUP3 00002c38: ADD 00002c39: MSTORE 00002c3a: PUSH1 0x0d 00002c3c: PUSH1 0x24 00002c3e: DUP3 00002c3f: ADD 00002c40: MSTORE 00002c41: PUSH13 0x6369726375697420627265616b 00002c4f: PUSH1 0x98 00002c51: SHL 00002c52: PUSH1 0x44 00002c54: DUP3 00002c55: ADD 00002c56: MSTORE 00002c57: PUSH1 0x64 00002c59: ADD 00002c5a: PUSH2 0x0eb8 00002c5d: JUMP 00002c5e: JUMPDEST 00002c5f: CALLVALUE 00002c60: ISZERO 00002c61: PUSH2 0x2ce9 00002c64: JUMPI 00002c65: PUSH1 0x09 00002c67: SLOAD 00002c68: DUP4 00002c69: EQ 00002c6a: PUSH2 0x2ca7 00002c6d: JUMPI 00002c6e: PUSH1 0x40 00002c70: MLOAD 00002c71: PUSH3 0x461bcd 00002c75: PUSH1 0xe5 00002c77: SHL 00002c78: DUP2 00002c79: MSTORE 00002c7a: PUSH1 0x20 00002c7c: PUSH1 0x04 00002c7e: DUP3 00002c7f: ADD 00002c80: MSTORE 00002c81: PUSH1 0x0f 00002c83: PUSH1 0x24 00002c85: DUP3 00002c86: ADD 00002c87: MSTORE 00002c88: PUSH15 0x18dbda5b881a5b99195e0819985a5b 00002c98: PUSH1 0x8a 00002c9a: SHL 00002c9b: PUSH1 0x44 00002c9d: DUP3 00002c9e: ADD 00002c9f: MSTORE 00002ca0: PUSH1 0x64 00002ca2: ADD 00002ca3: PUSH2 0x0eb8 00002ca6: JUMP 00002ca7: JUMPDEST 00002ca8: CALLVALUE 00002ca9: DUP2 00002caa: EQ 00002cab: PUSH2 0x0ec1 00002cae: JUMPI 00002caf: PUSH1 0x40 00002cb1: MLOAD 00002cb2: PUSH3 0x461bcd 00002cb6: PUSH1 0xe5 00002cb8: SHL 00002cb9: DUP2 00002cba: MSTORE 00002cbb: PUSH1 0x20 00002cbd: PUSH1 0x04 00002cbf: DUP3 00002cc0: ADD 00002cc1: MSTORE 00002cc2: PUSH1 0x10 00002cc4: PUSH1 0x24 00002cc6: DUP3 00002cc7: ADD 00002cc8: MSTORE 00002cc9: PUSH16 0x18dbda5b88185b5bdd5b9d0819985a5b 00002cda: PUSH1 0x82 00002cdc: SHL 00002cdd: PUSH1 0x44 00002cdf: DUP3 00002ce0: ADD 00002ce1: MSTORE 00002ce2: PUSH1 0x64 00002ce4: ADD 00002ce5: PUSH2 0x0eb8 00002ce8: JUMP 00002ce9: JUMPDEST 00002cea: PUSH1 0x00 00002cec: DUP4 00002ced: DUP2 00002cee: MSTORE 00002cef: PUSH1 0x0a 00002cf1: PUSH1 0x20 00002cf3: MSTORE 00002cf4: PUSH1 0x40 00002cf6: SWAP1 00002cf7: KECCAK256 00002cf8: PUSH1 0x06 00002cfa: ADD 00002cfb: SLOAD 00002cfc: PUSH1 0x01 00002cfe: PUSH1 0x01 00002d00: PUSH1 0xa0 00002d02: SHL 00002d03: SUB 00002d04: AND 00002d05: PUSH2 0x18af 00002d08: DUP2 00002d09: DUP5 00002d0a: ADDRESS 00002d0b: DUP6 00002d0c: PUSH2 0x3689 00002d0f: JUMP 00002d10: JUMPDEST 00002d11: PUSH1 0x01 00002d13: PUSH1 0x01 00002d15: PUSH1 0x80 00002d17: SHL 00002d18: SUB 00002d19: NOT 00002d1a: SWAP1 00002d1b: DUP2 00002d1c: AND 00002d1d: SWAP2 00002d1e: AND 00002d1f: EQ 00002d20: SWAP1 00002d21: JUMP 00002d22: JUMPDEST 00002d23: PUSH1 0x00 00002d25: PUSH2 0x2d2c 00002d28: PUSH2 0x36f4 00002d2b: JUMP 00002d2c: JUMPDEST 00002d2d: SWAP1 00002d2e: POP 00002d2f: SWAP1 00002d30: JUMP 00002d31: JUMPDEST 00002d32: CALLDATASIZE 00002d33: PUSH1 0x00 00002d35: DUP1 00002d36: CALLDATACOPY 00002d37: PUSH1 0x00 00002d39: DUP1 00002d3a: CALLDATASIZE 00002d3b: PUSH1 0x00 00002d3d: DUP5 00002d3e: GAS 00002d3f: DELEGATECALL 00002d40: RETURNDATASIZE 00002d41: PUSH1 0x00 00002d43: DUP1 00002d44: RETURNDATACOPY 00002d45: DUP1 00002d46: DUP1 00002d47: ISZERO 00002d48: PUSH2 0x2d50 00002d4b: JUMPI 00002d4c: RETURNDATASIZE 00002d4d: PUSH1 0x00 00002d4f: RETURN 00002d50: JUMPDEST 00002d51: RETURNDATASIZE 00002d52: PUSH1 0x00 00002d54: REVERT 00002d55: JUMPDEST 00002d56: CALLER 00002d57: PUSH1 0x00 00002d59: SWAP1 00002d5a: DUP2 00002d5b: MSTORE 00002d5c: PUSH1 0x01 00002d5e: PUSH1 0x20 00002d60: MSTORE 00002d61: PUSH1 0x40 00002d63: SWAP1 00002d64: KECCAK256 00002d65: SLOAD 00002d66: PUSH2 0x2d70 00002d69: DUP2 00002d6a: PUSH1 0x03 00002d6c: PUSH2 0x3715 00002d6f: JUMP 00002d70: JUMPDEST 00002d71: DUP1 00002d72: PUSH2 0x2d81 00002d75: JUMPI 00002d76: POP 00002d77: PUSH2 0x2d81 00002d7a: DUP2 00002d7b: PUSH1 0x01 00002d7d: PUSH2 0x3715 00002d80: JUMP 00002d81: JUMPDEST 00002d82: PUSH2 0x1920 00002d85: JUMPI 00002d86: PUSH1 0x40 00002d88: MLOAD 00002d89: PUSH3 0x461bcd 00002d8d: PUSH1 0xe5 00002d8f: SHL 00002d90: DUP2 00002d91: MSTORE 00002d92: PUSH1 0x20 00002d94: PUSH1 0x04 00002d96: DUP3 00002d97: ADD 00002d98: MSTORE 00002d99: PUSH1 0x13 00002d9b: PUSH1 0x24 00002d9d: DUP3 00002d9e: ADD 00002d9f: MSTORE 00002da0: PUSH19 0x27b7363c9027bbb732b91037b91020b236b4b7 00002db4: PUSH1 0x69 00002db6: SHL 00002db7: PUSH1 0x44 00002db9: DUP3 00002dba: ADD 00002dbb: MSTORE 00002dbc: PUSH1 0x64 00002dbe: ADD 00002dbf: PUSH2 0x0eb8 00002dc2: JUMP 00002dc3: JUMPDEST 00002dc4: PUSH1 0x01 00002dc6: PUSH1 0x01 00002dc8: PUSH1 0xa0 00002dca: SHL 00002dcb: SUB 00002dcc: DUP3 00002dcd: AND 00002dce: PUSH1 0x00 00002dd0: SWAP1 00002dd1: DUP2 00002dd2: MSTORE 00002dd3: PUSH1 0x01 00002dd5: PUSH1 0x20 00002dd7: MSTORE 00002dd8: PUSH1 0x40 00002dda: DUP2 00002ddb: KECCAK256 00002ddc: SLOAD 00002ddd: PUSH2 0x2de6 00002de0: SWAP1 00002de1: DUP4 00002de2: PUSH2 0x3715 00002de5: JUMP 00002de6: JUMPDEST 00002de7: SWAP4 00002de8: SWAP3 00002de9: POP 00002dea: POP 00002deb: POP 00002dec: JUMP 00002ded: JUMPDEST 00002dee: CALLER 00002def: PUSH1 0x01 00002df1: PUSH1 0x01 00002df3: PUSH1 0xa0 00002df5: SHL 00002df6: SUB 00002df7: DUP3 00002df8: AND 00002df9: SUB 00002dfa: PUSH2 0x1920 00002dfd: JUMPI 00002dfe: PUSH1 0x40 00002e00: MLOAD 00002e01: PUSH3 0x461bcd 00002e05: PUSH1 0xe5 00002e07: SHL 00002e08: DUP2 00002e09: MSTORE 00002e0a: PUSH1 0x20 00002e0c: PUSH1 0x04 00002e0e: DUP3 00002e0f: ADD 00002e10: MSTORE 00002e11: PUSH1 0x09 00002e13: PUSH1 0x24 00002e15: DUP3 00002e16: ADD 00002e17: MSTORE 00002e18: PUSH9 0x20baba341029b2b633 00002e22: PUSH1 0xb9 00002e24: SHL 00002e25: PUSH1 0x44 00002e27: DUP3 00002e28: ADD 00002e29: MSTORE 00002e2a: PUSH1 0x64 00002e2c: ADD 00002e2d: PUSH2 0x0eb8 00002e30: JUMP 00002e31: JUMPDEST 00002e32: PUSH2 0x2e3a 00002e35: DUP3 00002e36: PUSH2 0x375d 00002e39: JUMP 00002e3a: JUMPDEST 00002e3b: PUSH2 0x2e44 00002e3e: DUP3 00002e3f: DUP3 00002e40: PUSH2 0x35d4 00002e43: JUMP 00002e44: JUMPDEST 00002e45: PUSH2 0x2e4e 00002e48: DUP4 00002e49: DUP4 00002e4a: PUSH2 0x37a1 00002e4d: JUMP 00002e4e: JUMPDEST 00002e4f: DUP1 00002e50: PUSH1 0x04 00002e52: DUP2 00002e53: GT 00002e54: ISZERO 00002e55: PUSH2 0x2e60 00002e58: JUMPI 00002e59: PUSH2 0x2e60 00002e5c: PUSH2 0x3ec0 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH1 0x40 00002e63: MLOAD 00002e64: PUSH1 0x01 00002e66: PUSH1 0x01 00002e68: PUSH1 0xa0 00002e6a: SHL 00002e6b: SUB 00002e6c: DUP5 00002e6d: AND 00002e6e: SWAP1 00002e6f: PUSH32 0x16648684a169742a8946057cc0e413441c39b8c40d8a0b329547a5b58d0fad33 00002e90: SWAP1 00002e91: PUSH1 0x00 00002e93: SWAP1 00002e94: LOG3 00002e95: POP 00002e96: POP 00002e97: POP 00002e98: JUMP 00002e99: JUMPDEST 00002e9a: PUSH2 0x2ea2 00002e9d: DUP3 00002e9e: PUSH2 0x375d 00002ea1: JUMP 00002ea2: JUMPDEST 00002ea3: PUSH2 0x2eac 00002ea6: DUP3 00002ea7: DUP3 00002ea8: PUSH2 0x3850 00002eab: JUMP 00002eac: JUMPDEST 00002ead: PUSH2 0x2eb6 00002eb0: DUP4 00002eb1: DUP4 00002eb2: PUSH2 0x3907 00002eb5: JUMP 00002eb6: JUMPDEST 00002eb7: DUP1 00002eb8: PUSH1 0x04 00002eba: DUP2 00002ebb: GT 00002ebc: ISZERO 00002ebd: PUSH2 0x2ec8 00002ec0: JUMPI 00002ec1: PUSH2 0x2ec8 00002ec4: PUSH2 0x3ec0 00002ec7: JUMP 00002ec8: JUMPDEST 00002ec9: PUSH1 0x40 00002ecb: MLOAD 00002ecc: PUSH1 0x01 00002ece: PUSH1 0x01 00002ed0: PUSH1 0xa0 00002ed2: SHL 00002ed3: SUB 00002ed4: DUP5 00002ed5: AND 00002ed6: SWAP1 00002ed7: PUSH32 0x4c122a44c01f7baedf7841724cfb4cecb281d5d9f46ddfe8bcace2d9d121fb5a 00002ef8: SWAP1 00002ef9: PUSH1 0x00 00002efb: SWAP1 00002efc: LOG3 00002efd: POP 00002efe: POP 00002eff: POP 00002f00: JUMP 00002f01: JUMPDEST 00002f02: PUSH1 0x00 00002f04: DUP3 00002f05: DUP2 00002f06: MSTORE 00002f07: PUSH1 0x0a 00002f09: PUSH1 0x20 00002f0b: SWAP1 00002f0c: DUP2 00002f0d: MSTORE 00002f0e: PUSH1 0x40 00002f10: DUP1 00002f11: DUP4 00002f12: KECCAK256 00002f13: DUP2 00002f14: MLOAD 00002f15: PUSH1 0x60 00002f17: DUP2 00002f18: ADD 00002f19: DUP4 00002f1a: MSTORE 00002f1b: DUP2 00002f1c: SLOAD 00002f1d: PUSH1 0x01 00002f1f: PUSH1 0x01 00002f21: PUSH1 0x80 00002f23: SHL 00002f24: SUB 00002f25: DUP1 00002f26: DUP3 00002f27: AND 00002f28: DUP4 00002f29: MSTORE 00002f2a: PUSH1 0x01 00002f2c: PUSH1 0x80 00002f2e: SHL 00002f2f: SWAP1 00002f30: SWAP2 00002f31: DIV 00002f32: AND 00002f33: SWAP4 00002f34: DUP2 00002f35: ADD 00002f36: SWAP4 00002f37: SWAP1 00002f38: SWAP4 00002f39: MSTORE 00002f3a: PUSH1 0x01 00002f3c: ADD 00002f3d: SLOAD 00002f3e: SWAP1 00002f3f: DUP3 00002f40: ADD 00002f41: DUP2 00002f42: SWAP1 00002f43: MSTORE 00002f44: DUP3 00002f45: SWAP1 00002f46: PUSH8 0x0de0b6b3a7640000 00002f4f: SWAP1 00002f50: PUSH2 0x2f59 00002f53: SWAP1 00002f54: DUP7 00002f55: PUSH2 0x4ef0 00002f58: JUMP 00002f59: JUMPDEST 00002f5a: PUSH2 0x2f63 00002f5d: SWAP2 00002f5e: SWAP1 00002f5f: PUSH2 0x4f0f 00002f62: JUMP 00002f63: JUMPDEST 00002f64: DUP3 00002f65: MLOAD 00002f66: SWAP1 00002f67: SWAP2 00002f68: POP 00002f69: PUSH1 0x01 00002f6b: PUSH1 0x01 00002f6d: PUSH1 0x80 00002f6f: SHL 00002f70: SUB 00002f71: AND 00002f72: DUP2 00002f73: LT 00002f74: ISZERO 00002f75: PUSH2 0x2f85 00002f78: JUMPI 00002f79: POP 00002f7a: DUP1 00002f7b: MLOAD 00002f7c: PUSH1 0x01 00002f7e: PUSH1 0x01 00002f80: PUSH1 0x80 00002f82: SHL 00002f83: SUB 00002f84: AND 00002f85: JUMPDEST 00002f86: DUP2 00002f87: PUSH1 0x20 00002f89: ADD 00002f8a: MLOAD 00002f8b: PUSH1 0x01 00002f8d: PUSH1 0x01 00002f8f: PUSH1 0x80 00002f91: SHL 00002f92: SUB 00002f93: AND 00002f94: DUP2 00002f95: GT 00002f96: ISZERO 00002f97: PUSH2 0x2faa 00002f9a: JUMPI 00002f9b: POP 00002f9c: PUSH1 0x20 00002f9e: DUP2 00002f9f: ADD 00002fa0: MLOAD 00002fa1: PUSH1 0x01 00002fa3: PUSH1 0x01 00002fa5: PUSH1 0x80 00002fa7: SHL 00002fa8: SUB 00002fa9: AND 00002faa: JUMPDEST 00002fab: DUP1 00002fac: DUP5 00002fad: GT 00002fae: PUSH2 0x2fe3 00002fb1: JUMPI 00002fb2: PUSH1 0x40 00002fb4: MLOAD 00002fb5: PUSH3 0x461bcd 00002fb9: PUSH1 0xe5 00002fbb: SHL 00002fbc: DUP2 00002fbd: MSTORE 00002fbe: PUSH1 0x20 00002fc0: PUSH1 0x04 00002fc2: DUP3 00002fc3: ADD 00002fc4: MSTORE 00002fc5: PUSH1 0x07 00002fc7: PUSH1 0x24 00002fc9: DUP3 00002fca: ADD 00002fcb: MSTORE 00002fcc: PUSH7 0x73756220666565 00002fd4: PUSH1 0xc8 00002fd6: SHL 00002fd7: PUSH1 0x44 00002fd9: DUP3 00002fda: ADD 00002fdb: MSTORE 00002fdc: PUSH1 0x64 00002fde: ADD 00002fdf: PUSH2 0x0eb8 00002fe2: JUMP 00002fe3: JUMPDEST 00002fe4: PUSH1 0x00 00002fe6: DUP6 00002fe7: DUP2 00002fe8: MSTORE 00002fe9: PUSH1 0x0a 00002feb: PUSH1 0x20 00002fed: MSTORE 00002fee: PUSH1 0x40 00002ff0: DUP2 00002ff1: KECCAK256 00002ff2: PUSH1 0x07 00002ff4: ADD 00002ff5: DUP1 00002ff6: SLOAD 00002ff7: DUP4 00002ff8: SWAP3 00002ff9: SWAP1 00002ffa: PUSH2 0x3004 00002ffd: SWAP1 00002ffe: DUP5 00002fff: SWAP1 00003000: PUSH2 0x4ed8 00003003: JUMP 00003004: JUMPDEST 00003005: SWAP1 00003006: SWAP2 00003007: SSTORE 00003008: POP 00003009: PUSH2 0x3014 0000300c: SWAP1 0000300d: POP 0000300e: DUP2 0000300f: DUP6 00003010: PUSH2 0x4ec1 00003013: JUMP 00003014: JUMPDEST 00003015: SWAP6 00003016: SWAP5 00003017: POP 00003018: POP 00003019: POP 0000301a: POP 0000301b: POP 0000301c: JUMP 0000301d: JUMPDEST 0000301e: PUSH2 0x3034 00003021: DUP2 00003022: PUSH1 0x00 00003024: ADD 00003025: MLOAD 00003026: DUP3 00003027: PUSH1 0x60 00003029: ADD 0000302a: MLOAD 0000302b: DUP4 0000302c: PUSH1 0x80 0000302e: ADD 0000302f: MLOAD 00003030: PUSH2 0x34db 00003033: JUMP 00003034: JUMPDEST 00003035: PUSH1 0x20 00003037: DUP3 00003038: ADD 00003039: MLOAD 0000303a: PUSH2 0x3053 0000303d: SWAP1 0000303e: PUSH1 0x01 00003040: PUSH1 0x01 00003042: PUSH1 0x80 00003044: SHL 00003045: SUB 00003046: NOT 00003047: AND 00003048: PUSH3 0x020201 0000304c: PUSH1 0xe8 0000304e: SHL 0000304f: PUSH2 0x2d10 00003052: JUMP 00003053: JUMPDEST 00003054: ISZERO 00003055: PUSH2 0x305c 00003058: JUMPI 00003059: POP 0000305a: POP 0000305b: JUMP 0000305c: JUMPDEST 0000305d: PUSH1 0x20 0000305f: DUP3 00003060: ADD 00003061: MLOAD 00003062: PUSH2 0x307c 00003065: SWAP1 00003066: PUSH1 0x01 00003068: PUSH1 0x01 0000306a: PUSH1 0x80 0000306c: SHL 0000306d: SUB 0000306e: NOT 0000306f: AND 00003070: PUSH4 0x03020301 00003075: PUSH1 0xe0 00003077: SHL 00003078: PUSH2 0x2d10 0000307b: JUMP 0000307c: JUMPDEST 0000307d: ISZERO 0000307e: PUSH2 0x3085 00003081: JUMPI 00003082: POP 00003083: POP 00003084: JUMP 00003085: JUMPDEST 00003086: PUSH1 0x20 00003088: DUP3 00003089: ADD 0000308a: MLOAD 0000308b: PUSH2 0x30a5 0000308e: SWAP1 0000308f: PUSH1 0x01 00003091: PUSH1 0x01 00003093: PUSH1 0x80 00003095: SHL 00003096: SUB 00003097: NOT 00003098: AND 00003099: PUSH4 0x03020401 0000309e: PUSH1 0xe0 000030a0: SHL 000030a1: PUSH2 0x2d10 000030a4: JUMP 000030a5: JUMPDEST 000030a6: ISZERO 000030a7: PUSH2 0x30ae 000030aa: JUMPI 000030ab: POP 000030ac: POP 000030ad: JUMP 000030ae: JUMPDEST 000030af: PUSH1 0x20 000030b1: DUP3 000030b2: ADD 000030b3: MLOAD 000030b4: PUSH2 0x30cf 000030b7: SWAP1 000030b8: PUSH1 0x01 000030ba: PUSH1 0x01 000030bc: PUSH1 0x80 000030be: SHL 000030bf: SUB 000030c0: NOT 000030c1: AND 000030c2: PUSH5 0x0402070301 000030c8: PUSH1 0xd8 000030ca: SHL 000030cb: PUSH2 0x2d10 000030ce: JUMP 000030cf: JUMPDEST 000030d0: ISZERO 000030d1: PUSH2 0x30d8 000030d4: JUMPI 000030d5: POP 000030d6: POP 000030d7: JUMP 000030d8: JUMPDEST 000030d9: PUSH1 0x20 000030db: DUP3 000030dc: ADD 000030dd: MLOAD 000030de: PUSH2 0x30f9 000030e1: SWAP1 000030e2: PUSH1 0x01 000030e4: PUSH1 0x01 000030e6: PUSH1 0x80 000030e8: SHL 000030e9: SUB 000030ea: NOT 000030eb: AND 000030ec: PUSH5 0x0402070401 000030f2: PUSH1 0xd8 000030f4: SHL 000030f5: PUSH2 0x2d10 000030f8: JUMP 000030f9: JUMPDEST 000030fa: ISZERO 000030fb: PUSH2 0x3102 000030fe: JUMPI 000030ff: POP 00003100: POP 00003101: JUMP 00003102: JUMPDEST 00003103: PUSH1 0x20 00003105: DUP3 00003106: ADD 00003107: MLOAD 00003108: PUSH2 0x3123 0000310b: SWAP1 0000310c: PUSH1 0x01 0000310e: PUSH1 0x01 00003110: PUSH1 0x80 00003112: SHL 00003113: SUB 00003114: NOT 00003115: AND 00003116: PUSH5 0x0402060301 0000311c: PUSH1 0xd8 0000311e: SHL 0000311f: PUSH2 0x2d10 00003122: JUMP 00003123: JUMPDEST 00003124: ISZERO 00003125: PUSH2 0x312c 00003128: JUMPI 00003129: POP 0000312a: POP 0000312b: JUMP 0000312c: JUMPDEST 0000312d: PUSH1 0x20 0000312f: DUP3 00003130: ADD 00003131: MLOAD 00003132: PUSH2 0x314d 00003135: SWAP1 00003136: PUSH1 0x01 00003138: PUSH1 0x01 0000313a: PUSH1 0x80 0000313c: SHL 0000313d: SUB 0000313e: NOT 0000313f: AND 00003140: PUSH5 0x0402060401 00003146: PUSH1 0xd8 00003148: SHL 00003149: PUSH2 0x2d10 0000314c: JUMP 0000314d: JUMPDEST 0000314e: ISZERO 0000314f: PUSH2 0x3156 00003152: JUMPI 00003153: POP 00003154: POP 00003155: JUMP 00003156: JUMPDEST 00003157: PUSH1 0x40 00003159: MLOAD 0000315a: PUSH3 0x461bcd 0000315e: PUSH1 0xe5 00003160: SHL 00003161: DUP2 00003162: MSTORE 00003163: PUSH1 0x20 00003165: PUSH1 0x04 00003167: DUP3 00003168: ADD 00003169: MSTORE 0000316a: PUSH1 0x11 0000316c: PUSH1 0x24 0000316e: DUP3 0000316f: ADD 00003170: MSTORE 00003171: PUSH17 0x5661756c745f657865635f6e6174697665 00003183: PUSH1 0x78 00003185: SHL 00003186: PUSH1 0x44 00003188: DUP3 00003189: ADD 0000318a: MSTORE 0000318b: PUSH1 0x64 0000318d: ADD 0000318e: PUSH2 0x0eb8 00003191: JUMP 00003192: JUMPDEST 00003193: PUSH1 0x40 00003195: MLOAD 00003196: PUSH4 0x095ea7b3 0000319b: PUSH1 0xe0 0000319d: SHL 0000319e: DUP2 0000319f: MSTORE 000031a0: PUSH1 0x01 000031a2: PUSH1 0x01 000031a4: PUSH1 0xa0 000031a6: SHL 000031a7: SUB 000031a8: DUP4 000031a9: AND 000031aa: SWAP1 000031ab: PUSH4 0x095ea7b3 000031b0: SWAP1 000031b1: PUSH2 0x31c2 000031b4: SWAP1 000031b5: DUP5 000031b6: SWAP1 000031b7: PUSH1 0x00 000031b9: NOT 000031ba: SWAP1 000031bb: PUSH1 0x04 000031bd: ADD 000031be: PUSH2 0x4f31 000031c1: JUMP 000031c2: JUMPDEST 000031c3: PUSH1 0x20 000031c5: PUSH1 0x40 000031c7: MLOAD 000031c8: DUP1 000031c9: DUP4 000031ca: SUB 000031cb: DUP2 000031cc: PUSH1 0x00 000031ce: DUP8 000031cf: GAS 000031d0: CALL 000031d1: ISZERO 000031d2: DUP1 000031d3: ISZERO 000031d4: PUSH2 0x31e1 000031d7: JUMPI 000031d8: RETURNDATASIZE 000031d9: PUSH1 0x00 000031db: DUP1 000031dc: RETURNDATACOPY 000031dd: RETURNDATASIZE 000031de: PUSH1 0x00 000031e0: REVERT 000031e1: JUMPDEST 000031e2: POP 000031e3: POP 000031e4: POP 000031e5: POP 000031e6: PUSH1 0x40 000031e8: MLOAD 000031e9: RETURNDATASIZE 000031ea: PUSH1 0x1f 000031ec: NOT 000031ed: PUSH1 0x1f 000031ef: DUP3 000031f0: ADD 000031f1: AND 000031f2: DUP3 000031f3: ADD 000031f4: DUP1 000031f5: PUSH1 0x40 000031f7: MSTORE 000031f8: POP 000031f9: DUP2 000031fa: ADD 000031fb: SWAP1 000031fc: PUSH2 0x0ec1 000031ff: SWAP2 00003200: SWAP1 00003201: PUSH2 0x3ff6 00003204: JUMP 00003205: JUMPDEST 00003206: PUSH2 0x320e 00003209: DUP2 0000320a: PUSH2 0x3951 0000320d: JUMP 0000320e: JUMPDEST 0000320f: PUSH1 0x40 00003211: MLOAD 00003212: PUSH1 0x01 00003214: PUSH1 0x01 00003216: PUSH1 0xa0 00003218: SHL 00003219: SUB 0000321a: DUP3 0000321b: AND 0000321c: SWAP1 0000321d: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 0000323e: SWAP1 0000323f: PUSH1 0x00 00003241: SWAP1 00003242: LOG2 00003243: POP 00003244: JUMP 00003245: JUMPDEST 00003246: PUSH1 0x09 00003248: SLOAD 00003249: PUSH2 0x3253 0000324c: DUP2 0000324d: PUSH1 0x00 0000324f: PUSH2 0x344c 00003252: JUMP 00003253: JUMPDEST 00003254: PUSH2 0x3292 00003257: JUMPI 00003258: PUSH1 0x40 0000325a: MLOAD 0000325b: PUSH3 0x461bcd 0000325f: PUSH1 0xe5 00003261: SHL 00003262: DUP2 00003263: MSTORE 00003264: PUSH1 0x20 00003266: PUSH1 0x04 00003268: DUP3 00003269: ADD 0000326a: MSTORE 0000326b: PUSH1 0x10 0000326d: PUSH1 0x24 0000326f: DUP3 00003270: ADD 00003271: MSTORE 00003272: PUSH16 0x0d2dcd2e87440c6ded2dc40d2dcc8caf 00003283: PUSH1 0x83 00003285: SHL 00003286: PUSH1 0x44 00003288: DUP3 00003289: ADD 0000328a: MSTORE 0000328b: PUSH1 0x64 0000328d: ADD 0000328e: PUSH2 0x0eb8 00003291: JUMP 00003292: JUMPDEST 00003293: PUSH1 0x06 00003295: SLOAD 00003296: PUSH1 0x01 00003298: PUSH1 0x01 0000329a: PUSH1 0xa0 0000329c: SHL 0000329d: SUB 0000329e: AND 0000329f: PUSH2 0x1331 000032a2: JUMPI 000032a3: PUSH1 0x40 000032a5: MLOAD 000032a6: PUSH3 0x461bcd 000032aa: PUSH1 0xe5 000032ac: SHL 000032ad: DUP2 000032ae: MSTORE 000032af: PUSH1 0x20 000032b1: PUSH1 0x04 000032b3: DUP3 000032b4: ADD 000032b5: MSTORE 000032b6: PUSH1 0x0c 000032b8: PUSH1 0x24 000032ba: DUP3 000032bb: ADD 000032bc: MSTORE 000032bd: PUSH12 0x1a5b9a5d0e881cdbd8dad95d 000032ca: PUSH1 0xa2 000032cc: SHL 000032cd: PUSH1 0x44 000032cf: DUP3 000032d0: ADD 000032d1: MSTORE 000032d2: PUSH1 0x64 000032d4: ADD 000032d5: PUSH2 0x0eb8 000032d8: JUMP 000032d9: JUMPDEST 000032da: PUSH2 0x1920 000032dd: DUP2 000032de: PUSH1 0x00 000032e0: ADD 000032e1: MLOAD 000032e2: DUP3 000032e3: PUSH1 0x40 000032e5: ADD 000032e6: MLOAD 000032e7: DUP4 000032e8: PUSH1 0x80 000032ea: ADD 000032eb: MLOAD 000032ec: PUSH2 0x34db 000032ef: JUMP 000032f0: JUMPDEST 000032f1: EQ 000032f2: ISZERO 000032f3: SWAP1 000032f4: JUMP 000032f5: JUMPDEST 000032f6: PUSH1 0x00 000032f8: DUP3 000032f9: DUP2 000032fa: MSTORE 000032fb: PUSH1 0x0a 000032fd: PUSH1 0x20 000032ff: SWAP1 00003300: DUP2 00003301: MSTORE 00003302: PUSH1 0x40 00003304: SWAP2 00003305: DUP3 00003306: SWAP1 00003307: KECCAK256 00003308: DUP4 00003309: MLOAD 0000330a: DUP1 0000330b: MLOAD 0000330c: DUP2 0000330d: DUP5 0000330e: ADD 0000330f: MLOAD 00003310: PUSH1 0x01 00003312: PUSH1 0x01 00003314: PUSH1 0x80 00003316: SHL 00003317: SUB 00003318: SWAP2 00003319: DUP3 0000331a: AND 0000331b: PUSH1 0x01 0000331d: PUSH1 0x80 0000331f: SHL 00003320: SWAP2 00003321: DUP4 00003322: AND 00003323: DUP3 00003324: MUL 00003325: OR 00003326: DUP5 00003327: SSTORE 00003328: SWAP2 00003329: DUP6 0000332a: ADD 0000332b: MLOAD 0000332c: PUSH1 0x01 0000332e: DUP1 0000332f: DUP6 00003330: ADD 00003331: SWAP2 00003332: SWAP1 00003333: SWAP2 00003334: SSTORE 00003335: DUP7 00003336: DUP6 00003337: ADD 00003338: MLOAD 00003339: DUP1 0000333a: MLOAD 0000333b: SWAP6 0000333c: DUP2 0000333d: ADD 0000333e: MLOAD 0000333f: SWAP6 00003340: DUP4 00003341: AND 00003342: SWAP6 00003343: SWAP1 00003344: SWAP3 00003345: AND 00003346: SWAP1 00003347: SWAP3 00003348: MUL 00003349: SWAP4 0000334a: SWAP1 0000334b: SWAP4 0000334c: OR 0000334d: PUSH1 0x02 0000334f: DUP4 00003350: ADD 00003351: SSTORE 00003352: SWAP2 00003353: DUP4 00003354: ADD 00003355: MLOAD 00003356: PUSH1 0x03 00003358: DUP1 00003359: DUP4 0000335a: ADD 0000335b: SWAP2 0000335c: SWAP1 0000335d: SWAP2 0000335e: SSTORE 0000335f: SWAP3 00003360: DUP5 00003361: ADD 00003362: MLOAD 00003363: PUSH1 0x04 00003365: DUP3 00003366: ADD 00003367: DUP1 00003368: SLOAD 00003369: DUP7 0000336a: SWAP6 0000336b: SWAP4 0000336c: SWAP5 0000336d: SWAP3 0000336e: SWAP4 0000336f: SWAP2 00003370: SWAP3 00003371: PUSH1 0xff 00003373: NOT 00003374: SWAP1 00003375: SWAP2 00003376: AND 00003377: SWAP2 00003378: DUP5 00003379: SWAP1 0000337a: DUP2 0000337b: GT 0000337c: ISZERO 0000337d: PUSH2 0x3388 00003380: JUMPI 00003381: PUSH2 0x3388 00003384: PUSH2 0x3ec0 00003387: JUMP 00003388: JUMPDEST 00003389: MUL 0000338a: OR 0000338b: SWAP1 0000338c: SSTORE 0000338d: POP 0000338e: PUSH1 0x60 00003390: DUP3 00003391: ADD 00003392: MLOAD 00003393: PUSH1 0x04 00003395: DUP3 00003396: ADD 00003397: DUP1 00003398: SLOAD 00003399: PUSH1 0x01 0000339b: PUSH1 0x01 0000339d: PUSH1 0xa0 0000339f: SHL 000033a0: SUB 000033a1: SWAP3 000033a2: DUP4 000033a3: AND 000033a4: PUSH2 0x0100 000033a7: MUL 000033a8: PUSH2 0x0100 000033ab: PUSH1 0x01 000033ad: PUSH1 0xa8 000033af: SHL 000033b0: SUB 000033b1: NOT 000033b2: SWAP1 000033b3: SWAP2 000033b4: AND 000033b5: OR 000033b6: SWAP1 000033b7: SSTORE 000033b8: PUSH1 0x80 000033ba: DUP4 000033bb: ADD 000033bc: MLOAD 000033bd: PUSH1 0x05 000033bf: DUP4 000033c0: ADD 000033c1: DUP1 000033c2: SLOAD 000033c3: SWAP2 000033c4: DUP4 000033c5: AND 000033c6: PUSH1 0x01 000033c8: PUSH1 0x01 000033ca: PUSH1 0xa0 000033cc: SHL 000033cd: SUB 000033ce: NOT 000033cf: SWAP3 000033d0: DUP4 000033d1: AND 000033d2: OR 000033d3: SWAP1 000033d4: SSTORE 000033d5: PUSH1 0xa0 000033d7: DUP5 000033d8: ADD 000033d9: MLOAD 000033da: PUSH1 0x06 000033dc: DUP5 000033dd: ADD 000033de: DUP1 000033df: SLOAD 000033e0: SWAP2 000033e1: SWAP1 000033e2: SWAP4 000033e3: AND 000033e4: SWAP2 000033e5: AND 000033e6: OR 000033e7: SWAP1 000033e8: SSTORE 000033e9: PUSH1 0xc0 000033eb: SWAP1 000033ec: SWAP2 000033ed: ADD 000033ee: MLOAD 000033ef: PUSH1 0x07 000033f1: SWAP1 000033f2: SWAP2 000033f3: ADD 000033f4: SSTORE 000033f5: POP 000033f6: POP 000033f7: JUMP 000033f8: JUMPDEST 000033f9: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f 0000341a: PUSH2 0x3421 0000341d: PUSH2 0x39ee 00003420: JUMP 00003421: JUMPDEST 00003422: PUSH1 0x40 00003424: DUP1 00003425: MLOAD 00003426: PUSH1 0x01 00003428: PUSH1 0x01 0000342a: PUSH1 0xa0 0000342c: SHL 0000342d: SUB 0000342e: SWAP3 0000342f: DUP4 00003430: AND 00003431: DUP2 00003432: MSTORE 00003433: SWAP2 00003434: DUP5 00003435: AND 00003436: PUSH1 0x20 00003438: DUP4 00003439: ADD 0000343a: MSTORE 0000343b: ADD 0000343c: PUSH1 0x40 0000343e: MLOAD 0000343f: DUP1 00003440: SWAP2 00003441: SUB 00003442: SWAP1 00003443: LOG1 00003444: PUSH2 0x1920 00003447: DUP2 00003448: PUSH2 0x3a04 0000344b: JUMP 0000344c: JUMPDEST 0000344d: PUSH1 0x01 0000344f: PUSH1 0x01 00003451: PUSH1 0x80 00003453: SHL 00003454: SUB 00003455: NOT 00003456: AND 00003457: EQ 00003458: ISZERO 00003459: SWAP1 0000345a: JUMP 0000345b: JUMPDEST 0000345c: PUSH1 0x00 0000345e: DUP2 0000345f: DUP2 00003460: MSTORE 00003461: PUSH1 0x0a 00003463: PUSH1 0x20 00003465: MSTORE 00003466: PUSH1 0x40 00003468: SWAP1 00003469: KECCAK256 0000346a: PUSH1 0x04 0000346c: ADD 0000346d: SLOAD 0000346e: PUSH1 0xff 00003470: AND 00003471: PUSH1 0x03 00003473: DUP2 00003474: PUSH1 0x03 00003476: DUP2 00003477: GT 00003478: ISZERO 00003479: PUSH2 0x3484 0000347c: JUMPI 0000347d: PUSH2 0x3484 00003480: PUSH2 0x3ec0 00003483: JUMP 00003484: JUMPDEST 00003485: EQ 00003486: ISZERO 00003487: DUP1 00003488: ISZERO 00003489: PUSH2 0x34a4 0000348c: JUMPI 0000348d: POP 0000348e: PUSH1 0x00 00003490: DUP2 00003491: PUSH1 0x03 00003493: DUP2 00003494: GT 00003495: ISZERO 00003496: PUSH2 0x34a1 00003499: JUMPI 0000349a: PUSH2 0x34a1 0000349d: PUSH2 0x3ec0 000034a0: JUMP 000034a1: JUMPDEST 000034a2: EQ 000034a3: ISZERO 000034a4: JUMPDEST 000034a5: PUSH2 0x0fa1 000034a8: JUMPI 000034a9: PUSH1 0x40 000034ab: MLOAD 000034ac: PUSH3 0x461bcd 000034b0: PUSH1 0xe5 000034b2: SHL 000034b3: DUP2 000034b4: MSTORE 000034b5: PUSH1 0x20 000034b7: PUSH1 0x04 000034b9: DUP3 000034ba: ADD 000034bb: MSTORE 000034bc: PUSH1 0x08 000034be: PUSH1 0x24 000034c0: DUP3 000034c1: ADD 000034c2: MSTORE 000034c3: PUSH8 0x6d696e7461626c65 000034cc: PUSH1 0xc0 000034ce: SHL 000034cf: PUSH1 0x44 000034d1: DUP3 000034d2: ADD 000034d3: MSTORE 000034d4: PUSH1 0x64 000034d6: ADD 000034d7: PUSH2 0x0eb8 000034da: JUMP 000034db: JUMPDEST 000034dc: PUSH1 0x09 000034de: SLOAD 000034df: DUP4 000034e0: SUB 000034e1: PUSH2 0x355b 000034e4: JUMPI 000034e5: SELFBALANCE 000034e6: DUP2 000034e7: GT 000034e8: ISZERO 000034e9: PUSH2 0x3525 000034ec: JUMPI 000034ed: PUSH1 0x40 000034ef: MLOAD 000034f0: PUSH3 0x461bcd 000034f4: PUSH1 0xe5 000034f6: SHL 000034f7: DUP2 000034f8: MSTORE 000034f9: PUSH1 0x20 000034fb: PUSH1 0x04 000034fd: DUP3 000034fe: ADD 000034ff: MSTORE 00003500: PUSH1 0x0e 00003502: PUSH1 0x24 00003504: DUP3 00003505: ADD 00003506: MSTORE 00003507: PUSH14 0x6f7574206f662062616c616e6365 00003516: PUSH1 0x90 00003518: SHL 00003519: PUSH1 0x44 0000351b: DUP3 0000351c: ADD 0000351d: MSTORE 0000351e: PUSH1 0x64 00003520: ADD 00003521: PUSH2 0x0eb8 00003524: JUMP 00003525: JUMPDEST 00003526: PUSH1 0x40 00003528: MLOAD 00003529: PUSH1 0x01 0000352b: PUSH1 0x01 0000352d: PUSH1 0xa0 0000352f: SHL 00003530: SUB 00003531: DUP4 00003532: AND 00003533: SWAP1 00003534: DUP3 00003535: ISZERO 00003536: PUSH2 0x08fc 00003539: MUL 0000353a: SWAP1 0000353b: DUP4 0000353c: SWAP1 0000353d: PUSH1 0x00 0000353f: DUP2 00003540: DUP2 00003541: DUP2 00003542: DUP6 00003543: DUP9 00003544: DUP9 00003545: CALL 00003546: SWAP4 00003547: POP 00003548: POP 00003549: POP 0000354a: POP 0000354b: ISZERO 0000354c: DUP1 0000354d: ISZERO 0000354e: PUSH2 0x18af 00003551: JUMPI 00003552: RETURNDATASIZE 00003553: PUSH1 0x00 00003555: DUP1 00003556: RETURNDATACOPY 00003557: RETURNDATASIZE 00003558: PUSH1 0x00 0000355a: REVERT 0000355b: JUMPDEST 0000355c: PUSH1 0x03 0000355e: PUSH1 0x00 00003560: DUP5 00003561: DUP2 00003562: MSTORE 00003563: PUSH1 0x0a 00003565: PUSH1 0x20 00003567: MSTORE 00003568: PUSH1 0x40 0000356a: SWAP1 0000356b: KECCAK256 0000356c: PUSH1 0x04 0000356e: ADD 0000356f: SLOAD 00003570: PUSH1 0xff 00003572: AND 00003573: PUSH1 0x03 00003575: DUP2 00003576: GT 00003577: ISZERO 00003578: PUSH2 0x3583 0000357b: JUMPI 0000357c: PUSH2 0x3583 0000357f: PUSH2 0x3ec0 00003582: JUMP 00003583: JUMPDEST 00003584: SUB 00003585: PUSH2 0x35ae 00003588: JUMPI 00003589: PUSH1 0x00 0000358b: DUP4 0000358c: DUP2 0000358d: MSTORE 0000358e: PUSH1 0x0a 00003590: PUSH1 0x20 00003592: MSTORE 00003593: PUSH1 0x40 00003595: SWAP1 00003596: KECCAK256 00003597: PUSH1 0x06 00003599: ADD 0000359a: SLOAD 0000359b: PUSH2 0x0ec1 0000359e: SWAP1 0000359f: PUSH1 0x01 000035a1: PUSH1 0x01 000035a3: PUSH1 0xa0 000035a5: SHL 000035a6: SUB 000035a7: AND 000035a8: DUP4 000035a9: DUP4 000035aa: PUSH2 0x3a7e 000035ad: JUMP 000035ae: JUMPDEST 000035af: PUSH1 0x00 000035b1: DUP4 000035b2: DUP2 000035b3: MSTORE 000035b4: PUSH1 0x0a 000035b6: PUSH1 0x20 000035b8: MSTORE 000035b9: PUSH1 0x40 000035bb: SWAP1 000035bc: KECCAK256 000035bd: PUSH1 0x06 000035bf: ADD 000035c0: SLOAD 000035c1: PUSH2 0x0ec1 000035c4: SWAP1 000035c5: PUSH1 0x01 000035c7: PUSH1 0x01 000035c9: PUSH1 0xa0 000035cb: SHL 000035cc: SUB 000035cd: AND 000035ce: DUP4 000035cf: DUP4 000035d0: PUSH2 0x3a9d 000035d3: JUMP 000035d4: JUMPDEST 000035d5: PUSH1 0x01 000035d7: PUSH1 0x01 000035d9: PUSH1 0xa0 000035db: SHL 000035dc: SUB 000035dd: DUP3 000035de: AND 000035df: PUSH1 0x00 000035e1: SWAP1 000035e2: DUP2 000035e3: MSTORE 000035e4: PUSH1 0x01 000035e6: PUSH1 0x20 000035e8: MSTORE 000035e9: PUSH1 0x40 000035eb: SWAP1 000035ec: KECCAK256 000035ed: SLOAD 000035ee: PUSH2 0x35f7 000035f1: DUP2 000035f2: DUP4 000035f3: PUSH2 0x3715 000035f6: JUMP 000035f7: JUMPDEST 000035f8: ISZERO 000035f9: PUSH2 0x3639 000035fc: JUMPI 000035fd: PUSH1 0x40 000035ff: MLOAD 00003600: PUSH3 0x461bcd 00003604: PUSH1 0xe5 00003606: SHL 00003607: DUP2 00003608: MSTORE 00003609: PUSH1 0x20 0000360b: PUSH1 0x04 0000360d: DUP3 0000360e: ADD 0000360f: MSTORE 00003610: PUSH1 0x12 00003612: PUSH1 0x24 00003614: DUP3 00003615: ADD 00003616: MSTORE 00003617: PUSH18 0x636f6e666c696374206175746820666c6167 0000362a: PUSH1 0x70 0000362c: SHL 0000362d: PUSH1 0x44 0000362f: DUP3 00003630: ADD 00003631: MSTORE 00003632: PUSH1 0x64 00003634: ADD 00003635: PUSH2 0x0eb8 00003638: JUMP 00003639: JUMPDEST 0000363a: DUP2 0000363b: PUSH1 0x04 0000363d: DUP2 0000363e: GT 0000363f: ISZERO 00003640: PUSH2 0x364b 00003643: JUMPI 00003644: PUSH2 0x364b 00003647: PUSH2 0x3ec0 0000364a: JUMP 0000364b: JUMPDEST 0000364c: PUSH2 0x3656 0000364f: SWAP1 00003650: PUSH1 0x08 00003652: PUSH2 0x4f4a 00003655: JUMP 00003656: JUMPDEST 00003657: PUSH1 0x01 00003659: PUSH1 0x01 0000365b: PUSH1 0xa0 0000365d: SHL 0000365e: SUB 0000365f: SWAP1 00003660: SWAP4 00003661: AND 00003662: PUSH1 0x00 00003664: SWAP1 00003665: DUP2 00003666: MSTORE 00003667: PUSH1 0x01 00003669: PUSH1 0x20 0000366b: MSTORE 0000366c: PUSH1 0x40 0000366e: SWAP1 0000366f: KECCAK256 00003670: PUSH1 0x01 00003672: PUSH1 0x01 00003674: PUSH1 0xf8 00003676: SHL 00003677: SUB 00003678: NOT 00003679: PUSH1 0xff 0000367b: SWAP5 0000367c: SWAP1 0000367d: SWAP5 0000367e: AND 0000367f: SWAP4 00003680: SWAP1 00003681: SWAP4 00003682: SHR 00003683: OR 00003684: SWAP1 00003685: SWAP2 00003686: SSTORE 00003687: POP 00003688: JUMP 00003689: JUMPDEST 0000368a: PUSH1 0x40 0000368c: MLOAD 0000368d: PUSH1 0x01 0000368f: PUSH1 0x01 00003691: PUSH1 0xa0 00003693: SHL 00003694: SUB 00003695: DUP1 00003696: DUP6 00003697: AND 00003698: PUSH1 0x24 0000369a: DUP4 0000369b: ADD 0000369c: MSTORE 0000369d: DUP4 0000369e: AND 0000369f: PUSH1 0x44 000036a1: DUP3 000036a2: ADD 000036a3: MSTORE 000036a4: PUSH1 0x64 000036a6: DUP2 000036a7: ADD 000036a8: DUP3 000036a9: SWAP1 000036aa: MSTORE 000036ab: PUSH2 0x18af 000036ae: SWAP1 000036af: DUP6 000036b0: SWAP1 000036b1: PUSH4 0x23b872dd 000036b6: PUSH1 0xe0 000036b8: SHL 000036b9: SWAP1 000036ba: PUSH1 0x84 000036bc: ADD 000036bd: JUMPDEST 000036be: PUSH1 0x40 000036c0: DUP1 000036c1: MLOAD 000036c2: PUSH1 0x1f 000036c4: NOT 000036c5: DUP2 000036c6: DUP5 000036c7: SUB 000036c8: ADD 000036c9: DUP2 000036ca: MSTORE 000036cb: SWAP2 000036cc: SWAP1 000036cd: MSTORE 000036ce: PUSH1 0x20 000036d0: DUP2 000036d1: ADD 000036d2: DUP1 000036d3: MLOAD 000036d4: PUSH1 0x01 000036d6: PUSH1 0x01 000036d8: PUSH1 0xe0 000036da: SHL 000036db: SUB 000036dc: AND 000036dd: PUSH1 0x01 000036df: PUSH1 0x01 000036e1: PUSH1 0xe0 000036e3: SHL 000036e4: SUB 000036e5: NOT 000036e6: SWAP1 000036e7: SWAP4 000036e8: AND 000036e9: SWAP3 000036ea: SWAP1 000036eb: SWAP3 000036ec: OR 000036ed: SWAP1 000036ee: SWAP2 000036ef: MSTORE 000036f0: PUSH2 0x3abc 000036f3: JUMP 000036f4: JUMPDEST 000036f5: PUSH1 0x00 000036f7: PUSH1 0x00 000036f9: DUP1 000036fa: MLOAD 000036fb: PUSH1 0x20 000036fd: PUSH2 0x4ff9 00003700: DUP4 00003701: CODECOPY 00003702: DUP2 00003703: MLOAD 00003704: SWAP2 00003705: MSTORE 00003706: JUMPDEST 00003707: SLOAD 00003708: PUSH1 0x01 0000370a: PUSH1 0x01 0000370c: PUSH1 0xa0 0000370e: SHL 0000370f: SUB 00003710: AND 00003711: SWAP2 00003712: SWAP1 00003713: POP 00003714: JUMP 00003715: JUMPDEST 00003716: PUSH1 0x00 00003718: PUSH1 0x01 0000371a: PUSH1 0x01 0000371c: PUSH1 0xf8 0000371e: SHL 0000371f: SUB 00003720: NOT 00003721: DUP4 00003722: DUP4 00003723: PUSH1 0x04 00003725: DUP2 00003726: GT 00003727: ISZERO 00003728: PUSH2 0x3733 0000372b: JUMPI 0000372c: PUSH2 0x3733 0000372f: PUSH2 0x3ec0 00003732: JUMP 00003733: JUMPDEST 00003734: PUSH1 0xff 00003736: AND 00003737: PUSH1 0x20 00003739: DUP2 0000373a: LT 0000373b: PUSH2 0x3746 0000373e: JUMPI 0000373f: PUSH2 0x3746 00003742: PUSH2 0x4bab 00003745: JUMP 00003746: JUMPDEST 00003747: BYTE 00003748: PUSH1 0xf8 0000374a: SHL 0000374b: PUSH1 0x01 0000374d: PUSH1 0x01 0000374f: PUSH1 0xf8 00003751: SHL 00003752: SUB 00003753: NOT 00003754: AND 00003755: EQ 00003756: SWAP1 00003757: POP 00003758: SWAP3 00003759: SWAP2 0000375a: POP 0000375b: POP 0000375c: JUMP 0000375d: JUMPDEST 0000375e: PUSH1 0x01 00003760: PUSH1 0x01 00003762: PUSH1 0xa0 00003764: SHL 00003765: SUB 00003766: DUP2 00003767: AND 00003768: PUSH2 0x1920 0000376b: JUMPI 0000376c: PUSH1 0x40 0000376e: MLOAD 0000376f: PUSH3 0x461bcd 00003773: PUSH1 0xe5 00003775: SHL 00003776: DUP2 00003777: MSTORE 00003778: PUSH1 0x20 0000377a: PUSH1 0x04 0000377c: DUP3 0000377d: ADD 0000377e: MSTORE 0000377f: PUSH1 0x0b 00003781: PUSH1 0x24 00003783: DUP3 00003784: ADD 00003785: MSTORE 00003786: PUSH11 0x5a65726f41646472657373 00003792: PUSH1 0xa8 00003794: SHL 00003795: PUSH1 0x44 00003797: DUP3 00003798: ADD 00003799: MSTORE 0000379a: PUSH1 0x64 0000379c: ADD 0000379d: PUSH2 0x0eb8 000037a0: JUMP 000037a1: JUMPDEST 000037a2: PUSH1 0x00 000037a4: PUSH1 0x01 000037a6: PUSH1 0x01 000037a8: PUSH1 0xa0 000037aa: SHL 000037ab: SUB 000037ac: AND 000037ad: DUP3 000037ae: PUSH1 0x00 000037b0: DUP2 000037b1: SLOAD 000037b2: DUP2 000037b3: LT 000037b4: PUSH2 0x37bf 000037b7: JUMPI 000037b8: PUSH2 0x37bf 000037bb: PUSH2 0x4bab 000037be: JUMP 000037bf: JUMPDEST 000037c0: PUSH1 0x00 000037c2: SWAP2 000037c3: DUP3 000037c4: MSTORE 000037c5: PUSH1 0x20 000037c7: SWAP1 000037c8: SWAP2 000037c9: KECCAK256 000037ca: ADD 000037cb: SLOAD 000037cc: PUSH1 0x01 000037ce: PUSH1 0x01 000037d0: PUSH1 0xa0 000037d2: SHL 000037d3: SUB 000037d4: AND 000037d5: SUB 000037d6: PUSH2 0x381f 000037d9: JUMPI 000037da: DUP1 000037db: DUP3 000037dc: PUSH1 0x00 000037de: DUP2 000037df: SLOAD 000037e0: DUP2 000037e1: LT 000037e2: PUSH2 0x37ed 000037e5: JUMPI 000037e6: PUSH2 0x37ed 000037e9: PUSH2 0x4bab 000037ec: JUMP 000037ed: JUMPDEST 000037ee: SWAP1 000037ef: PUSH1 0x00 000037f1: MSTORE 000037f2: PUSH1 0x20 000037f4: PUSH1 0x00 000037f6: KECCAK256 000037f7: ADD 000037f8: PUSH1 0x00 000037fa: PUSH2 0x0100 000037fd: EXP 000037fe: DUP2 000037ff: SLOAD 00003800: DUP2 00003801: PUSH1 0x01 00003803: PUSH1 0x01 00003805: PUSH1 0xa0 00003807: SHL 00003808: SUB 00003809: MUL 0000380a: NOT 0000380b: AND 0000380c: SWAP1 0000380d: DUP4 0000380e: PUSH1 0x01 00003810: PUSH1 0x01 00003812: PUSH1 0xa0 00003814: SHL 00003815: SUB 00003816: AND 00003817: MUL 00003818: OR 00003819: SWAP1 0000381a: SSTORE 0000381b: POP 0000381c: POP 0000381d: POP 0000381e: JUMP 0000381f: JUMPDEST 00003820: DUP2 00003821: SLOAD 00003822: PUSH1 0x01 00003824: DUP2 00003825: ADD 00003826: DUP4 00003827: SSTORE 00003828: PUSH1 0x00 0000382a: DUP4 0000382b: DUP2 0000382c: MSTORE 0000382d: PUSH1 0x20 0000382f: SWAP1 00003830: KECCAK256 00003831: ADD 00003832: DUP1 00003833: SLOAD 00003834: PUSH1 0x01 00003836: PUSH1 0x01 00003838: PUSH1 0xa0 0000383a: SHL 0000383b: SUB 0000383c: DUP4 0000383d: AND 0000383e: PUSH1 0x01 00003840: PUSH1 0x01 00003842: PUSH1 0xa0 00003844: SHL 00003845: SUB 00003846: NOT 00003847: SWAP1 00003848: SWAP2 00003849: AND 0000384a: OR 0000384b: SWAP1 0000384c: SSTORE 0000384d: POP 0000384e: POP 0000384f: JUMP 00003850: JUMPDEST 00003851: PUSH1 0x01 00003853: PUSH1 0x01 00003855: PUSH1 0xa0 00003857: SHL 00003858: SUB 00003859: DUP3 0000385a: AND 0000385b: PUSH1 0x00 0000385d: SWAP1 0000385e: DUP2 0000385f: MSTORE 00003860: PUSH1 0x01 00003862: PUSH1 0x20 00003864: MSTORE 00003865: PUSH1 0x40 00003867: SWAP1 00003868: KECCAK256 00003869: SLOAD 0000386a: PUSH2 0x3873 0000386d: DUP2 0000386e: DUP4 0000386f: PUSH2 0x3715 00003872: JUMP 00003873: JUMPDEST 00003874: PUSH2 0x38b1 00003877: JUMPI 00003878: PUSH1 0x40 0000387a: MLOAD 0000387b: PUSH3 0x461bcd 0000387f: PUSH1 0xe5 00003881: SHL 00003882: DUP2 00003883: MSTORE 00003884: PUSH1 0x20 00003886: PUSH1 0x04 00003888: DUP3 00003889: ADD 0000388a: MSTORE 0000388b: PUSH1 0x0f 0000388d: PUSH1 0x24 0000388f: DUP3 00003890: ADD 00003891: MSTORE 00003892: PUSH15 0x0dcdee840ccd8c2cecac840c2eae8d 000038a2: PUSH1 0x8b 000038a4: SHL 000038a5: PUSH1 0x44 000038a7: DUP3 000038a8: ADD 000038a9: MSTORE 000038aa: PUSH1 0x64 000038ac: ADD 000038ad: PUSH2 0x0eb8 000038b0: JUMP 000038b1: JUMPDEST 000038b2: DUP2 000038b3: PUSH1 0x04 000038b5: DUP2 000038b6: GT 000038b7: ISZERO 000038b8: PUSH2 0x38c3 000038bb: JUMPI 000038bc: PUSH2 0x38c3 000038bf: PUSH2 0x3ec0 000038c2: JUMP 000038c3: JUMPDEST 000038c4: PUSH2 0x38ce 000038c7: SWAP1 000038c8: PUSH1 0x08 000038ca: PUSH2 0x4f4a 000038cd: JUMP 000038ce: JUMPDEST 000038cf: PUSH1 0x01 000038d1: PUSH1 0x01 000038d3: PUSH1 0xa0 000038d5: SHL 000038d6: SUB 000038d7: SWAP4 000038d8: SWAP1 000038d9: SWAP4 000038da: AND 000038db: PUSH1 0x00 000038dd: SWAP1 000038de: DUP2 000038df: MSTORE 000038e0: PUSH1 0x01 000038e2: PUSH1 0x20 000038e4: MSTORE 000038e5: PUSH1 0x40 000038e7: SWAP1 000038e8: KECCAK256 000038e9: DUP1 000038ea: SLOAD 000038eb: PUSH1 0x01 000038ed: PUSH1 0x01 000038ef: PUSH1 0xf8 000038f1: SHL 000038f2: SUB 000038f3: NOT 000038f4: PUSH1 0xff 000038f6: SWAP1 000038f7: SWAP6 000038f8: AND 000038f9: SWAP5 000038fa: SWAP1 000038fb: SWAP5 000038fc: SHR 000038fd: NOT 000038fe: SWAP1 000038ff: SWAP4 00003900: AND 00003901: SWAP1 00003902: SWAP3 00003903: SSTORE 00003904: POP 00003905: POP 00003906: JUMP 00003907: JUMPDEST 00003908: PUSH2 0x3948 0000390b: DUP3 0000390c: DUP3 0000390d: DUP5 0000390e: PUSH1 0x01 00003910: DUP7 00003911: DUP1 00003912: SLOAD 00003913: SWAP1 00003914: POP 00003915: PUSH2 0x391e 00003918: SWAP2 00003919: SWAP1 0000391a: PUSH2 0x4ec1 0000391d: JUMP 0000391e: JUMPDEST 0000391f: DUP2 00003920: SLOAD 00003921: DUP2 00003922: LT 00003923: PUSH2 0x392e 00003926: JUMPI 00003927: PUSH2 0x392e 0000392a: PUSH2 0x4bab 0000392d: JUMP 0000392e: JUMPDEST 0000392f: PUSH1 0x00 00003931: SWAP2 00003932: DUP3 00003933: MSTORE 00003934: PUSH1 0x20 00003936: SWAP1 00003937: SWAP2 00003938: KECCAK256 00003939: ADD 0000393a: SLOAD 0000393b: PUSH1 0x01 0000393d: PUSH1 0x01 0000393f: PUSH1 0xa0 00003941: SHL 00003942: SUB 00003943: AND 00003944: PUSH2 0x3b5e 00003947: JUMP 00003948: JUMPDEST 00003949: PUSH2 0x0fa1 0000394c: DUP3 0000394d: PUSH2 0x3c1c 00003950: JUMP 00003951: JUMPDEST 00003952: PUSH2 0x395a 00003955: DUP2 00003956: PUSH2 0x2b8e 00003959: JUMP 0000395a: JUMPDEST 0000395b: PUSH2 0x39bc 0000395e: JUMPI 0000395f: PUSH1 0x40 00003961: MLOAD 00003962: PUSH3 0x461bcd 00003966: PUSH1 0xe5 00003968: SHL 00003969: DUP2 0000396a: MSTORE 0000396b: PUSH1 0x20 0000396d: PUSH1 0x04 0000396f: DUP3 00003970: ADD 00003971: MSTORE 00003972: PUSH1 0x2d 00003974: PUSH1 0x24 00003976: DUP3 00003977: ADD 00003978: MSTORE 00003979: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e 0000399a: PUSH1 0x44 0000399c: DUP3 0000399d: ADD 0000399e: MSTORE 0000399f: PUSH13 0x1bdd08184818dbdb9d1c9858dd 000039ad: PUSH1 0x9a 000039af: SHL 000039b0: PUSH1 0x64 000039b2: DUP3 000039b3: ADD 000039b4: MSTORE 000039b5: PUSH1 0x84 000039b7: ADD 000039b8: PUSH2 0x0eb8 000039bb: JUMP 000039bc: JUMPDEST 000039bd: DUP1 000039be: PUSH1 0x00 000039c0: DUP1 000039c1: MLOAD 000039c2: PUSH1 0x20 000039c4: PUSH2 0x4ff9 000039c7: DUP4 000039c8: CODECOPY 000039c9: DUP2 000039ca: MLOAD 000039cb: SWAP2 000039cc: MSTORE 000039cd: JUMPDEST 000039ce: DUP1 000039cf: SLOAD 000039d0: PUSH1 0x01 000039d2: PUSH1 0x01 000039d4: PUSH1 0xa0 000039d6: SHL 000039d7: SUB 000039d8: NOT 000039d9: AND 000039da: PUSH1 0x01 000039dc: PUSH1 0x01 000039de: PUSH1 0xa0 000039e0: SHL 000039e1: SUB 000039e2: SWAP3 000039e3: SWAP1 000039e4: SWAP3 000039e5: AND 000039e6: SWAP2 000039e7: SWAP1 000039e8: SWAP2 000039e9: OR 000039ea: SWAP1 000039eb: SSTORE 000039ec: POP 000039ed: JUMP 000039ee: JUMPDEST 000039ef: PUSH1 0x00 000039f1: PUSH1 0x00 000039f3: DUP1 000039f4: MLOAD 000039f5: PUSH1 0x20 000039f7: PUSH2 0x4fd9 000039fa: DUP4 000039fb: CODECOPY 000039fc: DUP2 000039fd: MLOAD 000039fe: SWAP2 000039ff: MSTORE 00003a00: PUSH2 0x3706 00003a03: JUMP 00003a04: JUMPDEST 00003a05: PUSH1 0x01 00003a07: PUSH1 0x01 00003a09: PUSH1 0xa0 00003a0b: SHL 00003a0c: SUB 00003a0d: DUP2 00003a0e: AND 00003a0f: PUSH2 0x3a69 00003a12: JUMPI 00003a13: PUSH1 0x40 00003a15: MLOAD 00003a16: PUSH3 0x461bcd 00003a1a: PUSH1 0xe5 00003a1c: SHL 00003a1d: DUP2 00003a1e: MSTORE 00003a1f: PUSH1 0x20 00003a21: PUSH1 0x04 00003a23: DUP3 00003a24: ADD 00003a25: MSTORE 00003a26: PUSH1 0x26 00003a28: PUSH1 0x24 00003a2a: DUP3 00003a2b: ADD 00003a2c: MSTORE 00003a2d: PUSH32 0x455243313936373a206e65772061646d696e20697320746865207a65726f2061 00003a4e: PUSH1 0x44 00003a50: DUP3 00003a51: ADD 00003a52: MSTORE 00003a53: PUSH6 0x646472657373 00003a5a: PUSH1 0xd0 00003a5c: SHL 00003a5d: PUSH1 0x64 00003a5f: DUP3 00003a60: ADD 00003a61: MSTORE 00003a62: PUSH1 0x84 00003a64: ADD 00003a65: PUSH2 0x0eb8 00003a68: JUMP 00003a69: JUMPDEST 00003a6a: DUP1 00003a6b: PUSH1 0x00 00003a6d: DUP1 00003a6e: MLOAD 00003a6f: PUSH1 0x20 00003a71: PUSH2 0x4fd9 00003a74: DUP4 00003a75: CODECOPY 00003a76: DUP2 00003a77: MLOAD 00003a78: SWAP2 00003a79: MSTORE 00003a7a: PUSH2 0x39cd 00003a7d: JUMP 00003a7e: JUMPDEST 00003a7f: PUSH2 0x0ec1 00003a82: DUP4 00003a83: PUSH4 0x40c10f19 00003a88: PUSH1 0xe0 00003a8a: SHL 00003a8b: DUP5 00003a8c: DUP5 00003a8d: PUSH1 0x40 00003a8f: MLOAD 00003a90: PUSH1 0x24 00003a92: ADD 00003a93: PUSH2 0x36bd 00003a96: SWAP3 00003a97: SWAP2 00003a98: SWAP1 00003a99: PUSH2 0x4f31 00003a9c: JUMP 00003a9d: JUMPDEST 00003a9e: PUSH2 0x0ec1 00003aa1: DUP4 00003aa2: PUSH4 0xa9059cbb 00003aa7: PUSH1 0xe0 00003aa9: SHL 00003aaa: DUP5 00003aab: DUP5 00003aac: PUSH1 0x40 00003aae: MLOAD 00003aaf: PUSH1 0x24 00003ab1: ADD 00003ab2: PUSH2 0x36bd 00003ab5: SWAP3 00003ab6: SWAP2 00003ab7: SWAP1 00003ab8: PUSH2 0x4f31 00003abb: JUMP 00003abc: JUMPDEST 00003abd: PUSH1 0x00 00003abf: PUSH2 0x3b01 00003ac2: DUP3 00003ac3: PUSH1 0x40 00003ac5: MLOAD 00003ac6: DUP1 00003ac7: PUSH1 0x40 00003ac9: ADD 00003aca: PUSH1 0x40 00003acc: MSTORE 00003acd: DUP1 00003ace: PUSH1 0x0d 00003ad0: DUP2 00003ad1: MSTORE 00003ad2: PUSH1 0x20 00003ad4: ADD 00003ad5: PUSH13 0x1cd859994e881b1bddd0d85b1b 00003ae3: PUSH1 0x9a 00003ae5: SHL 00003ae6: DUP2 00003ae7: MSTORE 00003ae8: POP 00003ae9: DUP6 00003aea: PUSH1 0x01 00003aec: PUSH1 0x01 00003aee: PUSH1 0xa0 00003af0: SHL 00003af1: SUB 00003af2: AND 00003af3: PUSH2 0x3ca0 00003af6: SWAP1 00003af7: SWAP3 00003af8: SWAP2 00003af9: SWAP1 00003afa: PUSH4 0xffffffff 00003aff: AND 00003b00: JUMP 00003b01: JUMPDEST 00003b02: DUP1 00003b03: MLOAD 00003b04: SWAP1 00003b05: SWAP2 00003b06: POP 00003b07: ISZERO 00003b08: PUSH2 0x0ec1 00003b0b: JUMPI 00003b0c: DUP1 00003b0d: DUP1 00003b0e: PUSH1 0x20 00003b10: ADD 00003b11: SWAP1 00003b12: MLOAD 00003b13: DUP2 00003b14: ADD 00003b15: SWAP1 00003b16: PUSH2 0x3b1f 00003b19: SWAP2 00003b1a: SWAP1 00003b1b: PUSH2 0x3ff6 00003b1e: JUMP 00003b1f: JUMPDEST 00003b20: PUSH2 0x0ec1 00003b23: JUMPI 00003b24: PUSH1 0x40 00003b26: MLOAD 00003b27: PUSH3 0x461bcd 00003b2b: PUSH1 0xe5 00003b2d: SHL 00003b2e: DUP2 00003b2f: MSTORE 00003b30: PUSH1 0x20 00003b32: PUSH1 0x04 00003b34: DUP3 00003b35: ADD 00003b36: MSTORE 00003b37: PUSH1 0x10 00003b39: PUSH1 0x24 00003b3b: DUP3 00003b3c: ADD 00003b3d: MSTORE 00003b3e: PUSH16 0x736166653a2072657475726e44617461 00003b4f: PUSH1 0x80 00003b51: SHL 00003b52: PUSH1 0x44 00003b54: DUP3 00003b55: ADD 00003b56: MSTORE 00003b57: PUSH1 0x64 00003b59: ADD 00003b5a: PUSH2 0x0eb8 00003b5d: JUMP 00003b5e: JUMPDEST 00003b5f: DUP1 00003b60: PUSH1 0x01 00003b62: PUSH1 0x01 00003b64: PUSH1 0xa0 00003b66: SHL 00003b67: SUB 00003b68: AND 00003b69: DUP3 00003b6a: PUSH1 0x01 00003b6c: PUSH1 0x01 00003b6e: PUSH1 0xa0 00003b70: SHL 00003b71: SUB 00003b72: AND 00003b73: SUB 00003b74: PUSH2 0x3b81 00003b77: JUMPI 00003b78: PUSH2 0x0ec1 00003b7b: DUP4 00003b7c: DUP4 00003b7d: PUSH2 0x3cb7 00003b80: JUMP 00003b81: JUMPDEST 00003b82: DUP3 00003b83: SLOAD 00003b84: PUSH1 0x00 00003b86: JUMPDEST 00003b87: DUP2 00003b88: DUP2 00003b89: LT 00003b8a: ISZERO 00003b8b: PUSH2 0x1693 00003b8e: JUMPI 00003b8f: DUP4 00003b90: PUSH1 0x01 00003b92: PUSH1 0x01 00003b94: PUSH1 0xa0 00003b96: SHL 00003b97: SUB 00003b98: AND 00003b99: DUP6 00003b9a: DUP3 00003b9b: DUP2 00003b9c: SLOAD 00003b9d: DUP2 00003b9e: LT 00003b9f: PUSH2 0x3baa 00003ba2: JUMPI 00003ba3: PUSH2 0x3baa 00003ba6: PUSH2 0x4bab 00003ba9: JUMP 00003baa: JUMPDEST 00003bab: PUSH1 0x00 00003bad: SWAP2 00003bae: DUP3 00003baf: MSTORE 00003bb0: PUSH1 0x20 00003bb2: SWAP1 00003bb3: SWAP2 00003bb4: KECCAK256 00003bb5: ADD 00003bb6: SLOAD 00003bb7: PUSH1 0x01 00003bb9: PUSH1 0x01 00003bbb: PUSH1 0xa0 00003bbd: SHL 00003bbe: SUB 00003bbf: AND 00003bc0: SUB 00003bc1: PUSH2 0x3c0a 00003bc4: JUMPI 00003bc5: DUP3 00003bc6: DUP6 00003bc7: DUP3 00003bc8: DUP2 00003bc9: SLOAD 00003bca: DUP2 00003bcb: LT 00003bcc: PUSH2 0x3bd7 00003bcf: JUMPI 00003bd0: PUSH2 0x3bd7 00003bd3: PUSH2 0x4bab 00003bd6: JUMP 00003bd7: JUMPDEST 00003bd8: SWAP1 00003bd9: PUSH1 0x00 00003bdb: MSTORE 00003bdc: PUSH1 0x20 00003bde: PUSH1 0x00 00003be0: KECCAK256 00003be1: ADD 00003be2: PUSH1 0x00 00003be4: PUSH2 0x0100 00003be7: EXP 00003be8: DUP2 00003be9: SLOAD 00003bea: DUP2 00003beb: PUSH1 0x01 00003bed: PUSH1 0x01 00003bef: PUSH1 0xa0 00003bf1: SHL 00003bf2: SUB 00003bf3: MUL 00003bf4: NOT 00003bf5: AND 00003bf6: SWAP1 00003bf7: DUP4 00003bf8: PUSH1 0x01 00003bfa: PUSH1 0x01 00003bfc: PUSH1 0xa0 00003bfe: SHL 00003bff: SUB 00003c00: AND 00003c01: MUL 00003c02: OR 00003c03: SWAP1 00003c04: SSTORE 00003c05: POP 00003c06: PUSH2 0x1693 00003c09: JUMP 00003c0a: JUMPDEST 00003c0b: DUP1 00003c0c: PUSH2 0x3c14 00003c0f: DUP2 00003c10: PUSH2 0x4bd7 00003c13: JUMP 00003c14: JUMPDEST 00003c15: SWAP2 00003c16: POP 00003c17: POP 00003c18: PUSH2 0x3b86 00003c1b: JUMP 00003c1c: JUMPDEST 00003c1d: DUP1 00003c1e: SLOAD 00003c1f: PUSH1 0x01 00003c21: SUB 00003c22: PUSH2 0x3c6b 00003c25: JUMPI 00003c26: PUSH1 0x00 00003c28: DUP2 00003c29: PUSH1 0x00 00003c2b: DUP2 00003c2c: SLOAD 00003c2d: DUP2 00003c2e: LT 00003c2f: PUSH2 0x3c3a 00003c32: JUMPI 00003c33: PUSH2 0x3c3a 00003c36: PUSH2 0x4bab 00003c39: JUMP 00003c3a: JUMPDEST 00003c3b: SWAP1 00003c3c: PUSH1 0x00 00003c3e: MSTORE 00003c3f: PUSH1 0x20 00003c41: PUSH1 0x00 00003c43: KECCAK256 00003c44: ADD 00003c45: PUSH1 0x00 00003c47: PUSH2 0x0100 00003c4a: EXP 00003c4b: DUP2 00003c4c: SLOAD 00003c4d: DUP2 00003c4e: PUSH1 0x01 00003c50: PUSH1 0x01 00003c52: PUSH1 0xa0 00003c54: SHL 00003c55: SUB 00003c56: MUL 00003c57: NOT 00003c58: AND 00003c59: SWAP1 00003c5a: DUP4 00003c5b: PUSH1 0x01 00003c5d: PUSH1 0x01 00003c5f: PUSH1 0xa0 00003c61: SHL 00003c62: SUB 00003c63: AND 00003c64: MUL 00003c65: OR 00003c66: SWAP1 00003c67: SSTORE 00003c68: POP 00003c69: POP 00003c6a: JUMP 00003c6b: JUMPDEST 00003c6c: DUP1 00003c6d: DUP1 00003c6e: SLOAD 00003c6f: DUP1 00003c70: PUSH2 0x3c7b 00003c73: JUMPI 00003c74: PUSH2 0x3c7b 00003c77: PUSH2 0x4f73 00003c7a: JUMP 00003c7b: JUMPDEST 00003c7c: PUSH1 0x00 00003c7e: DUP3 00003c7f: DUP2 00003c80: MSTORE 00003c81: PUSH1 0x20 00003c83: SWAP1 00003c84: KECCAK256 00003c85: DUP2 00003c86: ADD 00003c87: PUSH1 0x00 00003c89: NOT 00003c8a: SWAP1 00003c8b: DUP2 00003c8c: ADD 00003c8d: DUP1 00003c8e: SLOAD 00003c8f: PUSH1 0x01 00003c91: PUSH1 0x01 00003c93: PUSH1 0xa0 00003c95: SHL 00003c96: SUB 00003c97: NOT 00003c98: AND 00003c99: SWAP1 00003c9a: SSTORE 00003c9b: ADD 00003c9c: SWAP1 00003c9d: SSTORE 00003c9e: POP 00003c9f: JUMP 00003ca0: JUMPDEST 00003ca1: PUSH1 0x60 00003ca3: PUSH2 0x3caf 00003ca6: DUP5 00003ca7: DUP5 00003ca8: PUSH1 0x00 00003caa: DUP6 00003cab: PUSH2 0x3d49 00003cae: JUMP 00003caf: JUMPDEST 00003cb0: SWAP5 00003cb1: SWAP4 00003cb2: POP 00003cb3: POP 00003cb4: POP 00003cb5: POP 00003cb6: JUMP 00003cb7: JUMPDEST 00003cb8: DUP2 00003cb9: SLOAD 00003cba: PUSH1 0x00 00003cbc: JUMPDEST 00003cbd: DUP2 00003cbe: DUP2 00003cbf: LT 00003cc0: ISZERO 00003cc1: PUSH2 0x3d12 00003cc4: JUMPI 00003cc5: DUP3 00003cc6: PUSH1 0x01 00003cc8: PUSH1 0x01 00003cca: PUSH1 0xa0 00003ccc: SHL 00003ccd: SUB 00003cce: AND 00003ccf: DUP5 00003cd0: DUP3 00003cd1: DUP2 00003cd2: SLOAD 00003cd3: DUP2 00003cd4: LT 00003cd5: PUSH2 0x3ce0 00003cd8: JUMPI 00003cd9: PUSH2 0x3ce0 00003cdc: PUSH2 0x4bab 00003cdf: JUMP 00003ce0: JUMPDEST 00003ce1: PUSH1 0x00 00003ce3: SWAP2 00003ce4: DUP3 00003ce5: MSTORE 00003ce6: PUSH1 0x20 00003ce8: SWAP1 00003ce9: SWAP2 00003cea: KECCAK256 00003ceb: ADD 00003cec: SLOAD 00003ced: PUSH1 0x01 00003cef: PUSH1 0x01 00003cf1: PUSH1 0xa0 00003cf3: SHL 00003cf4: SUB 00003cf5: AND 00003cf6: SUB 00003cf7: PUSH2 0x3d00 00003cfa: JUMPI 00003cfb: POP 00003cfc: POP 00003cfd: POP 00003cfe: POP 00003cff: JUMP 00003d00: JUMPDEST 00003d01: DUP1 00003d02: PUSH2 0x3d0a 00003d05: DUP2 00003d06: PUSH2 0x4bd7 00003d09: JUMP 00003d0a: JUMPDEST 00003d0b: SWAP2 00003d0c: POP 00003d0d: POP 00003d0e: PUSH2 0x3cbc 00003d11: JUMP 00003d12: JUMPDEST 00003d13: POP 00003d14: PUSH1 0x40 00003d16: MLOAD 00003d17: PUSH3 0x461bcd 00003d1b: PUSH1 0xe5 00003d1d: SHL 00003d1e: DUP2 00003d1f: MSTORE 00003d20: PUSH1 0x20 00003d22: PUSH1 0x04 00003d24: DUP3 00003d25: ADD 00003d26: MSTORE 00003d27: PUSH1 0x0b 00003d29: PUSH1 0x24 00003d2b: DUP3 00003d2c: ADD 00003d2d: MSTORE 00003d2e: PUSH11 0x3737ba1031b7b73a30b4b7 00003d3a: PUSH1 0xa9 00003d3c: SHL 00003d3d: PUSH1 0x44 00003d3f: DUP3 00003d40: ADD 00003d41: MSTORE 00003d42: PUSH1 0x64 00003d44: ADD 00003d45: PUSH2 0x0eb8 00003d48: JUMP 00003d49: JUMPDEST 00003d4a: PUSH1 0x60 00003d4c: DUP3 00003d4d: SELFBALANCE 00003d4e: LT 00003d4f: ISZERO 00003d50: PUSH2 0x3daa 00003d53: JUMPI 00003d54: PUSH1 0x40 00003d56: MLOAD 00003d57: PUSH3 0x461bcd 00003d5b: PUSH1 0xe5 00003d5d: SHL 00003d5e: DUP2 00003d5f: MSTORE 00003d60: PUSH1 0x20 00003d62: PUSH1 0x04 00003d64: DUP3 00003d65: ADD 00003d66: MSTORE 00003d67: PUSH1 0x26 00003d69: PUSH1 0x24 00003d6b: DUP3 00003d6c: ADD 00003d6d: MSTORE 00003d6e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00003d8f: PUSH1 0x44 00003d91: DUP3 00003d92: ADD 00003d93: MSTORE 00003d94: PUSH6 0x1c8818d85b1b 00003d9b: PUSH1 0xd2 00003d9d: SHL 00003d9e: PUSH1 0x64 00003da0: DUP3 00003da1: ADD 00003da2: MSTORE 00003da3: PUSH1 0x84 00003da5: ADD 00003da6: PUSH2 0x0eb8 00003da9: JUMP 00003daa: JUMPDEST 00003dab: PUSH1 0x00 00003dad: DUP1 00003dae: DUP7 00003daf: PUSH1 0x01 00003db1: PUSH1 0x01 00003db3: PUSH1 0xa0 00003db5: SHL 00003db6: SUB 00003db7: AND 00003db8: DUP6 00003db9: DUP8 00003dba: PUSH1 0x40 00003dbc: MLOAD 00003dbd: PUSH2 0x3dc6 00003dc0: SWAP2 00003dc1: SWAP1 00003dc2: PUSH2 0x4f89 00003dc5: JUMP 00003dc6: JUMPDEST 00003dc7: PUSH1 0x00 00003dc9: PUSH1 0x40 00003dcb: MLOAD 00003dcc: DUP1 00003dcd: DUP4 00003dce: SUB 00003dcf: DUP2 00003dd0: DUP6 00003dd1: DUP8 00003dd2: GAS 00003dd3: CALL 00003dd4: SWAP3 00003dd5: POP 00003dd6: POP 00003dd7: POP 00003dd8: RETURNDATASIZE 00003dd9: DUP1 00003dda: PUSH1 0x00 00003ddc: DUP2 00003ddd: EQ 00003dde: PUSH2 0x3e03 00003de1: JUMPI 00003de2: PUSH1 0x40 00003de4: MLOAD 00003de5: SWAP2 00003de6: POP 00003de7: PUSH1 0x1f 00003de9: NOT 00003dea: PUSH1 0x3f 00003dec: RETURNDATASIZE 00003ded: ADD 00003dee: AND 00003def: DUP3 00003df0: ADD 00003df1: PUSH1 0x40 00003df3: MSTORE 00003df4: RETURNDATASIZE 00003df5: DUP3 00003df6: MSTORE 00003df7: RETURNDATASIZE 00003df8: PUSH1 0x00 00003dfa: PUSH1 0x20 00003dfc: DUP5 00003dfd: ADD 00003dfe: RETURNDATACOPY 00003dff: PUSH2 0x3e08 00003e02: JUMP 00003e03: JUMPDEST 00003e04: PUSH1 0x60 00003e06: SWAP2 00003e07: POP 00003e08: JUMPDEST 00003e09: POP 00003e0a: SWAP2 00003e0b: POP 00003e0c: SWAP2 00003e0d: POP 00003e0e: PUSH2 0x3e19 00003e11: DUP8 00003e12: DUP4 00003e13: DUP4 00003e14: DUP8 00003e15: PUSH2 0x3e24 00003e18: JUMP 00003e19: JUMPDEST 00003e1a: SWAP8 00003e1b: SWAP7 00003e1c: POP 00003e1d: POP 00003e1e: POP 00003e1f: POP 00003e20: POP 00003e21: POP 00003e22: POP 00003e23: JUMP 00003e24: JUMPDEST 00003e25: PUSH1 0x60 00003e27: DUP4 00003e28: ISZERO 00003e29: PUSH2 0x3e91 00003e2c: JUMPI 00003e2d: DUP3 00003e2e: MLOAD 00003e2f: PUSH1 0x00 00003e31: SUB 00003e32: PUSH2 0x3e8a 00003e35: JUMPI 00003e36: PUSH2 0x3e3e 00003e39: DUP6 00003e3a: PUSH2 0x2b8e 00003e3d: JUMP 00003e3e: JUMPDEST 00003e3f: PUSH2 0x3e8a 00003e42: JUMPI 00003e43: PUSH1 0x40 00003e45: MLOAD 00003e46: PUSH3 0x461bcd 00003e4a: PUSH1 0xe5 00003e4c: SHL 00003e4d: DUP2 00003e4e: MSTORE 00003e4f: PUSH1 0x20 00003e51: PUSH1 0x04 00003e53: DUP3 00003e54: ADD 00003e55: MSTORE 00003e56: PUSH1 0x1d 00003e58: PUSH1 0x24 00003e5a: DUP3 00003e5b: ADD 00003e5c: MSTORE 00003e5d: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003e7e: PUSH1 0x44 00003e80: DUP3 00003e81: ADD 00003e82: MSTORE 00003e83: PUSH1 0x64 00003e85: ADD 00003e86: PUSH2 0x0eb8 00003e89: JUMP 00003e8a: JUMPDEST 00003e8b: POP 00003e8c: DUP2 00003e8d: PUSH2 0x3caf 00003e90: JUMP 00003e91: JUMPDEST 00003e92: PUSH2 0x3caf 00003e95: DUP4 00003e96: DUP4 00003e97: DUP2 00003e98: MLOAD 00003e99: ISZERO 00003e9a: PUSH2 0x3ea6 00003e9d: JUMPI 00003e9e: DUP2 00003e9f: MLOAD 00003ea0: DUP1 00003ea1: DUP4 00003ea2: PUSH1 0x20 00003ea4: ADD 00003ea5: REVERT 00003ea6: JUMPDEST 00003ea7: DUP1 00003ea8: PUSH1 0x40 00003eaa: MLOAD 00003eab: PUSH3 0x461bcd 00003eaf: PUSH1 0xe5 00003eb1: SHL 00003eb2: DUP2 00003eb3: MSTORE 00003eb4: PUSH1 0x04 00003eb6: ADD 00003eb7: PUSH2 0x0eb8 00003eba: SWAP2 00003ebb: SWAP1 00003ebc: PUSH2 0x4fa5 00003ebf: JUMP 00003ec0: JUMPDEST 00003ec1: PUSH4 0x4e487b71 00003ec6: PUSH1 0xe0 00003ec8: SHL 00003ec9: PUSH1 0x00 00003ecb: MSTORE 00003ecc: PUSH1 0x21 00003ece: PUSH1 0x04 00003ed0: MSTORE 00003ed1: PUSH1 0x24 00003ed3: PUSH1 0x00 00003ed5: REVERT 00003ed6: JUMPDEST 00003ed7: PUSH1 0x60 00003ed9: DUP2 00003eda: ADD 00003edb: PUSH1 0x03 00003edd: DUP6 00003ede: LT 00003edf: PUSH2 0x3eea 00003ee2: JUMPI 00003ee3: PUSH2 0x3eea 00003ee6: PUSH2 0x3ec0 00003ee9: JUMP 00003eea: JUMPDEST 00003eeb: SWAP4 00003eec: DUP2 00003eed: MSTORE 00003eee: PUSH1 0x20 00003ef0: DUP2 00003ef1: ADD 00003ef2: SWAP3 00003ef3: SWAP1 00003ef4: SWAP3 00003ef5: MSTORE 00003ef6: PUSH1 0x40 00003ef8: SWAP1 00003ef9: SWAP2 00003efa: ADD 00003efb: MSTORE 00003efc: SWAP1 00003efd: JUMP 00003efe: JUMPDEST 00003eff: PUSH1 0x00 00003f01: JUMPDEST 00003f02: DUP4 00003f03: DUP2 00003f04: LT 00003f05: ISZERO 00003f06: PUSH2 0x3f19 00003f09: JUMPI 00003f0a: DUP2 00003f0b: DUP2 00003f0c: ADD 00003f0d: MLOAD 00003f0e: DUP4 00003f0f: DUP3 00003f10: ADD 00003f11: MSTORE 00003f12: PUSH1 0x20 00003f14: ADD 00003f15: PUSH2 0x3f01 00003f18: JUMP 00003f19: JUMPDEST 00003f1a: DUP4 00003f1b: DUP2 00003f1c: GT 00003f1d: ISZERO 00003f1e: PUSH2 0x18af 00003f21: JUMPI 00003f22: POP 00003f23: POP 00003f24: PUSH1 0x00 00003f26: SWAP2 00003f27: ADD 00003f28: MSTORE 00003f29: JUMP 00003f2a: JUMPDEST 00003f2b: PUSH1 0x00 00003f2d: DUP2 00003f2e: MLOAD 00003f2f: DUP1 00003f30: DUP5 00003f31: MSTORE 00003f32: PUSH2 0x3f42 00003f35: DUP2 00003f36: PUSH1 0x20 00003f38: DUP7 00003f39: ADD 00003f3a: PUSH1 0x20 00003f3c: DUP7 00003f3d: ADD 00003f3e: PUSH2 0x3efe 00003f41: JUMP 00003f42: JUMPDEST 00003f43: PUSH1 0x1f 00003f45: ADD 00003f46: PUSH1 0x1f 00003f48: NOT 00003f49: AND 00003f4a: SWAP3 00003f4b: SWAP1 00003f4c: SWAP3 00003f4d: ADD 00003f4e: PUSH1 0x20 00003f50: ADD 00003f51: SWAP3 00003f52: SWAP2 00003f53: POP 00003f54: POP 00003f55: JUMP 00003f56: JUMPDEST 00003f57: PUSH1 0x20 00003f59: DUP2 00003f5a: MSTORE 00003f5b: PUSH1 0x00 00003f5d: DUP3 00003f5e: MLOAD 00003f5f: PUSH4 0xffffffff 00003f64: PUSH1 0xe0 00003f66: SHL 00003f67: DUP2 00003f68: MLOAD 00003f69: AND 00003f6a: PUSH1 0x20 00003f6c: DUP5 00003f6d: ADD 00003f6e: MSTORE 00003f6f: PUSH1 0x01 00003f71: DUP1 00003f72: PUSH1 0x80 00003f74: SHL 00003f75: SUB 00003f76: NOT 00003f77: PUSH1 0x20 00003f79: DUP3 00003f7a: ADD 00003f7b: MLOAD 00003f7c: AND 00003f7d: PUSH1 0x40 00003f7f: DUP5 00003f80: ADD 00003f81: MSTORE 00003f82: POP 00003f83: PUSH1 0x20 00003f85: DUP4 00003f86: ADD 00003f87: MLOAD 00003f88: PUSH1 0x60 00003f8a: DUP1 00003f8b: DUP5 00003f8c: ADD 00003f8d: MSTORE 00003f8e: DUP1 00003f8f: MLOAD 00003f90: PUSH1 0x80 00003f92: DUP5 00003f93: ADD 00003f94: MSTORE 00003f95: PUSH1 0x20 00003f97: DUP2 00003f98: ADD 00003f99: MLOAD 00003f9a: PUSH1 0xa0 00003f9c: DUP5 00003f9d: ADD 00003f9e: MSTORE 00003f9f: PUSH1 0x40 00003fa1: DUP2 00003fa2: ADD 00003fa3: MLOAD 00003fa4: PUSH1 0x01 00003fa6: DUP1 00003fa7: PUSH1 0xa0 00003fa9: SHL 00003faa: SUB 00003fab: DUP1 00003fac: DUP3 00003fad: AND 00003fae: PUSH1 0xc0 00003fb0: DUP7 00003fb1: ADD 00003fb2: MSTORE 00003fb3: DUP1 00003fb4: PUSH1 0x60 00003fb6: DUP5 00003fb7: ADD 00003fb8: MLOAD 00003fb9: AND 00003fba: PUSH1 0xe0 00003fbc: DUP7 00003fbd: ADD 00003fbe: MSTORE 00003fbf: POP 00003fc0: POP 00003fc1: PUSH1 0x80 00003fc3: DUP2 00003fc4: ADD 00003fc5: MLOAD 00003fc6: PUSH2 0x0100 00003fc9: DUP5 00003fca: ADD 00003fcb: MSTORE 00003fcc: PUSH1 0xa0 00003fce: DUP2 00003fcf: ADD 00003fd0: MLOAD 00003fd1: SWAP1 00003fd2: POP 00003fd3: PUSH1 0xc0 00003fd5: PUSH2 0x0120 00003fd8: DUP5 00003fd9: ADD 00003fda: MSTORE 00003fdb: PUSH2 0x3caf 00003fde: PUSH2 0x0140 00003fe1: DUP5 00003fe2: ADD 00003fe3: DUP3 00003fe4: PUSH2 0x3f2a 00003fe7: JUMP 00003fe8: JUMPDEST 00003fe9: DUP1 00003fea: ISZERO 00003feb: ISZERO 00003fec: DUP2 00003fed: EQ 00003fee: PUSH2 0x1920 00003ff1: JUMPI 00003ff2: PUSH1 0x00 00003ff4: DUP1 00003ff5: REVERT 00003ff6: JUMPDEST 00003ff7: PUSH1 0x00 00003ff9: PUSH1 0x20 00003ffb: DUP3 00003ffc: DUP5 00003ffd: SUB 00003ffe: SLT 00003fff: ISZERO 00004000: PUSH2 0x4008 00004003: JUMPI 00004004: PUSH1 0x00 00004006: DUP1 00004007: REVERT 00004008: JUMPDEST 00004009: DUP2 0000400a: MLOAD 0000400b: PUSH2 0x2de6 0000400e: DUP2 0000400f: PUSH2 0x3fe8 00004012: JUMP 00004013: JUMPDEST 00004014: DUP1 00004015: CALLDATALOAD 00004016: PUSH1 0x01 00004018: PUSH1 0x01 0000401a: PUSH1 0xa0 0000401c: SHL 0000401d: SUB 0000401e: DUP2 0000401f: AND 00004020: DUP2 00004021: EQ 00004022: PUSH2 0x11e8 00004025: JUMPI 00004026: PUSH1 0x00 00004028: DUP1 00004029: REVERT 0000402a: JUMPDEST 0000402b: PUSH1 0x00 0000402d: PUSH1 0x20 0000402f: DUP3 00004030: DUP5 00004031: SUB 00004032: SLT 00004033: ISZERO 00004034: PUSH2 0x403c 00004037: JUMPI 00004038: PUSH1 0x00 0000403a: DUP1 0000403b: REVERT 0000403c: JUMPDEST 0000403d: PUSH2 0x2de6 00004040: DUP3 00004041: PUSH2 0x4013 00004044: JUMP 00004045: JUMPDEST 00004046: PUSH1 0x00 00004048: PUSH1 0x20 0000404a: DUP3 0000404b: DUP5 0000404c: SUB 0000404d: SLT 0000404e: ISZERO 0000404f: PUSH2 0x4057 00004052: JUMPI 00004053: PUSH1 0x00 00004055: DUP1 00004056: REVERT 00004057: JUMPDEST 00004058: POP 00004059: CALLDATALOAD 0000405a: SWAP2 0000405b: SWAP1 0000405c: POP 0000405d: JUMP 0000405e: JUMPDEST 0000405f: DUP1 00004060: CALLDATALOAD 00004061: PUSH1 0x01 00004063: PUSH1 0x01 00004065: PUSH1 0xe0 00004067: SHL 00004068: SUB 00004069: NOT 0000406a: DUP2 0000406b: AND 0000406c: DUP2 0000406d: EQ 0000406e: PUSH2 0x11e8 00004071: JUMPI 00004072: PUSH1 0x00 00004074: DUP1 00004075: REVERT 00004076: JUMPDEST 00004077: PUSH1 0x00 00004079: DUP1 0000407a: PUSH1 0x40 0000407c: DUP4 0000407d: DUP6 0000407e: SUB 0000407f: SLT 00004080: ISZERO 00004081: PUSH2 0x4089 00004084: JUMPI 00004085: PUSH1 0x00 00004087: DUP1 00004088: REVERT 00004089: JUMPDEST 0000408a: DUP3 0000408b: CALLDATALOAD 0000408c: SWAP2 0000408d: POP 0000408e: PUSH2 0x4099 00004091: PUSH1 0x20 00004093: DUP5 00004094: ADD 00004095: PUSH2 0x405e 00004098: JUMP 00004099: JUMPDEST 0000409a: SWAP1 0000409b: POP 0000409c: SWAP3 0000409d: POP 0000409e: SWAP3 0000409f: SWAP1 000040a0: POP 000040a1: JUMP 000040a2: JUMPDEST 000040a3: PUSH4 0x4e487b71 000040a8: PUSH1 0xe0 000040aa: SHL 000040ab: PUSH1 0x00 000040ad: MSTORE 000040ae: PUSH1 0x41 000040b0: PUSH1 0x04 000040b2: MSTORE 000040b3: PUSH1 0x24 000040b5: PUSH1 0x00 000040b7: REVERT 000040b8: JUMPDEST 000040b9: PUSH1 0x40 000040bb: DUP1 000040bc: MLOAD 000040bd: SWAP1 000040be: DUP2 000040bf: ADD 000040c0: PUSH1 0x01 000040c2: PUSH1 0x01 000040c4: PUSH1 0x40 000040c6: SHL 000040c7: SUB 000040c8: DUP2 000040c9: GT 000040ca: DUP3 000040cb: DUP3 000040cc: LT 000040cd: OR 000040ce: ISZERO 000040cf: PUSH2 0x40da 000040d2: JUMPI 000040d3: PUSH2 0x40da 000040d6: PUSH2 0x40a2 000040d9: JUMP 000040da: JUMPDEST 000040db: PUSH1 0x40 000040dd: MSTORE 000040de: SWAP1 000040df: JUMP 000040e0: JUMPDEST 000040e1: PUSH1 0x40 000040e3: MLOAD 000040e4: PUSH1 0xc0 000040e6: DUP2 000040e7: ADD 000040e8: PUSH1 0x01 000040ea: PUSH1 0x01 000040ec: PUSH1 0x40 000040ee: SHL 000040ef: SUB 000040f0: DUP2 000040f1: GT 000040f2: DUP3 000040f3: DUP3 000040f4: LT 000040f5: OR 000040f6: ISZERO 000040f7: PUSH2 0x40da 000040fa: JUMPI 000040fb: PUSH2 0x40da 000040fe: PUSH2 0x40a2 00004101: JUMP 00004102: JUMPDEST 00004103: PUSH1 0x40 00004105: MLOAD 00004106: PUSH1 0x1f 00004108: DUP3 00004109: ADD 0000410a: PUSH1 0x1f 0000410c: NOT 0000410d: AND 0000410e: DUP2 0000410f: ADD 00004110: PUSH1 0x01 00004112: PUSH1 0x01 00004114: PUSH1 0x40 00004116: SHL 00004117: SUB 00004118: DUP2 00004119: GT 0000411a: DUP3 0000411b: DUP3 0000411c: LT 0000411d: OR 0000411e: ISZERO 0000411f: PUSH2 0x412a 00004122: JUMPI 00004123: PUSH2 0x412a 00004126: PUSH2 0x40a2 00004129: JUMP 0000412a: JUMPDEST 0000412b: PUSH1 0x40 0000412d: MSTORE 0000412e: SWAP2 0000412f: SWAP1 00004130: POP 00004131: JUMP 00004132: JUMPDEST 00004133: PUSH1 0x00 00004135: PUSH1 0x01 00004137: PUSH1 0x01 00004139: PUSH1 0x40 0000413b: SHL 0000413c: SUB 0000413d: DUP3 0000413e: GT 0000413f: ISZERO 00004140: PUSH2 0x414b 00004143: JUMPI 00004144: PUSH2 0x414b 00004147: PUSH2 0x40a2 0000414a: JUMP 0000414b: JUMPDEST 0000414c: POP 0000414d: PUSH1 0x05 0000414f: SHL 00004150: PUSH1 0x20 00004152: ADD 00004153: SWAP1 00004154: JUMP 00004155: JUMPDEST 00004156: PUSH1 0x00 00004158: DUP3 00004159: PUSH1 0x1f 0000415b: DUP4 0000415c: ADD 0000415d: SLT 0000415e: PUSH2 0x4166 00004161: JUMPI 00004162: PUSH1 0x00 00004164: DUP1 00004165: REVERT 00004166: JUMPDEST 00004167: DUP2 00004168: CALLDATALOAD 00004169: PUSH1 0x20 0000416b: PUSH2 0x417b 0000416e: PUSH2 0x4176 00004171: DUP4 00004172: PUSH2 0x4132 00004175: JUMP 00004176: JUMPDEST 00004177: PUSH2 0x4102 0000417a: JUMP 0000417b: JUMPDEST 0000417c: DUP3 0000417d: DUP2 0000417e: MSTORE 0000417f: PUSH1 0x05 00004181: SWAP3 00004182: SWAP1 00004183: SWAP3 00004184: SHL 00004185: DUP5 00004186: ADD 00004187: DUP2 00004188: ADD 00004189: SWAP2 0000418a: DUP2 0000418b: DUP2 0000418c: ADD 0000418d: SWAP1 0000418e: DUP7 0000418f: DUP5 00004190: GT 00004191: ISZERO 00004192: PUSH2 0x419a 00004195: JUMPI 00004196: PUSH1 0x00 00004198: DUP1 00004199: REVERT 0000419a: JUMPDEST 0000419b: DUP3 0000419c: DUP7 0000419d: ADD 0000419e: JUMPDEST 0000419f: DUP5 000041a0: DUP2 000041a1: LT 000041a2: ISZERO 000041a3: PUSH2 0x41b5 000041a6: JUMPI 000041a7: DUP1 000041a8: CALLDATALOAD 000041a9: DUP4 000041aa: MSTORE 000041ab: SWAP2 000041ac: DUP4 000041ad: ADD 000041ae: SWAP2 000041af: DUP4 000041b0: ADD 000041b1: PUSH2 0x419e 000041b4: JUMP 000041b5: JUMPDEST 000041b6: POP 000041b7: SWAP7 000041b8: SWAP6 000041b9: POP 000041ba: POP 000041bb: POP 000041bc: POP 000041bd: POP 000041be: POP 000041bf: JUMP 000041c0: JUMPDEST 000041c1: DUP1 000041c2: CALLDATALOAD 000041c3: PUSH1 0x01 000041c5: PUSH1 0x01 000041c7: PUSH1 0x80 000041c9: SHL 000041ca: SUB 000041cb: NOT 000041cc: DUP2 000041cd: AND 000041ce: DUP2 000041cf: EQ 000041d0: PUSH2 0x11e8 000041d3: JUMPI 000041d4: PUSH1 0x00 000041d6: DUP1 000041d7: REVERT 000041d8: JUMPDEST 000041d9: PUSH1 0x00 000041db: DUP1 000041dc: PUSH1 0x40 000041de: DUP1 000041df: DUP5 000041e0: DUP7 000041e1: SUB 000041e2: SLT 000041e3: ISZERO 000041e4: PUSH2 0x41ec 000041e7: JUMPI 000041e8: PUSH1 0x00 000041ea: DUP1 000041eb: REVERT 000041ec: JUMPDEST 000041ed: DUP4 000041ee: CALLDATALOAD 000041ef: PUSH1 0x01 000041f1: PUSH1 0x01 000041f3: PUSH1 0x40 000041f5: SHL 000041f6: SUB 000041f7: DUP1 000041f8: DUP3 000041f9: GT 000041fa: ISZERO 000041fb: PUSH2 0x4203 000041fe: JUMPI 000041ff: PUSH1 0x00 00004201: DUP1 00004202: REVERT 00004203: JUMPDEST 00004204: PUSH2 0x420f 00004207: DUP8 00004208: DUP4 00004209: DUP9 0000420a: ADD 0000420b: PUSH2 0x4155 0000420e: JUMP 0000420f: JUMPDEST 00004210: SWAP5 00004211: POP 00004212: PUSH1 0x20 00004214: SWAP2 00004215: POP 00004216: DUP2 00004217: DUP7 00004218: ADD 00004219: CALLDATALOAD 0000421a: DUP2 0000421b: DUP2 0000421c: GT 0000421d: ISZERO 0000421e: PUSH2 0x4226 00004221: JUMPI 00004222: PUSH1 0x00 00004224: DUP1 00004225: REVERT 00004226: JUMPDEST 00004227: DUP7 00004228: ADD 00004229: PUSH1 0x1f 0000422b: DUP2 0000422c: ADD 0000422d: DUP9 0000422e: SGT 0000422f: PUSH2 0x4237 00004232: JUMPI 00004233: PUSH1 0x00 00004235: DUP1 00004236: REVERT 00004237: JUMPDEST 00004238: DUP1 00004239: CALLDATALOAD 0000423a: PUSH2 0x4245 0000423d: PUSH2 0x4176 00004240: DUP3 00004241: PUSH2 0x4132 00004244: JUMP 00004245: JUMPDEST 00004246: DUP2 00004247: DUP2 00004248: MSTORE 00004249: PUSH1 0x05 0000424b: SWAP2 0000424c: SWAP1 0000424d: SWAP2 0000424e: SHL 0000424f: DUP3 00004250: ADD 00004251: DUP5 00004252: ADD 00004253: SWAP1 00004254: DUP5 00004255: DUP2 00004256: ADD 00004257: SWAP1 00004258: DUP11 00004259: DUP4 0000425a: GT 0000425b: ISZERO 0000425c: PUSH2 0x4264 0000425f: JUMPI 00004260: PUSH1 0x00 00004262: DUP1 00004263: REVERT 00004264: JUMPDEST 00004265: DUP6 00004266: DUP5 00004267: ADD 00004268: JUMPDEST 00004269: DUP4 0000426a: DUP2 0000426b: LT 0000426c: ISZERO 0000426d: PUSH2 0x42f7 00004270: JUMPI 00004271: DUP1 00004272: CALLDATALOAD 00004273: DUP7 00004274: DUP2 00004275: GT 00004276: ISZERO 00004277: PUSH2 0x4280 0000427a: JUMPI 0000427b: PUSH1 0x00 0000427d: DUP1 0000427e: DUP2 0000427f: REVERT 00004280: JUMPDEST 00004281: DUP6 00004282: ADD 00004283: PUSH1 0x3f 00004285: DUP2 00004286: ADD 00004287: DUP14 00004288: SGT 00004289: PUSH2 0x4292 0000428c: JUMPI 0000428d: PUSH1 0x00 0000428f: DUP1 00004290: DUP2 00004291: REVERT 00004292: JUMPDEST 00004293: DUP8 00004294: DUP2 00004295: ADD 00004296: CALLDATALOAD 00004297: PUSH2 0x42a2 0000429a: PUSH2 0x4176 0000429d: DUP3 0000429e: PUSH2 0x4132 000042a1: JUMP 000042a2: JUMPDEST 000042a3: DUP2 000042a4: DUP2 000042a5: MSTORE 000042a6: PUSH1 0x05 000042a8: SWAP2 000042a9: SWAP1 000042aa: SWAP2 000042ab: SHL 000042ac: DUP3 000042ad: ADD 000042ae: DUP11 000042af: ADD 000042b0: SWAP1 000042b1: DUP10 000042b2: DUP2 000042b3: ADD 000042b4: SWAP1 000042b5: DUP16 000042b6: DUP4 000042b7: GT 000042b8: ISZERO 000042b9: PUSH2 0x42c2 000042bc: JUMPI 000042bd: PUSH1 0x00 000042bf: DUP1 000042c0: DUP2 000042c1: REVERT 000042c2: JUMPDEST 000042c3: SWAP3 000042c4: DUP12 000042c5: ADD 000042c6: SWAP3 000042c7: JUMPDEST 000042c8: DUP3 000042c9: DUP5 000042ca: LT 000042cb: ISZERO 000042cc: PUSH2 0x42e7 000042cf: JUMPI 000042d0: PUSH2 0x42d8 000042d3: DUP5 000042d4: PUSH2 0x41c0 000042d7: JUMP 000042d8: JUMPDEST 000042d9: DUP3 000042da: MSTORE 000042db: SWAP3 000042dc: DUP11 000042dd: ADD 000042de: SWAP3 000042df: SWAP1 000042e0: DUP11 000042e1: ADD 000042e2: SWAP1 000042e3: PUSH2 0x42c7 000042e6: JUMP 000042e7: JUMPDEST 000042e8: DUP7 000042e9: MSTORE 000042ea: POP 000042eb: POP 000042ec: POP 000042ed: SWAP2 000042ee: DUP7 000042ef: ADD 000042f0: SWAP2 000042f1: DUP7 000042f2: ADD 000042f3: PUSH2 0x4268 000042f6: JUMP 000042f7: JUMPDEST 000042f8: POP 000042f9: DUP1 000042fa: SWAP8 000042fb: POP 000042fc: POP 000042fd: POP 000042fe: POP 000042ff: POP 00004300: POP 00004301: POP 00004302: POP 00004303: SWAP3 00004304: POP 00004305: SWAP3 00004306: SWAP1 00004307: POP 00004308: JUMP 00004309: JUMPDEST 0000430a: PUSH1 0x20 0000430c: DUP1 0000430d: DUP3 0000430e: MSTORE 0000430f: DUP3 00004310: MLOAD 00004311: DUP3 00004312: DUP3 00004313: ADD 00004314: DUP2 00004315: SWAP1 00004316: MSTORE 00004317: PUSH1 0x00 00004319: SWAP2 0000431a: SWAP1 0000431b: DUP5 0000431c: DUP3 0000431d: ADD 0000431e: SWAP1 0000431f: PUSH1 0x40 00004321: DUP6 00004322: ADD 00004323: SWAP1 00004324: DUP5 00004325: JUMPDEST 00004326: DUP2 00004327: DUP2 00004328: LT 00004329: ISZERO 0000432a: PUSH2 0x434a 0000432d: JUMPI 0000432e: DUP4 0000432f: MLOAD 00004330: PUSH1 0x01 00004332: PUSH1 0x01 00004334: PUSH1 0xa0 00004336: SHL 00004337: SUB 00004338: AND 00004339: DUP4 0000433a: MSTORE 0000433b: SWAP3 0000433c: DUP5 0000433d: ADD 0000433e: SWAP3 0000433f: SWAP2 00004340: DUP5 00004341: ADD 00004342: SWAP2 00004343: PUSH1 0x01 00004345: ADD 00004346: PUSH2 0x4325 00004349: JUMP 0000434a: JUMPDEST 0000434b: POP 0000434c: SWAP1 0000434d: SWAP7 0000434e: SWAP6 0000434f: POP 00004350: POP 00004351: POP 00004352: POP 00004353: POP 00004354: POP 00004355: JUMP 00004356: JUMPDEST 00004357: PUSH1 0x00 00004359: PUSH1 0x40 0000435b: DUP3 0000435c: DUP5 0000435d: SUB 0000435e: SLT 0000435f: ISZERO 00004360: PUSH2 0x4368 00004363: JUMPI 00004364: PUSH1 0x00 00004366: DUP1 00004367: REVERT 00004368: JUMPDEST 00004369: PUSH2 0x4370 0000436c: PUSH2 0x40b8 0000436f: JUMP 00004370: JUMPDEST 00004371: SWAP1 00004372: POP 00004373: PUSH2 0x437b 00004376: DUP3 00004377: PUSH2 0x405e 0000437a: JUMP 0000437b: JUMPDEST 0000437c: DUP2 0000437d: MSTORE 0000437e: PUSH2 0x4389 00004381: PUSH1 0x20 00004383: DUP4 00004384: ADD 00004385: PUSH2 0x41c0 00004388: JUMP 00004389: JUMPDEST 0000438a: PUSH1 0x20 0000438c: DUP3 0000438d: ADD 0000438e: MSTORE 0000438f: SWAP3 00004390: SWAP2 00004391: POP 00004392: POP 00004393: JUMP 00004394: JUMPDEST 00004395: PUSH1 0x00 00004397: PUSH1 0xc0 00004399: DUP3 0000439a: DUP5 0000439b: SUB 0000439c: SLT 0000439d: ISZERO 0000439e: PUSH2 0x43a6 000043a1: JUMPI 000043a2: PUSH1 0x00 000043a4: DUP1 000043a5: REVERT 000043a6: JUMPDEST 000043a7: PUSH2 0x43ae 000043aa: PUSH2 0x40e0 000043ad: JUMP 000043ae: JUMPDEST 000043af: SWAP1 000043b0: POP 000043b1: DUP2 000043b2: CALLDATALOAD 000043b3: DUP2 000043b4: MSTORE 000043b5: PUSH1 0x20 000043b7: DUP1 000043b8: DUP4 000043b9: ADD 000043ba: CALLDATALOAD 000043bb: DUP2 000043bc: DUP4 000043bd: ADD 000043be: MSTORE 000043bf: PUSH2 0x43ca 000043c2: PUSH1 0x40 000043c4: DUP5 000043c5: ADD 000043c6: PUSH2 0x4013 000043c9: JUMP 000043ca: JUMPDEST 000043cb: PUSH1 0x40 000043cd: DUP4 000043ce: ADD 000043cf: MSTORE 000043d0: PUSH2 0x43db 000043d3: PUSH1 0x60 000043d5: DUP5 000043d6: ADD 000043d7: PUSH2 0x4013 000043da: JUMP 000043db: JUMPDEST 000043dc: PUSH1 0x60 000043de: DUP4 000043df: ADD 000043e0: MSTORE 000043e1: PUSH1 0x80 000043e3: DUP4 000043e4: DUP2 000043e5: ADD 000043e6: CALLDATALOAD 000043e7: SWAP1 000043e8: DUP4 000043e9: ADD 000043ea: MSTORE 000043eb: PUSH1 0xa0 000043ed: DUP4 000043ee: ADD 000043ef: CALLDATALOAD 000043f0: PUSH1 0x01 000043f2: PUSH1 0x01 000043f4: PUSH1 0x40 000043f6: SHL 000043f7: SUB 000043f8: DUP1 000043f9: DUP3 000043fa: GT 000043fb: ISZERO 000043fc: PUSH2 0x4404 000043ff: JUMPI 00004400: PUSH1 0x00 00004402: DUP1 00004403: REVERT 00004404: JUMPDEST 00004405: DUP2 00004406: DUP6 00004407: ADD 00004408: SWAP2 00004409: POP 0000440a: DUP6 0000440b: PUSH1 0x1f 0000440d: DUP4 0000440e: ADD 0000440f: SLT 00004410: PUSH2 0x4418 00004413: JUMPI 00004414: PUSH1 0x00 00004416: DUP1 00004417: REVERT 00004418: JUMPDEST 00004419: DUP2 0000441a: CALLDATALOAD 0000441b: DUP2 0000441c: DUP2 0000441d: GT 0000441e: ISZERO 0000441f: PUSH2 0x442a 00004422: JUMPI 00004423: PUSH2 0x442a 00004426: PUSH2 0x40a2 00004429: JUMP 0000442a: JUMPDEST 0000442b: PUSH2 0x443c 0000442e: PUSH1 0x1f 00004430: DUP3 00004431: ADD 00004432: PUSH1 0x1f 00004434: NOT 00004435: AND 00004436: DUP6 00004437: ADD 00004438: PUSH2 0x4102 0000443b: JUMP 0000443c: JUMPDEST 0000443d: SWAP2 0000443e: POP 0000443f: DUP1 00004440: DUP3 00004441: MSTORE 00004442: DUP7 00004443: DUP5 00004444: DUP3 00004445: DUP6 00004446: ADD 00004447: ADD 00004448: GT 00004449: ISZERO 0000444a: PUSH2 0x4452 0000444d: JUMPI 0000444e: PUSH1 0x00 00004450: DUP1 00004451: REVERT 00004452: JUMPDEST 00004453: DUP1 00004454: DUP5 00004455: DUP5 00004456: ADD 00004457: DUP6 00004458: DUP5 00004459: ADD 0000445a: CALLDATACOPY 0000445b: PUSH1 0x00 0000445d: DUP5 0000445e: DUP3 0000445f: DUP5 00004460: ADD 00004461: ADD 00004462: MSTORE 00004463: POP 00004464: DUP1 00004465: PUSH1 0xa0 00004467: DUP6 00004468: ADD 00004469: MSTORE 0000446a: POP 0000446b: POP 0000446c: POP 0000446d: SWAP3 0000446e: SWAP2 0000446f: POP 00004470: POP 00004471: JUMP 00004472: JUMPDEST 00004473: PUSH1 0x00 00004475: PUSH1 0x20 00004477: DUP3 00004478: DUP5 00004479: SUB 0000447a: SLT 0000447b: ISZERO 0000447c: PUSH2 0x4484 0000447f: JUMPI 00004480: PUSH1 0x00 00004482: DUP1 00004483: REVERT 00004484: JUMPDEST 00004485: DUP2 00004486: CALLDATALOAD 00004487: PUSH1 0x01 00004489: PUSH1 0x01 0000448b: PUSH1 0x40 0000448d: SHL 0000448e: SUB 0000448f: DUP1 00004490: DUP3 00004491: GT 00004492: ISZERO 00004493: PUSH2 0x449b 00004496: JUMPI 00004497: PUSH1 0x00 00004499: DUP1 0000449a: REVERT 0000449b: JUMPDEST 0000449c: SWAP1 0000449d: DUP4 0000449e: ADD 0000449f: SWAP1 000044a0: PUSH1 0x60 000044a2: DUP3 000044a3: DUP7 000044a4: SUB 000044a5: SLT 000044a6: ISZERO 000044a7: PUSH2 0x44af 000044aa: JUMPI 000044ab: PUSH1 0x00 000044ad: DUP1 000044ae: REVERT 000044af: JUMPDEST 000044b0: PUSH2 0x44b7 000044b3: PUSH2 0x40b8 000044b6: JUMP 000044b7: JUMPDEST 000044b8: PUSH2 0x44c1 000044bb: DUP7 000044bc: DUP5 000044bd: PUSH2 0x4356 000044c0: JUMP 000044c1: JUMPDEST 000044c2: DUP2 000044c3: MSTORE 000044c4: PUSH1 0x40 000044c6: DUP4 000044c7: ADD 000044c8: CALLDATALOAD 000044c9: DUP3 000044ca: DUP2 000044cb: GT 000044cc: ISZERO 000044cd: PUSH2 0x44d5 000044d0: JUMPI 000044d1: PUSH1 0x00 000044d3: DUP1 000044d4: REVERT 000044d5: JUMPDEST 000044d6: PUSH2 0x44e1 000044d9: DUP8 000044da: DUP3 000044db: DUP7 000044dc: ADD 000044dd: PUSH2 0x4394 000044e0: JUMP 000044e1: JUMPDEST 000044e2: PUSH1 0x20 000044e4: DUP4 000044e5: ADD 000044e6: MSTORE 000044e7: POP 000044e8: SWAP6 000044e9: SWAP5 000044ea: POP 000044eb: POP 000044ec: POP 000044ed: POP 000044ee: POP 000044ef: JUMP 000044f0: JUMPDEST 000044f1: PUSH1 0x00 000044f3: DUP1 000044f4: PUSH1 0x40 000044f6: DUP4 000044f7: DUP6 000044f8: SUB 000044f9: SLT 000044fa: ISZERO 000044fb: PUSH2 0x4503 000044fe: JUMPI 000044ff: PUSH1 0x00 00004501: DUP1 00004502: REVERT 00004503: JUMPDEST 00004504: DUP3 00004505: CALLDATALOAD 00004506: SWAP2 00004507: POP 00004508: PUSH2 0x4099 0000450b: PUSH1 0x20 0000450d: DUP5 0000450e: ADD 0000450f: PUSH2 0x41c0 00004512: JUMP 00004513: JUMPDEST 00004514: PUSH1 0x00 00004516: DUP1 00004517: DUP4 00004518: PUSH1 0x1f 0000451a: DUP5 0000451b: ADD 0000451c: SLT 0000451d: PUSH2 0x4525 00004520: JUMPI 00004521: PUSH1 0x00 00004523: DUP1 00004524: REVERT 00004525: JUMPDEST 00004526: POP 00004527: DUP2 00004528: CALLDATALOAD 00004529: PUSH1 0x01 0000452b: PUSH1 0x01 0000452d: PUSH1 0x40 0000452f: SHL 00004530: SUB 00004531: DUP2 00004532: GT 00004533: ISZERO 00004534: PUSH2 0x453c 00004537: JUMPI 00004538: PUSH1 0x00 0000453a: DUP1 0000453b: REVERT 0000453c: JUMPDEST 0000453d: PUSH1 0x20 0000453f: DUP4 00004540: ADD 00004541: SWAP2 00004542: POP 00004543: DUP4 00004544: PUSH1 0x20 00004546: DUP3 00004547: PUSH1 0x05 00004549: SHL 0000454a: DUP6 0000454b: ADD 0000454c: ADD 0000454d: GT 0000454e: ISZERO 0000454f: PUSH2 0x4557 00004552: JUMPI 00004553: PUSH1 0x00 00004555: DUP1 00004556: REVERT 00004557: JUMPDEST 00004558: SWAP3 00004559: POP 0000455a: SWAP3 0000455b: SWAP1 0000455c: POP 0000455d: JUMP 0000455e: JUMPDEST 0000455f: PUSH1 0x00 00004561: DUP1 00004562: PUSH1 0x00 00004564: DUP1 00004565: PUSH1 0x40 00004567: DUP6 00004568: DUP8 00004569: SUB 0000456a: SLT 0000456b: ISZERO 0000456c: PUSH2 0x4574 0000456f: JUMPI 00004570: PUSH1 0x00 00004572: DUP1 00004573: REVERT 00004574: JUMPDEST 00004575: DUP5 00004576: CALLDATALOAD 00004577: PUSH1 0x01 00004579: PUSH1 0x01 0000457b: PUSH1 0x40 0000457d: SHL 0000457e: SUB 0000457f: DUP1 00004580: DUP3 00004581: GT 00004582: ISZERO 00004583: PUSH2 0x458b 00004586: JUMPI 00004587: PUSH1 0x00 00004589: DUP1 0000458a: REVERT 0000458b: JUMPDEST 0000458c: PUSH2 0x4597 0000458f: DUP9 00004590: DUP4 00004591: DUP10 00004592: ADD 00004593: PUSH2 0x4513 00004596: JUMP 00004597: JUMPDEST 00004598: SWAP1 00004599: SWAP7 0000459a: POP 0000459b: SWAP5 0000459c: POP 0000459d: PUSH1 0x20 0000459f: DUP8 000045a0: ADD 000045a1: CALLDATALOAD 000045a2: SWAP2 000045a3: POP 000045a4: DUP1 000045a5: DUP3 000045a6: GT 000045a7: ISZERO 000045a8: PUSH2 0x45b0 000045ab: JUMPI 000045ac: PUSH1 0x00 000045ae: DUP1 000045af: REVERT 000045b0: JUMPDEST 000045b1: DUP2 000045b2: DUP8 000045b3: ADD 000045b4: SWAP2 000045b5: POP 000045b6: DUP8 000045b7: PUSH1 0x1f 000045b9: DUP4 000045ba: ADD 000045bb: SLT 000045bc: PUSH2 0x45c4 000045bf: JUMPI 000045c0: PUSH1 0x00 000045c2: DUP1 000045c3: REVERT 000045c4: JUMPDEST 000045c5: DUP2 000045c6: CALLDATALOAD 000045c7: DUP2 000045c8: DUP2 000045c9: GT 000045ca: ISZERO 000045cb: PUSH2 0x45d3 000045ce: JUMPI 000045cf: PUSH1 0x00 000045d1: DUP1 000045d2: REVERT 000045d3: JUMPDEST 000045d4: DUP9 000045d5: PUSH1 0x20 000045d7: PUSH1 0x60 000045d9: DUP4 000045da: MUL 000045db: DUP6 000045dc: ADD 000045dd: ADD 000045de: GT 000045df: ISZERO 000045e0: PUSH2 0x45e8 000045e3: JUMPI 000045e4: PUSH1 0x00 000045e6: DUP1 000045e7: REVERT 000045e8: JUMPDEST 000045e9: SWAP6 000045ea: SWAP9 000045eb: SWAP5 000045ec: SWAP8 000045ed: POP 000045ee: POP 000045ef: PUSH1 0x20 000045f1: ADD 000045f2: SWAP5 000045f3: POP 000045f4: POP 000045f5: POP 000045f6: JUMP 000045f7: JUMPDEST 000045f8: PUSH1 0x00 000045fa: DUP1 000045fb: PUSH1 0x40 000045fd: DUP4 000045fe: DUP6 000045ff: SUB 00004600: SLT 00004601: ISZERO 00004602: PUSH2 0x460a 00004605: JUMPI 00004606: PUSH1 0x00 00004608: DUP1 00004609: REVERT 0000460a: JUMPDEST 0000460b: DUP3 0000460c: CALLDATALOAD 0000460d: SWAP2 0000460e: POP 0000460f: PUSH2 0x4099 00004612: PUSH1 0x20 00004614: DUP5 00004615: ADD 00004616: PUSH2 0x4013 00004619: JUMP 0000461a: JUMPDEST 0000461b: PUSH1 0x00 0000461d: DUP1 0000461e: PUSH1 0x40 00004620: DUP4 00004621: DUP6 00004622: SUB 00004623: SLT 00004624: ISZERO 00004625: PUSH2 0x462d 00004628: JUMPI 00004629: PUSH1 0x00 0000462b: DUP1 0000462c: REVERT 0000462d: JUMPDEST 0000462e: DUP3 0000462f: CALLDATALOAD 00004630: PUSH1 0x01 00004632: PUSH1 0x01 00004634: PUSH1 0x40 00004636: SHL 00004637: SUB 00004638: DUP1 00004639: DUP3 0000463a: GT 0000463b: ISZERO 0000463c: PUSH2 0x4644 0000463f: JUMPI 00004640: PUSH1 0x00 00004642: DUP1 00004643: REVERT 00004644: JUMPDEST 00004645: PUSH2 0x4650 00004648: DUP7 00004649: DUP4 0000464a: DUP8 0000464b: ADD 0000464c: PUSH2 0x4155 0000464f: JUMP 00004650: JUMPDEST 00004651: SWAP4 00004652: POP 00004653: PUSH1 0x20 00004655: DUP6 00004656: ADD 00004657: CALLDATALOAD 00004658: SWAP2 00004659: POP 0000465a: DUP1 0000465b: DUP3 0000465c: GT 0000465d: ISZERO 0000465e: PUSH2 0x4666 00004661: JUMPI 00004662: PUSH1 0x00 00004664: DUP1 00004665: REVERT 00004666: JUMPDEST 00004667: POP 00004668: PUSH2 0x4673 0000466b: DUP6 0000466c: DUP3 0000466d: DUP7 0000466e: ADD 0000466f: PUSH2 0x4155 00004672: JUMP 00004673: JUMPDEST 00004674: SWAP2 00004675: POP 00004676: POP 00004677: SWAP3 00004678: POP 00004679: SWAP3 0000467a: SWAP1 0000467b: POP 0000467c: JUMP 0000467d: JUMPDEST 0000467e: PUSH1 0x00 00004680: DUP1 00004681: PUSH1 0x40 00004683: DUP4 00004684: DUP6 00004685: SUB 00004686: SLT 00004687: ISZERO 00004688: PUSH2 0x4690 0000468b: JUMPI 0000468c: PUSH1 0x00 0000468e: DUP1 0000468f: REVERT 00004690: JUMPDEST 00004691: POP 00004692: POP 00004693: DUP1 00004694: CALLDATALOAD 00004695: SWAP3 00004696: PUSH1 0x20 00004698: SWAP1 00004699: SWAP2 0000469a: ADD 0000469b: CALLDATALOAD 0000469c: SWAP2 0000469d: POP 0000469e: JUMP 0000469f: JUMPDEST 000046a0: PUSH1 0x00 000046a2: DUP1 000046a3: PUSH1 0x60 000046a5: DUP4 000046a6: DUP6 000046a7: SUB 000046a8: SLT 000046a9: ISZERO 000046aa: PUSH2 0x46b2 000046ad: JUMPI 000046ae: PUSH1 0x00 000046b0: DUP1 000046b1: REVERT 000046b2: JUMPDEST 000046b3: PUSH2 0x46bc 000046b6: DUP5 000046b7: DUP5 000046b8: PUSH2 0x4356 000046bb: JUMP 000046bc: JUMPDEST 000046bd: SWAP2 000046be: POP 000046bf: PUSH1 0x40 000046c1: DUP4 000046c2: ADD 000046c3: CALLDATALOAD 000046c4: PUSH1 0x01 000046c6: PUSH1 0x01 000046c8: PUSH1 0x40 000046ca: SHL 000046cb: SUB 000046cc: DUP2 000046cd: GT 000046ce: ISZERO 000046cf: PUSH2 0x46d7 000046d2: JUMPI 000046d3: PUSH1 0x00 000046d5: DUP1 000046d6: REVERT 000046d7: JUMPDEST 000046d8: PUSH2 0x4673 000046db: DUP6 000046dc: DUP3 000046dd: DUP7 000046de: ADD 000046df: PUSH2 0x4394 000046e2: JUMP 000046e3: JUMPDEST 000046e4: PUSH1 0x00 000046e6: DUP3 000046e7: PUSH1 0x1f 000046e9: DUP4 000046ea: ADD 000046eb: SLT 000046ec: PUSH2 0x46f4 000046ef: JUMPI 000046f0: PUSH1 0x00 000046f2: DUP1 000046f3: REVERT 000046f4: JUMPDEST 000046f5: DUP2 000046f6: CALLDATALOAD 000046f7: PUSH1 0x20 000046f9: PUSH2 0x4704 000046fc: PUSH2 0x4176 000046ff: DUP4 00004700: PUSH2 0x4132 00004703: JUMP 00004704: JUMPDEST 00004705: DUP3 00004706: DUP2 00004707: MSTORE 00004708: PUSH1 0x05 0000470a: SWAP3 0000470b: SWAP1 0000470c: SWAP3 0000470d: SHL 0000470e: DUP5 0000470f: ADD 00004710: DUP2 00004711: ADD 00004712: SWAP2 00004713: DUP2 00004714: DUP2 00004715: ADD 00004716: SWAP1 00004717: DUP7 00004718: DUP5 00004719: GT 0000471a: ISZERO 0000471b: PUSH2 0x4723 0000471e: JUMPI 0000471f: PUSH1 0x00 00004721: DUP1 00004722: REVERT 00004723: JUMPDEST 00004724: DUP3 00004725: DUP7 00004726: ADD 00004727: JUMPDEST 00004728: DUP5 00004729: DUP2 0000472a: LT 0000472b: ISZERO 0000472c: PUSH2 0x41b5 0000472f: JUMPI 00004730: PUSH2 0x4738 00004733: DUP2 00004734: PUSH2 0x4013 00004737: JUMP 00004738: JUMPDEST 00004739: DUP4 0000473a: MSTORE 0000473b: SWAP2 0000473c: DUP4 0000473d: ADD 0000473e: SWAP2 0000473f: DUP4 00004740: ADD 00004741: PUSH2 0x4727 00004744: JUMP 00004745: JUMPDEST 00004746: PUSH1 0x00 00004748: DUP1 00004749: PUSH1 0x40 0000474b: DUP4 0000474c: DUP6 0000474d: SUB 0000474e: SLT 0000474f: ISZERO 00004750: PUSH2 0x4758 00004753: JUMPI 00004754: PUSH1 0x00 00004756: DUP1 00004757: REVERT 00004758: JUMPDEST 00004759: DUP3 0000475a: CALLDATALOAD 0000475b: PUSH1 0x01 0000475d: PUSH1 0x01 0000475f: PUSH1 0x40 00004761: SHL 00004762: SUB 00004763: DUP1 00004764: DUP3 00004765: GT 00004766: ISZERO 00004767: PUSH2 0x476f 0000476a: JUMPI 0000476b: PUSH1 0x00 0000476d: DUP1 0000476e: REVERT 0000476f: JUMPDEST 00004770: PUSH2 0x477b 00004773: DUP7 00004774: DUP4 00004775: DUP8 00004776: ADD 00004777: PUSH2 0x46e3 0000477a: JUMP 0000477b: JUMPDEST 0000477c: SWAP4 0000477d: POP 0000477e: PUSH1 0x20 00004780: DUP6 00004781: ADD 00004782: CALLDATALOAD 00004783: SWAP2 00004784: POP 00004785: DUP1 00004786: DUP3 00004787: GT 00004788: ISZERO 00004789: PUSH2 0x4791 0000478c: JUMPI 0000478d: PUSH1 0x00 0000478f: DUP1 00004790: REVERT 00004791: JUMPDEST 00004792: POP 00004793: PUSH2 0x4673 00004796: DUP6 00004797: DUP3 00004798: DUP7 00004799: ADD 0000479a: PUSH2 0x46e3 0000479d: JUMP 0000479e: JUMPDEST 0000479f: PUSH1 0x00 000047a1: DUP1 000047a2: PUSH1 0x00 000047a4: PUSH1 0x60 000047a6: DUP5 000047a7: DUP7 000047a8: SUB 000047a9: SLT 000047aa: ISZERO 000047ab: PUSH2 0x47b3 000047ae: JUMPI 000047af: PUSH1 0x00 000047b1: DUP1 000047b2: REVERT 000047b3: JUMPDEST 000047b4: DUP4 000047b5: CALLDATALOAD 000047b6: PUSH1 0x01 000047b8: PUSH1 0x01 000047ba: PUSH1 0x40 000047bc: SHL 000047bd: SUB 000047be: DUP1 000047bf: DUP3 000047c0: GT 000047c1: ISZERO 000047c2: PUSH2 0x47ca 000047c5: JUMPI 000047c6: PUSH1 0x00 000047c8: DUP1 000047c9: REVERT 000047ca: JUMPDEST 000047cb: PUSH2 0x47d6 000047ce: DUP8 000047cf: DUP4 000047d0: DUP9 000047d1: ADD 000047d2: PUSH2 0x4155 000047d5: JUMP 000047d6: JUMPDEST 000047d7: SWAP5 000047d8: POP 000047d9: PUSH1 0x20 000047db: SWAP2 000047dc: POP 000047dd: DUP2 000047de: DUP7 000047df: ADD 000047e0: CALLDATALOAD 000047e1: DUP2 000047e2: DUP2 000047e3: GT 000047e4: ISZERO 000047e5: PUSH2 0x47ed 000047e8: JUMPI 000047e9: PUSH1 0x00 000047eb: DUP1 000047ec: REVERT 000047ed: JUMPDEST 000047ee: DUP7 000047ef: ADD 000047f0: PUSH1 0x1f 000047f2: DUP2 000047f3: ADD 000047f4: DUP9 000047f5: SGT 000047f6: PUSH2 0x47fe 000047f9: JUMPI 000047fa: PUSH1 0x00 000047fc: DUP1 000047fd: REVERT 000047fe: JUMPDEST 000047ff: DUP1 00004800: CALLDATALOAD 00004801: PUSH2 0x480c 00004804: PUSH2 0x4176 00004807: DUP3 00004808: PUSH2 0x4132 0000480b: JUMP 0000480c: JUMPDEST 0000480d: DUP2 0000480e: DUP2 0000480f: MSTORE 00004810: PUSH1 0x05 00004812: SWAP2 00004813: SWAP1 00004814: SWAP2 00004815: SHL 00004816: DUP3 00004817: ADD 00004818: DUP5 00004819: ADD 0000481a: SWAP1 0000481b: DUP5 0000481c: DUP2 0000481d: ADD 0000481e: SWAP1 0000481f: DUP11 00004820: DUP4 00004821: GT 00004822: ISZERO 00004823: PUSH2 0x482b 00004826: JUMPI 00004827: PUSH1 0x00 00004829: DUP1 0000482a: REVERT 0000482b: JUMPDEST 0000482c: SWAP3 0000482d: DUP6 0000482e: ADD 0000482f: SWAP3 00004830: JUMPDEST 00004831: DUP3 00004832: DUP5 00004833: LT 00004834: ISZERO 00004835: PUSH2 0x4850 00004838: JUMPI 00004839: PUSH2 0x4841 0000483c: DUP5 0000483d: PUSH2 0x405e 00004840: JUMP 00004841: JUMPDEST 00004842: DUP3 00004843: MSTORE 00004844: SWAP3 00004845: DUP6 00004846: ADD 00004847: SWAP3 00004848: SWAP1 00004849: DUP6 0000484a: ADD 0000484b: SWAP1 0000484c: PUSH2 0x4830 0000484f: JUMP 00004850: JUMPDEST 00004851: SWAP7 00004852: POP 00004853: POP 00004854: POP 00004855: POP 00004856: PUSH1 0x40 00004858: DUP7 00004859: ADD 0000485a: CALLDATALOAD 0000485b: SWAP2 0000485c: POP 0000485d: DUP1 0000485e: DUP3 0000485f: GT 00004860: ISZERO 00004861: PUSH2 0x4869 00004864: JUMPI 00004865: PUSH1 0x00 00004867: DUP1 00004868: REVERT 00004869: JUMPDEST 0000486a: POP 0000486b: PUSH2 0x4876 0000486e: DUP7 0000486f: DUP3 00004870: DUP8 00004871: ADD 00004872: PUSH2 0x4155 00004875: JUMP 00004876: JUMPDEST 00004877: SWAP2 00004878: POP 00004879: POP 0000487a: SWAP3 0000487b: POP 0000487c: SWAP3 0000487d: POP 0000487e: SWAP3 0000487f: JUMP 00004880: JUMPDEST 00004881: PUSH1 0x00 00004883: DUP1 00004884: PUSH1 0x00 00004886: DUP1 00004887: PUSH1 0x40 00004889: DUP6 0000488a: DUP8 0000488b: SUB 0000488c: SLT 0000488d: ISZERO 0000488e: PUSH2 0x4896 00004891: JUMPI 00004892: PUSH1 0x00 00004894: DUP1 00004895: REVERT 00004896: JUMPDEST 00004897: DUP5 00004898: CALLDATALOAD 00004899: PUSH1 0x01 0000489b: PUSH1 0x01 0000489d: PUSH1 0x40 0000489f: SHL 000048a0: SUB 000048a1: DUP1 000048a2: DUP3 000048a3: GT 000048a4: ISZERO 000048a5: PUSH2 0x48ad 000048a8: JUMPI 000048a9: PUSH1 0x00 000048ab: DUP1 000048ac: REVERT 000048ad: JUMPDEST 000048ae: PUSH2 0x48b9 000048b1: DUP9 000048b2: DUP4 000048b3: DUP10 000048b4: ADD 000048b5: PUSH2 0x4513 000048b8: JUMP 000048b9: JUMPDEST 000048ba: SWAP1 000048bb: SWAP7 000048bc: POP 000048bd: SWAP5 000048be: POP 000048bf: PUSH1 0x20 000048c1: DUP8 000048c2: ADD 000048c3: CALLDATALOAD 000048c4: SWAP2 000048c5: POP 000048c6: DUP1 000048c7: DUP3 000048c8: GT 000048c9: ISZERO 000048ca: PUSH2 0x48d2 000048cd: JUMPI 000048ce: PUSH1 0x00 000048d0: DUP1 000048d1: REVERT 000048d2: JUMPDEST 000048d3: POP 000048d4: PUSH2 0x48df 000048d7: DUP8 000048d8: DUP3 000048d9: DUP9 000048da: ADD 000048db: PUSH2 0x4513 000048de: JUMP 000048df: JUMPDEST 000048e0: SWAP6 000048e1: SWAP9 000048e2: SWAP5 000048e3: SWAP8 000048e4: POP 000048e5: SWAP6 000048e6: POP 000048e7: POP 000048e8: POP 000048e9: POP 000048ea: JUMP 000048eb: JUMPDEST 000048ec: PUSH1 0x00 000048ee: DUP1 000048ef: PUSH1 0x40 000048f1: DUP4 000048f2: DUP6 000048f3: SUB 000048f4: SLT 000048f5: ISZERO 000048f6: PUSH2 0x48fe 000048f9: JUMPI 000048fa: PUSH1 0x00 000048fc: DUP1 000048fd: REVERT 000048fe: JUMPDEST 000048ff: PUSH2 0x4907 00004902: DUP4 00004903: PUSH2 0x4013 00004906: JUMP 00004907: JUMPDEST 00004908: SWAP5 00004909: PUSH1 0x20 0000490b: SWAP4 0000490c: SWAP1 0000490d: SWAP4 0000490e: ADD 0000490f: CALLDATALOAD 00004910: SWAP4 00004911: POP 00004912: POP 00004913: POP 00004914: JUMP 00004915: JUMPDEST 00004916: PUSH1 0x00 00004918: PUSH1 0x20 0000491a: DUP3 0000491b: DUP5 0000491c: SUB 0000491d: SLT 0000491e: ISZERO 0000491f: PUSH2 0x4927 00004922: JUMPI 00004923: PUSH1 0x00 00004925: DUP1 00004926: REVERT 00004927: JUMPDEST 00004928: DUP2 00004929: CALLDATALOAD 0000492a: PUSH2 0x2de6 0000492d: DUP2 0000492e: PUSH2 0x3fe8 00004931: JUMP 00004932: JUMPDEST 00004933: PUSH1 0x00 00004935: PUSH1 0x20 00004937: DUP3 00004938: DUP5 00004939: SUB 0000493a: SLT 0000493b: ISZERO 0000493c: PUSH2 0x4944 0000493f: JUMPI 00004940: PUSH1 0x00 00004942: DUP1 00004943: REVERT 00004944: JUMPDEST 00004945: DUP2 00004946: CALLDATALOAD 00004947: PUSH1 0x01 00004949: PUSH1 0x01 0000494b: PUSH1 0x40 0000494d: SHL 0000494e: SUB 0000494f: DUP2 00004950: GT 00004951: ISZERO 00004952: PUSH2 0x495a 00004955: JUMPI 00004956: PUSH1 0x00 00004958: DUP1 00004959: REVERT 0000495a: JUMPDEST 0000495b: PUSH2 0x3caf 0000495e: DUP5 0000495f: DUP3 00004960: DUP6 00004961: ADD 00004962: PUSH2 0x4394 00004965: JUMP 00004966: JUMPDEST 00004967: PUSH1 0x00 00004969: DUP1 0000496a: PUSH1 0x20 0000496c: DUP4 0000496d: DUP6 0000496e: SUB 0000496f: SLT 00004970: ISZERO 00004971: PUSH2 0x4979 00004974: JUMPI 00004975: PUSH1 0x00 00004977: DUP1 00004978: REVERT 00004979: JUMPDEST 0000497a: DUP3 0000497b: CALLDATALOAD 0000497c: PUSH1 0x01 0000497e: PUSH1 0x01 00004980: PUSH1 0x40 00004982: SHL 00004983: SUB 00004984: DUP2 00004985: GT 00004986: ISZERO 00004987: PUSH2 0x498f 0000498a: JUMPI 0000498b: PUSH1 0x00 0000498d: DUP1 0000498e: REVERT 0000498f: JUMPDEST 00004990: PUSH2 0x499b 00004993: DUP6 00004994: DUP3 00004995: DUP7 00004996: ADD 00004997: PUSH2 0x4513 0000499a: JUMP 0000499b: JUMPDEST 0000499c: SWAP1 0000499d: SWAP7 0000499e: SWAP1 0000499f: SWAP6 000049a0: POP 000049a1: SWAP4 000049a2: POP 000049a3: POP 000049a4: POP 000049a5: POP 000049a6: JUMP 000049a7: JUMPDEST 000049a8: PUSH1 0x00 000049aa: DUP1 000049ab: PUSH1 0x00 000049ad: DUP1 000049ae: PUSH1 0x40 000049b0: DUP6 000049b1: DUP8 000049b2: SUB 000049b3: SLT 000049b4: ISZERO 000049b5: PUSH2 0x49bd 000049b8: JUMPI 000049b9: PUSH1 0x00 000049bb: DUP1 000049bc: REVERT 000049bd: JUMPDEST 000049be: DUP5 000049bf: CALLDATALOAD 000049c0: PUSH1 0x01 000049c2: PUSH1 0x01 000049c4: PUSH1 0x40 000049c6: SHL 000049c7: SUB 000049c8: DUP1 000049c9: DUP3 000049ca: GT 000049cb: ISZERO 000049cc: PUSH2 0x49d4 000049cf: JUMPI 000049d0: PUSH1 0x00 000049d2: DUP1 000049d3: REVERT 000049d4: JUMPDEST 000049d5: PUSH2 0x49e0 000049d8: DUP9 000049d9: DUP4 000049da: DUP10 000049db: ADD 000049dc: PUSH2 0x4513 000049df: JUMP 000049e0: JUMPDEST 000049e1: SWAP1 000049e2: SWAP7 000049e3: POP 000049e4: SWAP5 000049e5: POP 000049e6: PUSH1 0x20 000049e8: DUP8 000049e9: ADD 000049ea: CALLDATALOAD 000049eb: SWAP2 000049ec: POP 000049ed: DUP1 000049ee: DUP3 000049ef: GT 000049f0: ISZERO 000049f1: PUSH2 0x49f9 000049f4: JUMPI 000049f5: PUSH1 0x00 000049f7: DUP1 000049f8: REVERT 000049f9: JUMPDEST 000049fa: DUP2 000049fb: DUP8 000049fc: ADD 000049fd: SWAP2 000049fe: POP 000049ff: DUP8 00004a00: PUSH1 0x1f 00004a02: DUP4 00004a03: ADD 00004a04: SLT 00004a05: PUSH2 0x4a0d 00004a08: JUMPI 00004a09: PUSH1 0x00 00004a0b: DUP1 00004a0c: REVERT 00004a0d: JUMPDEST 00004a0e: DUP2 00004a0f: CALLDATALOAD 00004a10: DUP2 00004a11: DUP2 00004a12: GT 00004a13: ISZERO 00004a14: PUSH2 0x4a1c 00004a17: JUMPI 00004a18: PUSH1 0x00 00004a1a: DUP1 00004a1b: REVERT 00004a1c: JUMPDEST 00004a1d: DUP9 00004a1e: PUSH1 0x20 00004a20: PUSH2 0x0160 00004a23: DUP4 00004a24: MUL 00004a25: DUP6 00004a26: ADD 00004a27: ADD 00004a28: GT 00004a29: ISZERO 00004a2a: PUSH2 0x45e8 00004a2d: JUMPI 00004a2e: PUSH1 0x00 00004a30: DUP1 00004a31: REVERT 00004a32: JUMPDEST 00004a33: PUSH1 0x00 00004a35: DUP1 00004a36: PUSH1 0x40 00004a38: DUP4 00004a39: DUP6 00004a3a: SUB 00004a3b: SLT 00004a3c: ISZERO 00004a3d: PUSH2 0x4a45 00004a40: JUMPI 00004a41: PUSH1 0x00 00004a43: DUP1 00004a44: REVERT 00004a45: JUMPDEST 00004a46: DUP3 00004a47: CALLDATALOAD 00004a48: PUSH1 0x01 00004a4a: PUSH1 0x01 00004a4c: PUSH1 0x40 00004a4e: SHL 00004a4f: SUB 00004a50: DUP1 00004a51: DUP3 00004a52: GT 00004a53: ISZERO 00004a54: PUSH2 0x4a5c 00004a57: JUMPI 00004a58: PUSH1 0x00 00004a5a: DUP1 00004a5b: REVERT 00004a5c: JUMPDEST 00004a5d: PUSH2 0x477b 00004a60: DUP7 00004a61: DUP4 00004a62: DUP8 00004a63: ADD 00004a64: PUSH2 0x4155 00004a67: JUMP 00004a68: JUMPDEST 00004a69: PUSH1 0x00 00004a6b: PUSH1 0x20 00004a6d: DUP3 00004a6e: DUP5 00004a6f: SUB 00004a70: SLT 00004a71: ISZERO 00004a72: PUSH2 0x4a7a 00004a75: JUMPI 00004a76: PUSH1 0x00 00004a78: DUP1 00004a79: REVERT 00004a7a: JUMPDEST 00004a7b: DUP2 00004a7c: CALLDATALOAD 00004a7d: PUSH1 0x01 00004a7f: PUSH1 0x01 00004a81: PUSH1 0x60 00004a83: SHL 00004a84: SUB 00004a85: NOT 00004a86: DUP2 00004a87: AND 00004a88: DUP2 00004a89: EQ 00004a8a: PUSH2 0x2de6 00004a8d: JUMPI 00004a8e: PUSH1 0x00 00004a90: DUP1 00004a91: REVERT 00004a92: JUMPDEST 00004a93: DUP1 00004a94: MLOAD 00004a95: PUSH1 0x01 00004a97: PUSH1 0x01 00004a99: PUSH1 0x80 00004a9b: SHL 00004a9c: SUB 00004a9d: SWAP1 00004a9e: DUP2 00004a9f: AND 00004aa0: DUP4 00004aa1: MSTORE 00004aa2: PUSH1 0x20 00004aa4: DUP1 00004aa5: DUP4 00004aa6: ADD 00004aa7: MLOAD 00004aa8: SWAP1 00004aa9: SWAP2 00004aaa: AND 00004aab: SWAP1 00004aac: DUP4 00004aad: ADD 00004aae: MSTORE 00004aaf: PUSH1 0x40 00004ab1: SWAP1 00004ab2: DUP2 00004ab3: ADD 00004ab4: MLOAD 00004ab5: SWAP2 00004ab6: ADD 00004ab7: MSTORE 00004ab8: JUMP 00004ab9: JUMPDEST 00004aba: PUSH1 0x04 00004abc: DUP2 00004abd: LT 00004abe: PUSH2 0x4ac9 00004ac1: JUMPI 00004ac2: PUSH2 0x4ac9 00004ac5: PUSH2 0x3ec0 00004ac8: JUMP 00004ac9: JUMPDEST 00004aca: SWAP1 00004acb: MSTORE 00004acc: JUMP 00004acd: JUMPDEST 00004ace: PUSH2 0x0160 00004ad1: DUP2 00004ad2: ADD 00004ad3: PUSH2 0x4adc 00004ad6: DUP3 00004ad7: DUP11 00004ad8: PUSH2 0x4a92 00004adb: JUMP 00004adc: JUMPDEST 00004add: PUSH2 0x4ae9 00004ae0: PUSH1 0x60 00004ae2: DUP4 00004ae3: ADD 00004ae4: DUP10 00004ae5: PUSH2 0x4a92 00004ae8: JUMP 00004ae9: JUMPDEST 00004aea: PUSH2 0x4af6 00004aed: PUSH1 0xc0 00004aef: DUP4 00004af0: ADD 00004af1: DUP9 00004af2: PUSH2 0x4ab9 00004af5: JUMP 00004af6: JUMPDEST 00004af7: PUSH1 0x01 00004af9: PUSH1 0x01 00004afb: PUSH1 0xa0 00004afd: SHL 00004afe: SUB 00004aff: SWAP6 00004b00: DUP7 00004b01: AND 00004b02: PUSH1 0xe0 00004b04: DUP4 00004b05: ADD 00004b06: MSTORE 00004b07: SWAP4 00004b08: DUP6 00004b09: AND 00004b0a: PUSH2 0x0100 00004b0d: DUP3 00004b0e: ADD 00004b0f: MSTORE 00004b10: SWAP2 00004b11: SWAP1 00004b12: SWAP4 00004b13: AND 00004b14: PUSH2 0x0120 00004b17: DUP3 00004b18: ADD 00004b19: MSTORE 00004b1a: PUSH2 0x0140 00004b1d: ADD 00004b1e: SWAP2 00004b1f: SWAP1 00004b20: SWAP2 00004b21: MSTORE 00004b22: SWAP4 00004b23: SWAP3 00004b24: POP 00004b25: POP 00004b26: POP 00004b27: JUMP 00004b28: JUMPDEST 00004b29: PUSH1 0x00 00004b2b: PUSH1 0x20 00004b2d: DUP3 00004b2e: DUP5 00004b2f: SUB 00004b30: SLT 00004b31: ISZERO 00004b32: PUSH2 0x4b3a 00004b35: JUMPI 00004b36: PUSH1 0x00 00004b38: DUP1 00004b39: REVERT 00004b3a: JUMPDEST 00004b3b: DUP2 00004b3c: CALLDATALOAD 00004b3d: PUSH1 0x01 00004b3f: PUSH1 0x01 00004b41: PUSH1 0x40 00004b43: SHL 00004b44: SUB 00004b45: DUP2 00004b46: GT 00004b47: ISZERO 00004b48: PUSH2 0x4b50 00004b4b: JUMPI 00004b4c: PUSH1 0x00 00004b4e: DUP1 00004b4f: REVERT 00004b50: JUMPDEST 00004b51: PUSH2 0x3caf 00004b54: DUP5 00004b55: DUP3 00004b56: DUP6 00004b57: ADD 00004b58: PUSH2 0x4155 00004b5b: JUMP 00004b5c: JUMPDEST 00004b5d: PUSH1 0x20 00004b5f: DUP1 00004b60: DUP3 00004b61: MSTORE 00004b62: PUSH1 0x11 00004b64: SWAP1 00004b65: DUP3 00004b66: ADD 00004b67: MSTORE 00004b68: PUSH17 0x1b9bdd081cdd5c1c1bdc9d08185cdcd95d 00004b7a: PUSH1 0x7a 00004b7c: SHL 00004b7d: PUSH1 0x40 00004b7f: DUP3 00004b80: ADD 00004b81: MSTORE 00004b82: PUSH1 0x60 00004b84: ADD 00004b85: SWAP1 00004b86: JUMP 00004b87: JUMPDEST 00004b88: PUSH1 0x20 00004b8a: DUP1 00004b8b: DUP3 00004b8c: MSTORE 00004b8d: PUSH1 0x0a 00004b8f: SWAP1 00004b90: DUP3 00004b91: ADD 00004b92: MSTORE 00004b93: PUSH10 0x27b7363c9027bbb732b9 00004b9e: PUSH1 0xb1 00004ba0: SHL 00004ba1: PUSH1 0x40 00004ba3: DUP3 00004ba4: ADD 00004ba5: MSTORE 00004ba6: PUSH1 0x60 00004ba8: ADD 00004ba9: SWAP1 00004baa: JUMP 00004bab: JUMPDEST 00004bac: PUSH4 0x4e487b71 00004bb1: PUSH1 0xe0 00004bb3: SHL 00004bb4: PUSH1 0x00 00004bb6: MSTORE 00004bb7: PUSH1 0x32 00004bb9: PUSH1 0x04 00004bbb: MSTORE 00004bbc: PUSH1 0x24 00004bbe: PUSH1 0x00 00004bc0: REVERT 00004bc1: JUMPDEST 00004bc2: PUSH4 0x4e487b71 00004bc7: PUSH1 0xe0 00004bc9: SHL 00004bca: PUSH1 0x00 00004bcc: MSTORE 00004bcd: PUSH1 0x11 00004bcf: PUSH1 0x04 00004bd1: MSTORE 00004bd2: PUSH1 0x24 00004bd4: PUSH1 0x00 00004bd6: REVERT 00004bd7: JUMPDEST 00004bd8: PUSH1 0x00 00004bda: PUSH1 0x01 00004bdc: DUP3 00004bdd: ADD 00004bde: PUSH2 0x4be9 00004be1: JUMPI 00004be2: PUSH2 0x4be9 00004be5: PUSH2 0x4bc1 00004be8: JUMP 00004be9: JUMPDEST 00004bea: POP 00004beb: PUSH1 0x01 00004bed: ADD 00004bee: SWAP1 00004bef: JUMP 00004bf0: JUMPDEST 00004bf1: PUSH1 0x20 00004bf3: DUP1 00004bf4: DUP3 00004bf5: MSTORE 00004bf6: PUSH1 0x12 00004bf8: SWAP1 00004bf9: DUP3 00004bfa: ADD 00004bfb: MSTORE 00004bfc: PUSH18 0x27b7363c902832b73234b7339020b236b4b7 00004c0f: PUSH1 0x71 00004c11: SHL 00004c12: PUSH1 0x40 00004c14: DUP3 00004c15: ADD 00004c16: MSTORE 00004c17: PUSH1 0x60 00004c19: ADD 00004c1a: SWAP1 00004c1b: JUMP 00004c1c: JUMPDEST 00004c1d: PUSH1 0x01 00004c1f: PUSH1 0x01 00004c21: PUSH1 0x80 00004c23: SHL 00004c24: SUB 00004c25: DUP2 00004c26: AND 00004c27: DUP2 00004c28: EQ 00004c29: PUSH2 0x1920 00004c2c: JUMPI 00004c2d: PUSH1 0x00 00004c2f: DUP1 00004c30: REVERT 00004c31: JUMPDEST 00004c32: DUP2 00004c33: CALLDATALOAD 00004c34: PUSH2 0x4c3c 00004c37: DUP2 00004c38: PUSH2 0x4c1c 00004c3b: JUMP 00004c3c: JUMPDEST 00004c3d: DUP2 00004c3e: SLOAD 00004c3f: PUSH1 0x01 00004c41: PUSH1 0x01 00004c43: PUSH1 0x80 00004c45: SHL 00004c46: SUB 00004c47: NOT 00004c48: SWAP1 00004c49: DUP2 00004c4a: AND 00004c4b: PUSH1 0x01 00004c4d: PUSH1 0x01 00004c4f: PUSH1 0x80 00004c51: SHL 00004c52: SUB 00004c53: SWAP3 00004c54: SWAP1 00004c55: SWAP3 00004c56: AND 00004c57: SWAP2 00004c58: DUP3 00004c59: OR 00004c5a: DUP4 00004c5b: SSTORE 00004c5c: PUSH1 0x20 00004c5e: DUP5 00004c5f: ADD 00004c60: CALLDATALOAD 00004c61: PUSH2 0x4c69 00004c64: DUP2 00004c65: PUSH2 0x4c1c 00004c68: JUMP 00004c69: JUMPDEST 00004c6a: PUSH1 0x80 00004c6c: SHL 00004c6d: AND 00004c6e: OR 00004c6f: DUP2 00004c70: SSTORE 00004c71: PUSH1 0x40 00004c73: SWAP2 00004c74: SWAP1 00004c75: SWAP2 00004c76: ADD 00004c77: CALLDATALOAD 00004c78: PUSH1 0x01 00004c7a: SWAP1 00004c7b: SWAP2 00004c7c: ADD 00004c7d: SSTORE 00004c7e: JUMP 00004c7f: JUMPDEST 00004c80: DUP1 00004c81: CALLDATALOAD 00004c82: PUSH2 0x4c8a 00004c85: DUP2 00004c86: PUSH2 0x4c1c 00004c89: JUMP 00004c8a: JUMPDEST 00004c8b: PUSH1 0x01 00004c8d: PUSH1 0x01 00004c8f: PUSH1 0x80 00004c91: SHL 00004c92: SUB 00004c93: SWAP1 00004c94: DUP2 00004c95: AND 00004c96: DUP4 00004c97: MSTORE 00004c98: PUSH1 0x20 00004c9a: DUP3 00004c9b: ADD 00004c9c: CALLDATALOAD 00004c9d: SWAP1 00004c9e: PUSH2 0x4ca6 00004ca1: DUP3 00004ca2: PUSH2 0x4c1c 00004ca5: JUMP 00004ca6: JUMPDEST 00004ca7: AND 00004ca8: PUSH1 0x20 00004caa: DUP4 00004cab: ADD 00004cac: MSTORE 00004cad: PUSH1 0x40 00004caf: SWAP1 00004cb0: DUP2 00004cb1: ADD 00004cb2: CALLDATALOAD 00004cb3: SWAP2 00004cb4: ADD 00004cb5: MSTORE 00004cb6: JUMP 00004cb7: JUMPDEST 00004cb8: DUP3 00004cb9: DUP2 00004cba: MSTORE 00004cbb: PUSH1 0x80 00004cbd: DUP2 00004cbe: ADD 00004cbf: PUSH2 0x2de6 00004cc2: PUSH1 0x20 00004cc4: DUP4 00004cc5: ADD 00004cc6: DUP5 00004cc7: PUSH2 0x4c7f 00004cca: JUMP 00004ccb: JUMPDEST 00004ccc: PUSH1 0x20 00004cce: DUP1 00004ccf: DUP3 00004cd0: MSTORE 00004cd1: PUSH1 0x12 00004cd3: SWAP1 00004cd4: DUP3 00004cd5: ADD 00004cd6: MSTORE 00004cd7: PUSH18 0x27b7363c902832b73234b7339027bbb732b9 00004cea: PUSH1 0x71 00004cec: SHL 00004ced: PUSH1 0x40 00004cef: DUP3 00004cf0: ADD 00004cf1: MSTORE 00004cf2: PUSH1 0x60 00004cf4: ADD 00004cf5: SWAP1 00004cf6: JUMP 00004cf7: JUMPDEST 00004cf8: PUSH1 0x00 00004cfa: PUSH1 0x60 00004cfc: DUP3 00004cfd: DUP5 00004cfe: SUB 00004cff: SLT 00004d00: ISZERO 00004d01: PUSH2 0x4d09 00004d04: JUMPI 00004d05: PUSH1 0x00 00004d07: DUP1 00004d08: REVERT 00004d09: JUMPDEST 00004d0a: PUSH1 0x40 00004d0c: MLOAD 00004d0d: PUSH1 0x60 00004d0f: DUP2 00004d10: ADD 00004d11: PUSH1 0x01 00004d13: PUSH1 0x01 00004d15: PUSH1 0x40 00004d17: SHL 00004d18: SUB 00004d19: DUP2 00004d1a: GT 00004d1b: DUP3 00004d1c: DUP3 00004d1d: LT 00004d1e: OR 00004d1f: ISZERO 00004d20: PUSH2 0x4d2b 00004d23: JUMPI 00004d24: PUSH2 0x4d2b 00004d27: PUSH2 0x40a2 00004d2a: JUMP 00004d2b: JUMPDEST 00004d2c: PUSH1 0x40 00004d2e: MSTORE 00004d2f: SWAP1 00004d30: POP 00004d31: DUP1 00004d32: DUP3 00004d33: CALLDATALOAD 00004d34: PUSH2 0x4d3c 00004d37: DUP2 00004d38: PUSH2 0x4c1c 00004d3b: JUMP 00004d3c: JUMPDEST 00004d3d: DUP2 00004d3e: MSTORE 00004d3f: PUSH1 0x20 00004d41: DUP4 00004d42: ADD 00004d43: CALLDATALOAD 00004d44: PUSH2 0x4d4c 00004d47: DUP2 00004d48: PUSH2 0x4c1c 00004d4b: JUMP 00004d4c: JUMPDEST 00004d4d: PUSH1 0x20 00004d4f: DUP3 00004d50: ADD 00004d51: MSTORE 00004d52: PUSH1 0x40 00004d54: SWAP3 00004d55: DUP4 00004d56: ADD 00004d57: CALLDATALOAD 00004d58: SWAP3 00004d59: ADD 00004d5a: SWAP2 00004d5b: SWAP1 00004d5c: SWAP2 00004d5d: MSTORE 00004d5e: SWAP2 00004d5f: SWAP1 00004d60: POP 00004d61: JUMP 00004d62: JUMPDEST 00004d63: DUP1 00004d64: CALLDATALOAD 00004d65: PUSH1 0x04 00004d67: DUP2 00004d68: LT 00004d69: PUSH2 0x11e8 00004d6c: JUMPI 00004d6d: PUSH1 0x00 00004d6f: DUP1 00004d70: REVERT 00004d71: JUMPDEST 00004d72: PUSH1 0x00 00004d74: PUSH2 0x0160 00004d77: DUP3 00004d78: DUP5 00004d79: SUB 00004d7a: SLT 00004d7b: ISZERO 00004d7c: PUSH2 0x4d84 00004d7f: JUMPI 00004d80: PUSH1 0x00 00004d82: DUP1 00004d83: REVERT 00004d84: JUMPDEST 00004d85: PUSH1 0x40 00004d87: MLOAD 00004d88: PUSH1 0xe0 00004d8a: DUP2 00004d8b: ADD 00004d8c: PUSH1 0x01 00004d8e: PUSH1 0x01 00004d90: PUSH1 0x40 00004d92: SHL 00004d93: SUB 00004d94: DUP2 00004d95: GT 00004d96: DUP3 00004d97: DUP3 00004d98: LT 00004d99: OR 00004d9a: ISZERO 00004d9b: PUSH2 0x4da6 00004d9e: JUMPI 00004d9f: PUSH2 0x4da6 00004da2: PUSH2 0x40a2 00004da5: JUMP 00004da6: JUMPDEST 00004da7: PUSH1 0x40 00004da9: MSTORE 00004daa: PUSH2 0x4db3 00004dad: DUP5 00004dae: DUP5 00004daf: PUSH2 0x4cf7 00004db2: JUMP 00004db3: JUMPDEST 00004db4: DUP2 00004db5: MSTORE 00004db6: PUSH2 0x4dc2 00004db9: DUP5 00004dba: PUSH1 0x60 00004dbc: DUP6 00004dbd: ADD 00004dbe: PUSH2 0x4cf7 00004dc1: JUMP 00004dc2: JUMPDEST 00004dc3: PUSH1 0x20 00004dc5: DUP3 00004dc6: ADD 00004dc7: MSTORE 00004dc8: PUSH2 0x4dd3 00004dcb: PUSH1 0xc0 00004dcd: DUP5 00004dce: ADD 00004dcf: PUSH2 0x4d62 00004dd2: JUMP 00004dd3: JUMPDEST 00004dd4: PUSH1 0x40 00004dd6: DUP3 00004dd7: ADD 00004dd8: MSTORE 00004dd9: PUSH2 0x4de4 00004ddc: PUSH1 0xe0 00004dde: DUP5 00004ddf: ADD 00004de0: PUSH2 0x4013 00004de3: JUMP 00004de4: JUMPDEST 00004de5: PUSH1 0x60 00004de7: DUP3 00004de8: ADD 00004de9: MSTORE 00004dea: PUSH2 0x4df6 00004ded: PUSH2 0x0100 00004df0: DUP5 00004df1: ADD 00004df2: PUSH2 0x4013 00004df5: JUMP 00004df6: JUMPDEST 00004df7: PUSH1 0x80 00004df9: DUP3 00004dfa: ADD 00004dfb: MSTORE 00004dfc: PUSH2 0x4e08 00004dff: PUSH2 0x0120 00004e02: DUP5 00004e03: ADD 00004e04: PUSH2 0x4013 00004e07: JUMP 00004e08: JUMPDEST 00004e09: PUSH1 0xa0 00004e0b: DUP3 00004e0c: ADD 00004e0d: MSTORE 00004e0e: PUSH2 0x0140 00004e11: SWAP3 00004e12: SWAP1 00004e13: SWAP3 00004e14: ADD 00004e15: CALLDATALOAD 00004e16: PUSH1 0xc0 00004e18: DUP4 00004e19: ADD 00004e1a: MSTORE 00004e1b: POP 00004e1c: SWAP2 00004e1d: SWAP1 00004e1e: POP 00004e1f: JUMP 00004e20: JUMPDEST 00004e21: DUP3 00004e22: DUP2 00004e23: MSTORE 00004e24: PUSH2 0x0180 00004e27: DUP2 00004e28: ADD 00004e29: PUSH2 0x4e35 00004e2c: PUSH1 0x20 00004e2e: DUP4 00004e2f: ADD 00004e30: DUP5 00004e31: PUSH2 0x4c7f 00004e34: JUMP 00004e35: JUMPDEST 00004e36: PUSH2 0x4e45 00004e39: PUSH1 0x80 00004e3b: DUP4 00004e3c: ADD 00004e3d: PUSH1 0x60 00004e3f: DUP6 00004e40: ADD 00004e41: PUSH2 0x4c7f 00004e44: JUMP 00004e45: JUMPDEST 00004e46: PUSH2 0x4e51 00004e49: PUSH1 0xc0 00004e4b: DUP5 00004e4c: ADD 00004e4d: PUSH2 0x4d62 00004e50: JUMP 00004e51: JUMPDEST 00004e52: PUSH2 0x4e5e 00004e55: PUSH1 0xe0 00004e57: DUP5 00004e58: ADD 00004e59: DUP3 00004e5a: PUSH2 0x4ab9 00004e5d: JUMP 00004e5e: JUMPDEST 00004e5f: POP 00004e60: PUSH2 0x4e6b 00004e63: PUSH1 0xe0 00004e65: DUP5 00004e66: ADD 00004e67: PUSH2 0x4013 00004e6a: JUMP 00004e6b: JUMPDEST 00004e6c: PUSH2 0x0100 00004e6f: PUSH1 0x01 00004e71: DUP1 00004e72: PUSH1 0xa0 00004e74: SHL 00004e75: SUB 00004e76: DUP1 00004e77: DUP4 00004e78: AND 00004e79: DUP3 00004e7a: DUP7 00004e7b: ADD 00004e7c: MSTORE 00004e7d: PUSH2 0x4e87 00004e80: DUP3 00004e81: DUP8 00004e82: ADD 00004e83: PUSH2 0x4013 00004e86: JUMP 00004e87: JUMPDEST 00004e88: SWAP3 00004e89: POP 00004e8a: PUSH2 0x0120 00004e8d: SWAP2 00004e8e: POP 00004e8f: DUP1 00004e90: DUP4 00004e91: AND 00004e92: DUP3 00004e93: DUP7 00004e94: ADD 00004e95: MSTORE 00004e96: PUSH2 0x4ea0 00004e99: DUP3 00004e9a: DUP8 00004e9b: ADD 00004e9c: PUSH2 0x4013 00004e9f: JUMP 00004ea0: JUMPDEST 00004ea1: AND 00004ea2: PUSH2 0x0140 00004ea5: DUP6 00004ea6: DUP2 00004ea7: ADD 00004ea8: SWAP2 00004ea9: SWAP1 00004eaa: SWAP2 00004eab: MSTORE 00004eac: SWAP5 00004ead: SWAP1 00004eae: SWAP5 00004eaf: ADD 00004eb0: CALLDATALOAD 00004eb1: PUSH2 0x0160 00004eb4: SWAP1 00004eb5: SWAP4 00004eb6: ADD 00004eb7: SWAP3 00004eb8: SWAP1 00004eb9: SWAP3 00004eba: MSTORE 00004ebb: SWAP4 00004ebc: SWAP3 00004ebd: POP 00004ebe: POP 00004ebf: POP 00004ec0: JUMP 00004ec1: JUMPDEST 00004ec2: PUSH1 0x00 00004ec4: DUP3 00004ec5: DUP3 00004ec6: LT 00004ec7: ISZERO 00004ec8: PUSH2 0x4ed3 00004ecb: JUMPI 00004ecc: PUSH2 0x4ed3 00004ecf: PUSH2 0x4bc1 00004ed2: JUMP 00004ed3: JUMPDEST 00004ed4: POP 00004ed5: SUB 00004ed6: SWAP1 00004ed7: JUMP 00004ed8: JUMPDEST 00004ed9: PUSH1 0x00 00004edb: DUP3 00004edc: NOT 00004edd: DUP3 00004ede: GT 00004edf: ISZERO 00004ee0: PUSH2 0x4eeb 00004ee3: JUMPI 00004ee4: PUSH2 0x4eeb 00004ee7: PUSH2 0x4bc1 00004eea: JUMP 00004eeb: JUMPDEST 00004eec: POP 00004eed: ADD 00004eee: SWAP1 00004eef: JUMP 00004ef0: JUMPDEST 00004ef1: PUSH1 0x00 00004ef3: DUP2 00004ef4: PUSH1 0x00 00004ef6: NOT 00004ef7: DIV 00004ef8: DUP4 00004ef9: GT 00004efa: DUP3 00004efb: ISZERO 00004efc: ISZERO 00004efd: AND 00004efe: ISZERO 00004eff: PUSH2 0x4f0a 00004f02: JUMPI 00004f03: PUSH2 0x4f0a 00004f06: PUSH2 0x4bc1 00004f09: JUMP 00004f0a: JUMPDEST 00004f0b: POP 00004f0c: MUL 00004f0d: SWAP1 00004f0e: JUMP 00004f0f: JUMPDEST 00004f10: PUSH1 0x00 00004f12: DUP3 00004f13: PUSH2 0x4f2c 00004f16: JUMPI 00004f17: PUSH4 0x4e487b71 00004f1c: PUSH1 0xe0 00004f1e: SHL 00004f1f: PUSH1 0x00 00004f21: MSTORE 00004f22: PUSH1 0x12 00004f24: PUSH1 0x04 00004f26: MSTORE 00004f27: PUSH1 0x24 00004f29: PUSH1 0x00 00004f2b: REVERT 00004f2c: JUMPDEST 00004f2d: POP 00004f2e: DIV 00004f2f: SWAP1 00004f30: JUMP 00004f31: JUMPDEST 00004f32: PUSH1 0x01 00004f34: PUSH1 0x01 00004f36: PUSH1 0xa0 00004f38: SHL 00004f39: SUB 00004f3a: SWAP3 00004f3b: SWAP1 00004f3c: SWAP3 00004f3d: AND 00004f3e: DUP3 00004f3f: MSTORE 00004f40: PUSH1 0x20 00004f42: DUP3 00004f43: ADD 00004f44: MSTORE 00004f45: PUSH1 0x40 00004f47: ADD 00004f48: SWAP1 00004f49: JUMP 00004f4a: JUMPDEST 00004f4b: PUSH1 0x00 00004f4d: PUSH1 0xff 00004f4f: DUP3 00004f50: AND 00004f51: PUSH1 0xff 00004f53: DUP5 00004f54: AND 00004f55: DUP2 00004f56: PUSH1 0xff 00004f58: DIV 00004f59: DUP2 00004f5a: GT 00004f5b: DUP3 00004f5c: ISZERO 00004f5d: ISZERO 00004f5e: AND 00004f5f: ISZERO 00004f60: PUSH2 0x4f6b 00004f63: JUMPI 00004f64: PUSH2 0x4f6b 00004f67: PUSH2 0x4bc1 00004f6a: JUMP 00004f6b: JUMPDEST 00004f6c: MUL 00004f6d: SWAP4 00004f6e: SWAP3 00004f6f: POP 00004f70: POP 00004f71: POP 00004f72: JUMP 00004f73: JUMPDEST 00004f74: PUSH4 0x4e487b71 00004f79: PUSH1 0xe0 00004f7b: SHL 00004f7c: PUSH1 0x00 00004f7e: MSTORE 00004f7f: PUSH1 0x31 00004f81: PUSH1 0x04 00004f83: MSTORE 00004f84: PUSH1 0x24 00004f86: PUSH1 0x00 00004f88: REVERT 00004f89: JUMPDEST 00004f8a: PUSH1 0x00 00004f8c: DUP3 00004f8d: MLOAD 00004f8e: PUSH2 0x4f9b 00004f91: DUP2 00004f92: DUP5 00004f93: PUSH1 0x20 00004f95: DUP8 00004f96: ADD 00004f97: PUSH2 0x3efe 00004f9a: JUMP 00004f9b: JUMPDEST 00004f9c: SWAP2 00004f9d: SWAP1 00004f9e: SWAP2 00004f9f: ADD 00004fa0: SWAP3 00004fa1: SWAP2 00004fa2: POP 00004fa3: POP 00004fa4: JUMP 00004fa5: JUMPDEST 00004fa6: PUSH1 0x20 00004fa8: DUP2 00004fa9: MSTORE 00004faa: PUSH1 0x00 00004fac: PUSH2 0x2de6 00004faf: PUSH1 0x20 00004fb1: DUP4 00004fb2: ADD 00004fb3: DUP5 00004fb4: PUSH2 0x3f2a 00004fb7: JUMP 00004fb8: INVALID 00004fb9: PUSH24 0xaf05e6a92fec1895af9546423ef6796ffe69d557ab50a909 00004fd2: UNKNOWN(0xED) 00004fd3: INVALID 00004fd4: UNKNOWN(0x4D) 00004fd5: CALLER 00004fd6: MSTORE 00004fd7: UNKNOWN(0xB2) 00004fd8: SDIV 00004fd9: UNKNOWN(0xB5) 00004fda: BALANCE 00004fdb: UNKNOWN(0x27) 00004fdc: PUSH9 0x4a568b3173ae13b9f8 00004fe6: UNKNOWN(0xA6) 00004fe7: ADD 00004fe8: PUSH15 0x243e63b6e8ee1178d6a717850b5d61 00004ff8: SUB 00004ff9: CALLDATASIZE 00004ffa: ADDMOD 00004ffb: SWAP5 00004ffc: LOG1 00004ffd: EXTCODESIZE 00004ffe: LOG1 00004fff: LOG3 00005000: UNKNOWN(0x21) 00005001: MOD 00005002: PUSH8 0xc828492db98dca3e 0000500b: KECCAK256 0000500c: PUSH23 0xcc3735a920a3ca505d382bbc6b3d21df97c6b6a7a77df2 00005024: UNKNOWN(0x29) 00005025: LOG0 00005026: UNKNOWN(0xB0) 00005027: SGT 00005028: MUL 00005029: UNKNOWN(0xC7) 0000502a: SLT 0000502b: UNKNOWN(0x24) 0000502c: UNKNOWN(0x2F) 0000502d: STOP 0000502e: UNKNOWN(0xB1) 0000502f: UNKNOWN(0xAE) 00005030: PUSH31 0xae9c98af47b1aecca264697066735822122015657cafa2a3c2f882f36bcfbd 00005050: PUSH5 0x1a7b88907e 00005056: UNKNOWN(0xF9) 00005057: UNKNOWN(0xC1) 00005058: PUSH29
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x686bcc8c9f66f65d4b6c6b820467d007974ac5248323e3d54c5d08f98953c269
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x686bcc8c9f66f65d4b6c6b820467d007974ac5248323e3d54c5d08f98953c269",
"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": "0x0116aa52",
"selector": "0x0116aa52",
"calldata_variants": [
"0x0116aa52",
"0x0116aa520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x02484ceb",
"selector": "0x02484ceb",
"calldata_variants": [
"0x02484ceb",
"0x02484ceb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1220c6ed",
"selector": "0x1220c6ed",
"calldata_variants": [
"0x1220c6ed",
"0x1220c6ed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14ab0bbc",
"selector": "0x14ab0bbc",
"calldata_variants": [
"0x14ab0bbc",
"0x14ab0bbc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1ebf0551",
"selector": "0x1ebf0551",
"calldata_variants": [
"0x1ebf0551",
"0x1ebf05510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fa4d1ba",
"selector": "0x1fa4d1ba",
"calldata_variants": [
"0x1fa4d1ba",
"0x1fa4d1ba0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 11583,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x84d1789377fdedbe83edc90aa94c7605435e022f1278d2afa8e458b35852b0a9
call_targets:
0xd16281bce036d58fc22222e9dac13260fc185907
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x84d1789377fdedbe83edc90aa94c7605435e022f1278d2afa8e458b35852b0a9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd16281bce036d58fc22222e9dac13260fc185907"
],
"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": "0x0116aa52",
"selector": "0x0116aa52",
"calldata_variants": [
"0x0116aa52",
"0x0116aa520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x02484ceb",
"selector": "0x02484ceb",
"calldata_variants": [
"0x02484ceb",
"0x02484ceb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1220c6ed",
"selector": "0x1220c6ed",
"calldata_variants": [
"0x1220c6ed",
"0x1220c6ed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14ab0bbc",
"selector": "0x14ab0bbc",
"calldata_variants": [
"0x14ab0bbc",
"0x14ab0bbc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1ebf0551",
"selector": "0x1ebf0551",
"calldata_variants": [
"0x1ebf0551",
"0x1ebf05510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fa4d1ba",
"selector": "0x1fa4d1ba",
"calldata_variants": [
"0x1fa4d1ba",
"0x1fa4d1ba0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1044,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5255,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12752,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x84d1789377fdedbe83edc90aa94c7605435e022f1278d2afa8e458b35852b0a9
call_targets:
0xd16281bce036d58fc22222e9dac13260fc185907
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x84d1789377fdedbe83edc90aa94c7605435e022f1278d2afa8e458b35852b0a9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd16281bce036d58fc22222e9dac13260fc185907"
],
"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": "0x0116aa52",
"selector": "0x0116aa52",
"calldata_variants": [
"0x0116aa52",
"0x0116aa520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x02484ceb",
"selector": "0x02484ceb",
"calldata_variants": [
"0x02484ceb",
"0x02484ceb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1220c6ed",
"selector": "0x1220c6ed",
"calldata_variants": [
"0x1220c6ed",
"0x1220c6ed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14ab0bbc",
"selector": "0x14ab0bbc",
"calldata_variants": [
"0x14ab0bbc",
"0x14ab0bbc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14bfd6d0",
"selector": "0x14bfd6d0",
"calldata_variants": [
"0x14bfd6d0",
"0x14bfd6d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1ebf0551",
"selector": "0x1ebf0551",
"calldata_variants": [
"0x1ebf0551",
"0x1ebf05510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1fa4d1ba",
"selector": "0x1fa4d1ba",
"calldata_variants": [
"0x1fa4d1ba",
"0x1fa4d1ba0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1044,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5255,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12752,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|