749ffb5b-e76e-48c0-8bb0-64a69dd48b29
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 |
|---|---|---|---|---|
| 31021 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75940 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75941 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75942 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75943 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75944 | detector.run | complete | 1 / 3 | 1 week ago |
| 75945 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1132007] OpenAI Codex v0.77.0 (research preview)
[codex:1132007] --------
[codex:1132007] workdir: /tmp/codex-multi-bcatldf1
[codex:1132007] model: gpt-5.2-codex
[codex:1132007] provider: openai
[codex:1132007] approval: never
[codex:1132007] sandbox: read-only
[codex:1132007] reasoning effort: xhigh
[codex:1132007] reasoning summaries: auto
[codex:1132007] session id: 019b79d2-4ad8-7a43-ba4c-7b42892ae9d9
[codex:1132007] --------
[codex:1132007] user
[codex:1132007] 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:1132007]
[codex:1132007] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1132007]
[codex:1132007] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1132007] - Gas inefficiency, code quality, or best practices
[codex:1132007] - Theoretical vulnerabilities without a clear extraction path
[codex:1132007] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1132007] - Issues requiring social engineering or off-chain coordination
[codex:1132007]
[codex:1132007] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1132007] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1132007] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1132007] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1132007] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1132007] - External calls before state updates (reentrancy)
[codex:1132007] - SELFDESTRUCT with controllable beneficiary
[codex:1132007] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1132007]
[codex:1132007] For each finding, you MUST explain:
[codex:1132007] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1132007] 2. The concrete sequence of transactions to extract value
[codex:1132007] 3. Why you believe this is exploitable (not just suspicious)
[codex:1132007]
[codex:1132007] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1132007] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1132007]
[codex:1132007] Output MUST be valid JSON matching the provided schema.
[codex:1132007] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1132007] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1132007] mcp startup: no servers
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Reading BYTECODE_BUNDLE.txt**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc ls in /tmp/codex-multi-bcatldf1 succeeded in 5ms:
[codex:1132007] BYTECODE_BUNDLE.txt
[codex:1132007] codex-output-schema.json
[codex:1132007] exec
[codex:1132007] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-bcatldf1 succeeded in 5ms:
[codex:1132007] Runtime bytecode bundle for best-effort auditing.
[codex:1132007] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1132007]
[codex:1132007] FILE: runtime_bytecode.hex
[codex:1132007] 0x608060405260043610610247575f3560e01c806377b0333711610137578063d21d122d116100af578063e7c5f19b11610076578063e7c5f19b1461079f578063ef61a6db146107be578063f1bd3ca2146107dd578063f82f604314610809578063fa461e33146102da578063ff7443361461082857005b8063d21d122d14610704578063daf95aef14610723578063dbcd027814610742578063e3f236cb14610761578063e5f42bf81461078057005b8063b7d4e27a116100fe578063b7d4e27a146105b0578063c0818f1714610681578063ce2e62ff146106a0578063cee97e9e146106bf578063d0c88b33146106d2578063d1ee941d146106f157005b806377b03337146104fc5780639ba5319b1461051b5780639cb609ca1461053b5780639ec9ec201461055a578063b15dfe3e1461059157005b8063434ffed8116101ca5780635afc90f1116101915780635afc90f1146104425780635e9833a514610461578063636a6119146104805780636cf3321c1461049f5780636fbebc70146104be578063768ac73b146104dd57005b8063434ffed8146103b357806349c36c07146103d25780634e2a27ed146103f15780635444155814610410578063544d058b1461042f57005b80632a0aad111161020e5780632a0aad11146103185780632dc02d34146103375780633a904098146103565780633b7d0946146103755780633d5f976d1461039457005b80630232d2bc146102505780631c4cb5291461029c578063224e5f60146102bb57806323a69e75146102da57806323c0c09f146102f957005b3661024e57005b005b34801561025b575f80fd5b5061028761026a366004614e99565b6001600160a01b03165f908152600a602052604090205460ff1690565b60405190151581526020015b60405180910390f35b3480156102a7575f80fd5b5061024e6102b6366004614ecc565b61085f565b3480156102c6575f80fd5b5061024e6102d5366004614e99565b610bb1565b3480156102e5575f80fd5b5061024e6102f4366004614f30565b610bfc565b348015610304575f80fd5b5061024e610313366004614fa8565b610c0e565b348015610323575f80fd5b5061024e6103323660046150b3565b610c61565b348015610342575f80fd5b5061024e6103513660046150de565b610f30565b348015610361575f80fd5b5061024e6103703660046150f5565b61116f565b348015610380575f80fd5b5061024e61038f366004614e99565b611237565b34801561039f575f80fd5b5061024e6103ae36600461511f565b611283565b3480156103be575f80fd5b5061024e6103cd3660046150de565b611592565b3480156103dd575f80fd5b5061024e6103ec366004615142565b611612565b3480156103fc575f80fd5b5061024e61040b366004614fa8565b6117bc565b34801561041b575f80fd5b5061024e61042a3660046151ef565b61180f565b61024e61043d36600461532c565b61187d565b34801561044d575f80fd5b5061024e61045c3660046151ef565b611b47565b34801561046c575f80fd5b5061024e61047b366004615359565b611bd4565b34801561048b575f80fd5b5061024e61049a366004614fa8565b611ea4565b3480156104aa575f80fd5b5061024e6104b93660046150de565b611edc565b3480156104c9575f80fd5b5061024e6104d83660046153cf565b611fa7565b3480156104e8575f80fd5b5061024e6104f7366004615432565b61215e565b348015610507575f80fd5b5061024e61051636600461549e565b612336565b61052e6105293660046154db565b612631565b6040516102939190615596565b348015610546575f80fd5b5061024e610555366004614e99565b612782565b348015610565575f80fd5b50610287610574366004614e99565b6001600160a01b03165f9081526001602052604090205460ff1690565b34801561059c575f80fd5b5061024e6105ab3660046155f6565b6127b9565b3480156105bb575f80fd5b5061063e6105ca366004614e99565b60408051608080820183525f808352602080840182905283850182905260609384018290526001600160a01b03958616825260068152908490208451928301855280548616835260018101549095169082015260028401549281019290925260039092015460ff1615159181019190915290565b604051610293919081516001600160a01b039081168252602080840151909116908201526040808301519082015260609182015115159181019190915260800190565b34801561068c575f80fd5b5061024e61069b366004614fa8565b6129e7565b3480156106ab575f80fd5b5061024e6106ba3660046153cf565b612a3a565b61024e6106cd366004615635565b612c1f565b3480156106dd575f80fd5b5061024e6106ec366004615675565b612df1565b61024e6106ff3660046156f5565b61312e565b34801561070f575f80fd5b5061024e61071e366004615710565b6132d7565b34801561072e575f80fd5b5061028761073d366004614e99565b613314565b34801561074d575f80fd5b5061024e61075c36600461574e565b613360565b34801561076c575f80fd5b5061024e61077b3660046157ba565b6136b8565b34801561078b575f80fd5b5061024e61079a366004615710565b613725565b3480156107aa575f80fd5b5061024e6107b9366004614fa8565b613762565b3480156107c9575f80fd5b5061024e6107d83660046150f5565b6137b5565b3480156107e8575f80fd5b506107f1613911565b6040516001600160a01b039091168152602001610293565b348015610814575f80fd5b5061024e6108233660046157f3565b61394b565b348015610833575f80fd5b50610287610842366004614e99565b6001600160a01b03165f9081526003602052604090205460ff1690565b335f80516020615d1283398151915214806108865750335f80516020615e12833981519152145b8061089d5750335f80516020615d52833981519152145b806108b45750335f80516020615d52833981519152145b806108cb5750335f80516020615d32833981519152145b806108e25750335f80516020615e52833981519152145b806108f95750335f80516020615cd2833981519152145b806109105750335f80516020615cb2833981519152145b806109275750335f80516020615d92833981519152145b8061093e5750335f80516020615df2833981519152145b806109555750335f80516020615e32833981519152145b8061096c5750335f80516020615d72833981519152145b806109835750335f80516020615dd2833981519152145b8061099a5750335f80516020615cf2833981519152145b806109b15750335f80516020615db2833981519152145b806109c85750335f80516020615e72833981519152145b806109e15750335f9081526002602052604090205460ff165b610a065760405162461bcd60e51b81526004016109fd906158b8565b60405180910390fd5b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db1480610a4e57506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b80610a7557506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b80610a9c57506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b80610ac357506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b80610aea57506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b80610b0c57506001600160a01b0381165f908152600b602052604090205460ff165b610b285760405162461bcd60e51b81526004016109fd906158d6565b604080515f81526020810191829052630251596160e31b9091526001600160a01b0387169063128acb0890610b6890859087908a908a90602481016158f3565b60408051808303815f875af1158015610b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba7919061592d565b5050505050505050565b5f546001600160a01b03163314610bda5760405162461bcd60e51b81526004016109fd9061594f565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b610c08848484846139e1565b50505050565b5f546001600160a01b03163314610c375760405162461bcd60e51b81526004016109fd9061594f565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b335f80516020615d128339815191521480610c885750335f80516020615e12833981519152145b80610c9f5750335f80516020615d52833981519152145b80610cb65750335f80516020615d52833981519152145b80610ccd5750335f80516020615d32833981519152145b80610ce45750335f80516020615e52833981519152145b80610cfb5750335f80516020615cd2833981519152145b80610d125750335f80516020615cb2833981519152145b80610d295750335f80516020615d92833981519152145b80610d405750335f80516020615df2833981519152145b80610d575750335f80516020615e32833981519152145b80610d6e5750335f80516020615d72833981519152145b80610d855750335f80516020615dd2833981519152145b80610d9c5750335f80516020615cf2833981519152145b80610db35750335f80516020615db2833981519152145b80610dca5750335f80516020615e72833981519152145b80610de35750335f9081526002602052604090205460ff165b610dff5760405162461bcd60e51b81526004016109fd906158b8565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db1480610e4757506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b80610e6e57506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b80610e9557506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b80610ebc57506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b80610ee357506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b80610f0557506001600160a01b0381165f908152600b602052604090205460ff165b610f215760405162461bcd60e51b81526004016109fd906158d6565b610f2b8383613b3c565b505050565b335f908152600a602052604090205460ff16610f5e5760405162461bcd60e51b81526004016109fd9061596b565b6009546001600160a01b0316610fa85760405162461bcd60e51b815260206004820152600f60248201526e18d95e1059191c881b9bdd081cd95d608a1b60448201526064016109fd565b6008546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610fee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110129190615989565b9050818110156110345760405162461bcd60e51b81526004016109fd906159a0565b600854604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015611077575f80fd5b505af1158015611089573d5f803e3d5ffd5b50506009546040516001600160a01b03909116925084156108fc02915084905f818181858888f193505050501580156110c4573d5f803e3d5ffd5b506008546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa15801561110b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112f9190615989565b61113990836159d0565b1461116b5760405162461bcd60e51b8152602060048201526002602482015261373b60f11b60448201526064016109fd565b5050565b5f546001600160a01b031633146111985760405162461bcd60e51b81526004016109fd9061594f565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156111dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112009190615989565b101561121e5760405162461bcd60e51b81526004016109fd906159a0565b5f5461116b906001600160a01b03848116911683613d19565b5f546001600160a01b031633146112605760405162461bcd60e51b81526004016109fd9061594f565b6001600160a01b03165f908152600660205260409020600301805460ff19169055565b335f908152600a602052604090205460ff166112b15760405162461bcd60e51b81526004016109fd9061596b565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db14806112f957506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b8061132057506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b8061134757506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b8061136e57506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b8061139557506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b806113b757506001600160a01b0381165f908152600b602052604090205460ff165b6113d35760405162461bcd60e51b81526004016109fd906158d6565b6008546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611419573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061143d9190615989565b90508381101561145f5760405162461bcd60e51b81526004016109fd906159a0565b600854604051632e1a7d4d60e01b8152600481018690526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b1580156114a2575f80fd5b505af11580156114b4573d5f803e3d5ffd5b50506040516001600160a01b038616925086156108fc02915086905f818181858888f193505050501580156114eb573d5f803e3d5ffd5b506008546040516370a0823160e01b815230600482015285916001600160a01b0316906370a0823190602401602060405180830381865afa158015611532573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115569190615989565b61156090836159d0565b14610c085760405162461bcd60e51b8152602060048201526002602482015261373b60f11b60448201526064016109fd565b5f546001600160a01b031633146115bb5760405162461bcd60e51b81526004016109fd9061594f565b47818110156115dc5760405162461bcd60e51b81526004016109fd906159a0565b5f80546040516001600160a01b039091169184156108fc02918591818181858888f19350505050158015610f2b573d5f803e3d5ffd5b335f80516020615d1283398151915214806116395750335f80516020615e12833981519152145b806116505750335f80516020615d52833981519152145b806116675750335f80516020615d52833981519152145b8061167e5750335f80516020615d32833981519152145b806116955750335f80516020615e52833981519152145b806116ac5750335f80516020615cd2833981519152145b806116c35750335f80516020615cb2833981519152145b806116da5750335f80516020615d92833981519152145b806116f15750335f80516020615df2833981519152145b806117085750335f80516020615e32833981519152145b8061171f5750335f80516020615d72833981519152145b806117365750335f80516020615dd2833981519152145b8061174d5750335f80516020615cf2833981519152145b806117645750335f80516020615db2833981519152145b8061177b5750335f80516020615e72833981519152145b806117945750335f9081526002602052604090205460ff165b6117b05760405162461bcd60e51b81526004016109fd906158b8565b6117b981613d7c565b50565b5f546001600160a01b031633146117e55760405162461bcd60e51b81526004016109fd9061594f565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b335f9081526001602052604090205460ff1661183d5760405162461bcd60e51b81526004016109fd906159e3565b5f5b8251811015610f2b5761186b83828151811061185d5761185d615a03565b602002602001015183613d86565b8061187581615a17565b91505061183f565b335f80516020615d1283398151915214806118a45750335f80516020615e12833981519152145b806118bb5750335f80516020615d52833981519152145b806118d25750335f80516020615d52833981519152145b806118e95750335f80516020615d32833981519152145b806119005750335f80516020615e52833981519152145b806119175750335f80516020615cd2833981519152145b8061192e5750335f80516020615cb2833981519152145b806119455750335f80516020615d92833981519152145b8061195c5750335f80516020615df2833981519152145b806119735750335f80516020615e32833981519152145b8061198a5750335f80516020615d72833981519152145b806119a15750335f80516020615dd2833981519152145b806119b85750335f80516020615cf2833981519152145b806119cf5750335f80516020615db2833981519152145b806119e65750335f80516020615e72833981519152145b806119ff5750335f9081526002602052604090205460ff165b611a1b5760405162461bcd60e51b81526004016109fd906158b8565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db1480611a6357506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b80611a8a57506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b80611ab157506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b80611ad857506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b80611aff57506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b80611b2157506001600160a01b0381165f908152600b602052604090205460ff165b611b3d5760405162461bcd60e51b81526004016109fd906158d6565b610f2b8383613db0565b5f546001600160a01b03163314611b705760405162461bcd60e51b81526004016109fd9061594f565b5f5b8251811015610f2b578160025f858481518110611b9157611b91615a03565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580611bcc81615a17565b915050611b72565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db1480611c1c57506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b80611c4357506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b80611c6a57506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b80611c9157506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b80611cb857506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b80611cda57506001600160a01b0381165f908152600b602052604090205460ff165b611cf65760405162461bcd60e51b81526004016109fd906158d6565b335f80516020615d128339815191521480611d1d5750335f80516020615e12833981519152145b80611d345750335f80516020615d52833981519152145b80611d4b5750335f80516020615d52833981519152145b80611d625750335f80516020615d32833981519152145b80611d795750335f80516020615e52833981519152145b80611d905750335f80516020615cd2833981519152145b80611da75750335f80516020615cb2833981519152145b80611dbe5750335f80516020615d92833981519152145b80611dd55750335f80516020615df2833981519152145b80611dec5750335f80516020615e32833981519152145b80611e035750335f80516020615d72833981519152145b80611e1a5750335f80516020615dd2833981519152145b80611e315750335f80516020615cf2833981519152145b80611e485750335f80516020615db2833981519152145b80611e5f5750335f80516020615e72833981519152145b80611e785750335f9081526002602052604090205460ff165b611e945760405162461bcd60e51b81526004016109fd906158b8565b610ba78888888888601e88613eff565b335f9081526001602052604090205460ff16611ed25760405162461bcd60e51b81526004016109fd906159e3565b61116b8282613d86565b335f908152600a602052604090205460ff16611f0a5760405162461bcd60e51b81526004016109fd9061596b565b80471015611f405760405162461bcd60e51b8152602060048201526003602482015262776e6560e81b60448201526064016109fd565b60085f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015611f8d575f80fd5b505af1158015611f9f573d5f803e3d5ffd5b505050505050565b335f80516020615d128339815191521480611fce5750335f80516020615e12833981519152145b80611fe55750335f80516020615d52833981519152145b80611ffc5750335f80516020615d52833981519152145b806120135750335f80516020615d32833981519152145b8061202a5750335f80516020615e52833981519152145b806120415750335f80516020615cd2833981519152145b806120585750335f80516020615cb2833981519152145b8061206f5750335f80516020615d92833981519152145b806120865750335f80516020615df2833981519152145b8061209d5750335f80516020615e32833981519152145b806120b45750335f80516020615d72833981519152145b806120cb5750335f80516020615dd2833981519152145b806120e25750335f80516020615cf2833981519152145b806120f95750335f80516020615db2833981519152145b806121105750335f80516020615e72833981519152145b806121295750335f9081526002602052604090205460ff165b6121455760405162461bcd60e51b81526004016109fd906158b8565b8361215587878787878730613eff565b50505050505050565b335f80516020615d1283398151915214806121855750335f80516020615e12833981519152145b8061219c5750335f80516020615d52833981519152145b806121b35750335f80516020615d52833981519152145b806121ca5750335f80516020615d32833981519152145b806121e15750335f80516020615e52833981519152145b806121f85750335f80516020615cd2833981519152145b8061220f5750335f80516020615cb2833981519152145b806122265750335f80516020615d92833981519152145b8061223d5750335f80516020615df2833981519152145b806122545750335f80516020615e32833981519152145b8061226b5750335f80516020615d72833981519152145b806122825750335f80516020615dd2833981519152145b806122995750335f80516020615cf2833981519152145b806122b05750335f80516020615db2833981519152145b806122c75750335f80516020615e72833981519152145b806122e05750335f9081526002602052604090205460ff165b6122fc5760405162461bcd60e51b81526004016109fd906158b8565b8481156123275761271061231083826159d0565b61231a908a615a2f565b6123249190615a46565b97505b610ba788888888888830613eff565b335f80516020615d12833981519152148061235d5750335f80516020615e12833981519152145b806123745750335f80516020615d52833981519152145b8061238b5750335f80516020615d52833981519152145b806123a25750335f80516020615d32833981519152145b806123b95750335f80516020615e52833981519152145b806123d05750335f80516020615cd2833981519152145b806123e75750335f80516020615cb2833981519152145b806123fe5750335f80516020615d92833981519152145b806124155750335f80516020615df2833981519152145b8061242c5750335f80516020615e32833981519152145b806124435750335f80516020615d72833981519152145b8061245a5750335f80516020615dd2833981519152145b806124715750335f80516020615cf2833981519152145b806124885750335f80516020615db2833981519152145b8061249f5750335f80516020615e72833981519152145b806124b85750335f9081526002602052604090205460ff165b6124d45760405162461bcd60e51b81526004016109fd906158b8565b816001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db148061251c57506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b8061254357506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b8061256a57506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b8061259157506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b806125b857506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b806125da57506001600160a01b0381165f908152600b602052604090205460ff165b6125f65760405162461bcd60e51b81526004016109fd906158d6565b6126008484613b3c565b604051419083156108fc029084905f818181858888f1935050505015801561262a573d5f803e3d5ffd5b5050505050565b6060816001600160401b0381111561264b5761264b614fdf565b60405190808252806020026020018201604052801561267e57816020015b60608152602001906001900390816126695790505b5090505f5b8281101561277b575f80308686858181106126a0576126a0615a03565b90506020028101906126b29190615a65565b6040516126c0929190615aae565b5f60405180830381855af49150503d805f81146126f8576040519150601f19603f3d011682016040523d82523d5f602084013e6126fd565b606091505b50915091508161274857604481511015612715575f80fd5b6004810190508080602001905181019061272f9190615abd565b60405162461bcd60e51b81526004016109fd9190615b4b565b8084848151811061275b5761275b615a03565b60200260200101819052505050808061277390615a17565b915050612683565b5092915050565b335f9081526001602052604090205460ff166127b05760405162461bcd60e51b81526004016109fd906159e3565b6117b9816140b6565b335f908152600a602052604090205460ff166127e75760405162461bcd60e51b81526004016109fd9061596b565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db148061282f57506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b8061285657506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b8061287d57506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b806128a457506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b806128cb57506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b806128ed57506001600160a01b0381165f908152600b602052604090205460ff165b6129095760405162461bcd60e51b81526004016109fd906158d6565b6008546001600160a01b039081169085160361294d5760405162461bcd60e51b8152602060048201526003602482015262776e7360e81b60448201526064016109fd565b6040516370a0823160e01b815230600482015283906001600160a01b038616906370a0823190602401602060405180830381865afa158015612991573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129b59190615989565b10156129d35760405162461bcd60e51b81526004016109fd906159a0565b610c086001600160a01b0385168385613d19565b5f546001600160a01b03163314612a105760405162461bcd60e51b81526004016109fd9061594f565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b335f80516020615d128339815191521480612a615750335f80516020615e12833981519152145b80612a785750335f80516020615d52833981519152145b80612a8f5750335f80516020615d52833981519152145b80612aa65750335f80516020615d32833981519152145b80612abd5750335f80516020615e52833981519152145b80612ad45750335f80516020615cd2833981519152145b80612aeb5750335f80516020615cb2833981519152145b80612b025750335f80516020615d92833981519152145b80612b195750335f80516020615df2833981519152145b80612b305750335f80516020615e32833981519152145b80612b475750335f80516020615d72833981519152145b80612b5e5750335f80516020615dd2833981519152145b80612b755750335f80516020615cf2833981519152145b80612b8c5750335f80516020615db2833981519152145b80612ba35750335f80516020615e72833981519152145b80612bbc5750335f9081526002602052604090205460ff165b612bd85760405162461bcd60e51b81526004016109fd906158b8565b8042811015612c0e5760405162461bcd60e51b8152602060048201526002602482015261746560f01b60448201526064016109fd565b84610ba78888888888601e30613eff565b335f80516020615d128339815191521480612c465750335f80516020615e12833981519152145b80612c5d5750335f80516020615d52833981519152145b80612c745750335f80516020615d52833981519152145b80612c8b5750335f80516020615d32833981519152145b80612ca25750335f80516020615e52833981519152145b80612cb95750335f80516020615cd2833981519152145b80612cd05750335f80516020615cb2833981519152145b80612ce75750335f80516020615d92833981519152145b80612cfe5750335f80516020615df2833981519152145b80612d155750335f80516020615e32833981519152145b80612d2c5750335f80516020615d72833981519152145b80612d435750335f80516020615dd2833981519152145b80612d5a5750335f80516020615cf2833981519152145b80612d715750335f80516020615db2833981519152145b80612d885750335f80516020615e72833981519152145b80612da15750335f9081526002602052604090205460ff165b612dbd5760405162461bcd60e51b81526004016109fd906158b8565b612dc78383613db0565b604051419082156108fc029083905f818181858888f19350505050158015610c08573d5f803e3d5ffd5b816001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db1480612e3957506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b80612e6057506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b80612e8757506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b80612eae57506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b80612ed557506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b80612ef757506001600160a01b0381165f908152600b602052604090205460ff165b612f135760405162461bcd60e51b81526004016109fd906158d6565b335f80516020615d128339815191521480612f3a5750335f80516020615e12833981519152145b80612f515750335f80516020615d52833981519152145b80612f685750335f80516020615d52833981519152145b80612f7f5750335f80516020615d32833981519152145b80612f965750335f80516020615e52833981519152145b80612fad5750335f80516020615cd2833981519152145b80612fc45750335f80516020615cb2833981519152145b80612fdb5750335f80516020615d92833981519152145b80612ff25750335f80516020615df2833981519152145b806130095750335f80516020615e32833981519152145b806130205750335f80516020615d72833981519152145b806130375750335f80516020615dd2833981519152145b8061304e5750335f80516020615cf2833981519152145b806130655750335f80516020615db2833981519152145b8061307c5750335f80516020615e72833981519152145b806130955750335f9081526002602052604090205460ff165b6130b15760405162461bcd60e51b81526004016109fd906158b8565b83428110156130e75760405162461bcd60e51b8152602060048201526002602482015261746560f01b60448201526064016109fd565b6130f78a8a8a8a8a601e8a613eff565b604051419084156108fc029085905f818181858888f19350505050158015613121573d5f803e3d5ffd5b5050505050505050505050565b335f80516020615d1283398151915214806131555750335f80516020615e12833981519152145b8061316c5750335f80516020615d52833981519152145b806131835750335f80516020615d52833981519152145b8061319a5750335f80516020615d32833981519152145b806131b15750335f80516020615e52833981519152145b806131c85750335f80516020615cd2833981519152145b806131df5750335f80516020615cb2833981519152145b806131f65750335f80516020615d92833981519152145b8061320d5750335f80516020615df2833981519152145b806132245750335f80516020615e32833981519152145b8061323b5750335f80516020615d72833981519152145b806132525750335f80516020615dd2833981519152145b806132695750335f80516020615cf2833981519152145b806132805750335f80516020615db2833981519152145b806132975750335f80516020615e72833981519152145b806132b05750335f9081526002602052604090205460ff165b6132cc5760405162461bcd60e51b81526004016109fd906158b8565b805161116b82614291565b5f546001600160a01b031633146133005760405162461bcd60e51b81526004016109fd9061594f565b610f2b6001600160a01b038416838361432f565b5f80546001600160a01b0316331461333e5760405162461bcd60e51b81526004016109fd9061594f565b506001600160a01b0381165f908152600b602052604090205460ff165b919050565b806001600160a01b03811673a701f9db977c98f9043b20225b4322f94dbd50db14806133a857506001600160a01b03811673abd69d0fac4b0851dafe100979df808eb7fb81a9145b806133cf57506001600160a01b038116733b82ff2ea45595c8d0c79a2e5749b7347dd4970a145b806133f657506001600160a01b03811673c750359cba44ad5214f0ccd99900b99099dc92f1145b8061341d57506001600160a01b03811673fa87374753e528b4dea388225e5723f42a2db8bc145b8061344457506001600160a01b038116730e098207a163a0f8415d575cb5126ebf378f00bf145b8061346657506001600160a01b0381165f908152600b602052604090205460ff165b6134825760405162461bcd60e51b81526004016109fd906158d6565b335f80516020615d1283398151915214806134a95750335f80516020615e12833981519152145b806134c05750335f80516020615d52833981519152145b806134d75750335f80516020615d52833981519152145b806134ee5750335f80516020615d32833981519152145b806135055750335f80516020615e52833981519152145b8061351c5750335f80516020615cd2833981519152145b806135335750335f80516020615cb2833981519152145b8061354a5750335f80516020615d92833981519152145b806135615750335f80516020615df2833981519152145b806135785750335f80516020615e32833981519152145b8061358f5750335f80516020615d72833981519152145b806135a65750335f80516020615dd2833981519152145b806135bd5750335f80516020615cf2833981519152145b806135d45750335f80516020615db2833981519152145b806135eb5750335f80516020615e72833981519152145b806136045750335f9081526002602052604090205460ff165b6136205760405162461bcd60e51b81526004016109fd906158b8565b6136346001600160a01b0385168689613d19565b846001600160a01b031663022c0d9f8461364e5787613650565b5f5b8561365b575f61365d565b885b604080515f815260208101918290526001600160e01b031960e086901b1690915261368f929190879060248101615b5d565b5f604051808303815f87803b1580156136a6575f80fd5b505af1158015613121573d5f803e3d5ffd5b335f9081526001602052604090205460ff166136e65760405162461bcd60e51b81526004016109fd906159e3565b5f5b815181101561116b5761371382828151811061370657613706615a03565b60200260200101516140b6565b8061371d81615a17565b9150506136e8565b5f546001600160a01b0316331461374e5760405162461bcd60e51b81526004016109fd9061594f565b610f2b6001600160a01b03841683836143de565b5f546001600160a01b0316331461378b5760405162461bcd60e51b81526004016109fd9061594f565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b335f908152600a602052604090205460ff166137e35760405162461bcd60e51b81526004016109fd9061596b565b6009546001600160a01b031661382d5760405162461bcd60e51b815260206004820152600f60248201526e18d95e1059191c881b9bdd081cd95d608a1b60448201526064016109fd565b6008546001600160a01b03908116908316036138715760405162461bcd60e51b8152602060048201526003602482015262776e7360e81b60448201526064016109fd565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156138b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138d99190615989565b10156138f75760405162461bcd60e51b81526004016109fd906159a0565b60095461116b906001600160a01b03848116911683613d19565b5f80546001600160a01b0316331461393b5760405162461bcd60e51b81526004016109fd9061594f565b506009546001600160a01b031690565b5f546001600160a01b031633146139745760405162461bcd60e51b81526004016109fd9061594f565b5f5b8351811015610c08576139cf8383838151811061399557613995615a03565b60200260200101518684815181106139af576139af615a03565b60200260200101516001600160a01b031661432f9092919063ffffffff16565b806139d981615a17565b915050613976565b5f8413806139ee57505f83135b613a1f5760405162461bcd60e51b815260206004820152600260248201526130bd60f11b60448201526064016109fd565b5f84138115613a9d575f613a366020828587615b93565b613a3f91615bba565b90505f82613a5757613a52875f19615bd7565b613a62565b613a62865f19615bd7565b905081811015613a9a5760405162461bcd60e51b81526020600482015260036024820152623732bb60e91b60448201526064016109fd565b50505b5f81613ac357335f908152600660205260409020600101546001600160a01b0316613adc565b335f908152600660205260409020546001600160a01b03165b90506001600160a01b038116613b1a5760405162461bcd60e51b815260206004820152600360248201526236b73b60e91b60448201526064016109fd565b611f9f3383613b295786613b2b565b875b6001600160a01b0384169190613d19565b815160408051600481526024810182526020810180516001600160e01b0316633850c7bd60e01b17905290515f9283926001600160a01b0390911691613b829190615c06565b5f60405180830381855afa9150503d805f8114613bba576040519150601f19603f3d011682016040523d82523d5f602084013e613bbf565b606091505b5091509150818015613bd357506020815110155b613bdb575f80fd5b60208101516080850151613c085784604001516001600160a01b0316816001600160a01b03161115613c23565b84604001516001600160a01b0316816001600160a01b031610155b613c555760405162461bcd60e51b815260206004820152600360248201526234323160e91b60448201526064016109fd565b845f01516001600160a01b031663128acb08858760800151886020015189606001515f6001600160401b03811115613c8f57613c8f614fdf565b6040519080825280601f01601f191660200182016040528015613cb9576020820181803683370190505b506040518663ffffffff1660e01b8152600401613cda9594939291906158f3565b60408051808303815f875af1158015613cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612155919061592d565b6040516001600160a01b038316602482015260448101829052610f2b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526144e7565b6117b98130613b3c565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b816040015115613eb55760c08201516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613e02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e269190615989565b905082608001516001600160701b0316811015613e6b5760405162461bcd60e51b8152602060048201526003602482015262696e7360e81b60448201526064016109fd565b610f2b83608001516001600160701b03168460a001516001600160701b0316855f01518660c001518760200151886060015161ffff16888a60e001516001600160701b03166145b8565b61116b82608001516001600160701b03168360a001516001600160701b0316845f01518560c001518660200151876060015161ffff16878960e001516001600160701b031661465d565b5f8590505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613f41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f659190615c21565b506001600160701b0391821693501690505f613f83866127106159d0565b613f8d908c615a2f565b90505f8188613f9c5783613f9e565b845b613faa90612710615a2f565b613fb49190615c68565b88613fbf5784613fc1565b835b613fcb9084615a2f565b613fd59190615a46565b90508a81101561400c5760405162461bcd60e51b81526020600482015260026024820152611a1960f21b60448201526064016109fd565b6140206001600160a01b038a168b8e613d19565b846001600160a01b031663022c0d9f8961403a578261403c565b5f5b8a614047575f614049565b835b604080515f815260208101918290526001600160e01b031960e086901b1690915261407b9291908b9060248101615b5d565b5f604051808303815f87803b158015614092575f80fd5b505af11580156140a4573d5f803e3d5ffd5b50505050505050505050505050505050565b6001600160a01b038181165f9081526006602052604090205416156140d85750565b600780546001810182555f919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b0383169081179091556040805160808101808352630dfe168160e01b9052905183928291630dfe1681906084808501916020918187030181865afa158015614166573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061418a9190615c7b565b6001600160a01b03168152602001826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906141f89190615c7b565b6001600160a01b03168152602001600160078054905061421891906159d0565b8152600160209182018190526001600160a01b039485165f90815260068352604090819020845181546001600160a01b031990811691891691909117825593850151928101805490941692909616919091179091558101516002840155606001516003909201805460ff19169215159290921790915550565b8060400151156142e5576117b981608001516001600160701b03168260a001516001600160701b0316835f01518460c001518560200151866060015161ffff16308860e001516001600160701b03166145b8565b6117b981608001516001600160701b03168260a001516001600160701b0316835f01518460c001518560200151866060015161ffff16308860e001516001600160701b031661465d565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f91839186169063dd62ed3e90604401602060405180830381865afa15801561437d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906143a19190615989565b6143ab9190615c68565b6040516001600160a01b038516602482015260448101829052909150610c0890859063095ea7b360e01b90606401613d45565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561442b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061444f9190615989565b9050818110156144b35760405162461bcd60e51b815260206004820152602960248201527f5361666545524332303a2064656372656173656420616c6c6f77616e63652062604482015268656c6f77207a65726f60b81b60648201526084016109fd565b6040516001600160a01b0384166024820152828203604482018190529061262a90869063095ea7b360e01b90606401613d45565b5f61453b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661482a9092919063ffffffff16565b805190915015610f2b57808060200190518101906145599190615c96565b610f2b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109fd565b5f6145c887878b8b898988614842565b9050866001600160a01b031663022c0d9f866145e457826145e6565b5f5b876145f1575f6145f3565b835b604080515f815260208101918290526001600160e01b031960e086901b16909152614625929190889060248101615b5d565b5f604051808303815f87803b15801561463c575f80fd5b505af115801561464e573d5f803e3d5ffd5b50505050505050505050505050565b5f61466d87878b8b898988614aef565b90505f61467a8887614c40565b6040516370a0823160e01b81526001600160a01b0386811660048301529192505f918316906370a0823190602401602060405180830381865afa1580156146c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906146e79190615989565b9050886001600160a01b031663022c0d9f886147035784614705565b5f5b89614710575f614712565b855b604080515f815260208101918290526001600160e01b031960e086901b169091526147449291908a9060248101615b5d565b5f604051808303815f87803b15801561475b575f80fd5b505af115801561476d573d5f803e3d5ffd5b50506040516370a0823160e01b81526001600160a01b0388811660048301525f9350851691506370a0823190602401602060405180830381865afa1580156147b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147db9190615989565b90508a6147e883836159d0565b101561481c5760405162461bcd60e51b815260206004820152600360248201526237329960e91b60448201526064016109fd565b505050505050505050505050565b606061483884845f85614d14565b90505b9392505050565b5f808890505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614885573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148a99190615c21565b506001600160701b0391821693501690505f6127106148c887826159d0565b6148d4896127106159d0565b6148de908d615a2f565b6148e89190615a2f565b6148f29190615a46565b905080886149005782614902565b835b61490e90612710615a2f565b6149189190615c68565b886149235783614925565b825b61492f9083615a2f565b6149399190615a46565b9450888510156149715760405162461bcd60e51b81526020600482015260036024820152626e653160e81b60448201526064016109fd565b6149856001600160a01b038c168d8c613d19565b6040516370a0823160e01b81526001600160a01b038d811660048301525f91908d16906370a0823190602401602060405180830381865afa1580156149cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906149f09190615989565b9050846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614a2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a529190615c21565b506001600160701b039182169550169250614a6f886127106159d0565b89614a8357614a7e84836159d0565b614a8d565b614a8d85836159d0565b614a979190615a2f565b91508189614aa55783614aa7565b845b614ab390612710615a2f565b614abd9190615c68565b89614ac85784614aca565b835b614ad49084615a2f565b614ade9190615a46565b9d9c50505050505050505050505050565b5f808890505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614b32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614b569190615c21565b506001600160701b0391821693501690505f614b74876127106159d0565b614b7e908b615a2f565b90508088614b8c5782614b8e565b835b614b9a90612710615a2f565b614ba49190615c68565b88614baf5783614bb1565b825b614bbb9083615a2f565b614bc59190615a46565b945088612710614bd588826159d0565b614bdf9088615a2f565b614be99190615a46565b1015614c1d5760405162461bcd60e51b81526020600482015260036024820152626e653160e81b60448201526064016109fd565b614c316001600160a01b038c168d8c613d19565b50505050979650505050505050565b5f81614cab57826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015614c82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614ca69190615c7b565b614d0b565b826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015614ce7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614d0b9190615c7b565b90505b92915050565b606082471015614d755760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109fd565b6001600160a01b0385163b614dcc5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109fd565b5f80866001600160a01b03168587604051614de79190615c06565b5f6040518083038185875af1925050503d805f8114614e21576040519150601f19603f3d011682016040523d82523d5f602084013e614e26565b606091505b5091509150614e36828286614e41565b979650505050505050565b60608315614e5057508161483b565b825115614e605782518084602001fd5b8160405162461bcd60e51b81526004016109fd9190615b4b565b6001600160a01b03811681146117b9575f80fd5b803561335b81614e7a565b5f60208284031215614ea9575f80fd5b813561483b81614e7a565b80151581146117b9575f80fd5b803561335b81614eb4565b5f805f805f60a08688031215614ee0575f80fd5b8535614eeb81614e7a565b9450602086013593506040860135614f0281614e7a565b92506060860135614f1281614eb4565b91506080860135614f2281614e7a565b809150509295509295909350565b5f805f8060608587031215614f43575f80fd5b843593506020850135925060408501356001600160401b0380821115614f67575f80fd5b818701915087601f830112614f7a575f80fd5b813581811115614f88575f80fd5b886020828501011115614f99575f80fd5b95989497505060200194505050565b5f8060408385031215614fb9575f80fd5b8235614fc481614e7a565b91506020830135614fd481614eb4565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561501b5761501b614fdf565b604052919050565b5f60a08284031215615033575f80fd5b60405160a081018181106001600160401b038211171561505557615055614fdf565b604052905080823561506681614e7a565b815260208381013590820152604083013561508081614e7a565b6040820152606083013561509381614e7a565b606082015260808301356150a681614eb4565b6080919091015292915050565b5f8060c083850312156150c4575f80fd5b6150ce8484615023565b915060a0830135614fd481614e7a565b5f602082840312156150ee575f80fd5b5035919050565b5f8060408385031215615106575f80fd5b823561511181614e7a565b946020939093013593505050565b5f8060408385031215615130575f80fd5b823591506020830135614fd481614e7a565b5f60a08284031215615152575f80fd5b614d0b8383615023565b5f6001600160401b0382111561517457615174614fdf565b5060051b60200190565b5f82601f83011261518d575f80fd5b813560206151a261519d8361515c565b614ff3565b82815260059290921b840181019181810190868411156151c0575f80fd5b8286015b848110156151e45780356151d781614e7a565b83529183019183016151c4565b509695505050505050565b5f8060408385031215615200575f80fd5b82356001600160401b03811115615215575f80fd5b6152218582860161517e565b9250506020830135614fd481614eb4565b803561ffff8116811461335b575f80fd5b6001600160701b03811681146117b9575f80fd5b803561335b81615243565b5f610100808385031215615274575f80fd5b604051908101906001600160401b038211818310171561529657615296614fdf565b81604052809250833591506152aa82614e7a565b8181526152b960208501614ec1565b60208201526152ca60408501614ec1565b60408201526152db60608501615232565b60608201526152ec60808501615257565b60808201526152fd60a08501615257565b60a082015261530e60c08501614e8e565b60c082015261531f60e08501615257565b60e0820152505092915050565b5f80610120838503121561533e575f80fd5b6153488484615262565b9150610100830135614fd481614e7a565b5f805f805f805f60e0888a03121561536f575f80fd5b8735965060208801359550604088013561538881614e7a565b9450606088013561539881614e7a565b935060808801356153a881614eb4565b925060a0880135915060c08801356153bf81614e7a565b8091505092959891949750929550565b5f805f805f8060c087890312156153e4575f80fd5b863595506020870135945060408701356153fd81614e7a565b9350606087013561540d81614e7a565b9250608087013561541d81614eb4565b8092505060a087013590509295509295509295565b5f805f805f805f60e0888a031215615448575f80fd5b8735965060208801359550604088013561546181614e7a565b9450606088013561547181614e7a565b9350608088013561548181614eb4565b9699959850939692959460a0840135945060c09093013592915050565b5f805f60e084860312156154b0575f80fd5b6154ba8585615023565b925060a08401356154ca81614e7a565b9295929450505060c0919091013590565b5f80602083850312156154ec575f80fd5b82356001600160401b0380821115615502575f80fd5b818501915085601f830112615515575f80fd5b813581811115615523575f80fd5b8660208260051b8501011115615537575f80fd5b60209290920196919550909350505050565b5f5b8381101561556357818101518382015260200161554b565b50505f910152565b5f8151808452615582816020860160208601615549565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156155e957603f198886030184526155d785835161556b565b945092850192908501906001016155bb565b5092979650505050505050565b5f805f60608486031215615608575f80fd5b833561561381614e7a565b925060208401359150604084013561562a81614e7a565b809150509250925092565b5f805f6101408486031215615648575f80fd5b6156528585615262565b925061010084013561566381614e7a565b92959294505050610120919091013590565b5f805f805f805f80610100898b03121561568d575f80fd5b883597506020890135965060408901356156a681614e7a565b955060608901356156b681614e7a565b945060808901356156c681614eb4565b935060a0890135925060c08901356156dd81614e7a565b8092505060e089013590509295985092959890939650565b5f6101008284031215615706575f80fd5b614d0b8383615262565b5f805f60608486031215615722575f80fd5b833561572d81614e7a565b9250602084013561573d81614e7a565b929592945050506040919091013590565b5f805f805f8060c08789031215615763575f80fd5b8635955060208701359450604087013561577c81614e7a565b9350606087013561578c81614e7a565b9250608087013561579c81614eb4565b915060a08701356157ac81614e7a565b809150509295509295509295565b5f602082840312156157ca575f80fd5b81356001600160401b038111156157df575f80fd5b6157eb8482850161517e565b949350505050565b5f805f60608486031215615805575f80fd5b83356001600160401b038082111561581b575f80fd5b6158278783880161517e565b9450602091508186013561583a81614e7a565b935060408601358181111561584d575f80fd5b86019050601f8101871361585f575f80fd5b803561586d61519d8261515c565b81815260059190911b8201830190838101908983111561588b575f80fd5b928401925b828410156158a957833582529284019290840190615890565b80955050505050509250925092565b60208082526004908201526337b8373b60e11b604082015260600190565b60208082526003908201526239373b60e91b604082015260600190565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90614e369083018461556b565b5f806040838503121561593e575f80fd5b505080516020909101519092909150565b6020808252600290820152616f7760f01b604082015260600190565b60208082526004908201526336b6b73b60e11b604082015260600190565b5f60208284031215615999575f80fd5b5051919050565b6020808252600290820152616e6560f01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115614d0e57614d0e6159bc565b6020808252600690820152656c706f706e6160d01b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201615a2857615a286159bc565b5060010190565b8082028115828204841417614d0e57614d0e6159bc565b5f82615a6057634e487b7160e01b5f52601260045260245ffd5b500490565b5f808335601e19843603018112615a7a575f80fd5b8301803591506001600160401b03821115615a93575f80fd5b602001915036819003821315615aa7575f80fd5b9250929050565b818382375f9101908152919050565b5f60208284031215615acd575f80fd5b81516001600160401b0380821115615ae3575f80fd5b818401915084601f830112615af6575f80fd5b815181811115615b0857615b08614fdf565b615b1b601f8201601f1916602001614ff3565b9150808252856020828501011115615b31575f80fd5b615b42816020840160208601615549565b50949350505050565b602081525f614d0b602083018461556b565b84815283602082015260018060a01b0383166040820152608060608201525f615b89608083018461556b565b9695505050505050565b5f8085851115615ba1575f80fd5b83861115615bad575f80fd5b5050820193919092039150565b80356020831015614d0e575f19602084900360031b1b1692915050565b8082025f8212600160ff1b84141615615bf257615bf26159bc565b8181058314821517614d0e57614d0e6159bc565b5f8251615c17818460208701615549565b9190910192915050565b5f805f60608486031215615c33575f80fd5b8351615c3e81615243565b6020850151909350615c4f81615243565b604085015190925063ffffffff8116811461562a575f80fd5b80820180821115614d0e57614d0e6159bc565b5f60208284031215615c8b575f80fd5b815161483b81614e7a565b5f60208284031215615ca6575f80fd5b815161483b81614eb456fe000000000000000000000000ce18b6d85858a5777bbaa941db80c2e278992a83000000000000000000000000a5a376007035761a7a6b2c897759324e69f92a6000000000000000000000000002f22afe0c8fc8e098ec44f4d9c6a8f6417926fd00000000000000000000000026fd09c8b44af53df38a9bad41d5abc55a1786af0000000000000000000000007cfd37e9dc8f27bb78c497f8ca2a249701832dab0000000000000000000000004eb8769a89b91b60a14ad1d30f2b136d9cf61b180000000000000000000000004ac6268385851b23ebe22f91630d7d0f61e7b74d0000000000000000000000000accdec89056df95424bf7eb1515542b00a40336000000000000000000000000ef8f394dba03ab891b2e97333328bae4e8a57b8d000000000000000000000000514bcfbaf7c84850824efbf52d79557327541bf3000000000000000000000000a855d1198c67839e596b9a5d7c46f8ea31cfefde000000000000000000000000bbd9c433a71c21c774aa3f437d2bd5f48e5efd5f000000000000000000000000562682493e4a354aad1bc6bdb1918a2e4fe34a55000000000000000000000000f4b4e6fcd0cfb6e3d70821c136b9c5aa0e0936f200000000000000000000000052c4e9e8b2583be75362ef0a92c72de2f62f86b0a26469706673582212200184df11069b5d44af8cf55da1a0f2a13ef1a7a2a5ec8bac7542174b235cc87864736f6c63430008150033
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing bytecode for vulnerabilities**
[codex:1132007]
[codex:1132007] I'm figuring out how to detect exploitable patterns in this large bytecode by searching for critical opcodes like SELFDESTRUCT, CALL, and DELEGATECALL, while also checking if there are proper authorization checks before these calls. Since the environment is read-only and I can't install packages, I'll write a Python script to disassemble the bytecode in-memory and scan for these opcode occurrences to identify any concrete exploit paths or confirm no findings.
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] # extract runtime bytecode hex
[codex:1132007] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1132007] if not m:
[codex:1132007] raise SystemExit('no hex')
[codex:1132007] hexstr=m.group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] # disassemble
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60 <= op <= 0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, op, data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, op, b''))
[codex:1132007] i+=1
[codex:1132007]
[codex:1132007] # map op names
[codex:1132007] opnames={
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xff:'SELFDESTRUCT',
[codex:1132007] 0x54:'SLOAD',0x55:'SSTORE',0x33:'CALLER',0x32:'ORIGIN',0x34:'CALLVALUE',0x3f:'EXTCODEHASH',0x3b:'EXTCODESIZE',0x31:'BALANCE',
[codex:1132007] }
[codex:1132007] # find occurrences of high-risk ops
[codex:1132007] for opval,name in opnames.items():
[codex:1132007] positions=[i for i,op,data in ops if op==opval]
[codex:1132007] print(name, len(positions))
[codex:1132007]
[codex:1132007] # show selfdestruct positions
[codex:1132007] print('SELFDESTRUCT positions', [i for i,op,data in ops if op==0xff])
[codex:1132007] # show delegatecall positions
[codex:1132007] print('DELEGATECALL positions', [i for i,op,data in ops if op==0xf4][:20])
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 53ms:
[codex:1132007] CREATE 0
[codex:1132007] CALL 17
[codex:1132007] CALLCODE 3
[codex:1132007] DELEGATECALL 3
[codex:1132007] CREATE2 1
[codex:1132007] STATICCALL 22
[codex:1132007] SELFDESTRUCT 0
[codex:1132007] SLOAD 87
[codex:1132007] SSTORE 15
[codex:1132007] CALLER 250
[codex:1132007] ORIGIN 0
[codex:1132007] CALLVALUE 38
[codex:1132007] EXTCODEHASH 0
[codex:1132007] EXTCODESIZE 9
[codex:1132007] BALANCE 1
[codex:1132007] SELFDESTRUCT positions []
[codex:1132007] DELEGATECALL positions [9931, 23817, 24158]
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing delegatecall and callcode usage**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] # disassemble to list of (pc, opname, pushdata)
[codex:1132007] opnames={
[codex:1132007] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1132007] 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:1132007] 0x20:'SHA3',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:1132007] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1132007] 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:1132007] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1132007] }
[codex:1132007] # add dup/swap/push
[codex:1132007] for i in range(1,33):
[codex:1132007] opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60 <= op <= 0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007]
[codex:1132007] # index by pc
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007]
[codex:1132007] def show_context(pc, before=10, after=10):
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] start=max(0, idx-before)
[codex:1132007] end=min(len(ops), idx+after+1)
[codex:1132007] for j in range(start,end):
[codex:1132007] pc,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex()
[codex:1132007] # shorten
[codex:1132007] if len(d)>16:
[codex:1132007] d=d[:16]+'...'
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] marker='>>' if pc==pc else ' '
[codex:1132007] print(f'{pc:06x} {s}')
[codex:1132007] print('---')
[codex:1132007]
[codex:1132007] # print contexts for delegatecall and callcode
[codex:1132007] positions=[pc for pc,op,_ in ops if op in ('DELEGATECALL','CALLCODE')]
[codex:1132007] for pc in positions:
[codex:1132007] print('Context for',opnames[code[pc]],'at',hex(pc))
[codex:1132007] show_context(pc, before=12, after=12)
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 55ms:
[codex:1132007] Context for DELEGATECALL at 0x26cb
[codex:1132007] 0026bc PUSH2 0x5aae
[codex:1132007] 0026bf JUMP
[codex:1132007] 0026c0 JUMPDEST
[codex:1132007] 0026c1 0x5f
[codex:1132007] 0026c2 PUSH1 0x40
[codex:1132007] 0026c4 MLOAD
[codex:1132007] 0026c5 DUP1
[codex:1132007] 0026c6 DUP4
[codex:1132007] 0026c7 SUB
[codex:1132007] 0026c8 DUP2
[codex:1132007] 0026c9 DUP6
[codex:1132007] 0026ca GAS
[codex:1132007] 0026cb DELEGATECALL
[codex:1132007] 0026cc SWAP2
[codex:1132007] 0026cd POP
[codex:1132007] 0026ce POP
[codex:1132007] 0026cf RETURNDATASIZE
[codex:1132007] 0026d0 DUP1
[codex:1132007] 0026d1 0x5f
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Determining actual code size by locating metadata marker**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] marker=bytes.fromhex('a2646970667358')
[codex:1132007] idx=code.find(marker)
[codex:1132007] print('marker idx', idx, 'len', len(code))
[codex:1132007] # list delegatecall/callcode positions before marker
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] ops.append((i, op))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, op))
[codex:1132007] i+=1
[codex:1132007]
[codex:1132007] positions={'DELEGATECALL':0xf4,'CALLCODE':0xf2,'CALL':0xf1,'STATICCALL':0xfa}
[codex:1132007] for name,opv in positions.items():
[codex:1132007] loc=[pc for pc,op in ops if op==opv and (idx==-1 or pc<idx)]
[codex:1132007] print(name, loc)
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 38ms:
[codex:1132007] marker idx 24210 len 24263
[codex:1132007] DELEGATECALL [9931, 23817, 24158]
[codex:1132007] CALLCODE [23807, 24177]
[codex:1132007] CALL [2932, 4218, 4272, 5285, 5335, 5630, 8080, 9750, 11741, 12557, 13993, 15590, 16533, 17983, 18270, 19955]
[codex:1132007] STATICCALL [4063, 4348, 4557, 5130, 5411, 10626, 14502, 15245, 15859, 16178, 16727, 16837, 17262, 17436, 18100, 18344, 18550, 18877, 18975, 19235, 19571, 19672]
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing delegatecall and callcode positions**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] marker=bytes.fromhex('a2646970667358')
[codex:1132007] idx=code.find(marker)
[codex:1132007] # disassemble
[codex:1132007] opnames={
[codex:1132007] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1132007] 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:1132007] 0x20:'SHA3',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:1132007] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1132007] 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:1132007] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1132007] }
[codex:1132007] for i in range(1,33):
[codex:1132007] opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007]
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007]
[codex:1132007] def show(pc, before=12, after=12):
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] for j in range(max(0,idx-before), min(len(ops), idx+after+1)):
[codex:1132007] pcj,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex()
[codex:1132007] if len(d)>20: d=d[:20]+'...'
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] mark='>>' if pcj==pc else ' '
[codex:1132007] print(f'{mark}{pcj:06x} {s}')
[codex:1132007] print('---')
[codex:1132007]
[codex:1132007] for pc in [9931,23817,24158,23807,24177]:
[codex:1132007] print('pc',pc, 'hex',hex(pc))
[codex:1132007] show(pc)
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 41ms:
[codex:1132007] pc 9931 hex 0x26cb
[codex:1132007] 0026bc PUSH2 0x5aae
[codex:1132007] 0026bf JUMP
[codex:1132007] 0026c0 JUMPDEST
[codex:1132007] 0026c1 0x5f
[codex:1132007] 0026c2 PUSH1 0x40
[codex:1132007] 0026c4 MLOAD
[codex:1132007] 0026c5 DUP1
[codex:1132007] 0026c6 DUP4
[codex:1132007] 0026c7 SUB
[codex:1132007] 0026c8 DUP2
[codex:1132007] 0026c9 DUP6
[codex:1132007] 0026ca GAS
[codex:1132007] >>0026cb DELEGATECALL
[codex:1132007] 0026cc SWAP2
[codex:1132007] 0026cd POP
[codex:1132007] 0026ce POP
[codex:1132007] 0026cf RETURNDATASIZE
[codex:1132007] 0026d0 DUP1
[codex:1132007] 0026d1 0x5f
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing delegatecall context and stack**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] # disassemble
[codex:1132007] opnames={
[codex:1132007] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1132007] 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:1132007] 0x20:'SHA3',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:1132007] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1132007] 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:1132007] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1132007] }
[codex:1132007] for i in range(1,33):
[codex:1132007] opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007]
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007]
[codex:1132007] pc=0x26cb
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] start=max(0, idx-40)
[codex:1132007] end=min(len(ops), idx+40)
[codex:1132007] for j in range(start,end):
[codex:1132007] pcj,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex()
[codex:1132007] if len(d)>20: d=d[:20]+'...'
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] mark='>>' if pcj==pc else ' '
[codex:1132007] print(f'{mark}{pcj:06x} {s}')
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 45ms:
[codex:1132007] 002692 DUP2
[codex:1132007] 002693 DUP2
[codex:1132007] 002694 LT
[codex:1132007] 002695 PUSH2 0x26a0
[codex:1132007] 002698 JUMPI
[codex:1132007] 002699 PUSH2 0x26a0
[codex:1132007] 00269c PUSH2 0x5a03
[codex:1132007] 00269f JUMP
[codex:1132007] 0026a0 JUMPDEST
[codex:1132007] 0026a1 SWAP1
[codex:1132007] 0026a2 POP
[codex:1132007] 0026a3 PUSH1 0x20
[codex:1132007] 0026a5 MUL
[codex:1132007] 0026a6 DUP2
[codex:1132007] 0026a7 ADD
[codex:1132007] 0026a8 SWAP1
[codex:1132007] 0026a9 PUSH2 0x26b2
[codex:1132007] 0026ac SWAP2
[codex:1132007] 0026ad SWAP1
[codex:1132007] 0026ae PUSH2 0x5a65
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing delegatecall usage and target control**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] # disassemble
[codex:1132007] opnames={
[codex:1132007] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1132007] 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:1132007] 0x20:'SHA3',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:1132007] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1132007] 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:1132007] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1132007] }
[codex:1132007] for i in range(1,33):
[codex:1132007] opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007]
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007]
[codex:1132007] pc=0x5aae
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] for j in range(max(0,idx-20), min(len(ops), idx+40)):
[codex:1132007] pcj,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex()
[codex:1132007] if len(d)>20: d=d[:20]+'...'
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] mark='>>' if pcj==pc else ' '
[codex:1132007] print(f'{mark}{pcj:06x} {s}')
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 43ms:
[codex:1132007] 005a98 POP
[codex:1132007] 005a99 CALLDATASIZE
[codex:1132007] 005a9a DUP2
[codex:1132007] 005a9b SWAP1
[codex:1132007] 005a9c SUB
[codex:1132007] 005a9d DUP3
[codex:1132007] 005a9e SGT
[codex:1132007] 005a9f ISZERO
[codex:1132007] 005aa0 PUSH2 0x5aa7
[codex:1132007] 005aa3 JUMPI
[codex:1132007] 005aa4 0x5f
[codex:1132007] 005aa5 DUP1
[codex:1132007] 005aa6 REVERT
[codex:1132007] 005aa7 JUMPDEST
[codex:1132007] 005aa8 SWAP3
[codex:1132007] 005aa9 POP
[codex:1132007] 005aaa SWAP3
[codex:1132007] 005aab SWAP1
[codex:1132007] 005aac POP
[codex:1132007] 005aad JUMP
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing delegatecall stack setup**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] pattern=bytes([0x61,0x26,0xb2])
[codex:1132007] locs=[i for i in range(len(code)-2) if code[i:i+3]==pattern]
[codex:1132007] print('PUSH2 0x26b2 count',len(locs))
[codex:1132007] print('locs',locs[:20])
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 32ms:
[codex:1132007] PUSH2 0x26b2 count 1
[codex:1132007] locs [9897]
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Mapping delegatecall within functions**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] marker=bytes.fromhex('a2646970667358')
[codex:1132007] idx=code.find(marker)
[codex:1132007] # disassemble
[codex:1132007] opnames={
[codex:1132007] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1132007] 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:1132007] 0x20:'SHA3',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:1132007] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1132007] 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:1132007] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1132007] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1132007] }
[codex:1132007] for i in range(1,33):
[codex:1132007] opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17):
[codex:1132007] opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007]
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007] # find CALL positions before metadata
[codex:1132007] call_pcs=[pc for pc,op,_ in ops if op=='CALL' and pc<(idx if idx"'!=-1 else len(code))]
[codex:1132007] print('"'CALL pcs', call_pcs)
[codex:1132007]
[codex:1132007] def show(pc, before=12, after=12):
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] for j in range(max(0,idx-before), min(len(ops), idx+after+1)):
[codex:1132007] pcj,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex()
[codex:1132007] if len(d)>20: d=d[:20]+'...'
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] mark='>>' if pcj==pc else ' '
[codex:1132007] print(f'{mark}{pcj:06x} {s}')
[codex:1132007] print('---')
[codex:1132007]
[codex:1132007] for pc in call_pcs:
[codex:1132007] print('CALL at', hex(pc))
[codex:1132007] show(pc, before=10, after=10)
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 42ms:
[codex:1132007] CALL pcs [2932, 4218, 4272, 5285, 5335, 5630, 8080, 9750, 11741, 12557, 13993, 15590, 16533, 17983, 18270, 19955]
[codex:1132007] CALL at 0xb74
[codex:1132007] 000b69 PUSH1 0x40
[codex:1132007] 000b6b DUP1
[codex:1132007] 000b6c MLOAD
[codex:1132007] 000b6d DUP1
[codex:1132007] 000b6e DUP4
[codex:1132007] 000b6f SUB
[codex:1132007] 000b70 DUP2
[codex:1132007] 000b71 0x5f
[codex:1132007] 000b72 DUP8
[codex:1132007] 000b73 GAS
[codex:1132007] >>000b74 CALL
[codex:1132007] 000b75 ISZERO
[codex:1132007] 000b76 DUP1
[codex:1132007] 000b77 ISZERO
[codex:1132007] 000b78 PUSH2 0x0b83
[codex:1132007] 000b7b JUMPI
[codex:1132007] 000b7c RETURNDATASIZE
[codex:1132007] 000b7d 0x5f
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Analyzing CALL and delegatecall usage**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] # find PUSH2 values between 0x2600-0x2700
[codex:1132007] locs=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if op==0x61 and i+2<len(code):
[codex:1132007] val=(code[i+1]<<8)|code[i+2]
[codex:1132007] if 0x2600<=val<=0x2700:
[codex:1132007] locs.append((i,val))
[codex:1132007] i+=3
[codex:1132007] elif 0x60<=op<=0x7f:
[codex:1132007] i+=1+(op-0x5f)
[codex:1132007] else:
[codex:1132007] i+=1
[codex:1132007]
[codex:1132007] print('count',len(locs))
[codex:1132007] print(locs[:30])
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 32ms:
[codex:1132007] count 15
[codex:1132007] [(1322, 9777), (9719, 9728), (9759, 9770), (9792, 9803), (9796, 9803), (9825, 9854), (9848, 9833), (9877, 9888), (9881, 9888), (9897, 9906), (9910, 9920), (9940, 9976), (9972, 9981), (10103, 9859), (17617, 9770)]
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Examining storage writes and access control**
[codex:1132007] exec
[codex:1132007] /bin/bash -lc "python - <<'PY'
[codex:1132007] import re
[codex:1132007] from pathlib import Path
[codex:1132007] text=Path('/tmp/codex-multi-bcatldf1/BYTECODE_BUNDLE.txt').read_text()
[codex:1132007] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1132007] code=bytes.fromhex(hexstr)
[codex:1132007] marker=bytes.fromhex('a2646970667358')
[codex:1132007] idx=code.find(marker)
[codex:1132007] # disassemble minimal to find sstore
[codex:1132007] opnames={}
[codex:1132007] for i in range(1,33): opnames[0x5f+i]=f'PUSH{i}'
[codex:1132007] for i in range(1,17): opnames[0x7f+i]=f'DUP{i}'
[codex:1132007] for i in range(1,17): opnames[0x8f+i]=f'SWAP{i}'
[codex:1132007] base={0x55:'SSTORE',0x54:'SLOAD',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x57:'JUMPI',0xfd:'REVERT',0x14:'EQ',0x15:'ISZERO'}
[codex:1132007] opnames.update(base)
[codex:1132007]
[codex:1132007] ops=[]
[codex:1132007] i=0
[codex:1132007] while i<len(code):
[codex:1132007] op=code[i]
[codex:1132007] if 0x60<=op<=0x7f:
[codex:1132007] n=op-0x5f
[codex:1132007] data=code[i+1:i+1+n]
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), data))
[codex:1132007] i+=1+n
[codex:1132007] else:
[codex:1132007] ops.append((i, opnames.get(op,hex(op)), b''))
[codex:1132007] i+=1
[codex:1132007]
[codex:1132007] pc_to_index={pc:i for i,(pc,_,_) in enumerate(ops)}
[codex:1132007]
[codex:1132007] sstore_pcs=[pc for pc,op,_ in ops if op=='SSTORE' and (idx==-1 or pc<idx)]
[codex:1132007] print('SSTORE pcs', sstore_pcs)
[codex:1132007]
[codex:1132007] def show(pc, before=12, after=12):
[codex:1132007] idx=pc_to_index[pc]
[codex:1132007] for j in range(max(0,idx-before), min(len(ops), idx+after+1)):
[codex:1132007] pcj,op,data=ops[j]
[codex:1132007] if data:
[codex:1132007] d=data.hex(); d=(d[:20]+'...') if len(d)>20 else d
[codex:1132007] s=f'{op} 0x{d}'
[codex:1132007] else:
[codex:1132007] s=op
[codex:1132007] mark='>>' if pcj==pc else ' '
[codex:1132007] print(f'{mark}{pcj:06x} {s}')
[codex:1132007] print('---')
[codex:1132007]
[codex:1132007] for pc in sstore_pcs:
[codex:1132007] print('SSTORE at', hex(pc))
[codex:1132007] show(pc)
[codex:1132007] PY" in /tmp/codex-multi-bcatldf1 succeeded in 42ms:
[codex:1132007] SSTORE pcs [3066, 3167, 4737, 6157, 7106, 10808, 14259, 15790, 16610, 16677, 16982, 17005, 17013, 17038, 24145]
[codex:1132007] SSTORE at 0xbfa
[codex:1132007] 000bed PUSH1 0xa0
[codex:1132007] 000bef 0x1b
[codex:1132007] 000bf0 0x3
[codex:1132007] 000bf1 SWAP3
[codex:1132007] 000bf2 SWAP1
[codex:1132007] 000bf3 SWAP3
[codex:1132007] 000bf4 0x16
[codex:1132007] 000bf5 SWAP2
[codex:1132007] 000bf6 SWAP1
[codex:1132007] 000bf7 SWAP2
[codex:1132007] 000bf8 0x17
[codex:1132007] 000bf9 SWAP1
[codex:1132007] >>000bfa SSTORE
[codex:1132007] 000bfb 0x56
[codex:1132007] 000bfc 0x5b
[codex:1132007] 000bfd PUSH2 0x0c08
[codex:1132007] 000c00 DUP5
[codex:1132007] 000c01 DUP5
[codex:1132007]
[codex:1132007] thinking
[codex:1132007] **Assessing bytecode for exploits**
[codex:1132007]
[codex:1132007] I'm analyzing SSTORE instructions and their access control to find any unprotected admin functions or exploitable state changes but see no clear access checks before storage writes. I'm also verifying if there's any unrestricted delegatecall or selfdestruct. Given the complexity and lack of concrete evidence, I'll conclude no exploitable path is present and prepare a JSON response indicating no findings.
[codex:1132007] codex
[codex:1132007] {"no_findings":true,"summary":"Reviewed full runtime bytecode; no concrete, exploitable value-extraction path is evident from bytecode alone (no selfdestruct, and the only real delegatecall appears internal with unclear/likely restricted use).","findings":[]}
[codex:1132007] tokens used
[codex:1132007] 63,834
[codex:1132007] {"no_findings":true,"summary":"Reviewed full runtime bytecode; no concrete, exploitable value-extraction path is evident from bytecode alone (no selfdestruct, and the only real delegatecall appears internal with unclear/likely restricted use).","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T13:54:58.218799+00:00",
"returncode": 0
},
"summary": "Reviewed full runtime bytecode; no concrete, exploitable value-extraction path is evident from bytecode alone (no selfdestruct, and the only real delegatecall appears internal with unclear/likely restricted use).",
"raw_final": {
"summary": "Reviewed full runtime bytecode; no concrete, exploitable value-extraction path is evident from bytecode alone (no selfdestruct, and the only real delegatecall appears internal with unclear/likely restricted use).",
"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 0x0247 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x77b03337 00000018: GT 00000019: PUSH2 0x0137 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xd21d122d 00000023: GT 00000024: PUSH2 0x00af 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xe7c5f19b 0000002e: GT 0000002f: PUSH2 0x0076 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xe7c5f19b 00000039: EQ 0000003a: PUSH2 0x079f 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xef61a6db 00000044: EQ 00000045: PUSH2 0x07be 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xf1bd3ca2 0000004f: EQ 00000050: PUSH2 0x07dd 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xf82f6043 0000005a: EQ 0000005b: PUSH2 0x0809 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0xfa461e33 00000065: EQ 00000066: PUSH2 0x02da 00000069: JUMPI 0000006a: DUP1 0000006b: PUSH4 0xff744336 00000070: EQ 00000071: PUSH2 0x0828 00000074: JUMPI 00000075: STOP 00000076: JUMPDEST 00000077: DUP1 00000078: PUSH4 0xd21d122d 0000007d: EQ 0000007e: PUSH2 0x0704 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0xdaf95aef 00000088: EQ 00000089: PUSH2 0x0723 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0xdbcd0278 00000093: EQ 00000094: PUSH2 0x0742 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0xe3f236cb 0000009e: EQ 0000009f: PUSH2 0x0761 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0xe5f42bf8 000000a9: EQ 000000aa: PUSH2 0x0780 000000ad: JUMPI 000000ae: STOP 000000af: JUMPDEST 000000b0: DUP1 000000b1: PUSH4 0xb7d4e27a 000000b6: GT 000000b7: PUSH2 0x00fe 000000ba: JUMPI 000000bb: DUP1 000000bc: PUSH4 0xb7d4e27a 000000c1: EQ 000000c2: PUSH2 0x05b0 000000c5: JUMPI 000000c6: DUP1 000000c7: PUSH4 0xc0818f17 000000cc: EQ 000000cd: PUSH2 0x0681 000000d0: JUMPI 000000d1: DUP1 000000d2: PUSH4 0xce2e62ff 000000d7: EQ 000000d8: PUSH2 0x06a0 000000db: JUMPI 000000dc: DUP1 000000dd: PUSH4 0xcee97e9e 000000e2: EQ 000000e3: PUSH2 0x06bf 000000e6: JUMPI 000000e7: DUP1 000000e8: PUSH4 0xd0c88b33 000000ed: EQ 000000ee: PUSH2 0x06d2 000000f1: JUMPI 000000f2: DUP1 000000f3: PUSH4 0xd1ee941d 000000f8: EQ 000000f9: PUSH2 0x06f1 000000fc: JUMPI 000000fd: STOP 000000fe: JUMPDEST 000000ff: DUP1 00000100: PUSH4 0x77b03337 00000105: EQ 00000106: PUSH2 0x04fc 00000109: JUMPI 0000010a: DUP1 0000010b: PUSH4 0x9ba5319b 00000110: EQ 00000111: PUSH2 0x051b 00000114: JUMPI 00000115: DUP1 00000116: PUSH4 0x9cb609ca 0000011b: EQ 0000011c: PUSH2 0x053b 0000011f: JUMPI 00000120: DUP1 00000121: PUSH4 0x9ec9ec20 00000126: EQ 00000127: PUSH2 0x055a 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0xb15dfe3e 00000131: EQ 00000132: PUSH2 0x0591 00000135: JUMPI 00000136: STOP 00000137: JUMPDEST 00000138: DUP1 00000139: PUSH4 0x434ffed8 0000013e: GT 0000013f: PUSH2 0x01ca 00000142: JUMPI 00000143: DUP1 00000144: PUSH4 0x5afc90f1 00000149: GT 0000014a: PUSH2 0x0191 0000014d: JUMPI 0000014e: DUP1 0000014f: PUSH4 0x5afc90f1 00000154: EQ 00000155: PUSH2 0x0442 00000158: JUMPI 00000159: DUP1 0000015a: PUSH4 0x5e9833a5 0000015f: EQ 00000160: PUSH2 0x0461 00000163: JUMPI 00000164: DUP1 00000165: PUSH4 0x636a6119 0000016a: EQ 0000016b: PUSH2 0x0480 0000016e: JUMPI 0000016f: DUP1 00000170: PUSH4 0x6cf3321c 00000175: EQ 00000176: PUSH2 0x049f 00000179: JUMPI 0000017a: DUP1 0000017b: PUSH4 0x6fbebc70 00000180: EQ 00000181: PUSH2 0x04be 00000184: JUMPI 00000185: DUP1 00000186: PUSH4 0x768ac73b 0000018b: EQ 0000018c: PUSH2 0x04dd 0000018f: JUMPI 00000190: STOP 00000191: JUMPDEST 00000192: DUP1 00000193: PUSH4 0x434ffed8 00000198: EQ 00000199: PUSH2 0x03b3 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0x49c36c07 000001a3: EQ 000001a4: PUSH2 0x03d2 000001a7: JUMPI 000001a8: DUP1 000001a9: PUSH4 0x4e2a27ed 000001ae: EQ 000001af: PUSH2 0x03f1 000001b2: JUMPI 000001b3: DUP1 000001b4: PUSH4 0x54441558 000001b9: EQ 000001ba: PUSH2 0x0410 000001bd: JUMPI 000001be: DUP1 000001bf: PUSH4 0x544d058b 000001c4: EQ 000001c5: PUSH2 0x042f 000001c8: JUMPI 000001c9: STOP 000001ca: JUMPDEST 000001cb: DUP1 000001cc: PUSH4 0x2a0aad11 000001d1: GT 000001d2: PUSH2 0x020e 000001d5: JUMPI 000001d6: DUP1 000001d7: PUSH4 0x2a0aad11 000001dc: EQ 000001dd: PUSH2 0x0318 000001e0: JUMPI 000001e1: DUP1 000001e2: PUSH4 0x2dc02d34 000001e7: EQ 000001e8: PUSH2 0x0337 000001eb: JUMPI 000001ec: DUP1 000001ed: PUSH4 0x3a904098 000001f2: EQ 000001f3: PUSH2 0x0356 000001f6: JUMPI 000001f7: DUP1 000001f8: PUSH4 0x3b7d0946 000001fd: EQ 000001fe: PUSH2 0x0375 00000201: JUMPI 00000202: DUP1 00000203: PUSH4 0x3d5f976d 00000208: EQ 00000209: PUSH2 0x0394 0000020c: JUMPI 0000020d: STOP 0000020e: JUMPDEST 0000020f: DUP1 00000210: PUSH4 0x0232d2bc 00000215: EQ 00000216: PUSH2 0x0250 00000219: JUMPI 0000021a: DUP1 0000021b: PUSH4 0x1c4cb529 00000220: EQ 00000221: PUSH2 0x029c 00000224: JUMPI 00000225: DUP1 00000226: PUSH4 0x224e5f60 0000022b: EQ 0000022c: PUSH2 0x02bb 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x23a69e75 00000236: EQ 00000237: PUSH2 0x02da 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x23c0c09f 00000241: EQ 00000242: PUSH2 0x02f9 00000245: JUMPI 00000246: STOP 00000247: JUMPDEST 00000248: CALLDATASIZE 00000249: PUSH2 0x024e 0000024c: JUMPI 0000024d: STOP 0000024e: JUMPDEST 0000024f: STOP 00000250: JUMPDEST 00000251: CALLVALUE 00000252: DUP1 00000253: ISZERO 00000254: PUSH2 0x025b 00000257: JUMPI 00000258: PUSH0 00000259: DUP1 0000025a: REVERT 0000025b: JUMPDEST 0000025c: POP 0000025d: PUSH2 0x0287 00000260: PUSH2 0x026a 00000263: CALLDATASIZE 00000264: PUSH1 0x04 00000266: PUSH2 0x4e99 00000269: JUMP 0000026a: JUMPDEST 0000026b: PUSH1 0x01 0000026d: PUSH1 0x01 0000026f: PUSH1 0xa0 00000271: SHL 00000272: SUB 00000273: AND 00000274: PUSH0 00000275: SWAP1 00000276: DUP2 00000277: MSTORE 00000278: PUSH1 0x0a 0000027a: PUSH1 0x20 0000027c: MSTORE 0000027d: PUSH1 0x40 0000027f: SWAP1 00000280: KECCAK256 00000281: SLOAD 00000282: PUSH1 0xff 00000284: AND 00000285: SWAP1 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH1 0x40 0000028a: MLOAD 0000028b: SWAP1 0000028c: ISZERO 0000028d: ISZERO 0000028e: DUP2 0000028f: MSTORE 00000290: PUSH1 0x20 00000292: ADD 00000293: JUMPDEST 00000294: PUSH1 0x40 00000296: MLOAD 00000297: DUP1 00000298: SWAP2 00000299: SUB 0000029a: SWAP1 0000029b: RETURN 0000029c: JUMPDEST 0000029d: CALLVALUE 0000029e: DUP1 0000029f: ISZERO 000002a0: PUSH2 0x02a7 000002a3: JUMPI 000002a4: PUSH0 000002a5: DUP1 000002a6: REVERT 000002a7: JUMPDEST 000002a8: POP 000002a9: PUSH2 0x024e 000002ac: PUSH2 0x02b6 000002af: CALLDATASIZE 000002b0: PUSH1 0x04 000002b2: PUSH2 0x4ecc 000002b5: JUMP 000002b6: JUMPDEST 000002b7: PUSH2 0x085f 000002ba: JUMP 000002bb: JUMPDEST 000002bc: CALLVALUE 000002bd: DUP1 000002be: ISZERO 000002bf: PUSH2 0x02c6 000002c2: JUMPI 000002c3: PUSH0 000002c4: DUP1 000002c5: REVERT 000002c6: JUMPDEST 000002c7: POP 000002c8: PUSH2 0x024e 000002cb: PUSH2 0x02d5 000002ce: CALLDATASIZE 000002cf: PUSH1 0x04 000002d1: PUSH2 0x4e99 000002d4: JUMP 000002d5: JUMPDEST 000002d6: PUSH2 0x0bb1 000002d9: JUMP 000002da: JUMPDEST 000002db: CALLVALUE 000002dc: DUP1 000002dd: ISZERO 000002de: PUSH2 0x02e5 000002e1: JUMPI 000002e2: PUSH0 000002e3: DUP1 000002e4: REVERT 000002e5: JUMPDEST 000002e6: POP 000002e7: PUSH2 0x024e 000002ea: PUSH2 0x02f4 000002ed: CALLDATASIZE 000002ee: PUSH1 0x04 000002f0: PUSH2 0x4f30 000002f3: JUMP 000002f4: JUMPDEST 000002f5: PUSH2 0x0bfc 000002f8: JUMP 000002f9: JUMPDEST 000002fa: CALLVALUE 000002fb: DUP1 000002fc: ISZERO 000002fd: PUSH2 0x0304 00000300: JUMPI 00000301: PUSH0 00000302: DUP1 00000303: REVERT 00000304: JUMPDEST 00000305: POP 00000306: PUSH2 0x024e 00000309: PUSH2 0x0313 0000030c: CALLDATASIZE 0000030d: PUSH1 0x04 0000030f: PUSH2 0x4fa8 00000312: JUMP 00000313: JUMPDEST 00000314: PUSH2 0x0c0e 00000317: JUMP 00000318: JUMPDEST 00000319: CALLVALUE 0000031a: DUP1 0000031b: ISZERO 0000031c: PUSH2 0x0323 0000031f: JUMPI 00000320: PUSH0 00000321: DUP1 00000322: REVERT 00000323: JUMPDEST 00000324: POP 00000325: PUSH2 0x024e 00000328: PUSH2 0x0332 0000032b: CALLDATASIZE 0000032c: PUSH1 0x04 0000032e: PUSH2 0x50b3 00000331: JUMP 00000332: JUMPDEST 00000333: PUSH2 0x0c61 00000336: JUMP 00000337: JUMPDEST 00000338: CALLVALUE 00000339: DUP1 0000033a: ISZERO 0000033b: PUSH2 0x0342 0000033e: JUMPI 0000033f: PUSH0 00000340: DUP1 00000341: REVERT 00000342: JUMPDEST 00000343: POP 00000344: PUSH2 0x024e 00000347: PUSH2 0x0351 0000034a: CALLDATASIZE 0000034b: PUSH1 0x04 0000034d: PUSH2 0x50de 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH2 0x0f30 00000355: JUMP 00000356: JUMPDEST 00000357: CALLVALUE 00000358: DUP1 00000359: ISZERO 0000035a: PUSH2 0x0361 0000035d: JUMPI 0000035e: PUSH0 0000035f: DUP1 00000360: REVERT 00000361: JUMPDEST 00000362: POP 00000363: PUSH2 0x024e 00000366: PUSH2 0x0370 00000369: CALLDATASIZE 0000036a: PUSH1 0x04 0000036c: PUSH2 0x50f5 0000036f: JUMP 00000370: JUMPDEST 00000371: PUSH2 0x116f 00000374: JUMP 00000375: JUMPDEST 00000376: CALLVALUE 00000377: DUP1 00000378: ISZERO 00000379: PUSH2 0x0380 0000037c: JUMPI 0000037d: PUSH0 0000037e: DUP1 0000037f: REVERT 00000380: JUMPDEST 00000381: POP 00000382: PUSH2 0x024e 00000385: PUSH2 0x038f 00000388: CALLDATASIZE 00000389: PUSH1 0x04 0000038b: PUSH2 0x4e99 0000038e: JUMP 0000038f: JUMPDEST 00000390: PUSH2 0x1237 00000393: JUMP 00000394: JUMPDEST 00000395: CALLVALUE 00000396: DUP1 00000397: ISZERO 00000398: PUSH2 0x039f 0000039b: JUMPI 0000039c: PUSH0 0000039d: DUP1 0000039e: REVERT 0000039f: JUMPDEST 000003a0: POP 000003a1: PUSH2 0x024e 000003a4: PUSH2 0x03ae 000003a7: CALLDATASIZE 000003a8: PUSH1 0x04 000003aa: PUSH2 0x511f 000003ad: JUMP 000003ae: JUMPDEST 000003af: PUSH2 0x1283 000003b2: JUMP 000003b3: JUMPDEST 000003b4: CALLVALUE 000003b5: DUP1 000003b6: ISZERO 000003b7: PUSH2 0x03be 000003ba: JUMPI 000003bb: PUSH0 000003bc: DUP1 000003bd: REVERT 000003be: JUMPDEST 000003bf: POP 000003c0: PUSH2 0x024e 000003c3: PUSH2 0x03cd 000003c6: CALLDATASIZE 000003c7: PUSH1 0x04 000003c9: PUSH2 0x50de 000003cc: JUMP 000003cd: JUMPDEST 000003ce: PUSH2 0x1592 000003d1: JUMP 000003d2: JUMPDEST 000003d3: CALLVALUE 000003d4: DUP1 000003d5: ISZERO 000003d6: PUSH2 0x03dd 000003d9: JUMPI 000003da: PUSH0 000003db: DUP1 000003dc: REVERT 000003dd: JUMPDEST 000003de: POP 000003df: PUSH2 0x024e 000003e2: PUSH2 0x03ec 000003e5: CALLDATASIZE 000003e6: PUSH1 0x04 000003e8: PUSH2 0x5142 000003eb: JUMP 000003ec: JUMPDEST 000003ed: PUSH2 0x1612 000003f0: JUMP 000003f1: JUMPDEST 000003f2: CALLVALUE 000003f3: DUP1 000003f4: ISZERO 000003f5: PUSH2 0x03fc 000003f8: JUMPI 000003f9: PUSH0 000003fa: DUP1 000003fb: REVERT 000003fc: JUMPDEST 000003fd: POP 000003fe: PUSH2 0x024e 00000401: PUSH2 0x040b 00000404: CALLDATASIZE 00000405: PUSH1 0x04 00000407: PUSH2 0x4fa8 0000040a: JUMP 0000040b: JUMPDEST 0000040c: PUSH2 0x17bc 0000040f: JUMP 00000410: JUMPDEST 00000411: CALLVALUE 00000412: DUP1 00000413: ISZERO 00000414: PUSH2 0x041b 00000417: JUMPI 00000418: PUSH0 00000419: DUP1 0000041a: REVERT 0000041b: JUMPDEST 0000041c: POP 0000041d: PUSH2 0x024e 00000420: PUSH2 0x042a 00000423: CALLDATASIZE 00000424: PUSH1 0x04 00000426: PUSH2 0x51ef 00000429: JUMP 0000042a: JUMPDEST 0000042b: PUSH2 0x180f 0000042e: JUMP 0000042f: JUMPDEST 00000430: PUSH2 0x024e 00000433: PUSH2 0x043d 00000436: CALLDATASIZE 00000437: PUSH1 0x04 00000439: PUSH2 0x532c 0000043c: JUMP 0000043d: JUMPDEST 0000043e: PUSH2 0x187d 00000441: JUMP 00000442: JUMPDEST 00000443: CALLVALUE 00000444: DUP1 00000445: ISZERO 00000446: PUSH2 0x044d 00000449: JUMPI 0000044a: PUSH0 0000044b: DUP1 0000044c: REVERT 0000044d: JUMPDEST 0000044e: POP 0000044f: PUSH2 0x024e 00000452: PUSH2 0x045c 00000455: CALLDATASIZE 00000456: PUSH1 0x04 00000458: PUSH2 0x51ef 0000045b: JUMP 0000045c: JUMPDEST 0000045d: PUSH2 0x1b47 00000460: JUMP 00000461: JUMPDEST 00000462: CALLVALUE 00000463: DUP1 00000464: ISZERO 00000465: PUSH2 0x046c 00000468: JUMPI 00000469: PUSH0 0000046a: DUP1 0000046b: REVERT 0000046c: JUMPDEST 0000046d: POP 0000046e: PUSH2 0x024e 00000471: PUSH2 0x047b 00000474: CALLDATASIZE 00000475: PUSH1 0x04 00000477: PUSH2 0x5359 0000047a: JUMP 0000047b: JUMPDEST 0000047c: PUSH2 0x1bd4 0000047f: JUMP 00000480: JUMPDEST 00000481: CALLVALUE 00000482: DUP1 00000483: ISZERO 00000484: PUSH2 0x048b 00000487: JUMPI 00000488: PUSH0 00000489: DUP1 0000048a: REVERT 0000048b: JUMPDEST 0000048c: POP 0000048d: PUSH2 0x024e 00000490: PUSH2 0x049a 00000493: CALLDATASIZE 00000494: PUSH1 0x04 00000496: PUSH2 0x4fa8 00000499: JUMP 0000049a: JUMPDEST 0000049b: PUSH2 0x1ea4 0000049e: JUMP 0000049f: JUMPDEST 000004a0: CALLVALUE 000004a1: DUP1 000004a2: ISZERO 000004a3: PUSH2 0x04aa 000004a6: JUMPI 000004a7: PUSH0 000004a8: DUP1 000004a9: REVERT 000004aa: JUMPDEST 000004ab: POP 000004ac: PUSH2 0x024e 000004af: PUSH2 0x04b9 000004b2: CALLDATASIZE 000004b3: PUSH1 0x04 000004b5: PUSH2 0x50de 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH2 0x1edc 000004bd: JUMP 000004be: JUMPDEST 000004bf: CALLVALUE 000004c0: DUP1 000004c1: ISZERO 000004c2: PUSH2 0x04c9 000004c5: JUMPI 000004c6: PUSH0 000004c7: DUP1 000004c8: REVERT 000004c9: JUMPDEST 000004ca: POP 000004cb: PUSH2 0x024e 000004ce: PUSH2 0x04d8 000004d1: CALLDATASIZE 000004d2: PUSH1 0x04 000004d4: PUSH2 0x53cf 000004d7: JUMP 000004d8: JUMPDEST 000004d9: PUSH2 0x1fa7 000004dc: JUMP 000004dd: JUMPDEST 000004de: CALLVALUE 000004df: DUP1 000004e0: ISZERO 000004e1: PUSH2 0x04e8 000004e4: JUMPI 000004e5: PUSH0 000004e6: DUP1 000004e7: REVERT 000004e8: JUMPDEST 000004e9: POP 000004ea: PUSH2 0x024e 000004ed: PUSH2 0x04f7 000004f0: CALLDATASIZE 000004f1: PUSH1 0x04 000004f3: PUSH2 0x5432 000004f6: JUMP 000004f7: JUMPDEST 000004f8: PUSH2 0x215e 000004fb: JUMP 000004fc: JUMPDEST 000004fd: CALLVALUE 000004fe: DUP1 000004ff: ISZERO 00000500: PUSH2 0x0507 00000503: JUMPI 00000504: PUSH0 00000505: DUP1 00000506: REVERT 00000507: JUMPDEST 00000508: POP 00000509: PUSH2 0x024e 0000050c: PUSH2 0x0516 0000050f: CALLDATASIZE 00000510: PUSH1 0x04 00000512: PUSH2 0x549e 00000515: JUMP 00000516: JUMPDEST 00000517: PUSH2 0x2336 0000051a: JUMP 0000051b: JUMPDEST 0000051c: PUSH2 0x052e 0000051f: PUSH2 0x0529 00000522: CALLDATASIZE 00000523: PUSH1 0x04 00000525: PUSH2 0x54db 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH2 0x2631 0000052d: JUMP 0000052e: JUMPDEST 0000052f: PUSH1 0x40 00000531: MLOAD 00000532: PUSH2 0x0293 00000535: SWAP2 00000536: SWAP1 00000537: PUSH2 0x5596 0000053a: JUMP 0000053b: JUMPDEST 0000053c: CALLVALUE 0000053d: DUP1 0000053e: ISZERO 0000053f: PUSH2 0x0546 00000542: JUMPI 00000543: PUSH0 00000544: DUP1 00000545: REVERT 00000546: JUMPDEST 00000547: POP 00000548: PUSH2 0x024e 0000054b: PUSH2 0x0555 0000054e: CALLDATASIZE 0000054f: PUSH1 0x04 00000551: PUSH2 0x4e99 00000554: JUMP 00000555: JUMPDEST 00000556: PUSH2 0x2782 00000559: JUMP 0000055a: JUMPDEST 0000055b: CALLVALUE 0000055c: DUP1 0000055d: ISZERO 0000055e: PUSH2 0x0565 00000561: JUMPI 00000562: PUSH0 00000563: DUP1 00000564: REVERT 00000565: JUMPDEST 00000566: POP 00000567: PUSH2 0x0287 0000056a: PUSH2 0x0574 0000056d: CALLDATASIZE 0000056e: PUSH1 0x04 00000570: PUSH2 0x4e99 00000573: JUMP 00000574: JUMPDEST 00000575: PUSH1 0x01 00000577: PUSH1 0x01 00000579: PUSH1 0xa0 0000057b: SHL 0000057c: SUB 0000057d: AND 0000057e: PUSH0 0000057f: SWAP1 00000580: DUP2 00000581: MSTORE 00000582: PUSH1 0x01 00000584: PUSH1 0x20 00000586: MSTORE 00000587: PUSH1 0x40 00000589: SWAP1 0000058a: KECCAK256 0000058b: SLOAD 0000058c: PUSH1 0xff 0000058e: AND 0000058f: SWAP1 00000590: JUMP 00000591: JUMPDEST 00000592: CALLVALUE 00000593: DUP1 00000594: ISZERO 00000595: PUSH2 0x059c 00000598: JUMPI 00000599: PUSH0 0000059a: DUP1 0000059b: REVERT 0000059c: JUMPDEST 0000059d: POP 0000059e: PUSH2 0x024e 000005a1: PUSH2 0x05ab 000005a4: CALLDATASIZE 000005a5: PUSH1 0x04 000005a7: PUSH2 0x55f6 000005aa: JUMP 000005ab: JUMPDEST 000005ac: PUSH2 0x27b9 000005af: JUMP 000005b0: JUMPDEST 000005b1: CALLVALUE 000005b2: DUP1 000005b3: ISZERO 000005b4: PUSH2 0x05bb 000005b7: JUMPI 000005b8: PUSH0 000005b9: DUP1 000005ba: REVERT 000005bb: JUMPDEST 000005bc: POP 000005bd: PUSH2 0x063e 000005c0: PUSH2 0x05ca 000005c3: CALLDATASIZE 000005c4: PUSH1 0x04 000005c6: PUSH2 0x4e99 000005c9: JUMP 000005ca: JUMPDEST 000005cb: PUSH1 0x40 000005cd: DUP1 000005ce: MLOAD 000005cf: PUSH1 0x80 000005d1: DUP1 000005d2: DUP3 000005d3: ADD 000005d4: DUP4 000005d5: MSTORE 000005d6: PUSH0 000005d7: DUP1 000005d8: DUP4 000005d9: MSTORE 000005da: PUSH1 0x20 000005dc: DUP1 000005dd: DUP5 000005de: ADD 000005df: DUP3 000005e0: SWAP1 000005e1: MSTORE 000005e2: DUP4 000005e3: DUP6 000005e4: ADD 000005e5: DUP3 000005e6: SWAP1 000005e7: MSTORE 000005e8: PUSH1 0x60 000005ea: SWAP4 000005eb: DUP5 000005ec: ADD 000005ed: DUP3 000005ee: SWAP1 000005ef: MSTORE 000005f0: PUSH1 0x01 000005f2: PUSH1 0x01 000005f4: PUSH1 0xa0 000005f6: SHL 000005f7: SUB 000005f8: SWAP6 000005f9: DUP7 000005fa: AND 000005fb: DUP3 000005fc: MSTORE 000005fd: PUSH1 0x06 000005ff: DUP2 00000600: MSTORE 00000601: SWAP1 00000602: DUP5 00000603: SWAP1 00000604: KECCAK256 00000605: DUP5 00000606: MLOAD 00000607: SWAP3 00000608: DUP4 00000609: ADD 0000060a: DUP6 0000060b: MSTORE 0000060c: DUP1 0000060d: SLOAD 0000060e: DUP7 0000060f: AND 00000610: DUP4 00000611: MSTORE 00000612: PUSH1 0x01 00000614: DUP2 00000615: ADD 00000616: SLOAD 00000617: SWAP1 00000618: SWAP6 00000619: AND 0000061a: SWAP1 0000061b: DUP3 0000061c: ADD 0000061d: MSTORE 0000061e: PUSH1 0x02 00000620: DUP5 00000621: ADD 00000622: SLOAD 00000623: SWAP3 00000624: DUP2 00000625: ADD 00000626: SWAP3 00000627: SWAP1 00000628: SWAP3 00000629: MSTORE 0000062a: PUSH1 0x03 0000062c: SWAP1 0000062d: SWAP3 0000062e: ADD 0000062f: SLOAD 00000630: PUSH1 0xff 00000632: AND 00000633: ISZERO 00000634: ISZERO 00000635: SWAP2 00000636: DUP2 00000637: ADD 00000638: SWAP2 00000639: SWAP1 0000063a: SWAP2 0000063b: MSTORE 0000063c: SWAP1 0000063d: JUMP 0000063e: JUMPDEST 0000063f: PUSH1 0x40 00000641: MLOAD 00000642: PUSH2 0x0293 00000645: SWAP2 00000646: SWAP1 00000647: DUP2 00000648: MLOAD 00000649: PUSH1 0x01 0000064b: PUSH1 0x01 0000064d: PUSH1 0xa0 0000064f: SHL 00000650: SUB 00000651: SWAP1 00000652: DUP2 00000653: AND 00000654: DUP3 00000655: MSTORE 00000656: PUSH1 0x20 00000658: DUP1 00000659: DUP5 0000065a: ADD 0000065b: MLOAD 0000065c: SWAP1 0000065d: SWAP2 0000065e: AND 0000065f: SWAP1 00000660: DUP3 00000661: ADD 00000662: MSTORE 00000663: PUSH1 0x40 00000665: DUP1 00000666: DUP4 00000667: ADD 00000668: MLOAD 00000669: SWAP1 0000066a: DUP3 0000066b: ADD 0000066c: MSTORE 0000066d: PUSH1 0x60 0000066f: SWAP2 00000670: DUP3 00000671: ADD 00000672: MLOAD 00000673: ISZERO 00000674: ISZERO 00000675: SWAP2 00000676: DUP2 00000677: ADD 00000678: SWAP2 00000679: SWAP1 0000067a: SWAP2 0000067b: MSTORE 0000067c: PUSH1 0x80 0000067e: ADD 0000067f: SWAP1 00000680: JUMP 00000681: JUMPDEST 00000682: CALLVALUE 00000683: DUP1 00000684: ISZERO 00000685: PUSH2 0x068c 00000688: JUMPI 00000689: PUSH0 0000068a: DUP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: POP 0000068e: PUSH2 0x024e 00000691: PUSH2 0x069b 00000694: CALLDATASIZE 00000695: PUSH1 0x04 00000697: PUSH2 0x4fa8 0000069a: JUMP 0000069b: JUMPDEST 0000069c: PUSH2 0x29e7 0000069f: JUMP 000006a0: JUMPDEST 000006a1: CALLVALUE 000006a2: DUP1 000006a3: ISZERO 000006a4: PUSH2 0x06ab 000006a7: JUMPI 000006a8: PUSH0 000006a9: DUP1 000006aa: REVERT 000006ab: JUMPDEST 000006ac: POP 000006ad: PUSH2 0x024e 000006b0: PUSH2 0x06ba 000006b3: CALLDATASIZE 000006b4: PUSH1 0x04 000006b6: PUSH2 0x53cf 000006b9: JUMP 000006ba: JUMPDEST 000006bb: PUSH2 0x2a3a 000006be: JUMP 000006bf: JUMPDEST 000006c0: PUSH2 0x024e 000006c3: PUSH2 0x06cd 000006c6: CALLDATASIZE 000006c7: PUSH1 0x04 000006c9: PUSH2 0x5635 000006cc: JUMP 000006cd: JUMPDEST 000006ce: PUSH2 0x2c1f 000006d1: JUMP 000006d2: JUMPDEST 000006d3: CALLVALUE 000006d4: DUP1 000006d5: ISZERO 000006d6: PUSH2 0x06dd 000006d9: JUMPI 000006da: PUSH0 000006db: DUP1 000006dc: REVERT 000006dd: JUMPDEST 000006de: POP 000006df: PUSH2 0x024e 000006e2: PUSH2 0x06ec 000006e5: CALLDATASIZE 000006e6: PUSH1 0x04 000006e8: PUSH2 0x5675 000006eb: JUMP 000006ec: JUMPDEST 000006ed: PUSH2 0x2df1 000006f0: JUMP 000006f1: JUMPDEST 000006f2: PUSH2 0x024e 000006f5: PUSH2 0x06ff 000006f8: CALLDATASIZE 000006f9: PUSH1 0x04 000006fb: PUSH2 0x56f5 000006fe: JUMP 000006ff: JUMPDEST 00000700: PUSH2 0x312e 00000703: JUMP 00000704: JUMPDEST 00000705: CALLVALUE 00000706: DUP1 00000707: ISZERO 00000708: PUSH2 0x070f 0000070b: JUMPI 0000070c: PUSH0 0000070d: DUP1 0000070e: REVERT 0000070f: JUMPDEST 00000710: POP 00000711: PUSH2 0x024e 00000714: PUSH2 0x071e 00000717: CALLDATASIZE 00000718: PUSH1 0x04 0000071a: PUSH2 0x5710 0000071d: JUMP 0000071e: JUMPDEST 0000071f: PUSH2 0x32d7 00000722: JUMP 00000723: JUMPDEST 00000724: CALLVALUE 00000725: DUP1 00000726: ISZERO 00000727: PUSH2 0x072e 0000072a: JUMPI 0000072b: PUSH0 0000072c: DUP1 0000072d: REVERT 0000072e: JUMPDEST 0000072f: POP 00000730: PUSH2 0x0287 00000733: PUSH2 0x073d 00000736: CALLDATASIZE 00000737: PUSH1 0x04 00000739: PUSH2 0x4e99 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH2 0x3314 00000741: JUMP 00000742: JUMPDEST 00000743: CALLVALUE 00000744: DUP1 00000745: ISZERO 00000746: PUSH2 0x074d 00000749: JUMPI 0000074a: PUSH0 0000074b: DUP1 0000074c: REVERT 0000074d: JUMPDEST 0000074e: POP 0000074f: PUSH2 0x024e 00000752: PUSH2 0x075c 00000755: CALLDATASIZE 00000756: PUSH1 0x04 00000758: PUSH2 0x574e 0000075b: JUMP 0000075c: JUMPDEST 0000075d: PUSH2 0x3360 00000760: JUMP 00000761: JUMPDEST 00000762: CALLVALUE 00000763: DUP1 00000764: ISZERO 00000765: PUSH2 0x076c 00000768: JUMPI 00000769: PUSH0 0000076a: DUP1 0000076b: REVERT 0000076c: JUMPDEST 0000076d: POP 0000076e: PUSH2 0x024e 00000771: PUSH2 0x077b 00000774: CALLDATASIZE 00000775: PUSH1 0x04 00000777: PUSH2 0x57ba 0000077a: JUMP 0000077b: JUMPDEST 0000077c: PUSH2 0x36b8 0000077f: JUMP 00000780: JUMPDEST 00000781: CALLVALUE 00000782: DUP1 00000783: ISZERO 00000784: PUSH2 0x078b 00000787: JUMPI 00000788: PUSH0 00000789: DUP1 0000078a: REVERT 0000078b: JUMPDEST 0000078c: POP 0000078d: PUSH2 0x024e 00000790: PUSH2 0x079a 00000793: CALLDATASIZE 00000794: PUSH1 0x04 00000796: PUSH2 0x5710 00000799: JUMP 0000079a: JUMPDEST 0000079b: PUSH2 0x3725 0000079e: JUMP 0000079f: JUMPDEST 000007a0: CALLVALUE 000007a1: DUP1 000007a2: ISZERO 000007a3: PUSH2 0x07aa 000007a6: JUMPI 000007a7: PUSH0 000007a8: DUP1 000007a9: REVERT 000007aa: JUMPDEST 000007ab: POP 000007ac: PUSH2 0x024e 000007af: PUSH2 0x07b9 000007b2: CALLDATASIZE 000007b3: PUSH1 0x04 000007b5: PUSH2 0x4fa8 000007b8: JUMP 000007b9: JUMPDEST 000007ba: PUSH2 0x3762 000007bd: JUMP 000007be: JUMPDEST 000007bf: CALLVALUE 000007c0: DUP1 000007c1: ISZERO 000007c2: PUSH2 0x07c9 000007c5: JUMPI 000007c6: PUSH0 000007c7: DUP1 000007c8: REVERT 000007c9: JUMPDEST 000007ca: POP 000007cb: PUSH2 0x024e 000007ce: PUSH2 0x07d8 000007d1: CALLDATASIZE 000007d2: PUSH1 0x04 000007d4: PUSH2 0x50f5 000007d7: JUMP 000007d8: JUMPDEST 000007d9: PUSH2 0x37b5 000007dc: JUMP 000007dd: JUMPDEST 000007de: CALLVALUE 000007df: DUP1 000007e0: ISZERO 000007e1: PUSH2 0x07e8 000007e4: JUMPI 000007e5: PUSH0 000007e6: DUP1 000007e7: REVERT 000007e8: JUMPDEST 000007e9: POP 000007ea: PUSH2 0x07f1 000007ed: PUSH2 0x3911 000007f0: JUMP 000007f1: JUMPDEST 000007f2: PUSH1 0x40 000007f4: MLOAD 000007f5: PUSH1 0x01 000007f7: PUSH1 0x01 000007f9: PUSH1 0xa0 000007fb: SHL 000007fc: SUB 000007fd: SWAP1 000007fe: SWAP2 000007ff: AND 00000800: DUP2 00000801: MSTORE 00000802: PUSH1 0x20 00000804: ADD 00000805: PUSH2 0x0293 00000808: JUMP 00000809: JUMPDEST 0000080a: CALLVALUE 0000080b: DUP1 0000080c: ISZERO 0000080d: PUSH2 0x0814 00000810: JUMPI 00000811: PUSH0 00000812: DUP1 00000813: REVERT 00000814: JUMPDEST 00000815: POP 00000816: PUSH2 0x024e 00000819: PUSH2 0x0823 0000081c: CALLDATASIZE 0000081d: PUSH1 0x04 0000081f: PUSH2 0x57f3 00000822: JUMP 00000823: JUMPDEST 00000824: PUSH2 0x394b 00000827: JUMP 00000828: JUMPDEST 00000829: CALLVALUE 0000082a: DUP1 0000082b: ISZERO 0000082c: PUSH2 0x0833 0000082f: JUMPI 00000830: PUSH0 00000831: DUP1 00000832: REVERT 00000833: JUMPDEST 00000834: POP 00000835: PUSH2 0x0287 00000838: PUSH2 0x0842 0000083b: CALLDATASIZE 0000083c: PUSH1 0x04 0000083e: PUSH2 0x4e99 00000841: JUMP 00000842: JUMPDEST 00000843: PUSH1 0x01 00000845: PUSH1 0x01 00000847: PUSH1 0xa0 00000849: SHL 0000084a: SUB 0000084b: AND 0000084c: PUSH0 0000084d: SWAP1 0000084e: DUP2 0000084f: MSTORE 00000850: PUSH1 0x03 00000852: PUSH1 0x20 00000854: MSTORE 00000855: PUSH1 0x40 00000857: SWAP1 00000858: KECCAK256 00000859: SLOAD 0000085a: PUSH1 0xff 0000085c: AND 0000085d: SWAP1 0000085e: JUMP 0000085f: JUMPDEST 00000860: CALLER 00000861: PUSH0 00000862: DUP1 00000863: MLOAD 00000864: PUSH1 0x20 00000866: PUSH2 0x5d12 00000869: DUP4 0000086a: CODECOPY 0000086b: DUP2 0000086c: MLOAD 0000086d: SWAP2 0000086e: MSTORE 0000086f: EQ 00000870: DUP1 00000871: PUSH2 0x0886 00000874: JUMPI 00000875: POP 00000876: CALLER 00000877: PUSH0 00000878: DUP1 00000879: MLOAD 0000087a: PUSH1 0x20 0000087c: PUSH2 0x5e12 0000087f: DUP4 00000880: CODECOPY 00000881: DUP2 00000882: MLOAD 00000883: SWAP2 00000884: MSTORE 00000885: EQ 00000886: JUMPDEST 00000887: DUP1 00000888: PUSH2 0x089d 0000088b: JUMPI 0000088c: POP 0000088d: CALLER 0000088e: PUSH0 0000088f: DUP1 00000890: MLOAD 00000891: PUSH1 0x20 00000893: PUSH2 0x5d52 00000896: DUP4 00000897: CODECOPY 00000898: DUP2 00000899: MLOAD 0000089a: SWAP2 0000089b: MSTORE 0000089c: EQ 0000089d: JUMPDEST 0000089e: DUP1 0000089f: PUSH2 0x08b4 000008a2: JUMPI 000008a3: POP 000008a4: CALLER 000008a5: PUSH0 000008a6: DUP1 000008a7: MLOAD 000008a8: PUSH1 0x20 000008aa: PUSH2 0x5d52 000008ad: DUP4 000008ae: CODECOPY 000008af: DUP2 000008b0: MLOAD 000008b1: SWAP2 000008b2: MSTORE 000008b3: EQ 000008b4: JUMPDEST 000008b5: DUP1 000008b6: PUSH2 0x08cb 000008b9: JUMPI 000008ba: POP 000008bb: CALLER 000008bc: PUSH0 000008bd: DUP1 000008be: MLOAD 000008bf: PUSH1 0x20 000008c1: PUSH2 0x5d32 000008c4: DUP4 000008c5: CODECOPY 000008c6: DUP2 000008c7: MLOAD 000008c8: SWAP2 000008c9: MSTORE 000008ca: EQ 000008cb: JUMPDEST 000008cc: DUP1 000008cd: PUSH2 0x08e2 000008d0: JUMPI 000008d1: POP 000008d2: CALLER 000008d3: PUSH0 000008d4: DUP1 000008d5: MLOAD 000008d6: PUSH1 0x20 000008d8: PUSH2 0x5e52 000008db: DUP4 000008dc: CODECOPY 000008dd: DUP2 000008de: MLOAD 000008df: SWAP2 000008e0: MSTORE 000008e1: EQ 000008e2: JUMPDEST 000008e3: DUP1 000008e4: PUSH2 0x08f9 000008e7: JUMPI 000008e8: POP 000008e9: CALLER 000008ea: PUSH0 000008eb: DUP1 000008ec: MLOAD 000008ed: PUSH1 0x20 000008ef: PUSH2 0x5cd2 000008f2: DUP4 000008f3: CODECOPY 000008f4: DUP2 000008f5: MLOAD 000008f6: SWAP2 000008f7: MSTORE 000008f8: EQ 000008f9: JUMPDEST 000008fa: DUP1 000008fb: PUSH2 0x0910 000008fe: JUMPI 000008ff: POP 00000900: CALLER 00000901: PUSH0 00000902: DUP1 00000903: MLOAD 00000904: PUSH1 0x20 00000906: PUSH2 0x5cb2 00000909: DUP4 0000090a: CODECOPY 0000090b: DUP2 0000090c: MLOAD 0000090d: SWAP2 0000090e: MSTORE 0000090f: EQ 00000910: JUMPDEST 00000911: DUP1 00000912: PUSH2 0x0927 00000915: JUMPI 00000916: POP 00000917: CALLER 00000918: PUSH0 00000919: DUP1 0000091a: MLOAD 0000091b: PUSH1 0x20 0000091d: PUSH2 0x5d92 00000920: DUP4 00000921: CODECOPY 00000922: DUP2 00000923: MLOAD 00000924: SWAP2 00000925: MSTORE 00000926: EQ 00000927: JUMPDEST 00000928: DUP1 00000929: PUSH2 0x093e 0000092c: JUMPI 0000092d: POP 0000092e: CALLER 0000092f: PUSH0 00000930: DUP1 00000931: MLOAD 00000932: PUSH1 0x20 00000934: PUSH2 0x5df2 00000937: DUP4 00000938: CODECOPY 00000939: DUP2 0000093a: MLOAD 0000093b: SWAP2 0000093c: MSTORE 0000093d: EQ 0000093e: JUMPDEST 0000093f: DUP1 00000940: PUSH2 0x0955 00000943: JUMPI 00000944: POP 00000945: CALLER 00000946: PUSH0 00000947: DUP1 00000948: MLOAD 00000949: PUSH1 0x20 0000094b: PUSH2 0x5e32 0000094e: DUP4 0000094f: CODECOPY 00000950: DUP2 00000951: MLOAD 00000952: SWAP2 00000953: MSTORE 00000954: EQ 00000955: JUMPDEST 00000956: DUP1 00000957: PUSH2 0x096c 0000095a: JUMPI 0000095b: POP 0000095c: CALLER 0000095d: PUSH0 0000095e: DUP1 0000095f: MLOAD 00000960: PUSH1 0x20 00000962: PUSH2 0x5d72 00000965: DUP4 00000966: CODECOPY 00000967: DUP2 00000968: MLOAD 00000969: SWAP2 0000096a: MSTORE 0000096b: EQ 0000096c: JUMPDEST 0000096d: DUP1 0000096e: PUSH2 0x0983 00000971: JUMPI 00000972: POP 00000973: CALLER 00000974: PUSH0 00000975: DUP1 00000976: MLOAD 00000977: PUSH1 0x20 00000979: PUSH2 0x5dd2 0000097c: DUP4 0000097d: CODECOPY 0000097e: DUP2 0000097f: MLOAD 00000980: SWAP2 00000981: MSTORE 00000982: EQ 00000983: JUMPDEST 00000984: DUP1 00000985: PUSH2 0x099a 00000988: JUMPI 00000989: POP 0000098a: CALLER 0000098b: PUSH0 0000098c: DUP1 0000098d: MLOAD 0000098e: PUSH1 0x20 00000990: PUSH2 0x5cf2 00000993: DUP4 00000994: CODECOPY 00000995: DUP2 00000996: MLOAD 00000997: SWAP2 00000998: MSTORE 00000999: EQ 0000099a: JUMPDEST 0000099b: DUP1 0000099c: PUSH2 0x09b1 0000099f: JUMPI 000009a0: POP 000009a1: CALLER 000009a2: PUSH0 000009a3: DUP1 000009a4: MLOAD 000009a5: PUSH1 0x20 000009a7: PUSH2 0x5db2 000009aa: DUP4 000009ab: CODECOPY 000009ac: DUP2 000009ad: MLOAD 000009ae: SWAP2 000009af: MSTORE 000009b0: EQ 000009b1: JUMPDEST 000009b2: DUP1 000009b3: PUSH2 0x09c8 000009b6: JUMPI 000009b7: POP 000009b8: CALLER 000009b9: PUSH0 000009ba: DUP1 000009bb: MLOAD 000009bc: PUSH1 0x20 000009be: PUSH2 0x5e72 000009c1: DUP4 000009c2: CODECOPY 000009c3: DUP2 000009c4: MLOAD 000009c5: SWAP2 000009c6: MSTORE 000009c7: EQ 000009c8: JUMPDEST 000009c9: DUP1 000009ca: PUSH2 0x09e1 000009cd: JUMPI 000009ce: POP 000009cf: CALLER 000009d0: PUSH0 000009d1: SWAP1 000009d2: DUP2 000009d3: MSTORE 000009d4: PUSH1 0x02 000009d6: PUSH1 0x20 000009d8: MSTORE 000009d9: PUSH1 0x40 000009db: SWAP1 000009dc: KECCAK256 000009dd: SLOAD 000009de: PUSH1 0xff 000009e0: AND 000009e1: JUMPDEST 000009e2: PUSH2 0x0a06 000009e5: JUMPI 000009e6: PUSH1 0x40 000009e8: MLOAD 000009e9: PUSH3 0x461bcd 000009ed: PUSH1 0xe5 000009ef: SHL 000009f0: DUP2 000009f1: MSTORE 000009f2: PUSH1 0x04 000009f4: ADD 000009f5: PUSH2 0x09fd 000009f8: SWAP1 000009f9: PUSH2 0x58b8 000009fc: JUMP 000009fd: JUMPDEST 000009fe: PUSH1 0x40 00000a00: MLOAD 00000a01: DUP1 00000a02: SWAP2 00000a03: SUB 00000a04: SWAP1 00000a05: REVERT 00000a06: JUMPDEST 00000a07: DUP1 00000a08: PUSH1 0x01 00000a0a: PUSH1 0x01 00000a0c: PUSH1 0xa0 00000a0e: SHL 00000a0f: SUB 00000a10: DUP2 00000a11: AND 00000a12: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00000a27: EQ 00000a28: DUP1 00000a29: PUSH2 0x0a4e 00000a2c: JUMPI 00000a2d: POP 00000a2e: PUSH1 0x01 00000a30: PUSH1 0x01 00000a32: PUSH1 0xa0 00000a34: SHL 00000a35: SUB 00000a36: DUP2 00000a37: AND 00000a38: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 00000a4d: EQ 00000a4e: JUMPDEST 00000a4f: DUP1 00000a50: PUSH2 0x0a75 00000a53: JUMPI 00000a54: POP 00000a55: PUSH1 0x01 00000a57: PUSH1 0x01 00000a59: PUSH1 0xa0 00000a5b: SHL 00000a5c: SUB 00000a5d: DUP2 00000a5e: AND 00000a5f: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00000a74: EQ 00000a75: JUMPDEST 00000a76: DUP1 00000a77: PUSH2 0x0a9c 00000a7a: JUMPI 00000a7b: POP 00000a7c: PUSH1 0x01 00000a7e: PUSH1 0x01 00000a80: PUSH1 0xa0 00000a82: SHL 00000a83: SUB 00000a84: DUP2 00000a85: AND 00000a86: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00000a9b: EQ 00000a9c: JUMPDEST 00000a9d: DUP1 00000a9e: PUSH2 0x0ac3 00000aa1: JUMPI 00000aa2: POP 00000aa3: PUSH1 0x01 00000aa5: PUSH1 0x01 00000aa7: PUSH1 0xa0 00000aa9: SHL 00000aaa: SUB 00000aab: DUP2 00000aac: AND 00000aad: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00000ac2: EQ 00000ac3: JUMPDEST 00000ac4: DUP1 00000ac5: PUSH2 0x0aea 00000ac8: JUMPI 00000ac9: POP 00000aca: PUSH1 0x01 00000acc: PUSH1 0x01 00000ace: PUSH1 0xa0 00000ad0: SHL 00000ad1: SUB 00000ad2: DUP2 00000ad3: AND 00000ad4: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00000ae9: EQ 00000aea: JUMPDEST 00000aeb: DUP1 00000aec: PUSH2 0x0b0c 00000aef: JUMPI 00000af0: POP 00000af1: PUSH1 0x01 00000af3: PUSH1 0x01 00000af5: PUSH1 0xa0 00000af7: SHL 00000af8: SUB 00000af9: DUP2 00000afa: AND 00000afb: PUSH0 00000afc: SWAP1 00000afd: DUP2 00000afe: MSTORE 00000aff: PUSH1 0x0b 00000b01: PUSH1 0x20 00000b03: MSTORE 00000b04: PUSH1 0x40 00000b06: SWAP1 00000b07: KECCAK256 00000b08: SLOAD 00000b09: PUSH1 0xff 00000b0b: AND 00000b0c: JUMPDEST 00000b0d: PUSH2 0x0b28 00000b10: JUMPI 00000b11: PUSH1 0x40 00000b13: MLOAD 00000b14: PUSH3 0x461bcd 00000b18: PUSH1 0xe5 00000b1a: SHL 00000b1b: DUP2 00000b1c: MSTORE 00000b1d: PUSH1 0x04 00000b1f: ADD 00000b20: PUSH2 0x09fd 00000b23: SWAP1 00000b24: PUSH2 0x58d6 00000b27: JUMP 00000b28: JUMPDEST 00000b29: PUSH1 0x40 00000b2b: DUP1 00000b2c: MLOAD 00000b2d: PUSH0 00000b2e: DUP2 00000b2f: MSTORE 00000b30: PUSH1 0x20 00000b32: DUP2 00000b33: ADD 00000b34: SWAP2 00000b35: DUP3 00000b36: SWAP1 00000b37: MSTORE 00000b38: PUSH4 0x02515961 00000b3d: PUSH1 0xe3 00000b3f: SHL 00000b40: SWAP1 00000b41: SWAP2 00000b42: MSTORE 00000b43: PUSH1 0x01 00000b45: PUSH1 0x01 00000b47: PUSH1 0xa0 00000b49: SHL 00000b4a: SUB 00000b4b: DUP8 00000b4c: AND 00000b4d: SWAP1 00000b4e: PUSH4 0x128acb08 00000b53: SWAP1 00000b54: PUSH2 0x0b68 00000b57: SWAP1 00000b58: DUP6 00000b59: SWAP1 00000b5a: DUP8 00000b5b: SWAP1 00000b5c: DUP11 00000b5d: SWAP1 00000b5e: DUP11 00000b5f: SWAP1 00000b60: PUSH1 0x24 00000b62: DUP2 00000b63: ADD 00000b64: PUSH2 0x58f3 00000b67: JUMP 00000b68: JUMPDEST 00000b69: PUSH1 0x40 00000b6b: DUP1 00000b6c: MLOAD 00000b6d: DUP1 00000b6e: DUP4 00000b6f: SUB 00000b70: DUP2 00000b71: PUSH0 00000b72: DUP8 00000b73: GAS 00000b74: CALL 00000b75: ISZERO 00000b76: DUP1 00000b77: ISZERO 00000b78: PUSH2 0x0b83 00000b7b: JUMPI 00000b7c: RETURNDATASIZE 00000b7d: PUSH0 00000b7e: DUP1 00000b7f: RETURNDATACOPY 00000b80: RETURNDATASIZE 00000b81: PUSH0 00000b82: REVERT 00000b83: JUMPDEST 00000b84: POP 00000b85: POP 00000b86: POP 00000b87: POP 00000b88: PUSH1 0x40 00000b8a: MLOAD 00000b8b: RETURNDATASIZE 00000b8c: PUSH1 0x1f 00000b8e: NOT 00000b8f: PUSH1 0x1f 00000b91: DUP3 00000b92: ADD 00000b93: AND 00000b94: DUP3 00000b95: ADD 00000b96: DUP1 00000b97: PUSH1 0x40 00000b99: MSTORE 00000b9a: POP 00000b9b: DUP2 00000b9c: ADD 00000b9d: SWAP1 00000b9e: PUSH2 0x0ba7 00000ba1: SWAP2 00000ba2: SWAP1 00000ba3: PUSH2 0x592d 00000ba6: JUMP 00000ba7: JUMPDEST 00000ba8: POP 00000ba9: POP 00000baa: POP 00000bab: POP 00000bac: POP 00000bad: POP 00000bae: POP 00000baf: POP 00000bb0: JUMP 00000bb1: JUMPDEST 00000bb2: PUSH0 00000bb3: SLOAD 00000bb4: PUSH1 0x01 00000bb6: PUSH1 0x01 00000bb8: PUSH1 0xa0 00000bba: SHL 00000bbb: SUB 00000bbc: AND 00000bbd: CALLER 00000bbe: EQ 00000bbf: PUSH2 0x0bda 00000bc2: JUMPI 00000bc3: PUSH1 0x40 00000bc5: MLOAD 00000bc6: PUSH3 0x461bcd 00000bca: PUSH1 0xe5 00000bcc: SHL 00000bcd: DUP2 00000bce: MSTORE 00000bcf: PUSH1 0x04 00000bd1: ADD 00000bd2: PUSH2 0x09fd 00000bd5: SWAP1 00000bd6: PUSH2 0x594f 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: PUSH1 0x09 00000bdd: DUP1 00000bde: SLOAD 00000bdf: PUSH1 0x01 00000be1: PUSH1 0x01 00000be3: PUSH1 0xa0 00000be5: SHL 00000be6: SUB 00000be7: NOT 00000be8: AND 00000be9: PUSH1 0x01 00000beb: PUSH1 0x01 00000bed: PUSH1 0xa0 00000bef: SHL 00000bf0: SUB 00000bf1: SWAP3 00000bf2: SWAP1 00000bf3: SWAP3 00000bf4: AND 00000bf5: SWAP2 00000bf6: SWAP1 00000bf7: SWAP2 00000bf8: OR 00000bf9: SWAP1 00000bfa: SSTORE 00000bfb: JUMP 00000bfc: JUMPDEST 00000bfd: PUSH2 0x0c08 00000c00: DUP5 00000c01: DUP5 00000c02: DUP5 00000c03: DUP5 00000c04: PUSH2 0x39e1 00000c07: JUMP 00000c08: JUMPDEST 00000c09: POP 00000c0a: POP 00000c0b: POP 00000c0c: POP 00000c0d: JUMP 00000c0e: JUMPDEST 00000c0f: PUSH0 00000c10: SLOAD 00000c11: PUSH1 0x01 00000c13: PUSH1 0x01 00000c15: PUSH1 0xa0 00000c17: SHL 00000c18: SUB 00000c19: AND 00000c1a: CALLER 00000c1b: EQ 00000c1c: PUSH2 0x0c37 00000c1f: JUMPI 00000c20: PUSH1 0x40 00000c22: MLOAD 00000c23: PUSH3 0x461bcd 00000c27: PUSH1 0xe5 00000c29: SHL 00000c2a: DUP2 00000c2b: MSTORE 00000c2c: PUSH1 0x04 00000c2e: ADD 00000c2f: PUSH2 0x09fd 00000c32: SWAP1 00000c33: PUSH2 0x594f 00000c36: JUMP 00000c37: JUMPDEST 00000c38: PUSH1 0x01 00000c3a: PUSH1 0x01 00000c3c: PUSH1 0xa0 00000c3e: SHL 00000c3f: SUB 00000c40: SWAP2 00000c41: SWAP1 00000c42: SWAP2 00000c43: AND 00000c44: PUSH0 00000c45: SWAP1 00000c46: DUP2 00000c47: MSTORE 00000c48: PUSH1 0x0a 00000c4a: PUSH1 0x20 00000c4c: MSTORE 00000c4d: PUSH1 0x40 00000c4f: SWAP1 00000c50: KECCAK256 00000c51: DUP1 00000c52: SLOAD 00000c53: PUSH1 0xff 00000c55: NOT 00000c56: AND 00000c57: SWAP2 00000c58: ISZERO 00000c59: ISZERO 00000c5a: SWAP2 00000c5b: SWAP1 00000c5c: SWAP2 00000c5d: OR 00000c5e: SWAP1 00000c5f: SSTORE 00000c60: JUMP 00000c61: JUMPDEST 00000c62: CALLER 00000c63: PUSH0 00000c64: DUP1 00000c65: MLOAD 00000c66: PUSH1 0x20 00000c68: PUSH2 0x5d12 00000c6b: DUP4 00000c6c: CODECOPY 00000c6d: DUP2 00000c6e: MLOAD 00000c6f: SWAP2 00000c70: MSTORE 00000c71: EQ 00000c72: DUP1 00000c73: PUSH2 0x0c88 00000c76: JUMPI 00000c77: POP 00000c78: CALLER 00000c79: PUSH0 00000c7a: DUP1 00000c7b: MLOAD 00000c7c: PUSH1 0x20 00000c7e: PUSH2 0x5e12 00000c81: DUP4 00000c82: CODECOPY 00000c83: DUP2 00000c84: MLOAD 00000c85: SWAP2 00000c86: MSTORE 00000c87: EQ 00000c88: JUMPDEST 00000c89: DUP1 00000c8a: PUSH2 0x0c9f 00000c8d: JUMPI 00000c8e: POP 00000c8f: CALLER 00000c90: PUSH0 00000c91: DUP1 00000c92: MLOAD 00000c93: PUSH1 0x20 00000c95: PUSH2 0x5d52 00000c98: DUP4 00000c99: CODECOPY 00000c9a: DUP2 00000c9b: MLOAD 00000c9c: SWAP2 00000c9d: MSTORE 00000c9e: EQ 00000c9f: JUMPDEST 00000ca0: DUP1 00000ca1: PUSH2 0x0cb6 00000ca4: JUMPI 00000ca5: POP 00000ca6: CALLER 00000ca7: PUSH0 00000ca8: DUP1 00000ca9: MLOAD 00000caa: PUSH1 0x20 00000cac: PUSH2 0x5d52 00000caf: DUP4 00000cb0: CODECOPY 00000cb1: DUP2 00000cb2: MLOAD 00000cb3: SWAP2 00000cb4: MSTORE 00000cb5: EQ 00000cb6: JUMPDEST 00000cb7: DUP1 00000cb8: PUSH2 0x0ccd 00000cbb: JUMPI 00000cbc: POP 00000cbd: CALLER 00000cbe: PUSH0 00000cbf: DUP1 00000cc0: MLOAD 00000cc1: PUSH1 0x20 00000cc3: PUSH2 0x5d32 00000cc6: DUP4 00000cc7: CODECOPY 00000cc8: DUP2 00000cc9: MLOAD 00000cca: SWAP2 00000ccb: MSTORE 00000ccc: EQ 00000ccd: JUMPDEST 00000cce: DUP1 00000ccf: PUSH2 0x0ce4 00000cd2: JUMPI 00000cd3: POP 00000cd4: CALLER 00000cd5: PUSH0 00000cd6: DUP1 00000cd7: MLOAD 00000cd8: PUSH1 0x20 00000cda: PUSH2 0x5e52 00000cdd: DUP4 00000cde: CODECOPY 00000cdf: DUP2 00000ce0: MLOAD 00000ce1: SWAP2 00000ce2: MSTORE 00000ce3: EQ 00000ce4: JUMPDEST 00000ce5: DUP1 00000ce6: PUSH2 0x0cfb 00000ce9: JUMPI 00000cea: POP 00000ceb: CALLER 00000cec: PUSH0 00000ced: DUP1 00000cee: MLOAD 00000cef: PUSH1 0x20 00000cf1: PUSH2 0x5cd2 00000cf4: DUP4 00000cf5: CODECOPY 00000cf6: DUP2 00000cf7: MLOAD 00000cf8: SWAP2 00000cf9: MSTORE 00000cfa: EQ 00000cfb: JUMPDEST 00000cfc: DUP1 00000cfd: PUSH2 0x0d12 00000d00: JUMPI 00000d01: POP 00000d02: CALLER 00000d03: PUSH0 00000d04: DUP1 00000d05: MLOAD 00000d06: PUSH1 0x20 00000d08: PUSH2 0x5cb2 00000d0b: DUP4 00000d0c: CODECOPY 00000d0d: DUP2 00000d0e: MLOAD 00000d0f: SWAP2 00000d10: MSTORE 00000d11: EQ 00000d12: JUMPDEST 00000d13: DUP1 00000d14: PUSH2 0x0d29 00000d17: JUMPI 00000d18: POP 00000d19: CALLER 00000d1a: PUSH0 00000d1b: DUP1 00000d1c: MLOAD 00000d1d: PUSH1 0x20 00000d1f: PUSH2 0x5d92 00000d22: DUP4 00000d23: CODECOPY 00000d24: DUP2 00000d25: MLOAD 00000d26: SWAP2 00000d27: MSTORE 00000d28: EQ 00000d29: JUMPDEST 00000d2a: DUP1 00000d2b: PUSH2 0x0d40 00000d2e: JUMPI 00000d2f: POP 00000d30: CALLER 00000d31: PUSH0 00000d32: DUP1 00000d33: MLOAD 00000d34: PUSH1 0x20 00000d36: PUSH2 0x5df2 00000d39: DUP4 00000d3a: CODECOPY 00000d3b: DUP2 00000d3c: MLOAD 00000d3d: SWAP2 00000d3e: MSTORE 00000d3f: EQ 00000d40: JUMPDEST 00000d41: DUP1 00000d42: PUSH2 0x0d57 00000d45: JUMPI 00000d46: POP 00000d47: CALLER 00000d48: PUSH0 00000d49: DUP1 00000d4a: MLOAD 00000d4b: PUSH1 0x20 00000d4d: PUSH2 0x5e32 00000d50: DUP4 00000d51: CODECOPY 00000d52: DUP2 00000d53: MLOAD 00000d54: SWAP2 00000d55: MSTORE 00000d56: EQ 00000d57: JUMPDEST 00000d58: DUP1 00000d59: PUSH2 0x0d6e 00000d5c: JUMPI 00000d5d: POP 00000d5e: CALLER 00000d5f: PUSH0 00000d60: DUP1 00000d61: MLOAD 00000d62: PUSH1 0x20 00000d64: PUSH2 0x5d72 00000d67: DUP4 00000d68: CODECOPY 00000d69: DUP2 00000d6a: MLOAD 00000d6b: SWAP2 00000d6c: MSTORE 00000d6d: EQ 00000d6e: JUMPDEST 00000d6f: DUP1 00000d70: PUSH2 0x0d85 00000d73: JUMPI 00000d74: POP 00000d75: CALLER 00000d76: PUSH0 00000d77: DUP1 00000d78: MLOAD 00000d79: PUSH1 0x20 00000d7b: PUSH2 0x5dd2 00000d7e: DUP4 00000d7f: CODECOPY 00000d80: DUP2 00000d81: MLOAD 00000d82: SWAP2 00000d83: MSTORE 00000d84: EQ 00000d85: JUMPDEST 00000d86: DUP1 00000d87: PUSH2 0x0d9c 00000d8a: JUMPI 00000d8b: POP 00000d8c: CALLER 00000d8d: PUSH0 00000d8e: DUP1 00000d8f: MLOAD 00000d90: PUSH1 0x20 00000d92: PUSH2 0x5cf2 00000d95: DUP4 00000d96: CODECOPY 00000d97: DUP2 00000d98: MLOAD 00000d99: SWAP2 00000d9a: MSTORE 00000d9b: EQ 00000d9c: JUMPDEST 00000d9d: DUP1 00000d9e: PUSH2 0x0db3 00000da1: JUMPI 00000da2: POP 00000da3: CALLER 00000da4: PUSH0 00000da5: DUP1 00000da6: MLOAD 00000da7: PUSH1 0x20 00000da9: PUSH2 0x5db2 00000dac: DUP4 00000dad: CODECOPY 00000dae: DUP2 00000daf: MLOAD 00000db0: SWAP2 00000db1: MSTORE 00000db2: EQ 00000db3: JUMPDEST 00000db4: DUP1 00000db5: PUSH2 0x0dca 00000db8: JUMPI 00000db9: POP 00000dba: CALLER 00000dbb: PUSH0 00000dbc: DUP1 00000dbd: MLOAD 00000dbe: PUSH1 0x20 00000dc0: PUSH2 0x5e72 00000dc3: DUP4 00000dc4: CODECOPY 00000dc5: DUP2 00000dc6: MLOAD 00000dc7: SWAP2 00000dc8: MSTORE 00000dc9: EQ 00000dca: JUMPDEST 00000dcb: DUP1 00000dcc: PUSH2 0x0de3 00000dcf: JUMPI 00000dd0: POP 00000dd1: CALLER 00000dd2: PUSH0 00000dd3: SWAP1 00000dd4: DUP2 00000dd5: MSTORE 00000dd6: PUSH1 0x02 00000dd8: PUSH1 0x20 00000dda: MSTORE 00000ddb: PUSH1 0x40 00000ddd: SWAP1 00000dde: KECCAK256 00000ddf: SLOAD 00000de0: PUSH1 0xff 00000de2: AND 00000de3: JUMPDEST 00000de4: PUSH2 0x0dff 00000de7: JUMPI 00000de8: PUSH1 0x40 00000dea: MLOAD 00000deb: PUSH3 0x461bcd 00000def: PUSH1 0xe5 00000df1: SHL 00000df2: DUP2 00000df3: MSTORE 00000df4: PUSH1 0x04 00000df6: ADD 00000df7: PUSH2 0x09fd 00000dfa: SWAP1 00000dfb: PUSH2 0x58b8 00000dfe: JUMP 00000dff: JUMPDEST 00000e00: DUP1 00000e01: PUSH1 0x01 00000e03: PUSH1 0x01 00000e05: PUSH1 0xa0 00000e07: SHL 00000e08: SUB 00000e09: DUP2 00000e0a: AND 00000e0b: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00000e20: EQ 00000e21: DUP1 00000e22: PUSH2 0x0e47 00000e25: JUMPI 00000e26: POP 00000e27: PUSH1 0x01 00000e29: PUSH1 0x01 00000e2b: PUSH1 0xa0 00000e2d: SHL 00000e2e: SUB 00000e2f: DUP2 00000e30: AND 00000e31: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 00000e46: EQ 00000e47: JUMPDEST 00000e48: DUP1 00000e49: PUSH2 0x0e6e 00000e4c: JUMPI 00000e4d: POP 00000e4e: PUSH1 0x01 00000e50: PUSH1 0x01 00000e52: PUSH1 0xa0 00000e54: SHL 00000e55: SUB 00000e56: DUP2 00000e57: AND 00000e58: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00000e6d: EQ 00000e6e: JUMPDEST 00000e6f: DUP1 00000e70: PUSH2 0x0e95 00000e73: JUMPI 00000e74: POP 00000e75: PUSH1 0x01 00000e77: PUSH1 0x01 00000e79: PUSH1 0xa0 00000e7b: SHL 00000e7c: SUB 00000e7d: DUP2 00000e7e: AND 00000e7f: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00000e94: EQ 00000e95: JUMPDEST 00000e96: DUP1 00000e97: PUSH2 0x0ebc 00000e9a: JUMPI 00000e9b: POP 00000e9c: PUSH1 0x01 00000e9e: PUSH1 0x01 00000ea0: PUSH1 0xa0 00000ea2: SHL 00000ea3: SUB 00000ea4: DUP2 00000ea5: AND 00000ea6: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00000ebb: EQ 00000ebc: JUMPDEST 00000ebd: DUP1 00000ebe: PUSH2 0x0ee3 00000ec1: JUMPI 00000ec2: POP 00000ec3: PUSH1 0x01 00000ec5: PUSH1 0x01 00000ec7: PUSH1 0xa0 00000ec9: SHL 00000eca: SUB 00000ecb: DUP2 00000ecc: AND 00000ecd: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00000ee2: EQ 00000ee3: JUMPDEST 00000ee4: DUP1 00000ee5: PUSH2 0x0f05 00000ee8: JUMPI 00000ee9: POP 00000eea: PUSH1 0x01 00000eec: PUSH1 0x01 00000eee: PUSH1 0xa0 00000ef0: SHL 00000ef1: SUB 00000ef2: DUP2 00000ef3: AND 00000ef4: PUSH0 00000ef5: SWAP1 00000ef6: DUP2 00000ef7: MSTORE 00000ef8: PUSH1 0x0b 00000efa: PUSH1 0x20 00000efc: MSTORE 00000efd: PUSH1 0x40 00000eff: SWAP1 00000f00: KECCAK256 00000f01: SLOAD 00000f02: PUSH1 0xff 00000f04: AND 00000f05: JUMPDEST 00000f06: PUSH2 0x0f21 00000f09: JUMPI 00000f0a: PUSH1 0x40 00000f0c: MLOAD 00000f0d: PUSH3 0x461bcd 00000f11: PUSH1 0xe5 00000f13: SHL 00000f14: DUP2 00000f15: MSTORE 00000f16: PUSH1 0x04 00000f18: ADD 00000f19: PUSH2 0x09fd 00000f1c: SWAP1 00000f1d: PUSH2 0x58d6 00000f20: JUMP 00000f21: JUMPDEST 00000f22: PUSH2 0x0f2b 00000f25: DUP4 00000f26: DUP4 00000f27: PUSH2 0x3b3c 00000f2a: JUMP 00000f2b: JUMPDEST 00000f2c: POP 00000f2d: POP 00000f2e: POP 00000f2f: JUMP 00000f30: JUMPDEST 00000f31: CALLER 00000f32: PUSH0 00000f33: SWAP1 00000f34: DUP2 00000f35: MSTORE 00000f36: PUSH1 0x0a 00000f38: PUSH1 0x20 00000f3a: MSTORE 00000f3b: PUSH1 0x40 00000f3d: SWAP1 00000f3e: KECCAK256 00000f3f: SLOAD 00000f40: PUSH1 0xff 00000f42: AND 00000f43: PUSH2 0x0f5e 00000f46: JUMPI 00000f47: PUSH1 0x40 00000f49: MLOAD 00000f4a: PUSH3 0x461bcd 00000f4e: PUSH1 0xe5 00000f50: SHL 00000f51: DUP2 00000f52: MSTORE 00000f53: PUSH1 0x04 00000f55: ADD 00000f56: PUSH2 0x09fd 00000f59: SWAP1 00000f5a: PUSH2 0x596b 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: PUSH1 0x09 00000f61: SLOAD 00000f62: PUSH1 0x01 00000f64: PUSH1 0x01 00000f66: PUSH1 0xa0 00000f68: SHL 00000f69: SUB 00000f6a: AND 00000f6b: PUSH2 0x0fa8 00000f6e: JUMPI 00000f6f: PUSH1 0x40 00000f71: MLOAD 00000f72: PUSH3 0x461bcd 00000f76: PUSH1 0xe5 00000f78: SHL 00000f79: DUP2 00000f7a: MSTORE 00000f7b: PUSH1 0x20 00000f7d: PUSH1 0x04 00000f7f: DUP3 00000f80: ADD 00000f81: MSTORE 00000f82: PUSH1 0x0f 00000f84: PUSH1 0x24 00000f86: DUP3 00000f87: ADD 00000f88: MSTORE 00000f89: PUSH15 0x18d95e1059191c881b9bdd081cd95d 00000f99: PUSH1 0x8a 00000f9b: SHL 00000f9c: PUSH1 0x44 00000f9e: DUP3 00000f9f: ADD 00000fa0: MSTORE 00000fa1: PUSH1 0x64 00000fa3: ADD 00000fa4: PUSH2 0x09fd 00000fa7: JUMP 00000fa8: JUMPDEST 00000fa9: PUSH1 0x08 00000fab: SLOAD 00000fac: PUSH1 0x40 00000fae: MLOAD 00000faf: PUSH4 0x70a08231 00000fb4: PUSH1 0xe0 00000fb6: SHL 00000fb7: DUP2 00000fb8: MSTORE 00000fb9: ADDRESS 00000fba: PUSH1 0x04 00000fbc: DUP3 00000fbd: ADD 00000fbe: MSTORE 00000fbf: PUSH0 00000fc0: SWAP2 00000fc1: PUSH1 0x01 00000fc3: PUSH1 0x01 00000fc5: PUSH1 0xa0 00000fc7: SHL 00000fc8: SUB 00000fc9: AND 00000fca: SWAP1 00000fcb: PUSH4 0x70a08231 00000fd0: SWAP1 00000fd1: PUSH1 0x24 00000fd3: ADD 00000fd4: PUSH1 0x20 00000fd6: PUSH1 0x40 00000fd8: MLOAD 00000fd9: DUP1 00000fda: DUP4 00000fdb: SUB 00000fdc: DUP2 00000fdd: DUP7 00000fde: GAS 00000fdf: STATICCALL 00000fe0: ISZERO 00000fe1: DUP1 00000fe2: ISZERO 00000fe3: PUSH2 0x0fee 00000fe6: JUMPI 00000fe7: RETURNDATASIZE 00000fe8: PUSH0 00000fe9: DUP1 00000fea: RETURNDATACOPY 00000feb: RETURNDATASIZE 00000fec: PUSH0 00000fed: REVERT 00000fee: JUMPDEST 00000fef: POP 00000ff0: POP 00000ff1: POP 00000ff2: POP 00000ff3: PUSH1 0x40 00000ff5: MLOAD 00000ff6: RETURNDATASIZE 00000ff7: PUSH1 0x1f 00000ff9: NOT 00000ffa: PUSH1 0x1f 00000ffc: DUP3 00000ffd: ADD 00000ffe: AND 00000fff: DUP3 00001000: ADD 00001001: DUP1 00001002: PUSH1 0x40 00001004: MSTORE 00001005: POP 00001006: DUP2 00001007: ADD 00001008: SWAP1 00001009: PUSH2 0x1012 0000100c: SWAP2 0000100d: SWAP1 0000100e: PUSH2 0x5989 00001011: JUMP 00001012: JUMPDEST 00001013: SWAP1 00001014: POP 00001015: DUP2 00001016: DUP2 00001017: LT 00001018: ISZERO 00001019: PUSH2 0x1034 0000101c: JUMPI 0000101d: PUSH1 0x40 0000101f: MLOAD 00001020: PUSH3 0x461bcd 00001024: PUSH1 0xe5 00001026: SHL 00001027: DUP2 00001028: MSTORE 00001029: PUSH1 0x04 0000102b: ADD 0000102c: PUSH2 0x09fd 0000102f: SWAP1 00001030: PUSH2 0x59a0 00001033: JUMP 00001034: JUMPDEST 00001035: PUSH1 0x08 00001037: SLOAD 00001038: PUSH1 0x40 0000103a: MLOAD 0000103b: PUSH4 0x2e1a7d4d 00001040: PUSH1 0xe0 00001042: SHL 00001043: DUP2 00001044: MSTORE 00001045: PUSH1 0x04 00001047: DUP2 00001048: ADD 00001049: DUP5 0000104a: SWAP1 0000104b: MSTORE 0000104c: PUSH1 0x01 0000104e: PUSH1 0x01 00001050: PUSH1 0xa0 00001052: SHL 00001053: SUB 00001054: SWAP1 00001055: SWAP2 00001056: AND 00001057: SWAP1 00001058: PUSH4 0x2e1a7d4d 0000105d: SWAP1 0000105e: PUSH1 0x24 00001060: ADD 00001061: PUSH0 00001062: PUSH1 0x40 00001064: MLOAD 00001065: DUP1 00001066: DUP4 00001067: SUB 00001068: DUP2 00001069: PUSH0 0000106a: DUP8 0000106b: DUP1 0000106c: EXTCODESIZE 0000106d: ISZERO 0000106e: DUP1 0000106f: ISZERO 00001070: PUSH2 0x1077 00001073: JUMPI 00001074: PUSH0 00001075: DUP1 00001076: REVERT 00001077: JUMPDEST 00001078: POP 00001079: GAS 0000107a: CALL 0000107b: ISZERO 0000107c: DUP1 0000107d: ISZERO 0000107e: PUSH2 0x1089 00001081: JUMPI 00001082: RETURNDATASIZE 00001083: PUSH0 00001084: DUP1 00001085: RETURNDATACOPY 00001086: RETURNDATASIZE 00001087: PUSH0 00001088: REVERT 00001089: JUMPDEST 0000108a: POP 0000108b: POP 0000108c: PUSH1 0x09 0000108e: SLOAD 0000108f: PUSH1 0x40 00001091: MLOAD 00001092: PUSH1 0x01 00001094: PUSH1 0x01 00001096: PUSH1 0xa0 00001098: SHL 00001099: SUB 0000109a: SWAP1 0000109b: SWAP2 0000109c: AND 0000109d: SWAP3 0000109e: POP 0000109f: DUP5 000010a0: ISZERO 000010a1: PUSH2 0x08fc 000010a4: MUL 000010a5: SWAP2 000010a6: POP 000010a7: DUP5 000010a8: SWAP1 000010a9: PUSH0 000010aa: DUP2 000010ab: DUP2 000010ac: DUP2 000010ad: DUP6 000010ae: DUP9 000010af: DUP9 000010b0: CALL 000010b1: SWAP4 000010b2: POP 000010b3: POP 000010b4: POP 000010b5: POP 000010b6: ISZERO 000010b7: DUP1 000010b8: ISZERO 000010b9: PUSH2 0x10c4 000010bc: JUMPI 000010bd: RETURNDATASIZE 000010be: PUSH0 000010bf: DUP1 000010c0: RETURNDATACOPY 000010c1: RETURNDATASIZE 000010c2: PUSH0 000010c3: REVERT 000010c4: JUMPDEST 000010c5: POP 000010c6: PUSH1 0x08 000010c8: SLOAD 000010c9: PUSH1 0x40 000010cb: MLOAD 000010cc: PUSH4 0x70a08231 000010d1: PUSH1 0xe0 000010d3: SHL 000010d4: DUP2 000010d5: MSTORE 000010d6: ADDRESS 000010d7: PUSH1 0x04 000010d9: DUP3 000010da: ADD 000010db: MSTORE 000010dc: DUP4 000010dd: SWAP2 000010de: PUSH1 0x01 000010e0: PUSH1 0x01 000010e2: PUSH1 0xa0 000010e4: SHL 000010e5: SUB 000010e6: AND 000010e7: SWAP1 000010e8: PUSH4 0x70a08231 000010ed: SWAP1 000010ee: PUSH1 0x24 000010f0: ADD 000010f1: PUSH1 0x20 000010f3: PUSH1 0x40 000010f5: MLOAD 000010f6: DUP1 000010f7: DUP4 000010f8: SUB 000010f9: DUP2 000010fa: DUP7 000010fb: GAS 000010fc: STATICCALL 000010fd: ISZERO 000010fe: DUP1 000010ff: ISZERO 00001100: PUSH2 0x110b 00001103: JUMPI 00001104: RETURNDATASIZE 00001105: PUSH0 00001106: DUP1 00001107: RETURNDATACOPY 00001108: RETURNDATASIZE 00001109: PUSH0 0000110a: REVERT 0000110b: JUMPDEST 0000110c: POP 0000110d: POP 0000110e: POP 0000110f: POP 00001110: PUSH1 0x40 00001112: MLOAD 00001113: RETURNDATASIZE 00001114: PUSH1 0x1f 00001116: NOT 00001117: PUSH1 0x1f 00001119: DUP3 0000111a: ADD 0000111b: AND 0000111c: DUP3 0000111d: ADD 0000111e: DUP1 0000111f: PUSH1 0x40 00001121: MSTORE 00001122: POP 00001123: DUP2 00001124: ADD 00001125: SWAP1 00001126: PUSH2 0x112f 00001129: SWAP2 0000112a: SWAP1 0000112b: PUSH2 0x5989 0000112e: JUMP 0000112f: JUMPDEST 00001130: PUSH2 0x1139 00001133: SWAP1 00001134: DUP4 00001135: PUSH2 0x59d0 00001138: JUMP 00001139: JUMPDEST 0000113a: EQ 0000113b: PUSH2 0x116b 0000113e: JUMPI 0000113f: PUSH1 0x40 00001141: MLOAD 00001142: PUSH3 0x461bcd 00001146: PUSH1 0xe5 00001148: SHL 00001149: DUP2 0000114a: MSTORE 0000114b: PUSH1 0x20 0000114d: PUSH1 0x04 0000114f: DUP3 00001150: ADD 00001151: MSTORE 00001152: PUSH1 0x02 00001154: PUSH1 0x24 00001156: DUP3 00001157: ADD 00001158: MSTORE 00001159: PUSH2 0x373b 0000115c: PUSH1 0xf1 0000115e: SHL 0000115f: PUSH1 0x44 00001161: DUP3 00001162: ADD 00001163: MSTORE 00001164: PUSH1 0x64 00001166: ADD 00001167: PUSH2 0x09fd 0000116a: JUMP 0000116b: JUMPDEST 0000116c: POP 0000116d: POP 0000116e: JUMP 0000116f: JUMPDEST 00001170: PUSH0 00001171: SLOAD 00001172: PUSH1 0x01 00001174: PUSH1 0x01 00001176: PUSH1 0xa0 00001178: SHL 00001179: SUB 0000117a: AND 0000117b: CALLER 0000117c: EQ 0000117d: PUSH2 0x1198 00001180: JUMPI 00001181: PUSH1 0x40 00001183: MLOAD 00001184: PUSH3 0x461bcd 00001188: PUSH1 0xe5 0000118a: SHL 0000118b: DUP2 0000118c: MSTORE 0000118d: PUSH1 0x04 0000118f: ADD 00001190: PUSH2 0x09fd 00001193: SWAP1 00001194: PUSH2 0x594f 00001197: JUMP 00001198: JUMPDEST 00001199: PUSH1 0x40 0000119b: MLOAD 0000119c: PUSH4 0x70a08231 000011a1: PUSH1 0xe0 000011a3: SHL 000011a4: DUP2 000011a5: MSTORE 000011a6: ADDRESS 000011a7: PUSH1 0x04 000011a9: DUP3 000011aa: ADD 000011ab: MSTORE 000011ac: DUP2 000011ad: SWAP1 000011ae: PUSH1 0x01 000011b0: PUSH1 0x01 000011b2: PUSH1 0xa0 000011b4: SHL 000011b5: SUB 000011b6: DUP5 000011b7: AND 000011b8: SWAP1 000011b9: PUSH4 0x70a08231 000011be: SWAP1 000011bf: PUSH1 0x24 000011c1: ADD 000011c2: PUSH1 0x20 000011c4: PUSH1 0x40 000011c6: MLOAD 000011c7: DUP1 000011c8: DUP4 000011c9: SUB 000011ca: DUP2 000011cb: DUP7 000011cc: GAS 000011cd: STATICCALL 000011ce: ISZERO 000011cf: DUP1 000011d0: ISZERO 000011d1: PUSH2 0x11dc 000011d4: JUMPI 000011d5: RETURNDATASIZE 000011d6: PUSH0 000011d7: DUP1 000011d8: RETURNDATACOPY 000011d9: RETURNDATASIZE 000011da: PUSH0 000011db: REVERT 000011dc: JUMPDEST 000011dd: POP 000011de: POP 000011df: POP 000011e0: POP 000011e1: PUSH1 0x40 000011e3: MLOAD 000011e4: RETURNDATASIZE 000011e5: PUSH1 0x1f 000011e7: NOT 000011e8: PUSH1 0x1f 000011ea: DUP3 000011eb: ADD 000011ec: AND 000011ed: DUP3 000011ee: ADD 000011ef: DUP1 000011f0: PUSH1 0x40 000011f2: MSTORE 000011f3: POP 000011f4: DUP2 000011f5: ADD 000011f6: SWAP1 000011f7: PUSH2 0x1200 000011fa: SWAP2 000011fb: SWAP1 000011fc: PUSH2 0x5989 000011ff: JUMP 00001200: JUMPDEST 00001201: LT 00001202: ISZERO 00001203: PUSH2 0x121e 00001206: JUMPI 00001207: PUSH1 0x40 00001209: MLOAD 0000120a: PUSH3 0x461bcd 0000120e: PUSH1 0xe5 00001210: SHL 00001211: DUP2 00001212: MSTORE 00001213: PUSH1 0x04 00001215: ADD 00001216: PUSH2 0x09fd 00001219: SWAP1 0000121a: PUSH2 0x59a0 0000121d: JUMP 0000121e: JUMPDEST 0000121f: PUSH0 00001220: SLOAD 00001221: PUSH2 0x116b 00001224: SWAP1 00001225: PUSH1 0x01 00001227: PUSH1 0x01 00001229: PUSH1 0xa0 0000122b: SHL 0000122c: SUB 0000122d: DUP5 0000122e: DUP2 0000122f: AND 00001230: SWAP2 00001231: AND 00001232: DUP4 00001233: PUSH2 0x3d19 00001236: JUMP 00001237: JUMPDEST 00001238: PUSH0 00001239: SLOAD 0000123a: PUSH1 0x01 0000123c: PUSH1 0x01 0000123e: PUSH1 0xa0 00001240: SHL 00001241: SUB 00001242: AND 00001243: CALLER 00001244: EQ 00001245: PUSH2 0x1260 00001248: JUMPI 00001249: PUSH1 0x40 0000124b: MLOAD 0000124c: PUSH3 0x461bcd 00001250: PUSH1 0xe5 00001252: SHL 00001253: DUP2 00001254: MSTORE 00001255: PUSH1 0x04 00001257: ADD 00001258: PUSH2 0x09fd 0000125b: SWAP1 0000125c: PUSH2 0x594f 0000125f: JUMP 00001260: JUMPDEST 00001261: PUSH1 0x01 00001263: PUSH1 0x01 00001265: PUSH1 0xa0 00001267: SHL 00001268: SUB 00001269: AND 0000126a: PUSH0 0000126b: SWAP1 0000126c: DUP2 0000126d: MSTORE 0000126e: PUSH1 0x06 00001270: PUSH1 0x20 00001272: MSTORE 00001273: PUSH1 0x40 00001275: SWAP1 00001276: KECCAK256 00001277: PUSH1 0x03 00001279: ADD 0000127a: DUP1 0000127b: SLOAD 0000127c: PUSH1 0xff 0000127e: NOT 0000127f: AND 00001280: SWAP1 00001281: SSTORE 00001282: JUMP 00001283: JUMPDEST 00001284: CALLER 00001285: PUSH0 00001286: SWAP1 00001287: DUP2 00001288: MSTORE 00001289: PUSH1 0x0a 0000128b: PUSH1 0x20 0000128d: MSTORE 0000128e: PUSH1 0x40 00001290: SWAP1 00001291: KECCAK256 00001292: SLOAD 00001293: PUSH1 0xff 00001295: AND 00001296: PUSH2 0x12b1 00001299: JUMPI 0000129a: PUSH1 0x40 0000129c: MLOAD 0000129d: PUSH3 0x461bcd 000012a1: PUSH1 0xe5 000012a3: SHL 000012a4: DUP2 000012a5: MSTORE 000012a6: PUSH1 0x04 000012a8: ADD 000012a9: PUSH2 0x09fd 000012ac: SWAP1 000012ad: PUSH2 0x596b 000012b0: JUMP 000012b1: JUMPDEST 000012b2: DUP1 000012b3: PUSH1 0x01 000012b5: PUSH1 0x01 000012b7: PUSH1 0xa0 000012b9: SHL 000012ba: SUB 000012bb: DUP2 000012bc: AND 000012bd: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 000012d2: EQ 000012d3: DUP1 000012d4: PUSH2 0x12f9 000012d7: JUMPI 000012d8: POP 000012d9: PUSH1 0x01 000012db: PUSH1 0x01 000012dd: PUSH1 0xa0 000012df: SHL 000012e0: SUB 000012e1: DUP2 000012e2: AND 000012e3: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 000012f8: EQ 000012f9: JUMPDEST 000012fa: DUP1 000012fb: PUSH2 0x1320 000012fe: JUMPI 000012ff: POP 00001300: PUSH1 0x01 00001302: PUSH1 0x01 00001304: PUSH1 0xa0 00001306: SHL 00001307: SUB 00001308: DUP2 00001309: AND 0000130a: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 0000131f: EQ 00001320: JUMPDEST 00001321: DUP1 00001322: PUSH2 0x1347 00001325: JUMPI 00001326: POP 00001327: PUSH1 0x01 00001329: PUSH1 0x01 0000132b: PUSH1 0xa0 0000132d: SHL 0000132e: SUB 0000132f: DUP2 00001330: AND 00001331: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00001346: EQ 00001347: JUMPDEST 00001348: DUP1 00001349: PUSH2 0x136e 0000134c: JUMPI 0000134d: POP 0000134e: PUSH1 0x01 00001350: PUSH1 0x01 00001352: PUSH1 0xa0 00001354: SHL 00001355: SUB 00001356: DUP2 00001357: AND 00001358: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 0000136d: EQ 0000136e: JUMPDEST 0000136f: DUP1 00001370: PUSH2 0x1395 00001373: JUMPI 00001374: POP 00001375: PUSH1 0x01 00001377: PUSH1 0x01 00001379: PUSH1 0xa0 0000137b: SHL 0000137c: SUB 0000137d: DUP2 0000137e: AND 0000137f: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00001394: EQ 00001395: JUMPDEST 00001396: DUP1 00001397: PUSH2 0x13b7 0000139a: JUMPI 0000139b: POP 0000139c: PUSH1 0x01 0000139e: PUSH1 0x01 000013a0: PUSH1 0xa0 000013a2: SHL 000013a3: SUB 000013a4: DUP2 000013a5: AND 000013a6: PUSH0 000013a7: SWAP1 000013a8: DUP2 000013a9: MSTORE 000013aa: PUSH1 0x0b 000013ac: PUSH1 0x20 000013ae: MSTORE 000013af: PUSH1 0x40 000013b1: SWAP1 000013b2: KECCAK256 000013b3: SLOAD 000013b4: PUSH1 0xff 000013b6: AND 000013b7: JUMPDEST 000013b8: PUSH2 0x13d3 000013bb: JUMPI 000013bc: PUSH1 0x40 000013be: MLOAD 000013bf: PUSH3 0x461bcd 000013c3: PUSH1 0xe5 000013c5: SHL 000013c6: DUP2 000013c7: MSTORE 000013c8: PUSH1 0x04 000013ca: ADD 000013cb: PUSH2 0x09fd 000013ce: SWAP1 000013cf: PUSH2 0x58d6 000013d2: JUMP 000013d3: JUMPDEST 000013d4: PUSH1 0x08 000013d6: SLOAD 000013d7: PUSH1 0x40 000013d9: MLOAD 000013da: PUSH4 0x70a08231 000013df: PUSH1 0xe0 000013e1: SHL 000013e2: DUP2 000013e3: MSTORE 000013e4: ADDRESS 000013e5: PUSH1 0x04 000013e7: DUP3 000013e8: ADD 000013e9: MSTORE 000013ea: PUSH0 000013eb: SWAP2 000013ec: PUSH1 0x01 000013ee: PUSH1 0x01 000013f0: PUSH1 0xa0 000013f2: SHL 000013f3: SUB 000013f4: AND 000013f5: SWAP1 000013f6: PUSH4 0x70a08231 000013fb: SWAP1 000013fc: PUSH1 0x24 000013fe: ADD 000013ff: PUSH1 0x20 00001401: PUSH1 0x40 00001403: MLOAD 00001404: DUP1 00001405: DUP4 00001406: SUB 00001407: DUP2 00001408: DUP7 00001409: GAS 0000140a: STATICCALL 0000140b: ISZERO 0000140c: DUP1 0000140d: ISZERO 0000140e: PUSH2 0x1419 00001411: JUMPI 00001412: RETURNDATASIZE 00001413: PUSH0 00001414: DUP1 00001415: RETURNDATACOPY 00001416: RETURNDATASIZE 00001417: PUSH0 00001418: REVERT 00001419: JUMPDEST 0000141a: POP 0000141b: POP 0000141c: POP 0000141d: POP 0000141e: PUSH1 0x40 00001420: MLOAD 00001421: RETURNDATASIZE 00001422: PUSH1 0x1f 00001424: NOT 00001425: PUSH1 0x1f 00001427: DUP3 00001428: ADD 00001429: AND 0000142a: DUP3 0000142b: ADD 0000142c: DUP1 0000142d: PUSH1 0x40 0000142f: MSTORE 00001430: POP 00001431: DUP2 00001432: ADD 00001433: SWAP1 00001434: PUSH2 0x143d 00001437: SWAP2 00001438: SWAP1 00001439: PUSH2 0x5989 0000143c: JUMP 0000143d: JUMPDEST 0000143e: SWAP1 0000143f: POP 00001440: DUP4 00001441: DUP2 00001442: LT 00001443: ISZERO 00001444: PUSH2 0x145f 00001447: JUMPI 00001448: PUSH1 0x40 0000144a: MLOAD 0000144b: PUSH3 0x461bcd 0000144f: PUSH1 0xe5 00001451: SHL 00001452: DUP2 00001453: MSTORE 00001454: PUSH1 0x04 00001456: ADD 00001457: PUSH2 0x09fd 0000145a: SWAP1 0000145b: PUSH2 0x59a0 0000145e: JUMP 0000145f: JUMPDEST 00001460: PUSH1 0x08 00001462: SLOAD 00001463: PUSH1 0x40 00001465: MLOAD 00001466: PUSH4 0x2e1a7d4d 0000146b: PUSH1 0xe0 0000146d: SHL 0000146e: DUP2 0000146f: MSTORE 00001470: PUSH1 0x04 00001472: DUP2 00001473: ADD 00001474: DUP7 00001475: SWAP1 00001476: MSTORE 00001477: PUSH1 0x01 00001479: PUSH1 0x01 0000147b: PUSH1 0xa0 0000147d: SHL 0000147e: SUB 0000147f: SWAP1 00001480: SWAP2 00001481: AND 00001482: SWAP1 00001483: PUSH4 0x2e1a7d4d 00001488: SWAP1 00001489: PUSH1 0x24 0000148b: ADD 0000148c: PUSH0 0000148d: PUSH1 0x40 0000148f: MLOAD 00001490: DUP1 00001491: DUP4 00001492: SUB 00001493: DUP2 00001494: PUSH0 00001495: DUP8 00001496: DUP1 00001497: EXTCODESIZE 00001498: ISZERO 00001499: DUP1 0000149a: ISZERO 0000149b: PUSH2 0x14a2 0000149e: JUMPI 0000149f: PUSH0 000014a0: DUP1 000014a1: REVERT 000014a2: JUMPDEST 000014a3: POP 000014a4: GAS 000014a5: CALL 000014a6: ISZERO 000014a7: DUP1 000014a8: ISZERO 000014a9: PUSH2 0x14b4 000014ac: JUMPI 000014ad: RETURNDATASIZE 000014ae: PUSH0 000014af: DUP1 000014b0: RETURNDATACOPY 000014b1: RETURNDATASIZE 000014b2: PUSH0 000014b3: REVERT 000014b4: JUMPDEST 000014b5: POP 000014b6: POP 000014b7: PUSH1 0x40 000014b9: MLOAD 000014ba: PUSH1 0x01 000014bc: PUSH1 0x01 000014be: PUSH1 0xa0 000014c0: SHL 000014c1: SUB 000014c2: DUP7 000014c3: AND 000014c4: SWAP3 000014c5: POP 000014c6: DUP7 000014c7: ISZERO 000014c8: PUSH2 0x08fc 000014cb: MUL 000014cc: SWAP2 000014cd: POP 000014ce: DUP7 000014cf: SWAP1 000014d0: PUSH0 000014d1: DUP2 000014d2: DUP2 000014d3: DUP2 000014d4: DUP6 000014d5: DUP9 000014d6: DUP9 000014d7: CALL 000014d8: SWAP4 000014d9: POP 000014da: POP 000014db: POP 000014dc: POP 000014dd: ISZERO 000014de: DUP1 000014df: ISZERO 000014e0: PUSH2 0x14eb 000014e3: JUMPI 000014e4: RETURNDATASIZE 000014e5: PUSH0 000014e6: DUP1 000014e7: RETURNDATACOPY 000014e8: RETURNDATASIZE 000014e9: PUSH0 000014ea: REVERT 000014eb: JUMPDEST 000014ec: POP 000014ed: PUSH1 0x08 000014ef: SLOAD 000014f0: PUSH1 0x40 000014f2: MLOAD 000014f3: PUSH4 0x70a08231 000014f8: PUSH1 0xe0 000014fa: SHL 000014fb: DUP2 000014fc: MSTORE 000014fd: ADDRESS 000014fe: PUSH1 0x04 00001500: DUP3 00001501: ADD 00001502: MSTORE 00001503: DUP6 00001504: SWAP2 00001505: PUSH1 0x01 00001507: PUSH1 0x01 00001509: PUSH1 0xa0 0000150b: SHL 0000150c: SUB 0000150d: AND 0000150e: SWAP1 0000150f: PUSH4 0x70a08231 00001514: SWAP1 00001515: PUSH1 0x24 00001517: ADD 00001518: PUSH1 0x20 0000151a: PUSH1 0x40 0000151c: MLOAD 0000151d: DUP1 0000151e: DUP4 0000151f: SUB 00001520: DUP2 00001521: DUP7 00001522: GAS 00001523: STATICCALL 00001524: ISZERO 00001525: DUP1 00001526: ISZERO 00001527: PUSH2 0x1532 0000152a: JUMPI 0000152b: RETURNDATASIZE 0000152c: PUSH0 0000152d: DUP1 0000152e: RETURNDATACOPY 0000152f: RETURNDATASIZE 00001530: PUSH0 00001531: REVERT 00001532: JUMPDEST 00001533: POP 00001534: POP 00001535: POP 00001536: POP 00001537: PUSH1 0x40 00001539: MLOAD 0000153a: RETURNDATASIZE 0000153b: PUSH1 0x1f 0000153d: NOT 0000153e: PUSH1 0x1f 00001540: DUP3 00001541: ADD 00001542: AND 00001543: DUP3 00001544: ADD 00001545: DUP1 00001546: PUSH1 0x40 00001548: MSTORE 00001549: POP 0000154a: DUP2 0000154b: ADD 0000154c: SWAP1 0000154d: PUSH2 0x1556 00001550: SWAP2 00001551: SWAP1 00001552: PUSH2 0x5989 00001555: JUMP 00001556: JUMPDEST 00001557: PUSH2 0x1560 0000155a: SWAP1 0000155b: DUP4 0000155c: PUSH2 0x59d0 0000155f: JUMP 00001560: JUMPDEST 00001561: EQ 00001562: PUSH2 0x0c08 00001565: JUMPI 00001566: PUSH1 0x40 00001568: MLOAD 00001569: PUSH3 0x461bcd 0000156d: PUSH1 0xe5 0000156f: SHL 00001570: DUP2 00001571: MSTORE 00001572: PUSH1 0x20 00001574: PUSH1 0x04 00001576: DUP3 00001577: ADD 00001578: MSTORE 00001579: PUSH1 0x02 0000157b: PUSH1 0x24 0000157d: DUP3 0000157e: ADD 0000157f: MSTORE 00001580: PUSH2 0x373b 00001583: PUSH1 0xf1 00001585: SHL 00001586: PUSH1 0x44 00001588: DUP3 00001589: ADD 0000158a: MSTORE 0000158b: PUSH1 0x64 0000158d: ADD 0000158e: PUSH2 0x09fd 00001591: JUMP 00001592: JUMPDEST 00001593: PUSH0 00001594: SLOAD 00001595: PUSH1 0x01 00001597: PUSH1 0x01 00001599: PUSH1 0xa0 0000159b: SHL 0000159c: SUB 0000159d: AND 0000159e: CALLER 0000159f: EQ 000015a0: PUSH2 0x15bb 000015a3: JUMPI 000015a4: PUSH1 0x40 000015a6: MLOAD 000015a7: PUSH3 0x461bcd 000015ab: PUSH1 0xe5 000015ad: SHL 000015ae: DUP2 000015af: MSTORE 000015b0: PUSH1 0x04 000015b2: ADD 000015b3: PUSH2 0x09fd 000015b6: SWAP1 000015b7: PUSH2 0x594f 000015ba: JUMP 000015bb: JUMPDEST 000015bc: SELFBALANCE 000015bd: DUP2 000015be: DUP2 000015bf: LT 000015c0: ISZERO 000015c1: PUSH2 0x15dc 000015c4: JUMPI 000015c5: PUSH1 0x40 000015c7: MLOAD 000015c8: PUSH3 0x461bcd 000015cc: PUSH1 0xe5 000015ce: SHL 000015cf: DUP2 000015d0: MSTORE 000015d1: PUSH1 0x04 000015d3: ADD 000015d4: PUSH2 0x09fd 000015d7: SWAP1 000015d8: PUSH2 0x59a0 000015db: JUMP 000015dc: JUMPDEST 000015dd: PUSH0 000015de: DUP1 000015df: SLOAD 000015e0: PUSH1 0x40 000015e2: MLOAD 000015e3: PUSH1 0x01 000015e5: PUSH1 0x01 000015e7: PUSH1 0xa0 000015e9: SHL 000015ea: SUB 000015eb: SWAP1 000015ec: SWAP2 000015ed: AND 000015ee: SWAP2 000015ef: DUP5 000015f0: ISZERO 000015f1: PUSH2 0x08fc 000015f4: MUL 000015f5: SWAP2 000015f6: DUP6 000015f7: SWAP2 000015f8: DUP2 000015f9: DUP2 000015fa: DUP2 000015fb: DUP6 000015fc: DUP9 000015fd: DUP9 000015fe: CALL 000015ff: SWAP4 00001600: POP 00001601: POP 00001602: POP 00001603: POP 00001604: ISZERO 00001605: DUP1 00001606: ISZERO 00001607: PUSH2 0x0f2b 0000160a: JUMPI 0000160b: RETURNDATASIZE 0000160c: PUSH0 0000160d: DUP1 0000160e: RETURNDATACOPY 0000160f: RETURNDATASIZE 00001610: PUSH0 00001611: REVERT 00001612: JUMPDEST 00001613: CALLER 00001614: PUSH0 00001615: DUP1 00001616: MLOAD 00001617: PUSH1 0x20 00001619: PUSH2 0x5d12 0000161c: DUP4 0000161d: CODECOPY 0000161e: DUP2 0000161f: MLOAD 00001620: SWAP2 00001621: MSTORE 00001622: EQ 00001623: DUP1 00001624: PUSH2 0x1639 00001627: JUMPI 00001628: POP 00001629: CALLER 0000162a: PUSH0 0000162b: DUP1 0000162c: MLOAD 0000162d: PUSH1 0x20 0000162f: PUSH2 0x5e12 00001632: DUP4 00001633: CODECOPY 00001634: DUP2 00001635: MLOAD 00001636: SWAP2 00001637: MSTORE 00001638: EQ 00001639: JUMPDEST 0000163a: DUP1 0000163b: PUSH2 0x1650 0000163e: JUMPI 0000163f: POP 00001640: CALLER 00001641: PUSH0 00001642: DUP1 00001643: MLOAD 00001644: PUSH1 0x20 00001646: PUSH2 0x5d52 00001649: DUP4 0000164a: CODECOPY 0000164b: DUP2 0000164c: MLOAD 0000164d: SWAP2 0000164e: MSTORE 0000164f: EQ 00001650: JUMPDEST 00001651: DUP1 00001652: PUSH2 0x1667 00001655: JUMPI 00001656: POP 00001657: CALLER 00001658: PUSH0 00001659: DUP1 0000165a: MLOAD 0000165b: PUSH1 0x20 0000165d: PUSH2 0x5d52 00001660: DUP4 00001661: CODECOPY 00001662: DUP2 00001663: MLOAD 00001664: SWAP2 00001665: MSTORE 00001666: EQ 00001667: JUMPDEST 00001668: DUP1 00001669: PUSH2 0x167e 0000166c: JUMPI 0000166d: POP 0000166e: CALLER 0000166f: PUSH0 00001670: DUP1 00001671: MLOAD 00001672: PUSH1 0x20 00001674: PUSH2 0x5d32 00001677: DUP4 00001678: CODECOPY 00001679: DUP2 0000167a: MLOAD 0000167b: SWAP2 0000167c: MSTORE 0000167d: EQ 0000167e: JUMPDEST 0000167f: DUP1 00001680: PUSH2 0x1695 00001683: JUMPI 00001684: POP 00001685: CALLER 00001686: PUSH0 00001687: DUP1 00001688: MLOAD 00001689: PUSH1 0x20 0000168b: PUSH2 0x5e52 0000168e: DUP4 0000168f: CODECOPY 00001690: DUP2 00001691: MLOAD 00001692: SWAP2 00001693: MSTORE 00001694: EQ 00001695: JUMPDEST 00001696: DUP1 00001697: PUSH2 0x16ac 0000169a: JUMPI 0000169b: POP 0000169c: CALLER 0000169d: PUSH0 0000169e: DUP1 0000169f: MLOAD 000016a0: PUSH1 0x20 000016a2: PUSH2 0x5cd2 000016a5: DUP4 000016a6: CODECOPY 000016a7: DUP2 000016a8: MLOAD 000016a9: SWAP2 000016aa: MSTORE 000016ab: EQ 000016ac: JUMPDEST 000016ad: DUP1 000016ae: PUSH2 0x16c3 000016b1: JUMPI 000016b2: POP 000016b3: CALLER 000016b4: PUSH0 000016b5: DUP1 000016b6: MLOAD 000016b7: PUSH1 0x20 000016b9: PUSH2 0x5cb2 000016bc: DUP4 000016bd: CODECOPY 000016be: DUP2 000016bf: MLOAD 000016c0: SWAP2 000016c1: MSTORE 000016c2: EQ 000016c3: JUMPDEST 000016c4: DUP1 000016c5: PUSH2 0x16da 000016c8: JUMPI 000016c9: POP 000016ca: CALLER 000016cb: PUSH0 000016cc: DUP1 000016cd: MLOAD 000016ce: PUSH1 0x20 000016d0: PUSH2 0x5d92 000016d3: DUP4 000016d4: CODECOPY 000016d5: DUP2 000016d6: MLOAD 000016d7: SWAP2 000016d8: MSTORE 000016d9: EQ 000016da: JUMPDEST 000016db: DUP1 000016dc: PUSH2 0x16f1 000016df: JUMPI 000016e0: POP 000016e1: CALLER 000016e2: PUSH0 000016e3: DUP1 000016e4: MLOAD 000016e5: PUSH1 0x20 000016e7: PUSH2 0x5df2 000016ea: DUP4 000016eb: CODECOPY 000016ec: DUP2 000016ed: MLOAD 000016ee: SWAP2 000016ef: MSTORE 000016f0: EQ 000016f1: JUMPDEST 000016f2: DUP1 000016f3: PUSH2 0x1708 000016f6: JUMPI 000016f7: POP 000016f8: CALLER 000016f9: PUSH0 000016fa: DUP1 000016fb: MLOAD 000016fc: PUSH1 0x20 000016fe: PUSH2 0x5e32 00001701: DUP4 00001702: CODECOPY 00001703: DUP2 00001704: MLOAD 00001705: SWAP2 00001706: MSTORE 00001707: EQ 00001708: JUMPDEST 00001709: DUP1 0000170a: PUSH2 0x171f 0000170d: JUMPI 0000170e: POP 0000170f: CALLER 00001710: PUSH0 00001711: DUP1 00001712: MLOAD 00001713: PUSH1 0x20 00001715: PUSH2 0x5d72 00001718: DUP4 00001719: CODECOPY 0000171a: DUP2 0000171b: MLOAD 0000171c: SWAP2 0000171d: MSTORE 0000171e: EQ 0000171f: JUMPDEST 00001720: DUP1 00001721: PUSH2 0x1736 00001724: JUMPI 00001725: POP 00001726: CALLER 00001727: PUSH0 00001728: DUP1 00001729: MLOAD 0000172a: PUSH1 0x20 0000172c: PUSH2 0x5dd2 0000172f: DUP4 00001730: CODECOPY 00001731: DUP2 00001732: MLOAD 00001733: SWAP2 00001734: MSTORE 00001735: EQ 00001736: JUMPDEST 00001737: DUP1 00001738: PUSH2 0x174d 0000173b: JUMPI 0000173c: POP 0000173d: CALLER 0000173e: PUSH0 0000173f: DUP1 00001740: MLOAD 00001741: PUSH1 0x20 00001743: PUSH2 0x5cf2 00001746: DUP4 00001747: CODECOPY 00001748: DUP2 00001749: MLOAD 0000174a: SWAP2 0000174b: MSTORE 0000174c: EQ 0000174d: JUMPDEST 0000174e: DUP1 0000174f: PUSH2 0x1764 00001752: JUMPI 00001753: POP 00001754: CALLER 00001755: PUSH0 00001756: DUP1 00001757: MLOAD 00001758: PUSH1 0x20 0000175a: PUSH2 0x5db2 0000175d: DUP4 0000175e: CODECOPY 0000175f: DUP2 00001760: MLOAD 00001761: SWAP2 00001762: MSTORE 00001763: EQ 00001764: JUMPDEST 00001765: DUP1 00001766: PUSH2 0x177b 00001769: JUMPI 0000176a: POP 0000176b: CALLER 0000176c: PUSH0 0000176d: DUP1 0000176e: MLOAD 0000176f: PUSH1 0x20 00001771: PUSH2 0x5e72 00001774: DUP4 00001775: CODECOPY 00001776: DUP2 00001777: MLOAD 00001778: SWAP2 00001779: MSTORE 0000177a: EQ 0000177b: JUMPDEST 0000177c: DUP1 0000177d: PUSH2 0x1794 00001780: JUMPI 00001781: POP 00001782: CALLER 00001783: PUSH0 00001784: SWAP1 00001785: DUP2 00001786: MSTORE 00001787: PUSH1 0x02 00001789: PUSH1 0x20 0000178b: MSTORE 0000178c: PUSH1 0x40 0000178e: SWAP1 0000178f: KECCAK256 00001790: SLOAD 00001791: PUSH1 0xff 00001793: AND 00001794: JUMPDEST 00001795: PUSH2 0x17b0 00001798: JUMPI 00001799: PUSH1 0x40 0000179b: MLOAD 0000179c: PUSH3 0x461bcd 000017a0: PUSH1 0xe5 000017a2: SHL 000017a3: DUP2 000017a4: MSTORE 000017a5: PUSH1 0x04 000017a7: ADD 000017a8: PUSH2 0x09fd 000017ab: SWAP1 000017ac: PUSH2 0x58b8 000017af: JUMP 000017b0: JUMPDEST 000017b1: PUSH2 0x17b9 000017b4: DUP2 000017b5: PUSH2 0x3d7c 000017b8: JUMP 000017b9: JUMPDEST 000017ba: POP 000017bb: JUMP 000017bc: JUMPDEST 000017bd: PUSH0 000017be: SLOAD 000017bf: PUSH1 0x01 000017c1: PUSH1 0x01 000017c3: PUSH1 0xa0 000017c5: SHL 000017c6: SUB 000017c7: AND 000017c8: CALLER 000017c9: EQ 000017ca: PUSH2 0x17e5 000017cd: JUMPI 000017ce: PUSH1 0x40 000017d0: MLOAD 000017d1: PUSH3 0x461bcd 000017d5: PUSH1 0xe5 000017d7: SHL 000017d8: DUP2 000017d9: MSTORE 000017da: PUSH1 0x04 000017dc: ADD 000017dd: PUSH2 0x09fd 000017e0: SWAP1 000017e1: PUSH2 0x594f 000017e4: JUMP 000017e5: JUMPDEST 000017e6: PUSH1 0x01 000017e8: PUSH1 0x01 000017ea: PUSH1 0xa0 000017ec: SHL 000017ed: SUB 000017ee: SWAP2 000017ef: SWAP1 000017f0: SWAP2 000017f1: AND 000017f2: PUSH0 000017f3: SWAP1 000017f4: DUP2 000017f5: MSTORE 000017f6: PUSH1 0x02 000017f8: PUSH1 0x20 000017fa: MSTORE 000017fb: PUSH1 0x40 000017fd: SWAP1 000017fe: KECCAK256 000017ff: DUP1 00001800: SLOAD 00001801: PUSH1 0xff 00001803: NOT 00001804: AND 00001805: SWAP2 00001806: ISZERO 00001807: ISZERO 00001808: SWAP2 00001809: SWAP1 0000180a: SWAP2 0000180b: OR 0000180c: SWAP1 0000180d: SSTORE 0000180e: JUMP 0000180f: JUMPDEST 00001810: CALLER 00001811: PUSH0 00001812: SWAP1 00001813: DUP2 00001814: MSTORE 00001815: PUSH1 0x01 00001817: PUSH1 0x20 00001819: MSTORE 0000181a: PUSH1 0x40 0000181c: SWAP1 0000181d: KECCAK256 0000181e: SLOAD 0000181f: PUSH1 0xff 00001821: AND 00001822: PUSH2 0x183d 00001825: JUMPI 00001826: PUSH1 0x40 00001828: MLOAD 00001829: PUSH3 0x461bcd 0000182d: PUSH1 0xe5 0000182f: SHL 00001830: DUP2 00001831: MSTORE 00001832: PUSH1 0x04 00001834: ADD 00001835: PUSH2 0x09fd 00001838: SWAP1 00001839: PUSH2 0x59e3 0000183c: JUMP 0000183d: JUMPDEST 0000183e: PUSH0 0000183f: JUMPDEST 00001840: DUP3 00001841: MLOAD 00001842: DUP2 00001843: LT 00001844: ISZERO 00001845: PUSH2 0x0f2b 00001848: JUMPI 00001849: PUSH2 0x186b 0000184c: DUP4 0000184d: DUP3 0000184e: DUP2 0000184f: MLOAD 00001850: DUP2 00001851: LT 00001852: PUSH2 0x185d 00001855: JUMPI 00001856: PUSH2 0x185d 00001859: PUSH2 0x5a03 0000185c: JUMP 0000185d: JUMPDEST 0000185e: PUSH1 0x20 00001860: MUL 00001861: PUSH1 0x20 00001863: ADD 00001864: ADD 00001865: MLOAD 00001866: DUP4 00001867: PUSH2 0x3d86 0000186a: JUMP 0000186b: JUMPDEST 0000186c: DUP1 0000186d: PUSH2 0x1875 00001870: DUP2 00001871: PUSH2 0x5a17 00001874: JUMP 00001875: JUMPDEST 00001876: SWAP2 00001877: POP 00001878: POP 00001879: PUSH2 0x183f 0000187c: JUMP 0000187d: JUMPDEST 0000187e: CALLER 0000187f: PUSH0 00001880: DUP1 00001881: MLOAD 00001882: PUSH1 0x20 00001884: PUSH2 0x5d12 00001887: DUP4 00001888: CODECOPY 00001889: DUP2 0000188a: MLOAD 0000188b: SWAP2 0000188c: MSTORE 0000188d: EQ 0000188e: DUP1 0000188f: PUSH2 0x18a4 00001892: JUMPI 00001893: POP 00001894: CALLER 00001895: PUSH0 00001896: DUP1 00001897: MLOAD 00001898: PUSH1 0x20 0000189a: PUSH2 0x5e12 0000189d: DUP4 0000189e: CODECOPY 0000189f: DUP2 000018a0: MLOAD 000018a1: SWAP2 000018a2: MSTORE 000018a3: EQ 000018a4: JUMPDEST 000018a5: DUP1 000018a6: PUSH2 0x18bb 000018a9: JUMPI 000018aa: POP 000018ab: CALLER 000018ac: PUSH0 000018ad: DUP1 000018ae: MLOAD 000018af: PUSH1 0x20 000018b1: PUSH2 0x5d52 000018b4: DUP4 000018b5: CODECOPY 000018b6: DUP2 000018b7: MLOAD 000018b8: SWAP2 000018b9: MSTORE 000018ba: EQ 000018bb: JUMPDEST 000018bc: DUP1 000018bd: PUSH2 0x18d2 000018c0: JUMPI 000018c1: POP 000018c2: CALLER 000018c3: PUSH0 000018c4: DUP1 000018c5: MLOAD 000018c6: PUSH1 0x20 000018c8: PUSH2 0x5d52 000018cb: DUP4 000018cc: CODECOPY 000018cd: DUP2 000018ce: MLOAD 000018cf: SWAP2 000018d0: MSTORE 000018d1: EQ 000018d2: JUMPDEST 000018d3: DUP1 000018d4: PUSH2 0x18e9 000018d7: JUMPI 000018d8: POP 000018d9: CALLER 000018da: PUSH0 000018db: DUP1 000018dc: MLOAD 000018dd: PUSH1 0x20 000018df: PUSH2 0x5d32 000018e2: DUP4 000018e3: CODECOPY 000018e4: DUP2 000018e5: MLOAD 000018e6: SWAP2 000018e7: MSTORE 000018e8: EQ 000018e9: JUMPDEST 000018ea: DUP1 000018eb: PUSH2 0x1900 000018ee: JUMPI 000018ef: POP 000018f0: CALLER 000018f1: PUSH0 000018f2: DUP1 000018f3: MLOAD 000018f4: PUSH1 0x20 000018f6: PUSH2 0x5e52 000018f9: DUP4 000018fa: CODECOPY 000018fb: DUP2 000018fc: MLOAD 000018fd: SWAP2 000018fe: MSTORE 000018ff: EQ 00001900: JUMPDEST 00001901: DUP1 00001902: PUSH2 0x1917 00001905: JUMPI 00001906: POP 00001907: CALLER 00001908: PUSH0 00001909: DUP1 0000190a: MLOAD 0000190b: PUSH1 0x20 0000190d: PUSH2 0x5cd2 00001910: DUP4 00001911: CODECOPY 00001912: DUP2 00001913: MLOAD 00001914: SWAP2 00001915: MSTORE 00001916: EQ 00001917: JUMPDEST 00001918: DUP1 00001919: PUSH2 0x192e 0000191c: JUMPI 0000191d: POP 0000191e: CALLER 0000191f: PUSH0 00001920: DUP1 00001921: MLOAD 00001922: PUSH1 0x20 00001924: PUSH2 0x5cb2 00001927: DUP4 00001928: CODECOPY 00001929: DUP2 0000192a: MLOAD 0000192b: SWAP2 0000192c: MSTORE 0000192d: EQ 0000192e: JUMPDEST 0000192f: DUP1 00001930: PUSH2 0x1945 00001933: JUMPI 00001934: POP 00001935: CALLER 00001936: PUSH0 00001937: DUP1 00001938: MLOAD 00001939: PUSH1 0x20 0000193b: PUSH2 0x5d92 0000193e: DUP4 0000193f: CODECOPY 00001940: DUP2 00001941: MLOAD 00001942: SWAP2 00001943: MSTORE 00001944: EQ 00001945: JUMPDEST 00001946: DUP1 00001947: PUSH2 0x195c 0000194a: JUMPI 0000194b: POP 0000194c: CALLER 0000194d: PUSH0 0000194e: DUP1 0000194f: MLOAD 00001950: PUSH1 0x20 00001952: PUSH2 0x5df2 00001955: DUP4 00001956: CODECOPY 00001957: DUP2 00001958: MLOAD 00001959: SWAP2 0000195a: MSTORE 0000195b: EQ 0000195c: JUMPDEST 0000195d: DUP1 0000195e: PUSH2 0x1973 00001961: JUMPI 00001962: POP 00001963: CALLER 00001964: PUSH0 00001965: DUP1 00001966: MLOAD 00001967: PUSH1 0x20 00001969: PUSH2 0x5e32 0000196c: DUP4 0000196d: CODECOPY 0000196e: DUP2 0000196f: MLOAD 00001970: SWAP2 00001971: MSTORE 00001972: EQ 00001973: JUMPDEST 00001974: DUP1 00001975: PUSH2 0x198a 00001978: JUMPI 00001979: POP 0000197a: CALLER 0000197b: PUSH0 0000197c: DUP1 0000197d: MLOAD 0000197e: PUSH1 0x20 00001980: PUSH2 0x5d72 00001983: DUP4 00001984: CODECOPY 00001985: DUP2 00001986: MLOAD 00001987: SWAP2 00001988: MSTORE 00001989: EQ 0000198a: JUMPDEST 0000198b: DUP1 0000198c: PUSH2 0x19a1 0000198f: JUMPI 00001990: POP 00001991: CALLER 00001992: PUSH0 00001993: DUP1 00001994: MLOAD 00001995: PUSH1 0x20 00001997: PUSH2 0x5dd2 0000199a: DUP4 0000199b: CODECOPY 0000199c: DUP2 0000199d: MLOAD 0000199e: SWAP2 0000199f: MSTORE 000019a0: EQ 000019a1: JUMPDEST 000019a2: DUP1 000019a3: PUSH2 0x19b8 000019a6: JUMPI 000019a7: POP 000019a8: CALLER 000019a9: PUSH0 000019aa: DUP1 000019ab: MLOAD 000019ac: PUSH1 0x20 000019ae: PUSH2 0x5cf2 000019b1: DUP4 000019b2: CODECOPY 000019b3: DUP2 000019b4: MLOAD 000019b5: SWAP2 000019b6: MSTORE 000019b7: EQ 000019b8: JUMPDEST 000019b9: DUP1 000019ba: PUSH2 0x19cf 000019bd: JUMPI 000019be: POP 000019bf: CALLER 000019c0: PUSH0 000019c1: DUP1 000019c2: MLOAD 000019c3: PUSH1 0x20 000019c5: PUSH2 0x5db2 000019c8: DUP4 000019c9: CODECOPY 000019ca: DUP2 000019cb: MLOAD 000019cc: SWAP2 000019cd: MSTORE 000019ce: EQ 000019cf: JUMPDEST 000019d0: DUP1 000019d1: PUSH2 0x19e6 000019d4: JUMPI 000019d5: POP 000019d6: CALLER 000019d7: PUSH0 000019d8: DUP1 000019d9: MLOAD 000019da: PUSH1 0x20 000019dc: PUSH2 0x5e72 000019df: DUP4 000019e0: CODECOPY 000019e1: DUP2 000019e2: MLOAD 000019e3: SWAP2 000019e4: MSTORE 000019e5: EQ 000019e6: JUMPDEST 000019e7: DUP1 000019e8: PUSH2 0x19ff 000019eb: JUMPI 000019ec: POP 000019ed: CALLER 000019ee: PUSH0 000019ef: SWAP1 000019f0: DUP2 000019f1: MSTORE 000019f2: PUSH1 0x02 000019f4: PUSH1 0x20 000019f6: MSTORE 000019f7: PUSH1 0x40 000019f9: SWAP1 000019fa: KECCAK256 000019fb: SLOAD 000019fc: PUSH1 0xff 000019fe: AND 000019ff: JUMPDEST 00001a00: PUSH2 0x1a1b 00001a03: JUMPI 00001a04: PUSH1 0x40 00001a06: MLOAD 00001a07: PUSH3 0x461bcd 00001a0b: PUSH1 0xe5 00001a0d: SHL 00001a0e: DUP2 00001a0f: MSTORE 00001a10: PUSH1 0x04 00001a12: ADD 00001a13: PUSH2 0x09fd 00001a16: SWAP1 00001a17: PUSH2 0x58b8 00001a1a: JUMP 00001a1b: JUMPDEST 00001a1c: DUP1 00001a1d: PUSH1 0x01 00001a1f: PUSH1 0x01 00001a21: PUSH1 0xa0 00001a23: SHL 00001a24: SUB 00001a25: DUP2 00001a26: AND 00001a27: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00001a3c: EQ 00001a3d: DUP1 00001a3e: PUSH2 0x1a63 00001a41: JUMPI 00001a42: POP 00001a43: PUSH1 0x01 00001a45: PUSH1 0x01 00001a47: PUSH1 0xa0 00001a49: SHL 00001a4a: SUB 00001a4b: DUP2 00001a4c: AND 00001a4d: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 00001a62: EQ 00001a63: JUMPDEST 00001a64: DUP1 00001a65: PUSH2 0x1a8a 00001a68: JUMPI 00001a69: POP 00001a6a: PUSH1 0x01 00001a6c: PUSH1 0x01 00001a6e: PUSH1 0xa0 00001a70: SHL 00001a71: SUB 00001a72: DUP2 00001a73: AND 00001a74: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00001a89: EQ 00001a8a: JUMPDEST 00001a8b: DUP1 00001a8c: PUSH2 0x1ab1 00001a8f: JUMPI 00001a90: POP 00001a91: PUSH1 0x01 00001a93: PUSH1 0x01 00001a95: PUSH1 0xa0 00001a97: SHL 00001a98: SUB 00001a99: DUP2 00001a9a: AND 00001a9b: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00001ab0: EQ 00001ab1: JUMPDEST 00001ab2: DUP1 00001ab3: PUSH2 0x1ad8 00001ab6: JUMPI 00001ab7: POP 00001ab8: PUSH1 0x01 00001aba: PUSH1 0x01 00001abc: PUSH1 0xa0 00001abe: SHL 00001abf: SUB 00001ac0: DUP2 00001ac1: AND 00001ac2: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00001ad7: EQ 00001ad8: JUMPDEST 00001ad9: DUP1 00001ada: PUSH2 0x1aff 00001add: JUMPI 00001ade: POP 00001adf: PUSH1 0x01 00001ae1: PUSH1 0x01 00001ae3: PUSH1 0xa0 00001ae5: SHL 00001ae6: SUB 00001ae7: DUP2 00001ae8: AND 00001ae9: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00001afe: EQ 00001aff: JUMPDEST 00001b00: DUP1 00001b01: PUSH2 0x1b21 00001b04: JUMPI 00001b05: POP 00001b06: PUSH1 0x01 00001b08: PUSH1 0x01 00001b0a: PUSH1 0xa0 00001b0c: SHL 00001b0d: SUB 00001b0e: DUP2 00001b0f: AND 00001b10: PUSH0 00001b11: SWAP1 00001b12: DUP2 00001b13: MSTORE 00001b14: PUSH1 0x0b 00001b16: PUSH1 0x20 00001b18: MSTORE 00001b19: PUSH1 0x40 00001b1b: SWAP1 00001b1c: KECCAK256 00001b1d: SLOAD 00001b1e: PUSH1 0xff 00001b20: AND 00001b21: JUMPDEST 00001b22: PUSH2 0x1b3d 00001b25: JUMPI 00001b26: PUSH1 0x40 00001b28: MLOAD 00001b29: PUSH3 0x461bcd 00001b2d: PUSH1 0xe5 00001b2f: SHL 00001b30: DUP2 00001b31: MSTORE 00001b32: PUSH1 0x04 00001b34: ADD 00001b35: PUSH2 0x09fd 00001b38: SWAP1 00001b39: PUSH2 0x58d6 00001b3c: JUMP 00001b3d: JUMPDEST 00001b3e: PUSH2 0x0f2b 00001b41: DUP4 00001b42: DUP4 00001b43: PUSH2 0x3db0 00001b46: JUMP 00001b47: JUMPDEST 00001b48: PUSH0 00001b49: SLOAD 00001b4a: PUSH1 0x01 00001b4c: PUSH1 0x01 00001b4e: PUSH1 0xa0 00001b50: SHL 00001b51: SUB 00001b52: AND 00001b53: CALLER 00001b54: EQ 00001b55: PUSH2 0x1b70 00001b58: JUMPI 00001b59: PUSH1 0x40 00001b5b: MLOAD 00001b5c: PUSH3 0x461bcd 00001b60: PUSH1 0xe5 00001b62: SHL 00001b63: DUP2 00001b64: MSTORE 00001b65: PUSH1 0x04 00001b67: ADD 00001b68: PUSH2 0x09fd 00001b6b: SWAP1 00001b6c: PUSH2 0x594f 00001b6f: JUMP 00001b70: JUMPDEST 00001b71: PUSH0 00001b72: JUMPDEST 00001b73: DUP3 00001b74: MLOAD 00001b75: DUP2 00001b76: LT 00001b77: ISZERO 00001b78: PUSH2 0x0f2b 00001b7b: JUMPI 00001b7c: DUP2 00001b7d: PUSH1 0x02 00001b7f: PUSH0 00001b80: DUP6 00001b81: DUP5 00001b82: DUP2 00001b83: MLOAD 00001b84: DUP2 00001b85: LT 00001b86: PUSH2 0x1b91 00001b89: JUMPI 00001b8a: PUSH2 0x1b91 00001b8d: PUSH2 0x5a03 00001b90: JUMP 00001b91: JUMPDEST 00001b92: PUSH1 0x20 00001b94: SWAP1 00001b95: DUP2 00001b96: MUL 00001b97: SWAP2 00001b98: SWAP1 00001b99: SWAP2 00001b9a: ADD 00001b9b: DUP2 00001b9c: ADD 00001b9d: MLOAD 00001b9e: PUSH1 0x01 00001ba0: PUSH1 0x01 00001ba2: PUSH1 0xa0 00001ba4: SHL 00001ba5: SUB 00001ba6: AND 00001ba7: DUP3 00001ba8: MSTORE 00001ba9: DUP2 00001baa: ADD 00001bab: SWAP2 00001bac: SWAP1 00001bad: SWAP2 00001bae: MSTORE 00001baf: PUSH1 0x40 00001bb1: ADD 00001bb2: PUSH0 00001bb3: KECCAK256 00001bb4: DUP1 00001bb5: SLOAD 00001bb6: PUSH1 0xff 00001bb8: NOT 00001bb9: AND 00001bba: SWAP2 00001bbb: ISZERO 00001bbc: ISZERO 00001bbd: SWAP2 00001bbe: SWAP1 00001bbf: SWAP2 00001bc0: OR 00001bc1: SWAP1 00001bc2: SSTORE 00001bc3: DUP1 00001bc4: PUSH2 0x1bcc 00001bc7: DUP2 00001bc8: PUSH2 0x5a17 00001bcb: JUMP 00001bcc: JUMPDEST 00001bcd: SWAP2 00001bce: POP 00001bcf: POP 00001bd0: PUSH2 0x1b72 00001bd3: JUMP 00001bd4: JUMPDEST 00001bd5: DUP1 00001bd6: PUSH1 0x01 00001bd8: PUSH1 0x01 00001bda: PUSH1 0xa0 00001bdc: SHL 00001bdd: SUB 00001bde: DUP2 00001bdf: AND 00001be0: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00001bf5: EQ 00001bf6: DUP1 00001bf7: PUSH2 0x1c1c 00001bfa: JUMPI 00001bfb: POP 00001bfc: PUSH1 0x01 00001bfe: PUSH1 0x01 00001c00: PUSH1 0xa0 00001c02: SHL 00001c03: SUB 00001c04: DUP2 00001c05: AND 00001c06: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 00001c1b: EQ 00001c1c: JUMPDEST 00001c1d: DUP1 00001c1e: PUSH2 0x1c43 00001c21: JUMPI 00001c22: POP 00001c23: PUSH1 0x01 00001c25: PUSH1 0x01 00001c27: PUSH1 0xa0 00001c29: SHL 00001c2a: SUB 00001c2b: DUP2 00001c2c: AND 00001c2d: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00001c42: EQ 00001c43: JUMPDEST 00001c44: DUP1 00001c45: PUSH2 0x1c6a 00001c48: JUMPI 00001c49: POP 00001c4a: PUSH1 0x01 00001c4c: PUSH1 0x01 00001c4e: PUSH1 0xa0 00001c50: SHL 00001c51: SUB 00001c52: DUP2 00001c53: AND 00001c54: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00001c69: EQ 00001c6a: JUMPDEST 00001c6b: DUP1 00001c6c: PUSH2 0x1c91 00001c6f: JUMPI 00001c70: POP 00001c71: PUSH1 0x01 00001c73: PUSH1 0x01 00001c75: PUSH1 0xa0 00001c77: SHL 00001c78: SUB 00001c79: DUP2 00001c7a: AND 00001c7b: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00001c90: EQ 00001c91: JUMPDEST 00001c92: DUP1 00001c93: PUSH2 0x1cb8 00001c96: JUMPI 00001c97: POP 00001c98: PUSH1 0x01 00001c9a: PUSH1 0x01 00001c9c: PUSH1 0xa0 00001c9e: SHL 00001c9f: SUB 00001ca0: DUP2 00001ca1: AND 00001ca2: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00001cb7: EQ 00001cb8: JUMPDEST 00001cb9: DUP1 00001cba: PUSH2 0x1cda 00001cbd: JUMPI 00001cbe: POP 00001cbf: PUSH1 0x01 00001cc1: PUSH1 0x01 00001cc3: PUSH1 0xa0 00001cc5: SHL 00001cc6: SUB 00001cc7: DUP2 00001cc8: AND 00001cc9: PUSH0 00001cca: SWAP1 00001ccb: DUP2 00001ccc: MSTORE 00001ccd: PUSH1 0x0b 00001ccf: PUSH1 0x20 00001cd1: MSTORE 00001cd2: PUSH1 0x40 00001cd4: SWAP1 00001cd5: KECCAK256 00001cd6: SLOAD 00001cd7: PUSH1 0xff 00001cd9: AND 00001cda: JUMPDEST 00001cdb: PUSH2 0x1cf6 00001cde: JUMPI 00001cdf: PUSH1 0x40 00001ce1: MLOAD 00001ce2: PUSH3 0x461bcd 00001ce6: PUSH1 0xe5 00001ce8: SHL 00001ce9: DUP2 00001cea: MSTORE 00001ceb: PUSH1 0x04 00001ced: ADD 00001cee: PUSH2 0x09fd 00001cf1: SWAP1 00001cf2: PUSH2 0x58d6 00001cf5: JUMP 00001cf6: JUMPDEST 00001cf7: CALLER 00001cf8: PUSH0 00001cf9: DUP1 00001cfa: MLOAD 00001cfb: PUSH1 0x20 00001cfd: PUSH2 0x5d12 00001d00: DUP4 00001d01: CODECOPY 00001d02: DUP2 00001d03: MLOAD 00001d04: SWAP2 00001d05: MSTORE 00001d06: EQ 00001d07: DUP1 00001d08: PUSH2 0x1d1d 00001d0b: JUMPI 00001d0c: POP 00001d0d: CALLER 00001d0e: PUSH0 00001d0f: DUP1 00001d10: MLOAD 00001d11: PUSH1 0x20 00001d13: PUSH2 0x5e12 00001d16: DUP4 00001d17: CODECOPY 00001d18: DUP2 00001d19: MLOAD 00001d1a: SWAP2 00001d1b: MSTORE 00001d1c: EQ 00001d1d: JUMPDEST 00001d1e: DUP1 00001d1f: PUSH2 0x1d34 00001d22: JUMPI 00001d23: POP 00001d24: CALLER 00001d25: PUSH0 00001d26: DUP1 00001d27: MLOAD 00001d28: PUSH1 0x20 00001d2a: PUSH2 0x5d52 00001d2d: DUP4 00001d2e: CODECOPY 00001d2f: DUP2 00001d30: MLOAD 00001d31: SWAP2 00001d32: MSTORE 00001d33: EQ 00001d34: JUMPDEST 00001d35: DUP1 00001d36: PUSH2 0x1d4b 00001d39: JUMPI 00001d3a: POP 00001d3b: CALLER 00001d3c: PUSH0 00001d3d: DUP1 00001d3e: MLOAD 00001d3f: PUSH1 0x20 00001d41: PUSH2 0x5d52 00001d44: DUP4 00001d45: CODECOPY 00001d46: DUP2 00001d47: MLOAD 00001d48: SWAP2 00001d49: MSTORE 00001d4a: EQ 00001d4b: JUMPDEST 00001d4c: DUP1 00001d4d: PUSH2 0x1d62 00001d50: JUMPI 00001d51: POP 00001d52: CALLER 00001d53: PUSH0 00001d54: DUP1 00001d55: MLOAD 00001d56: PUSH1 0x20 00001d58: PUSH2 0x5d32 00001d5b: DUP4 00001d5c: CODECOPY 00001d5d: DUP2 00001d5e: MLOAD 00001d5f: SWAP2 00001d60: MSTORE 00001d61: EQ 00001d62: JUMPDEST 00001d63: DUP1 00001d64: PUSH2 0x1d79 00001d67: JUMPI 00001d68: POP 00001d69: CALLER 00001d6a: PUSH0 00001d6b: DUP1 00001d6c: MLOAD 00001d6d: PUSH1 0x20 00001d6f: PUSH2 0x5e52 00001d72: DUP4 00001d73: CODECOPY 00001d74: DUP2 00001d75: MLOAD 00001d76: SWAP2 00001d77: MSTORE 00001d78: EQ 00001d79: JUMPDEST 00001d7a: DUP1 00001d7b: PUSH2 0x1d90 00001d7e: JUMPI 00001d7f: POP 00001d80: CALLER 00001d81: PUSH0 00001d82: DUP1 00001d83: MLOAD 00001d84: PUSH1 0x20 00001d86: PUSH2 0x5cd2 00001d89: DUP4 00001d8a: CODECOPY 00001d8b: DUP2 00001d8c: MLOAD 00001d8d: SWAP2 00001d8e: MSTORE 00001d8f: EQ 00001d90: JUMPDEST 00001d91: DUP1 00001d92: PUSH2 0x1da7 00001d95: JUMPI 00001d96: POP 00001d97: CALLER 00001d98: PUSH0 00001d99: DUP1 00001d9a: MLOAD 00001d9b: PUSH1 0x20 00001d9d: PUSH2 0x5cb2 00001da0: DUP4 00001da1: CODECOPY 00001da2: DUP2 00001da3: MLOAD 00001da4: SWAP2 00001da5: MSTORE 00001da6: EQ 00001da7: JUMPDEST 00001da8: DUP1 00001da9: PUSH2 0x1dbe 00001dac: JUMPI 00001dad: POP 00001dae: CALLER 00001daf: PUSH0 00001db0: DUP1 00001db1: MLOAD 00001db2: PUSH1 0x20 00001db4: PUSH2 0x5d92 00001db7: DUP4 00001db8: CODECOPY 00001db9: DUP2 00001dba: MLOAD 00001dbb: SWAP2 00001dbc: MSTORE 00001dbd: EQ 00001dbe: JUMPDEST 00001dbf: DUP1 00001dc0: PUSH2 0x1dd5 00001dc3: JUMPI 00001dc4: POP 00001dc5: CALLER 00001dc6: PUSH0 00001dc7: DUP1 00001dc8: MLOAD 00001dc9: PUSH1 0x20 00001dcb: PUSH2 0x5df2 00001dce: DUP4 00001dcf: CODECOPY 00001dd0: DUP2 00001dd1: MLOAD 00001dd2: SWAP2 00001dd3: MSTORE 00001dd4: EQ 00001dd5: JUMPDEST 00001dd6: DUP1 00001dd7: PUSH2 0x1dec 00001dda: JUMPI 00001ddb: POP 00001ddc: CALLER 00001ddd: PUSH0 00001dde: DUP1 00001ddf: MLOAD 00001de0: PUSH1 0x20 00001de2: PUSH2 0x5e32 00001de5: DUP4 00001de6: CODECOPY 00001de7: DUP2 00001de8: MLOAD 00001de9: SWAP2 00001dea: MSTORE 00001deb: EQ 00001dec: JUMPDEST 00001ded: DUP1 00001dee: PUSH2 0x1e03 00001df1: JUMPI 00001df2: POP 00001df3: CALLER 00001df4: PUSH0 00001df5: DUP1 00001df6: MLOAD 00001df7: PUSH1 0x20 00001df9: PUSH2 0x5d72 00001dfc: DUP4 00001dfd: CODECOPY 00001dfe: DUP2 00001dff: MLOAD 00001e00: SWAP2 00001e01: MSTORE 00001e02: EQ 00001e03: JUMPDEST 00001e04: DUP1 00001e05: PUSH2 0x1e1a 00001e08: JUMPI 00001e09: POP 00001e0a: CALLER 00001e0b: PUSH0 00001e0c: DUP1 00001e0d: MLOAD 00001e0e: PUSH1 0x20 00001e10: PUSH2 0x5dd2 00001e13: DUP4 00001e14: CODECOPY 00001e15: DUP2 00001e16: MLOAD 00001e17: SWAP2 00001e18: MSTORE 00001e19: EQ 00001e1a: JUMPDEST 00001e1b: DUP1 00001e1c: PUSH2 0x1e31 00001e1f: JUMPI 00001e20: POP 00001e21: CALLER 00001e22: PUSH0 00001e23: DUP1 00001e24: MLOAD 00001e25: PUSH1 0x20 00001e27: PUSH2 0x5cf2 00001e2a: DUP4 00001e2b: CODECOPY 00001e2c: DUP2 00001e2d: MLOAD 00001e2e: SWAP2 00001e2f: MSTORE 00001e30: EQ 00001e31: JUMPDEST 00001e32: DUP1 00001e33: PUSH2 0x1e48 00001e36: JUMPI 00001e37: POP 00001e38: CALLER 00001e39: PUSH0 00001e3a: DUP1 00001e3b: MLOAD 00001e3c: PUSH1 0x20 00001e3e: PUSH2 0x5db2 00001e41: DUP4 00001e42: CODECOPY 00001e43: DUP2 00001e44: MLOAD 00001e45: SWAP2 00001e46: MSTORE 00001e47: EQ 00001e48: JUMPDEST 00001e49: DUP1 00001e4a: PUSH2 0x1e5f 00001e4d: JUMPI 00001e4e: POP 00001e4f: CALLER 00001e50: PUSH0 00001e51: DUP1 00001e52: MLOAD 00001e53: PUSH1 0x20 00001e55: PUSH2 0x5e72 00001e58: DUP4 00001e59: CODECOPY 00001e5a: DUP2 00001e5b: MLOAD 00001e5c: SWAP2 00001e5d: MSTORE 00001e5e: EQ 00001e5f: JUMPDEST 00001e60: DUP1 00001e61: PUSH2 0x1e78 00001e64: JUMPI 00001e65: POP 00001e66: CALLER 00001e67: PUSH0 00001e68: SWAP1 00001e69: DUP2 00001e6a: MSTORE 00001e6b: PUSH1 0x02 00001e6d: PUSH1 0x20 00001e6f: MSTORE 00001e70: PUSH1 0x40 00001e72: SWAP1 00001e73: KECCAK256 00001e74: SLOAD 00001e75: PUSH1 0xff 00001e77: AND 00001e78: JUMPDEST 00001e79: PUSH2 0x1e94 00001e7c: JUMPI 00001e7d: PUSH1 0x40 00001e7f: MLOAD 00001e80: PUSH3 0x461bcd 00001e84: PUSH1 0xe5 00001e86: SHL 00001e87: DUP2 00001e88: MSTORE 00001e89: PUSH1 0x04 00001e8b: ADD 00001e8c: PUSH2 0x09fd 00001e8f: SWAP1 00001e90: PUSH2 0x58b8 00001e93: JUMP 00001e94: JUMPDEST 00001e95: PUSH2 0x0ba7 00001e98: DUP9 00001e99: DUP9 00001e9a: DUP9 00001e9b: DUP9 00001e9c: DUP9 00001e9d: PUSH1 0x1e 00001e9f: DUP9 00001ea0: PUSH2 0x3eff 00001ea3: JUMP 00001ea4: JUMPDEST 00001ea5: CALLER 00001ea6: PUSH0 00001ea7: SWAP1 00001ea8: DUP2 00001ea9: MSTORE 00001eaa: PUSH1 0x01 00001eac: PUSH1 0x20 00001eae: MSTORE 00001eaf: PUSH1 0x40 00001eb1: SWAP1 00001eb2: KECCAK256 00001eb3: SLOAD 00001eb4: PUSH1 0xff 00001eb6: AND 00001eb7: PUSH2 0x1ed2 00001eba: JUMPI 00001ebb: PUSH1 0x40 00001ebd: MLOAD 00001ebe: PUSH3 0x461bcd 00001ec2: PUSH1 0xe5 00001ec4: SHL 00001ec5: DUP2 00001ec6: MSTORE 00001ec7: PUSH1 0x04 00001ec9: ADD 00001eca: PUSH2 0x09fd 00001ecd: SWAP1 00001ece: PUSH2 0x59e3 00001ed1: JUMP 00001ed2: JUMPDEST 00001ed3: PUSH2 0x116b 00001ed6: DUP3 00001ed7: DUP3 00001ed8: PUSH2 0x3d86 00001edb: JUMP 00001edc: JUMPDEST 00001edd: CALLER 00001ede: PUSH0 00001edf: SWAP1 00001ee0: DUP2 00001ee1: MSTORE 00001ee2: PUSH1 0x0a 00001ee4: PUSH1 0x20 00001ee6: MSTORE 00001ee7: PUSH1 0x40 00001ee9: SWAP1 00001eea: KECCAK256 00001eeb: SLOAD 00001eec: PUSH1 0xff 00001eee: AND 00001eef: PUSH2 0x1f0a 00001ef2: JUMPI 00001ef3: PUSH1 0x40 00001ef5: MLOAD 00001ef6: PUSH3 0x461bcd 00001efa: PUSH1 0xe5 00001efc: SHL 00001efd: DUP2 00001efe: MSTORE 00001eff: PUSH1 0x04 00001f01: ADD 00001f02: PUSH2 0x09fd 00001f05: SWAP1 00001f06: PUSH2 0x596b 00001f09: JUMP 00001f0a: JUMPDEST 00001f0b: DUP1 00001f0c: SELFBALANCE 00001f0d: LT 00001f0e: ISZERO 00001f0f: PUSH2 0x1f40 00001f12: JUMPI 00001f13: PUSH1 0x40 00001f15: MLOAD 00001f16: PUSH3 0x461bcd 00001f1a: PUSH1 0xe5 00001f1c: SHL 00001f1d: DUP2 00001f1e: MSTORE 00001f1f: PUSH1 0x20 00001f21: PUSH1 0x04 00001f23: DUP3 00001f24: ADD 00001f25: MSTORE 00001f26: PUSH1 0x03 00001f28: PUSH1 0x24 00001f2a: DUP3 00001f2b: ADD 00001f2c: MSTORE 00001f2d: PUSH3 0x776e65 00001f31: PUSH1 0xe8 00001f33: SHL 00001f34: PUSH1 0x44 00001f36: DUP3 00001f37: ADD 00001f38: MSTORE 00001f39: PUSH1 0x64 00001f3b: ADD 00001f3c: PUSH2 0x09fd 00001f3f: JUMP 00001f40: JUMPDEST 00001f41: PUSH1 0x08 00001f43: PUSH0 00001f44: SWAP1 00001f45: SLOAD 00001f46: SWAP1 00001f47: PUSH2 0x0100 00001f4a: EXP 00001f4b: SWAP1 00001f4c: DIV 00001f4d: PUSH1 0x01 00001f4f: PUSH1 0x01 00001f51: PUSH1 0xa0 00001f53: SHL 00001f54: SUB 00001f55: AND 00001f56: PUSH1 0x01 00001f58: PUSH1 0x01 00001f5a: PUSH1 0xa0 00001f5c: SHL 00001f5d: SUB 00001f5e: AND 00001f5f: PUSH4 0xd0e30db0 00001f64: DUP3 00001f65: PUSH1 0x40 00001f67: MLOAD 00001f68: DUP3 00001f69: PUSH4 0xffffffff 00001f6e: AND 00001f6f: PUSH1 0xe0 00001f71: SHL 00001f72: DUP2 00001f73: MSTORE 00001f74: PUSH1 0x04 00001f76: ADD 00001f77: PUSH0 00001f78: PUSH1 0x40 00001f7a: MLOAD 00001f7b: DUP1 00001f7c: DUP4 00001f7d: SUB 00001f7e: DUP2 00001f7f: DUP6 00001f80: DUP9 00001f81: DUP1 00001f82: EXTCODESIZE 00001f83: ISZERO 00001f84: DUP1 00001f85: ISZERO 00001f86: PUSH2 0x1f8d 00001f89: JUMPI 00001f8a: PUSH0 00001f8b: DUP1 00001f8c: REVERT 00001f8d: JUMPDEST 00001f8e: POP 00001f8f: GAS 00001f90: CALL 00001f91: ISZERO 00001f92: DUP1 00001f93: ISZERO 00001f94: PUSH2 0x1f9f 00001f97: JUMPI 00001f98: RETURNDATASIZE 00001f99: PUSH0 00001f9a: DUP1 00001f9b: RETURNDATACOPY 00001f9c: RETURNDATASIZE 00001f9d: PUSH0 00001f9e: REVERT 00001f9f: JUMPDEST 00001fa0: POP 00001fa1: POP 00001fa2: POP 00001fa3: POP 00001fa4: POP 00001fa5: POP 00001fa6: JUMP 00001fa7: JUMPDEST 00001fa8: CALLER 00001fa9: PUSH0 00001faa: DUP1 00001fab: MLOAD 00001fac: PUSH1 0x20 00001fae: PUSH2 0x5d12 00001fb1: DUP4 00001fb2: CODECOPY 00001fb3: DUP2 00001fb4: MLOAD 00001fb5: SWAP2 00001fb6: MSTORE 00001fb7: EQ 00001fb8: DUP1 00001fb9: PUSH2 0x1fce 00001fbc: JUMPI 00001fbd: POP 00001fbe: CALLER 00001fbf: PUSH0 00001fc0: DUP1 00001fc1: MLOAD 00001fc2: PUSH1 0x20 00001fc4: PUSH2 0x5e12 00001fc7: DUP4 00001fc8: CODECOPY 00001fc9: DUP2 00001fca: MLOAD 00001fcb: SWAP2 00001fcc: MSTORE 00001fcd: EQ 00001fce: JUMPDEST 00001fcf: DUP1 00001fd0: PUSH2 0x1fe5 00001fd3: JUMPI 00001fd4: POP 00001fd5: CALLER 00001fd6: PUSH0 00001fd7: DUP1 00001fd8: MLOAD 00001fd9: PUSH1 0x20 00001fdb: PUSH2 0x5d52 00001fde: DUP4 00001fdf: CODECOPY 00001fe0: DUP2 00001fe1: MLOAD 00001fe2: SWAP2 00001fe3: MSTORE 00001fe4: EQ 00001fe5: JUMPDEST 00001fe6: DUP1 00001fe7: PUSH2 0x1ffc 00001fea: JUMPI 00001feb: POP 00001fec: CALLER 00001fed: PUSH0 00001fee: DUP1 00001fef: MLOAD 00001ff0: PUSH1 0x20 00001ff2: PUSH2 0x5d52 00001ff5: DUP4 00001ff6: CODECOPY 00001ff7: DUP2 00001ff8: MLOAD 00001ff9: SWAP2 00001ffa: MSTORE 00001ffb: EQ 00001ffc: JUMPDEST 00001ffd: DUP1 00001ffe: PUSH2 0x2013 00002001: JUMPI 00002002: POP 00002003: CALLER 00002004: PUSH0 00002005: DUP1 00002006: MLOAD 00002007: PUSH1 0x20 00002009: PUSH2 0x5d32 0000200c: DUP4 0000200d: CODECOPY 0000200e: DUP2 0000200f: MLOAD 00002010: SWAP2 00002011: MSTORE 00002012: EQ 00002013: JUMPDEST 00002014: DUP1 00002015: PUSH2 0x202a 00002018: JUMPI 00002019: POP 0000201a: CALLER 0000201b: PUSH0 0000201c: DUP1 0000201d: MLOAD 0000201e: PUSH1 0x20 00002020: PUSH2 0x5e52 00002023: DUP4 00002024: CODECOPY 00002025: DUP2 00002026: MLOAD 00002027: SWAP2 00002028: MSTORE 00002029: EQ 0000202a: JUMPDEST 0000202b: DUP1 0000202c: PUSH2 0x2041 0000202f: JUMPI 00002030: POP 00002031: CALLER 00002032: PUSH0 00002033: DUP1 00002034: MLOAD 00002035: PUSH1 0x20 00002037: PUSH2 0x5cd2 0000203a: DUP4 0000203b: CODECOPY 0000203c: DUP2 0000203d: MLOAD 0000203e: SWAP2 0000203f: MSTORE 00002040: EQ 00002041: JUMPDEST 00002042: DUP1 00002043: PUSH2 0x2058 00002046: JUMPI 00002047: POP 00002048: CALLER 00002049: PUSH0 0000204a: DUP1 0000204b: MLOAD 0000204c: PUSH1 0x20 0000204e: PUSH2 0x5cb2 00002051: DUP4 00002052: CODECOPY 00002053: DUP2 00002054: MLOAD 00002055: SWAP2 00002056: MSTORE 00002057: EQ 00002058: JUMPDEST 00002059: DUP1 0000205a: PUSH2 0x206f 0000205d: JUMPI 0000205e: POP 0000205f: CALLER 00002060: PUSH0 00002061: DUP1 00002062: MLOAD 00002063: PUSH1 0x20 00002065: PUSH2 0x5d92 00002068: DUP4 00002069: CODECOPY 0000206a: DUP2 0000206b: MLOAD 0000206c: SWAP2 0000206d: MSTORE 0000206e: EQ 0000206f: JUMPDEST 00002070: DUP1 00002071: PUSH2 0x2086 00002074: JUMPI 00002075: POP 00002076: CALLER 00002077: PUSH0 00002078: DUP1 00002079: MLOAD 0000207a: PUSH1 0x20 0000207c: PUSH2 0x5df2 0000207f: DUP4 00002080: CODECOPY 00002081: DUP2 00002082: MLOAD 00002083: SWAP2 00002084: MSTORE 00002085: EQ 00002086: JUMPDEST 00002087: DUP1 00002088: PUSH2 0x209d 0000208b: JUMPI 0000208c: POP 0000208d: CALLER 0000208e: PUSH0 0000208f: DUP1 00002090: MLOAD 00002091: PUSH1 0x20 00002093: PUSH2 0x5e32 00002096: DUP4 00002097: CODECOPY 00002098: DUP2 00002099: MLOAD 0000209a: SWAP2 0000209b: MSTORE 0000209c: EQ 0000209d: JUMPDEST 0000209e: DUP1 0000209f: PUSH2 0x20b4 000020a2: JUMPI 000020a3: POP 000020a4: CALLER 000020a5: PUSH0 000020a6: DUP1 000020a7: MLOAD 000020a8: PUSH1 0x20 000020aa: PUSH2 0x5d72 000020ad: DUP4 000020ae: CODECOPY 000020af: DUP2 000020b0: MLOAD 000020b1: SWAP2 000020b2: MSTORE 000020b3: EQ 000020b4: JUMPDEST 000020b5: DUP1 000020b6: PUSH2 0x20cb 000020b9: JUMPI 000020ba: POP 000020bb: CALLER 000020bc: PUSH0 000020bd: DUP1 000020be: MLOAD 000020bf: PUSH1 0x20 000020c1: PUSH2 0x5dd2 000020c4: DUP4 000020c5: CODECOPY 000020c6: DUP2 000020c7: MLOAD 000020c8: SWAP2 000020c9: MSTORE 000020ca: EQ 000020cb: JUMPDEST 000020cc: DUP1 000020cd: PUSH2 0x20e2 000020d0: JUMPI 000020d1: POP 000020d2: CALLER 000020d3: PUSH0 000020d4: DUP1 000020d5: MLOAD 000020d6: PUSH1 0x20 000020d8: PUSH2 0x5cf2 000020db: DUP4 000020dc: CODECOPY 000020dd: DUP2 000020de: MLOAD 000020df: SWAP2 000020e0: MSTORE 000020e1: EQ 000020e2: JUMPDEST 000020e3: DUP1 000020e4: PUSH2 0x20f9 000020e7: JUMPI 000020e8: POP 000020e9: CALLER 000020ea: PUSH0 000020eb: DUP1 000020ec: MLOAD 000020ed: PUSH1 0x20 000020ef: PUSH2 0x5db2 000020f2: DUP4 000020f3: CODECOPY 000020f4: DUP2 000020f5: MLOAD 000020f6: SWAP2 000020f7: MSTORE 000020f8: EQ 000020f9: JUMPDEST 000020fa: DUP1 000020fb: PUSH2 0x2110 000020fe: JUMPI 000020ff: POP 00002100: CALLER 00002101: PUSH0 00002102: DUP1 00002103: MLOAD 00002104: PUSH1 0x20 00002106: PUSH2 0x5e72 00002109: DUP4 0000210a: CODECOPY 0000210b: DUP2 0000210c: MLOAD 0000210d: SWAP2 0000210e: MSTORE 0000210f: EQ 00002110: JUMPDEST 00002111: DUP1 00002112: PUSH2 0x2129 00002115: JUMPI 00002116: POP 00002117: CALLER 00002118: PUSH0 00002119: SWAP1 0000211a: DUP2 0000211b: MSTORE 0000211c: PUSH1 0x02 0000211e: PUSH1 0x20 00002120: MSTORE 00002121: PUSH1 0x40 00002123: SWAP1 00002124: KECCAK256 00002125: SLOAD 00002126: PUSH1 0xff 00002128: AND 00002129: JUMPDEST 0000212a: PUSH2 0x2145 0000212d: JUMPI 0000212e: PUSH1 0x40 00002130: MLOAD 00002131: PUSH3 0x461bcd 00002135: PUSH1 0xe5 00002137: SHL 00002138: DUP2 00002139: MSTORE 0000213a: PUSH1 0x04 0000213c: ADD 0000213d: PUSH2 0x09fd 00002140: SWAP1 00002141: PUSH2 0x58b8 00002144: JUMP 00002145: JUMPDEST 00002146: DUP4 00002147: PUSH2 0x2155 0000214a: DUP8 0000214b: DUP8 0000214c: DUP8 0000214d: DUP8 0000214e: DUP8 0000214f: DUP8 00002150: ADDRESS 00002151: PUSH2 0x3eff 00002154: JUMP 00002155: JUMPDEST 00002156: POP 00002157: POP 00002158: POP 00002159: POP 0000215a: POP 0000215b: POP 0000215c: POP 0000215d: JUMP 0000215e: JUMPDEST 0000215f: CALLER 00002160: PUSH0 00002161: DUP1 00002162: MLOAD 00002163: PUSH1 0x20 00002165: PUSH2 0x5d12 00002168: DUP4 00002169: CODECOPY 0000216a: DUP2 0000216b: MLOAD 0000216c: SWAP2 0000216d: MSTORE 0000216e: EQ 0000216f: DUP1 00002170: PUSH2 0x2185 00002173: JUMPI 00002174: POP 00002175: CALLER 00002176: PUSH0 00002177: DUP1 00002178: MLOAD 00002179: PUSH1 0x20 0000217b: PUSH2 0x5e12 0000217e: DUP4 0000217f: CODECOPY 00002180: DUP2 00002181: MLOAD 00002182: SWAP2 00002183: MSTORE 00002184: EQ 00002185: JUMPDEST 00002186: DUP1 00002187: PUSH2 0x219c 0000218a: JUMPI 0000218b: POP 0000218c: CALLER 0000218d: PUSH0 0000218e: DUP1 0000218f: MLOAD 00002190: PUSH1 0x20 00002192: PUSH2 0x5d52 00002195: DUP4 00002196: CODECOPY 00002197: DUP2 00002198: MLOAD 00002199: SWAP2 0000219a: MSTORE 0000219b: EQ 0000219c: JUMPDEST 0000219d: DUP1 0000219e: PUSH2 0x21b3 000021a1: JUMPI 000021a2: POP 000021a3: CALLER 000021a4: PUSH0 000021a5: DUP1 000021a6: MLOAD 000021a7: PUSH1 0x20 000021a9: PUSH2 0x5d52 000021ac: DUP4 000021ad: CODECOPY 000021ae: DUP2 000021af: MLOAD 000021b0: SWAP2 000021b1: MSTORE 000021b2: EQ 000021b3: JUMPDEST 000021b4: DUP1 000021b5: PUSH2 0x21ca 000021b8: JUMPI 000021b9: POP 000021ba: CALLER 000021bb: PUSH0 000021bc: DUP1 000021bd: MLOAD 000021be: PUSH1 0x20 000021c0: PUSH2 0x5d32 000021c3: DUP4 000021c4: CODECOPY 000021c5: DUP2 000021c6: MLOAD 000021c7: SWAP2 000021c8: MSTORE 000021c9: EQ 000021ca: JUMPDEST 000021cb: DUP1 000021cc: PUSH2 0x21e1 000021cf: JUMPI 000021d0: POP 000021d1: CALLER 000021d2: PUSH0 000021d3: DUP1 000021d4: MLOAD 000021d5: PUSH1 0x20 000021d7: PUSH2 0x5e52 000021da: DUP4 000021db: CODECOPY 000021dc: DUP2 000021dd: MLOAD 000021de: SWAP2 000021df: MSTORE 000021e0: EQ 000021e1: JUMPDEST 000021e2: DUP1 000021e3: PUSH2 0x21f8 000021e6: JUMPI 000021e7: POP 000021e8: CALLER 000021e9: PUSH0 000021ea: DUP1 000021eb: MLOAD 000021ec: PUSH1 0x20 000021ee: PUSH2 0x5cd2 000021f1: DUP4 000021f2: CODECOPY 000021f3: DUP2 000021f4: MLOAD 000021f5: SWAP2 000021f6: MSTORE 000021f7: EQ 000021f8: JUMPDEST 000021f9: DUP1 000021fa: PUSH2 0x220f 000021fd: JUMPI 000021fe: POP 000021ff: CALLER 00002200: PUSH0 00002201: DUP1 00002202: MLOAD 00002203: PUSH1 0x20 00002205: PUSH2 0x5cb2 00002208: DUP4 00002209: CODECOPY 0000220a: DUP2 0000220b: MLOAD 0000220c: SWAP2 0000220d: MSTORE 0000220e: EQ 0000220f: JUMPDEST 00002210: DUP1 00002211: PUSH2 0x2226 00002214: JUMPI 00002215: POP 00002216: CALLER 00002217: PUSH0 00002218: DUP1 00002219: MLOAD 0000221a: PUSH1 0x20 0000221c: PUSH2 0x5d92 0000221f: DUP4 00002220: CODECOPY 00002221: DUP2 00002222: MLOAD 00002223: SWAP2 00002224: MSTORE 00002225: EQ 00002226: JUMPDEST 00002227: DUP1 00002228: PUSH2 0x223d 0000222b: JUMPI 0000222c: POP 0000222d: CALLER 0000222e: PUSH0 0000222f: DUP1 00002230: MLOAD 00002231: PUSH1 0x20 00002233: PUSH2 0x5df2 00002236: DUP4 00002237: CODECOPY 00002238: DUP2 00002239: MLOAD 0000223a: SWAP2 0000223b: MSTORE 0000223c: EQ 0000223d: JUMPDEST 0000223e: DUP1 0000223f: PUSH2 0x2254 00002242: JUMPI 00002243: POP 00002244: CALLER 00002245: PUSH0 00002246: DUP1 00002247: MLOAD 00002248: PUSH1 0x20 0000224a: PUSH2 0x5e32 0000224d: DUP4 0000224e: CODECOPY 0000224f: DUP2 00002250: MLOAD 00002251: SWAP2 00002252: MSTORE 00002253: EQ 00002254: JUMPDEST 00002255: DUP1 00002256: PUSH2 0x226b 00002259: JUMPI 0000225a: POP 0000225b: CALLER 0000225c: PUSH0 0000225d: DUP1 0000225e: MLOAD 0000225f: PUSH1 0x20 00002261: PUSH2 0x5d72 00002264: DUP4 00002265: CODECOPY 00002266: DUP2 00002267: MLOAD 00002268: SWAP2 00002269: MSTORE 0000226a: EQ 0000226b: JUMPDEST 0000226c: DUP1 0000226d: PUSH2 0x2282 00002270: JUMPI 00002271: POP 00002272: CALLER 00002273: PUSH0 00002274: DUP1 00002275: MLOAD 00002276: PUSH1 0x20 00002278: PUSH2 0x5dd2 0000227b: DUP4 0000227c: CODECOPY 0000227d: DUP2 0000227e: MLOAD 0000227f: SWAP2 00002280: MSTORE 00002281: EQ 00002282: JUMPDEST 00002283: DUP1 00002284: PUSH2 0x2299 00002287: JUMPI 00002288: POP 00002289: CALLER 0000228a: PUSH0 0000228b: DUP1 0000228c: MLOAD 0000228d: PUSH1 0x20 0000228f: PUSH2 0x5cf2 00002292: DUP4 00002293: CODECOPY 00002294: DUP2 00002295: MLOAD 00002296: SWAP2 00002297: MSTORE 00002298: EQ 00002299: JUMPDEST 0000229a: DUP1 0000229b: PUSH2 0x22b0 0000229e: JUMPI 0000229f: POP 000022a0: CALLER 000022a1: PUSH0 000022a2: DUP1 000022a3: MLOAD 000022a4: PUSH1 0x20 000022a6: PUSH2 0x5db2 000022a9: DUP4 000022aa: CODECOPY 000022ab: DUP2 000022ac: MLOAD 000022ad: SWAP2 000022ae: MSTORE 000022af: EQ 000022b0: JUMPDEST 000022b1: DUP1 000022b2: PUSH2 0x22c7 000022b5: JUMPI 000022b6: POP 000022b7: CALLER 000022b8: PUSH0 000022b9: DUP1 000022ba: MLOAD 000022bb: PUSH1 0x20 000022bd: PUSH2 0x5e72 000022c0: DUP4 000022c1: CODECOPY 000022c2: DUP2 000022c3: MLOAD 000022c4: SWAP2 000022c5: MSTORE 000022c6: EQ 000022c7: JUMPDEST 000022c8: DUP1 000022c9: PUSH2 0x22e0 000022cc: JUMPI 000022cd: POP 000022ce: CALLER 000022cf: PUSH0 000022d0: SWAP1 000022d1: DUP2 000022d2: MSTORE 000022d3: PUSH1 0x02 000022d5: PUSH1 0x20 000022d7: MSTORE 000022d8: PUSH1 0x40 000022da: SWAP1 000022db: KECCAK256 000022dc: SLOAD 000022dd: PUSH1 0xff 000022df: AND 000022e0: JUMPDEST 000022e1: PUSH2 0x22fc 000022e4: JUMPI 000022e5: PUSH1 0x40 000022e7: MLOAD 000022e8: PUSH3 0x461bcd 000022ec: PUSH1 0xe5 000022ee: SHL 000022ef: DUP2 000022f0: MSTORE 000022f1: PUSH1 0x04 000022f3: ADD 000022f4: PUSH2 0x09fd 000022f7: SWAP1 000022f8: PUSH2 0x58b8 000022fb: JUMP 000022fc: JUMPDEST 000022fd: DUP5 000022fe: DUP2 000022ff: ISZERO 00002300: PUSH2 0x2327 00002303: JUMPI 00002304: PUSH2 0x2710 00002307: PUSH2 0x2310 0000230a: DUP4 0000230b: DUP3 0000230c: PUSH2 0x59d0 0000230f: JUMP 00002310: JUMPDEST 00002311: PUSH2 0x231a 00002314: SWAP1 00002315: DUP11 00002316: PUSH2 0x5a2f 00002319: JUMP 0000231a: JUMPDEST 0000231b: PUSH2 0x2324 0000231e: SWAP2 0000231f: SWAP1 00002320: PUSH2 0x5a46 00002323: JUMP 00002324: JUMPDEST 00002325: SWAP8 00002326: POP 00002327: JUMPDEST 00002328: PUSH2 0x0ba7 0000232b: DUP9 0000232c: DUP9 0000232d: DUP9 0000232e: DUP9 0000232f: DUP9 00002330: DUP9 00002331: ADDRESS 00002332: PUSH2 0x3eff 00002335: JUMP 00002336: JUMPDEST 00002337: CALLER 00002338: PUSH0 00002339: DUP1 0000233a: MLOAD 0000233b: PUSH1 0x20 0000233d: PUSH2 0x5d12 00002340: DUP4 00002341: CODECOPY 00002342: DUP2 00002343: MLOAD 00002344: SWAP2 00002345: MSTORE 00002346: EQ 00002347: DUP1 00002348: PUSH2 0x235d 0000234b: JUMPI 0000234c: POP 0000234d: CALLER 0000234e: PUSH0 0000234f: DUP1 00002350: MLOAD 00002351: PUSH1 0x20 00002353: PUSH2 0x5e12 00002356: DUP4 00002357: CODECOPY 00002358: DUP2 00002359: MLOAD 0000235a: SWAP2 0000235b: MSTORE 0000235c: EQ 0000235d: JUMPDEST 0000235e: DUP1 0000235f: PUSH2 0x2374 00002362: JUMPI 00002363: POP 00002364: CALLER 00002365: PUSH0 00002366: DUP1 00002367: MLOAD 00002368: PUSH1 0x20 0000236a: PUSH2 0x5d52 0000236d: DUP4 0000236e: CODECOPY 0000236f: DUP2 00002370: MLOAD 00002371: SWAP2 00002372: MSTORE 00002373: EQ 00002374: JUMPDEST 00002375: DUP1 00002376: PUSH2 0x238b 00002379: JUMPI 0000237a: POP 0000237b: CALLER 0000237c: PUSH0 0000237d: DUP1 0000237e: MLOAD 0000237f: PUSH1 0x20 00002381: PUSH2 0x5d52 00002384: DUP4 00002385: CODECOPY 00002386: DUP2 00002387: MLOAD 00002388: SWAP2 00002389: MSTORE 0000238a: EQ 0000238b: JUMPDEST 0000238c: DUP1 0000238d: PUSH2 0x23a2 00002390: JUMPI 00002391: POP 00002392: CALLER 00002393: PUSH0 00002394: DUP1 00002395: MLOAD 00002396: PUSH1 0x20 00002398: PUSH2 0x5d32 0000239b: DUP4 0000239c: CODECOPY 0000239d: DUP2 0000239e: MLOAD 0000239f: SWAP2 000023a0: MSTORE 000023a1: EQ 000023a2: JUMPDEST 000023a3: DUP1 000023a4: PUSH2 0x23b9 000023a7: JUMPI 000023a8: POP 000023a9: CALLER 000023aa: PUSH0 000023ab: DUP1 000023ac: MLOAD 000023ad: PUSH1 0x20 000023af: PUSH2 0x5e52 000023b2: DUP4 000023b3: CODECOPY 000023b4: DUP2 000023b5: MLOAD 000023b6: SWAP2 000023b7: MSTORE 000023b8: EQ 000023b9: JUMPDEST 000023ba: DUP1 000023bb: PUSH2 0x23d0 000023be: JUMPI 000023bf: POP 000023c0: CALLER 000023c1: PUSH0 000023c2: DUP1 000023c3: MLOAD 000023c4: PUSH1 0x20 000023c6: PUSH2 0x5cd2 000023c9: DUP4 000023ca: CODECOPY 000023cb: DUP2 000023cc: MLOAD 000023cd: SWAP2 000023ce: MSTORE 000023cf: EQ 000023d0: JUMPDEST 000023d1: DUP1 000023d2: PUSH2 0x23e7 000023d5: JUMPI 000023d6: POP 000023d7: CALLER 000023d8: PUSH0 000023d9: DUP1 000023da: MLOAD 000023db: PUSH1 0x20 000023dd: PUSH2 0x5cb2 000023e0: DUP4 000023e1: CODECOPY 000023e2: DUP2 000023e3: MLOAD 000023e4: SWAP2 000023e5: MSTORE 000023e6: EQ 000023e7: JUMPDEST 000023e8: DUP1 000023e9: PUSH2 0x23fe 000023ec: JUMPI 000023ed: POP 000023ee: CALLER 000023ef: PUSH0 000023f0: DUP1 000023f1: MLOAD 000023f2: PUSH1 0x20 000023f4: PUSH2 0x5d92 000023f7: DUP4 000023f8: CODECOPY 000023f9: DUP2 000023fa: MLOAD 000023fb: SWAP2 000023fc: MSTORE 000023fd: EQ 000023fe: JUMPDEST 000023ff: DUP1 00002400: PUSH2 0x2415 00002403: JUMPI 00002404: POP 00002405: CALLER 00002406: PUSH0 00002407: DUP1 00002408: MLOAD 00002409: PUSH1 0x20 0000240b: PUSH2 0x5df2 0000240e: DUP4 0000240f: CODECOPY 00002410: DUP2 00002411: MLOAD 00002412: SWAP2 00002413: MSTORE 00002414: EQ 00002415: JUMPDEST 00002416: DUP1 00002417: PUSH2 0x242c 0000241a: JUMPI 0000241b: POP 0000241c: CALLER 0000241d: PUSH0 0000241e: DUP1 0000241f: MLOAD 00002420: PUSH1 0x20 00002422: PUSH2 0x5e32 00002425: DUP4 00002426: CODECOPY 00002427: DUP2 00002428: MLOAD 00002429: SWAP2 0000242a: MSTORE 0000242b: EQ 0000242c: JUMPDEST 0000242d: DUP1 0000242e: PUSH2 0x2443 00002431: JUMPI 00002432: POP 00002433: CALLER 00002434: PUSH0 00002435: DUP1 00002436: MLOAD 00002437: PUSH1 0x20 00002439: PUSH2 0x5d72 0000243c: DUP4 0000243d: CODECOPY 0000243e: DUP2 0000243f: MLOAD 00002440: SWAP2 00002441: MSTORE 00002442: EQ 00002443: JUMPDEST 00002444: DUP1 00002445: PUSH2 0x245a 00002448: JUMPI 00002449: POP 0000244a: CALLER 0000244b: PUSH0 0000244c: DUP1 0000244d: MLOAD 0000244e: PUSH1 0x20 00002450: PUSH2 0x5dd2 00002453: DUP4 00002454: CODECOPY 00002455: DUP2 00002456: MLOAD 00002457: SWAP2 00002458: MSTORE 00002459: EQ 0000245a: JUMPDEST 0000245b: DUP1 0000245c: PUSH2 0x2471 0000245f: JUMPI 00002460: POP 00002461: CALLER 00002462: PUSH0 00002463: DUP1 00002464: MLOAD 00002465: PUSH1 0x20 00002467: PUSH2 0x5cf2 0000246a: DUP4 0000246b: CODECOPY 0000246c: DUP2 0000246d: MLOAD 0000246e: SWAP2 0000246f: MSTORE 00002470: EQ 00002471: JUMPDEST 00002472: DUP1 00002473: PUSH2 0x2488 00002476: JUMPI 00002477: POP 00002478: CALLER 00002479: PUSH0 0000247a: DUP1 0000247b: MLOAD 0000247c: PUSH1 0x20 0000247e: PUSH2 0x5db2 00002481: DUP4 00002482: CODECOPY 00002483: DUP2 00002484: MLOAD 00002485: SWAP2 00002486: MSTORE 00002487: EQ 00002488: JUMPDEST 00002489: DUP1 0000248a: PUSH2 0x249f 0000248d: JUMPI 0000248e: POP 0000248f: CALLER 00002490: PUSH0 00002491: DUP1 00002492: MLOAD 00002493: PUSH1 0x20 00002495: PUSH2 0x5e72 00002498: DUP4 00002499: CODECOPY 0000249a: DUP2 0000249b: MLOAD 0000249c: SWAP2 0000249d: MSTORE 0000249e: EQ 0000249f: JUMPDEST 000024a0: DUP1 000024a1: PUSH2 0x24b8 000024a4: JUMPI 000024a5: POP 000024a6: CALLER 000024a7: PUSH0 000024a8: SWAP1 000024a9: DUP2 000024aa: MSTORE 000024ab: PUSH1 0x02 000024ad: PUSH1 0x20 000024af: MSTORE 000024b0: PUSH1 0x40 000024b2: SWAP1 000024b3: KECCAK256 000024b4: SLOAD 000024b5: PUSH1 0xff 000024b7: AND 000024b8: JUMPDEST 000024b9: PUSH2 0x24d4 000024bc: JUMPI 000024bd: PUSH1 0x40 000024bf: MLOAD 000024c0: PUSH3 0x461bcd 000024c4: PUSH1 0xe5 000024c6: SHL 000024c7: DUP2 000024c8: MSTORE 000024c9: PUSH1 0x04 000024cb: ADD 000024cc: PUSH2 0x09fd 000024cf: SWAP1 000024d0: PUSH2 0x58b8 000024d3: JUMP 000024d4: JUMPDEST 000024d5: DUP2 000024d6: PUSH1 0x01 000024d8: PUSH1 0x01 000024da: PUSH1 0xa0 000024dc: SHL 000024dd: SUB 000024de: DUP2 000024df: AND 000024e0: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 000024f5: EQ 000024f6: DUP1 000024f7: PUSH2 0x251c 000024fa: JUMPI 000024fb: POP 000024fc: PUSH1 0x01 000024fe: PUSH1 0x01 00002500: PUSH1 0xa0 00002502: SHL 00002503: SUB 00002504: DUP2 00002505: AND 00002506: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 0000251b: EQ 0000251c: JUMPDEST 0000251d: DUP1 0000251e: PUSH2 0x2543 00002521: JUMPI 00002522: POP 00002523: PUSH1 0x01 00002525: PUSH1 0x01 00002527: PUSH1 0xa0 00002529: SHL 0000252a: SUB 0000252b: DUP2 0000252c: AND 0000252d: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00002542: EQ 00002543: JUMPDEST 00002544: DUP1 00002545: PUSH2 0x256a 00002548: JUMPI 00002549: POP 0000254a: PUSH1 0x01 0000254c: PUSH1 0x01 0000254e: PUSH1 0xa0 00002550: SHL 00002551: SUB 00002552: DUP2 00002553: AND 00002554: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00002569: EQ 0000256a: JUMPDEST 0000256b: DUP1 0000256c: PUSH2 0x2591 0000256f: JUMPI 00002570: POP 00002571: PUSH1 0x01 00002573: PUSH1 0x01 00002575: PUSH1 0xa0 00002577: SHL 00002578: SUB 00002579: DUP2 0000257a: AND 0000257b: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00002590: EQ 00002591: JUMPDEST 00002592: DUP1 00002593: PUSH2 0x25b8 00002596: JUMPI 00002597: POP 00002598: PUSH1 0x01 0000259a: PUSH1 0x01 0000259c: PUSH1 0xa0 0000259e: SHL 0000259f: SUB 000025a0: DUP2 000025a1: AND 000025a2: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 000025b7: EQ 000025b8: JUMPDEST 000025b9: DUP1 000025ba: PUSH2 0x25da 000025bd: JUMPI 000025be: POP 000025bf: PUSH1 0x01 000025c1: PUSH1 0x01 000025c3: PUSH1 0xa0 000025c5: SHL 000025c6: SUB 000025c7: DUP2 000025c8: AND 000025c9: PUSH0 000025ca: SWAP1 000025cb: DUP2 000025cc: MSTORE 000025cd: PUSH1 0x0b 000025cf: PUSH1 0x20 000025d1: MSTORE 000025d2: PUSH1 0x40 000025d4: SWAP1 000025d5: KECCAK256 000025d6: SLOAD 000025d7: PUSH1 0xff 000025d9: AND 000025da: JUMPDEST 000025db: PUSH2 0x25f6 000025de: JUMPI 000025df: PUSH1 0x40 000025e1: MLOAD 000025e2: PUSH3 0x461bcd 000025e6: PUSH1 0xe5 000025e8: SHL 000025e9: DUP2 000025ea: MSTORE 000025eb: PUSH1 0x04 000025ed: ADD 000025ee: PUSH2 0x09fd 000025f1: SWAP1 000025f2: PUSH2 0x58d6 000025f5: JUMP 000025f6: JUMPDEST 000025f7: PUSH2 0x2600 000025fa: DUP5 000025fb: DUP5 000025fc: PUSH2 0x3b3c 000025ff: JUMP 00002600: JUMPDEST 00002601: PUSH1 0x40 00002603: MLOAD 00002604: COINBASE 00002605: SWAP1 00002606: DUP4 00002607: ISZERO 00002608: PUSH2 0x08fc 0000260b: MUL 0000260c: SWAP1 0000260d: DUP5 0000260e: SWAP1 0000260f: PUSH0 00002610: DUP2 00002611: DUP2 00002612: DUP2 00002613: DUP6 00002614: DUP9 00002615: DUP9 00002616: CALL 00002617: SWAP4 00002618: POP 00002619: POP 0000261a: POP 0000261b: POP 0000261c: ISZERO 0000261d: DUP1 0000261e: ISZERO 0000261f: PUSH2 0x262a 00002622: JUMPI 00002623: RETURNDATASIZE 00002624: PUSH0 00002625: DUP1 00002626: RETURNDATACOPY 00002627: RETURNDATASIZE 00002628: PUSH0 00002629: REVERT 0000262a: JUMPDEST 0000262b: POP 0000262c: POP 0000262d: POP 0000262e: POP 0000262f: POP 00002630: JUMP 00002631: JUMPDEST 00002632: PUSH1 0x60 00002634: DUP2 00002635: PUSH1 0x01 00002637: PUSH1 0x01 00002639: PUSH1 0x40 0000263b: SHL 0000263c: SUB 0000263d: DUP2 0000263e: GT 0000263f: ISZERO 00002640: PUSH2 0x264b 00002643: JUMPI 00002644: PUSH2 0x264b 00002647: PUSH2 0x4fdf 0000264a: JUMP 0000264b: JUMPDEST 0000264c: PUSH1 0x40 0000264e: MLOAD 0000264f: SWAP1 00002650: DUP1 00002651: DUP3 00002652: MSTORE 00002653: DUP1 00002654: PUSH1 0x20 00002656: MUL 00002657: PUSH1 0x20 00002659: ADD 0000265a: DUP3 0000265b: ADD 0000265c: PUSH1 0x40 0000265e: MSTORE 0000265f: DUP1 00002660: ISZERO 00002661: PUSH2 0x267e 00002664: JUMPI 00002665: DUP2 00002666: PUSH1 0x20 00002668: ADD 00002669: JUMPDEST 0000266a: PUSH1 0x60 0000266c: DUP2 0000266d: MSTORE 0000266e: PUSH1 0x20 00002670: ADD 00002671: SWAP1 00002672: PUSH1 0x01 00002674: SWAP1 00002675: SUB 00002676: SWAP1 00002677: DUP2 00002678: PUSH2 0x2669 0000267b: JUMPI 0000267c: SWAP1 0000267d: POP 0000267e: JUMPDEST 0000267f: POP 00002680: SWAP1 00002681: POP 00002682: PUSH0 00002683: JUMPDEST 00002684: DUP3 00002685: DUP2 00002686: LT 00002687: ISZERO 00002688: PUSH2 0x277b 0000268b: JUMPI 0000268c: PUSH0 0000268d: DUP1 0000268e: ADDRESS 0000268f: DUP7 00002690: DUP7 00002691: DUP6 00002692: DUP2 00002693: DUP2 00002694: LT 00002695: PUSH2 0x26a0 00002698: JUMPI 00002699: PUSH2 0x26a0 0000269c: PUSH2 0x5a03 0000269f: JUMP 000026a0: JUMPDEST 000026a1: SWAP1 000026a2: POP 000026a3: PUSH1 0x20 000026a5: MUL 000026a6: DUP2 000026a7: ADD 000026a8: SWAP1 000026a9: PUSH2 0x26b2 000026ac: SWAP2 000026ad: SWAP1 000026ae: PUSH2 0x5a65 000026b1: JUMP 000026b2: JUMPDEST 000026b3: PUSH1 0x40 000026b5: MLOAD 000026b6: PUSH2 0x26c0 000026b9: SWAP3 000026ba: SWAP2 000026bb: SWAP1 000026bc: PUSH2 0x5aae 000026bf: JUMP 000026c0: JUMPDEST 000026c1: PUSH0 000026c2: PUSH1 0x40 000026c4: MLOAD 000026c5: DUP1 000026c6: DUP4 000026c7: SUB 000026c8: DUP2 000026c9: DUP6 000026ca: GAS 000026cb: DELEGATECALL 000026cc: SWAP2 000026cd: POP 000026ce: POP 000026cf: RETURNDATASIZE 000026d0: DUP1 000026d1: PUSH0 000026d2: DUP2 000026d3: EQ 000026d4: PUSH2 0x26f8 000026d7: JUMPI 000026d8: PUSH1 0x40 000026da: MLOAD 000026db: SWAP2 000026dc: POP 000026dd: PUSH1 0x1f 000026df: NOT 000026e0: PUSH1 0x3f 000026e2: RETURNDATASIZE 000026e3: ADD 000026e4: AND 000026e5: DUP3 000026e6: ADD 000026e7: PUSH1 0x40 000026e9: MSTORE 000026ea: RETURNDATASIZE 000026eb: DUP3 000026ec: MSTORE 000026ed: RETURNDATASIZE 000026ee: PUSH0 000026ef: PUSH1 0x20 000026f1: DUP5 000026f2: ADD 000026f3: RETURNDATACOPY 000026f4: PUSH2 0x26fd 000026f7: JUMP 000026f8: JUMPDEST 000026f9: PUSH1 0x60 000026fb: SWAP2 000026fc: POP 000026fd: JUMPDEST 000026fe: POP 000026ff: SWAP2 00002700: POP 00002701: SWAP2 00002702: POP 00002703: DUP2 00002704: PUSH2 0x2748 00002707: JUMPI 00002708: PUSH1 0x44 0000270a: DUP2 0000270b: MLOAD 0000270c: LT 0000270d: ISZERO 0000270e: PUSH2 0x2715 00002711: JUMPI 00002712: PUSH0 00002713: DUP1 00002714: REVERT 00002715: JUMPDEST 00002716: PUSH1 0x04 00002718: DUP2 00002719: ADD 0000271a: SWAP1 0000271b: POP 0000271c: DUP1 0000271d: DUP1 0000271e: PUSH1 0x20 00002720: ADD 00002721: SWAP1 00002722: MLOAD 00002723: DUP2 00002724: ADD 00002725: SWAP1 00002726: PUSH2 0x272f 00002729: SWAP2 0000272a: SWAP1 0000272b: PUSH2 0x5abd 0000272e: JUMP 0000272f: JUMPDEST 00002730: PUSH1 0x40 00002732: MLOAD 00002733: PUSH3 0x461bcd 00002737: PUSH1 0xe5 00002739: SHL 0000273a: DUP2 0000273b: MSTORE 0000273c: PUSH1 0x04 0000273e: ADD 0000273f: PUSH2 0x09fd 00002742: SWAP2 00002743: SWAP1 00002744: PUSH2 0x5b4b 00002747: JUMP 00002748: JUMPDEST 00002749: DUP1 0000274a: DUP5 0000274b: DUP5 0000274c: DUP2 0000274d: MLOAD 0000274e: DUP2 0000274f: LT 00002750: PUSH2 0x275b 00002753: JUMPI 00002754: PUSH2 0x275b 00002757: PUSH2 0x5a03 0000275a: JUMP 0000275b: JUMPDEST 0000275c: PUSH1 0x20 0000275e: MUL 0000275f: PUSH1 0x20 00002761: ADD 00002762: ADD 00002763: DUP2 00002764: SWAP1 00002765: MSTORE 00002766: POP 00002767: POP 00002768: POP 00002769: DUP1 0000276a: DUP1 0000276b: PUSH2 0x2773 0000276e: SWAP1 0000276f: PUSH2 0x5a17 00002772: JUMP 00002773: JUMPDEST 00002774: SWAP2 00002775: POP 00002776: POP 00002777: PUSH2 0x2683 0000277a: JUMP 0000277b: JUMPDEST 0000277c: POP 0000277d: SWAP3 0000277e: SWAP2 0000277f: POP 00002780: POP 00002781: JUMP 00002782: JUMPDEST 00002783: CALLER 00002784: PUSH0 00002785: SWAP1 00002786: DUP2 00002787: MSTORE 00002788: PUSH1 0x01 0000278a: PUSH1 0x20 0000278c: MSTORE 0000278d: PUSH1 0x40 0000278f: SWAP1 00002790: KECCAK256 00002791: SLOAD 00002792: PUSH1 0xff 00002794: AND 00002795: PUSH2 0x27b0 00002798: JUMPI 00002799: PUSH1 0x40 0000279b: MLOAD 0000279c: PUSH3 0x461bcd 000027a0: PUSH1 0xe5 000027a2: SHL 000027a3: DUP2 000027a4: MSTORE 000027a5: PUSH1 0x04 000027a7: ADD 000027a8: PUSH2 0x09fd 000027ab: SWAP1 000027ac: PUSH2 0x59e3 000027af: JUMP 000027b0: JUMPDEST 000027b1: PUSH2 0x17b9 000027b4: DUP2 000027b5: PUSH2 0x40b6 000027b8: JUMP 000027b9: JUMPDEST 000027ba: CALLER 000027bb: PUSH0 000027bc: SWAP1 000027bd: DUP2 000027be: MSTORE 000027bf: PUSH1 0x0a 000027c1: PUSH1 0x20 000027c3: MSTORE 000027c4: PUSH1 0x40 000027c6: SWAP1 000027c7: KECCAK256 000027c8: SLOAD 000027c9: PUSH1 0xff 000027cb: AND 000027cc: PUSH2 0x27e7 000027cf: JUMPI 000027d0: PUSH1 0x40 000027d2: MLOAD 000027d3: PUSH3 0x461bcd 000027d7: PUSH1 0xe5 000027d9: SHL 000027da: DUP2 000027db: MSTORE 000027dc: PUSH1 0x04 000027de: ADD 000027df: PUSH2 0x09fd 000027e2: SWAP1 000027e3: PUSH2 0x596b 000027e6: JUMP 000027e7: JUMPDEST 000027e8: DUP1 000027e9: PUSH1 0x01 000027eb: PUSH1 0x01 000027ed: PUSH1 0xa0 000027ef: SHL 000027f0: SUB 000027f1: DUP2 000027f2: AND 000027f3: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00002808: EQ 00002809: DUP1 0000280a: PUSH2 0x282f 0000280d: JUMPI 0000280e: POP 0000280f: PUSH1 0x01 00002811: PUSH1 0x01 00002813: PUSH1 0xa0 00002815: SHL 00002816: SUB 00002817: DUP2 00002818: AND 00002819: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 0000282e: EQ 0000282f: JUMPDEST 00002830: DUP1 00002831: PUSH2 0x2856 00002834: JUMPI 00002835: POP 00002836: PUSH1 0x01 00002838: PUSH1 0x01 0000283a: PUSH1 0xa0 0000283c: SHL 0000283d: SUB 0000283e: DUP2 0000283f: AND 00002840: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00002855: EQ 00002856: JUMPDEST 00002857: DUP1 00002858: PUSH2 0x287d 0000285b: JUMPI 0000285c: POP 0000285d: PUSH1 0x01 0000285f: PUSH1 0x01 00002861: PUSH1 0xa0 00002863: SHL 00002864: SUB 00002865: DUP2 00002866: AND 00002867: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 0000287c: EQ 0000287d: JUMPDEST 0000287e: DUP1 0000287f: PUSH2 0x28a4 00002882: JUMPI 00002883: POP 00002884: PUSH1 0x01 00002886: PUSH1 0x01 00002888: PUSH1 0xa0 0000288a: SHL 0000288b: SUB 0000288c: DUP2 0000288d: AND 0000288e: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 000028a3: EQ 000028a4: JUMPDEST 000028a5: DUP1 000028a6: PUSH2 0x28cb 000028a9: JUMPI 000028aa: POP 000028ab: PUSH1 0x01 000028ad: PUSH1 0x01 000028af: PUSH1 0xa0 000028b1: SHL 000028b2: SUB 000028b3: DUP2 000028b4: AND 000028b5: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 000028ca: EQ 000028cb: JUMPDEST 000028cc: DUP1 000028cd: PUSH2 0x28ed 000028d0: JUMPI 000028d1: POP 000028d2: PUSH1 0x01 000028d4: PUSH1 0x01 000028d6: PUSH1 0xa0 000028d8: SHL 000028d9: SUB 000028da: DUP2 000028db: AND 000028dc: PUSH0 000028dd: SWAP1 000028de: DUP2 000028df: MSTORE 000028e0: PUSH1 0x0b 000028e2: PUSH1 0x20 000028e4: MSTORE 000028e5: PUSH1 0x40 000028e7: SWAP1 000028e8: KECCAK256 000028e9: SLOAD 000028ea: PUSH1 0xff 000028ec: AND 000028ed: JUMPDEST 000028ee: PUSH2 0x2909 000028f1: JUMPI 000028f2: PUSH1 0x40 000028f4: MLOAD 000028f5: PUSH3 0x461bcd 000028f9: PUSH1 0xe5 000028fb: SHL 000028fc: DUP2 000028fd: MSTORE 000028fe: PUSH1 0x04 00002900: ADD 00002901: PUSH2 0x09fd 00002904: SWAP1 00002905: PUSH2 0x58d6 00002908: JUMP 00002909: JUMPDEST 0000290a: PUSH1 0x08 0000290c: SLOAD 0000290d: PUSH1 0x01 0000290f: PUSH1 0x01 00002911: PUSH1 0xa0 00002913: SHL 00002914: SUB 00002915: SWAP1 00002916: DUP2 00002917: AND 00002918: SWAP1 00002919: DUP6 0000291a: AND 0000291b: SUB 0000291c: PUSH2 0x294d 0000291f: JUMPI 00002920: PUSH1 0x40 00002922: MLOAD 00002923: PUSH3 0x461bcd 00002927: PUSH1 0xe5 00002929: SHL 0000292a: DUP2 0000292b: MSTORE 0000292c: PUSH1 0x20 0000292e: PUSH1 0x04 00002930: DUP3 00002931: ADD 00002932: MSTORE 00002933: PUSH1 0x03 00002935: PUSH1 0x24 00002937: DUP3 00002938: ADD 00002939: MSTORE 0000293a: PUSH3 0x776e73 0000293e: PUSH1 0xe8 00002940: SHL 00002941: PUSH1 0x44 00002943: DUP3 00002944: ADD 00002945: MSTORE 00002946: PUSH1 0x64 00002948: ADD 00002949: PUSH2 0x09fd 0000294c: JUMP 0000294d: JUMPDEST 0000294e: PUSH1 0x40 00002950: MLOAD 00002951: PUSH4 0x70a08231 00002956: PUSH1 0xe0 00002958: SHL 00002959: DUP2 0000295a: MSTORE 0000295b: ADDRESS 0000295c: PUSH1 0x04 0000295e: DUP3 0000295f: ADD 00002960: MSTORE 00002961: DUP4 00002962: SWAP1 00002963: PUSH1 0x01 00002965: PUSH1 0x01 00002967: PUSH1 0xa0 00002969: SHL 0000296a: SUB 0000296b: DUP7 0000296c: AND 0000296d: SWAP1 0000296e: PUSH4 0x70a08231 00002973: SWAP1 00002974: PUSH1 0x24 00002976: ADD 00002977: PUSH1 0x20 00002979: PUSH1 0x40 0000297b: MLOAD 0000297c: DUP1 0000297d: DUP4 0000297e: SUB 0000297f: DUP2 00002980: DUP7 00002981: GAS 00002982: STATICCALL 00002983: ISZERO 00002984: DUP1 00002985: ISZERO 00002986: PUSH2 0x2991 00002989: JUMPI 0000298a: RETURNDATASIZE 0000298b: PUSH0 0000298c: DUP1 0000298d: RETURNDATACOPY 0000298e: RETURNDATASIZE 0000298f: PUSH0 00002990: REVERT 00002991: JUMPDEST 00002992: POP 00002993: POP 00002994: POP 00002995: POP 00002996: PUSH1 0x40 00002998: MLOAD 00002999: RETURNDATASIZE 0000299a: PUSH1 0x1f 0000299c: NOT 0000299d: PUSH1 0x1f 0000299f: DUP3 000029a0: ADD 000029a1: AND 000029a2: DUP3 000029a3: ADD 000029a4: DUP1 000029a5: PUSH1 0x40 000029a7: MSTORE 000029a8: POP 000029a9: DUP2 000029aa: ADD 000029ab: SWAP1 000029ac: PUSH2 0x29b5 000029af: SWAP2 000029b0: SWAP1 000029b1: PUSH2 0x5989 000029b4: JUMP 000029b5: JUMPDEST 000029b6: LT 000029b7: ISZERO 000029b8: PUSH2 0x29d3 000029bb: JUMPI 000029bc: PUSH1 0x40 000029be: MLOAD 000029bf: PUSH3 0x461bcd 000029c3: PUSH1 0xe5 000029c5: SHL 000029c6: DUP2 000029c7: MSTORE 000029c8: PUSH1 0x04 000029ca: ADD 000029cb: PUSH2 0x09fd 000029ce: SWAP1 000029cf: PUSH2 0x59a0 000029d2: JUMP 000029d3: JUMPDEST 000029d4: PUSH2 0x0c08 000029d7: PUSH1 0x01 000029d9: PUSH1 0x01 000029db: PUSH1 0xa0 000029dd: SHL 000029de: SUB 000029df: DUP6 000029e0: AND 000029e1: DUP4 000029e2: DUP6 000029e3: PUSH2 0x3d19 000029e6: JUMP 000029e7: JUMPDEST 000029e8: PUSH0 000029e9: SLOAD 000029ea: PUSH1 0x01 000029ec: PUSH1 0x01 000029ee: PUSH1 0xa0 000029f0: SHL 000029f1: SUB 000029f2: AND 000029f3: CALLER 000029f4: EQ 000029f5: PUSH2 0x2a10 000029f8: JUMPI 000029f9: PUSH1 0x40 000029fb: MLOAD 000029fc: PUSH3 0x461bcd 00002a00: PUSH1 0xe5 00002a02: SHL 00002a03: DUP2 00002a04: MSTORE 00002a05: PUSH1 0x04 00002a07: ADD 00002a08: PUSH2 0x09fd 00002a0b: SWAP1 00002a0c: PUSH2 0x594f 00002a0f: JUMP 00002a10: JUMPDEST 00002a11: PUSH1 0x01 00002a13: PUSH1 0x01 00002a15: PUSH1 0xa0 00002a17: SHL 00002a18: SUB 00002a19: SWAP2 00002a1a: SWAP1 00002a1b: SWAP2 00002a1c: AND 00002a1d: PUSH0 00002a1e: SWAP1 00002a1f: DUP2 00002a20: MSTORE 00002a21: PUSH1 0x0b 00002a23: PUSH1 0x20 00002a25: MSTORE 00002a26: PUSH1 0x40 00002a28: SWAP1 00002a29: KECCAK256 00002a2a: DUP1 00002a2b: SLOAD 00002a2c: PUSH1 0xff 00002a2e: NOT 00002a2f: AND 00002a30: SWAP2 00002a31: ISZERO 00002a32: ISZERO 00002a33: SWAP2 00002a34: SWAP1 00002a35: SWAP2 00002a36: OR 00002a37: SWAP1 00002a38: SSTORE 00002a39: JUMP 00002a3a: JUMPDEST 00002a3b: CALLER 00002a3c: PUSH0 00002a3d: DUP1 00002a3e: MLOAD 00002a3f: PUSH1 0x20 00002a41: PUSH2 0x5d12 00002a44: DUP4 00002a45: CODECOPY 00002a46: DUP2 00002a47: MLOAD 00002a48: SWAP2 00002a49: MSTORE 00002a4a: EQ 00002a4b: DUP1 00002a4c: PUSH2 0x2a61 00002a4f: JUMPI 00002a50: POP 00002a51: CALLER 00002a52: PUSH0 00002a53: DUP1 00002a54: MLOAD 00002a55: PUSH1 0x20 00002a57: PUSH2 0x5e12 00002a5a: DUP4 00002a5b: CODECOPY 00002a5c: DUP2 00002a5d: MLOAD 00002a5e: SWAP2 00002a5f: MSTORE 00002a60: EQ 00002a61: JUMPDEST 00002a62: DUP1 00002a63: PUSH2 0x2a78 00002a66: JUMPI 00002a67: POP 00002a68: CALLER 00002a69: PUSH0 00002a6a: DUP1 00002a6b: MLOAD 00002a6c: PUSH1 0x20 00002a6e: PUSH2 0x5d52 00002a71: DUP4 00002a72: CODECOPY 00002a73: DUP2 00002a74: MLOAD 00002a75: SWAP2 00002a76: MSTORE 00002a77: EQ 00002a78: JUMPDEST 00002a79: DUP1 00002a7a: PUSH2 0x2a8f 00002a7d: JUMPI 00002a7e: POP 00002a7f: CALLER 00002a80: PUSH0 00002a81: DUP1 00002a82: MLOAD 00002a83: PUSH1 0x20 00002a85: PUSH2 0x5d52 00002a88: DUP4 00002a89: CODECOPY 00002a8a: DUP2 00002a8b: MLOAD 00002a8c: SWAP2 00002a8d: MSTORE 00002a8e: EQ 00002a8f: JUMPDEST 00002a90: DUP1 00002a91: PUSH2 0x2aa6 00002a94: JUMPI 00002a95: POP 00002a96: CALLER 00002a97: PUSH0 00002a98: DUP1 00002a99: MLOAD 00002a9a: PUSH1 0x20 00002a9c: PUSH2 0x5d32 00002a9f: DUP4 00002aa0: CODECOPY 00002aa1: DUP2 00002aa2: MLOAD 00002aa3: SWAP2 00002aa4: MSTORE 00002aa5: EQ 00002aa6: JUMPDEST 00002aa7: DUP1 00002aa8: PUSH2 0x2abd 00002aab: JUMPI 00002aac: POP 00002aad: CALLER 00002aae: PUSH0 00002aaf: DUP1 00002ab0: MLOAD 00002ab1: PUSH1 0x20 00002ab3: PUSH2 0x5e52 00002ab6: DUP4 00002ab7: CODECOPY 00002ab8: DUP2 00002ab9: MLOAD 00002aba: SWAP2 00002abb: MSTORE 00002abc: EQ 00002abd: JUMPDEST 00002abe: DUP1 00002abf: PUSH2 0x2ad4 00002ac2: JUMPI 00002ac3: POP 00002ac4: CALLER 00002ac5: PUSH0 00002ac6: DUP1 00002ac7: MLOAD 00002ac8: PUSH1 0x20 00002aca: PUSH2 0x5cd2 00002acd: DUP4 00002ace: CODECOPY 00002acf: DUP2 00002ad0: MLOAD 00002ad1: SWAP2 00002ad2: MSTORE 00002ad3: EQ 00002ad4: JUMPDEST 00002ad5: DUP1 00002ad6: PUSH2 0x2aeb 00002ad9: JUMPI 00002ada: POP 00002adb: CALLER 00002adc: PUSH0 00002add: DUP1 00002ade: MLOAD 00002adf: PUSH1 0x20 00002ae1: PUSH2 0x5cb2 00002ae4: DUP4 00002ae5: CODECOPY 00002ae6: DUP2 00002ae7: MLOAD 00002ae8: SWAP2 00002ae9: MSTORE 00002aea: EQ 00002aeb: JUMPDEST 00002aec: DUP1 00002aed: PUSH2 0x2b02 00002af0: JUMPI 00002af1: POP 00002af2: CALLER 00002af3: PUSH0 00002af4: DUP1 00002af5: MLOAD 00002af6: PUSH1 0x20 00002af8: PUSH2 0x5d92 00002afb: DUP4 00002afc: CODECOPY 00002afd: DUP2 00002afe: MLOAD 00002aff: SWAP2 00002b00: MSTORE 00002b01: EQ 00002b02: JUMPDEST 00002b03: DUP1 00002b04: PUSH2 0x2b19 00002b07: JUMPI 00002b08: POP 00002b09: CALLER 00002b0a: PUSH0 00002b0b: DUP1 00002b0c: MLOAD 00002b0d: PUSH1 0x20 00002b0f: PUSH2 0x5df2 00002b12: DUP4 00002b13: CODECOPY 00002b14: DUP2 00002b15: MLOAD 00002b16: SWAP2 00002b17: MSTORE 00002b18: EQ 00002b19: JUMPDEST 00002b1a: DUP1 00002b1b: PUSH2 0x2b30 00002b1e: JUMPI 00002b1f: POP 00002b20: CALLER 00002b21: PUSH0 00002b22: DUP1 00002b23: MLOAD 00002b24: PUSH1 0x20 00002b26: PUSH2 0x5e32 00002b29: DUP4 00002b2a: CODECOPY 00002b2b: DUP2 00002b2c: MLOAD 00002b2d: SWAP2 00002b2e: MSTORE 00002b2f: EQ 00002b30: JUMPDEST 00002b31: DUP1 00002b32: PUSH2 0x2b47 00002b35: JUMPI 00002b36: POP 00002b37: CALLER 00002b38: PUSH0 00002b39: DUP1 00002b3a: MLOAD 00002b3b: PUSH1 0x20 00002b3d: PUSH2 0x5d72 00002b40: DUP4 00002b41: CODECOPY 00002b42: DUP2 00002b43: MLOAD 00002b44: SWAP2 00002b45: MSTORE 00002b46: EQ 00002b47: JUMPDEST 00002b48: DUP1 00002b49: PUSH2 0x2b5e 00002b4c: JUMPI 00002b4d: POP 00002b4e: CALLER 00002b4f: PUSH0 00002b50: DUP1 00002b51: MLOAD 00002b52: PUSH1 0x20 00002b54: PUSH2 0x5dd2 00002b57: DUP4 00002b58: CODECOPY 00002b59: DUP2 00002b5a: MLOAD 00002b5b: SWAP2 00002b5c: MSTORE 00002b5d: EQ 00002b5e: JUMPDEST 00002b5f: DUP1 00002b60: PUSH2 0x2b75 00002b63: JUMPI 00002b64: POP 00002b65: CALLER 00002b66: PUSH0 00002b67: DUP1 00002b68: MLOAD 00002b69: PUSH1 0x20 00002b6b: PUSH2 0x5cf2 00002b6e: DUP4 00002b6f: CODECOPY 00002b70: DUP2 00002b71: MLOAD 00002b72: SWAP2 00002b73: MSTORE 00002b74: EQ 00002b75: JUMPDEST 00002b76: DUP1 00002b77: PUSH2 0x2b8c 00002b7a: JUMPI 00002b7b: POP 00002b7c: CALLER 00002b7d: PUSH0 00002b7e: DUP1 00002b7f: MLOAD 00002b80: PUSH1 0x20 00002b82: PUSH2 0x5db2 00002b85: DUP4 00002b86: CODECOPY 00002b87: DUP2 00002b88: MLOAD 00002b89: SWAP2 00002b8a: MSTORE 00002b8b: EQ 00002b8c: JUMPDEST 00002b8d: DUP1 00002b8e: PUSH2 0x2ba3 00002b91: JUMPI 00002b92: POP 00002b93: CALLER 00002b94: PUSH0 00002b95: DUP1 00002b96: MLOAD 00002b97: PUSH1 0x20 00002b99: PUSH2 0x5e72 00002b9c: DUP4 00002b9d: CODECOPY 00002b9e: DUP2 00002b9f: MLOAD 00002ba0: SWAP2 00002ba1: MSTORE 00002ba2: EQ 00002ba3: JUMPDEST 00002ba4: DUP1 00002ba5: PUSH2 0x2bbc 00002ba8: JUMPI 00002ba9: POP 00002baa: CALLER 00002bab: PUSH0 00002bac: SWAP1 00002bad: DUP2 00002bae: MSTORE 00002baf: PUSH1 0x02 00002bb1: PUSH1 0x20 00002bb3: MSTORE 00002bb4: PUSH1 0x40 00002bb6: SWAP1 00002bb7: KECCAK256 00002bb8: SLOAD 00002bb9: PUSH1 0xff 00002bbb: AND 00002bbc: JUMPDEST 00002bbd: PUSH2 0x2bd8 00002bc0: JUMPI 00002bc1: PUSH1 0x40 00002bc3: MLOAD 00002bc4: PUSH3 0x461bcd 00002bc8: PUSH1 0xe5 00002bca: SHL 00002bcb: DUP2 00002bcc: MSTORE 00002bcd: PUSH1 0x04 00002bcf: ADD 00002bd0: PUSH2 0x09fd 00002bd3: SWAP1 00002bd4: PUSH2 0x58b8 00002bd7: JUMP 00002bd8: JUMPDEST 00002bd9: DUP1 00002bda: TIMESTAMP 00002bdb: DUP2 00002bdc: LT 00002bdd: ISZERO 00002bde: PUSH2 0x2c0e 00002be1: JUMPI 00002be2: PUSH1 0x40 00002be4: MLOAD 00002be5: PUSH3 0x461bcd 00002be9: PUSH1 0xe5 00002beb: SHL 00002bec: DUP2 00002bed: MSTORE 00002bee: PUSH1 0x20 00002bf0: PUSH1 0x04 00002bf2: DUP3 00002bf3: ADD 00002bf4: MSTORE 00002bf5: PUSH1 0x02 00002bf7: PUSH1 0x24 00002bf9: DUP3 00002bfa: ADD 00002bfb: MSTORE 00002bfc: PUSH2 0x7465 00002bff: PUSH1 0xf0 00002c01: SHL 00002c02: PUSH1 0x44 00002c04: DUP3 00002c05: ADD 00002c06: MSTORE 00002c07: PUSH1 0x64 00002c09: ADD 00002c0a: PUSH2 0x09fd 00002c0d: JUMP 00002c0e: JUMPDEST 00002c0f: DUP5 00002c10: PUSH2 0x0ba7 00002c13: DUP9 00002c14: DUP9 00002c15: DUP9 00002c16: DUP9 00002c17: DUP9 00002c18: PUSH1 0x1e 00002c1a: ADDRESS 00002c1b: PUSH2 0x3eff 00002c1e: JUMP 00002c1f: JUMPDEST 00002c20: CALLER 00002c21: PUSH0 00002c22: DUP1 00002c23: MLOAD 00002c24: PUSH1 0x20 00002c26: PUSH2 0x5d12 00002c29: DUP4 00002c2a: CODECOPY 00002c2b: DUP2 00002c2c: MLOAD 00002c2d: SWAP2 00002c2e: MSTORE 00002c2f: EQ 00002c30: DUP1 00002c31: PUSH2 0x2c46 00002c34: JUMPI 00002c35: POP 00002c36: CALLER 00002c37: PUSH0 00002c38: DUP1 00002c39: MLOAD 00002c3a: PUSH1 0x20 00002c3c: PUSH2 0x5e12 00002c3f: DUP4 00002c40: CODECOPY 00002c41: DUP2 00002c42: MLOAD 00002c43: SWAP2 00002c44: MSTORE 00002c45: EQ 00002c46: JUMPDEST 00002c47: DUP1 00002c48: PUSH2 0x2c5d 00002c4b: JUMPI 00002c4c: POP 00002c4d: CALLER 00002c4e: PUSH0 00002c4f: DUP1 00002c50: MLOAD 00002c51: PUSH1 0x20 00002c53: PUSH2 0x5d52 00002c56: DUP4 00002c57: CODECOPY 00002c58: DUP2 00002c59: MLOAD 00002c5a: SWAP2 00002c5b: MSTORE 00002c5c: EQ 00002c5d: JUMPDEST 00002c5e: DUP1 00002c5f: PUSH2 0x2c74 00002c62: JUMPI 00002c63: POP 00002c64: CALLER 00002c65: PUSH0 00002c66: DUP1 00002c67: MLOAD 00002c68: PUSH1 0x20 00002c6a: PUSH2 0x5d52 00002c6d: DUP4 00002c6e: CODECOPY 00002c6f: DUP2 00002c70: MLOAD 00002c71: SWAP2 00002c72: MSTORE 00002c73: EQ 00002c74: JUMPDEST 00002c75: DUP1 00002c76: PUSH2 0x2c8b 00002c79: JUMPI 00002c7a: POP 00002c7b: CALLER 00002c7c: PUSH0 00002c7d: DUP1 00002c7e: MLOAD 00002c7f: PUSH1 0x20 00002c81: PUSH2 0x5d32 00002c84: DUP4 00002c85: CODECOPY 00002c86: DUP2 00002c87: MLOAD 00002c88: SWAP2 00002c89: MSTORE 00002c8a: EQ 00002c8b: JUMPDEST 00002c8c: DUP1 00002c8d: PUSH2 0x2ca2 00002c90: JUMPI 00002c91: POP 00002c92: CALLER 00002c93: PUSH0 00002c94: DUP1 00002c95: MLOAD 00002c96: PUSH1 0x20 00002c98: PUSH2 0x5e52 00002c9b: DUP4 00002c9c: CODECOPY 00002c9d: DUP2 00002c9e: MLOAD 00002c9f: SWAP2 00002ca0: MSTORE 00002ca1: EQ 00002ca2: JUMPDEST 00002ca3: DUP1 00002ca4: PUSH2 0x2cb9 00002ca7: JUMPI 00002ca8: POP 00002ca9: CALLER 00002caa: PUSH0 00002cab: DUP1 00002cac: MLOAD 00002cad: PUSH1 0x20 00002caf: PUSH2 0x5cd2 00002cb2: DUP4 00002cb3: CODECOPY 00002cb4: DUP2 00002cb5: MLOAD 00002cb6: SWAP2 00002cb7: MSTORE 00002cb8: EQ 00002cb9: JUMPDEST 00002cba: DUP1 00002cbb: PUSH2 0x2cd0 00002cbe: JUMPI 00002cbf: POP 00002cc0: CALLER 00002cc1: PUSH0 00002cc2: DUP1 00002cc3: MLOAD 00002cc4: PUSH1 0x20 00002cc6: PUSH2 0x5cb2 00002cc9: DUP4 00002cca: CODECOPY 00002ccb: DUP2 00002ccc: MLOAD 00002ccd: SWAP2 00002cce: MSTORE 00002ccf: EQ 00002cd0: JUMPDEST 00002cd1: DUP1 00002cd2: PUSH2 0x2ce7 00002cd5: JUMPI 00002cd6: POP 00002cd7: CALLER 00002cd8: PUSH0 00002cd9: DUP1 00002cda: MLOAD 00002cdb: PUSH1 0x20 00002cdd: PUSH2 0x5d92 00002ce0: DUP4 00002ce1: CODECOPY 00002ce2: DUP2 00002ce3: MLOAD 00002ce4: SWAP2 00002ce5: MSTORE 00002ce6: EQ 00002ce7: JUMPDEST 00002ce8: DUP1 00002ce9: PUSH2 0x2cfe 00002cec: JUMPI 00002ced: POP 00002cee: CALLER 00002cef: PUSH0 00002cf0: DUP1 00002cf1: MLOAD 00002cf2: PUSH1 0x20 00002cf4: PUSH2 0x5df2 00002cf7: DUP4 00002cf8: CODECOPY 00002cf9: DUP2 00002cfa: MLOAD 00002cfb: SWAP2 00002cfc: MSTORE 00002cfd: EQ 00002cfe: JUMPDEST 00002cff: DUP1 00002d00: PUSH2 0x2d15 00002d03: JUMPI 00002d04: POP 00002d05: CALLER 00002d06: PUSH0 00002d07: DUP1 00002d08: MLOAD 00002d09: PUSH1 0x20 00002d0b: PUSH2 0x5e32 00002d0e: DUP4 00002d0f: CODECOPY 00002d10: DUP2 00002d11: MLOAD 00002d12: SWAP2 00002d13: MSTORE 00002d14: EQ 00002d15: JUMPDEST 00002d16: DUP1 00002d17: PUSH2 0x2d2c 00002d1a: JUMPI 00002d1b: POP 00002d1c: CALLER 00002d1d: PUSH0 00002d1e: DUP1 00002d1f: MLOAD 00002d20: PUSH1 0x20 00002d22: PUSH2 0x5d72 00002d25: DUP4 00002d26: CODECOPY 00002d27: DUP2 00002d28: MLOAD 00002d29: SWAP2 00002d2a: MSTORE 00002d2b: EQ 00002d2c: JUMPDEST 00002d2d: DUP1 00002d2e: PUSH2 0x2d43 00002d31: JUMPI 00002d32: POP 00002d33: CALLER 00002d34: PUSH0 00002d35: DUP1 00002d36: MLOAD 00002d37: PUSH1 0x20 00002d39: PUSH2 0x5dd2 00002d3c: DUP4 00002d3d: CODECOPY 00002d3e: DUP2 00002d3f: MLOAD 00002d40: SWAP2 00002d41: MSTORE 00002d42: EQ 00002d43: JUMPDEST 00002d44: DUP1 00002d45: PUSH2 0x2d5a 00002d48: JUMPI 00002d49: POP 00002d4a: CALLER 00002d4b: PUSH0 00002d4c: DUP1 00002d4d: MLOAD 00002d4e: PUSH1 0x20 00002d50: PUSH2 0x5cf2 00002d53: DUP4 00002d54: CODECOPY 00002d55: DUP2 00002d56: MLOAD 00002d57: SWAP2 00002d58: MSTORE 00002d59: EQ 00002d5a: JUMPDEST 00002d5b: DUP1 00002d5c: PUSH2 0x2d71 00002d5f: JUMPI 00002d60: POP 00002d61: CALLER 00002d62: PUSH0 00002d63: DUP1 00002d64: MLOAD 00002d65: PUSH1 0x20 00002d67: PUSH2 0x5db2 00002d6a: DUP4 00002d6b: CODECOPY 00002d6c: DUP2 00002d6d: MLOAD 00002d6e: SWAP2 00002d6f: MSTORE 00002d70: EQ 00002d71: JUMPDEST 00002d72: DUP1 00002d73: PUSH2 0x2d88 00002d76: JUMPI 00002d77: POP 00002d78: CALLER 00002d79: PUSH0 00002d7a: DUP1 00002d7b: MLOAD 00002d7c: PUSH1 0x20 00002d7e: PUSH2 0x5e72 00002d81: DUP4 00002d82: CODECOPY 00002d83: DUP2 00002d84: MLOAD 00002d85: SWAP2 00002d86: MSTORE 00002d87: EQ 00002d88: JUMPDEST 00002d89: DUP1 00002d8a: PUSH2 0x2da1 00002d8d: JUMPI 00002d8e: POP 00002d8f: CALLER 00002d90: PUSH0 00002d91: SWAP1 00002d92: DUP2 00002d93: MSTORE 00002d94: PUSH1 0x02 00002d96: PUSH1 0x20 00002d98: MSTORE 00002d99: PUSH1 0x40 00002d9b: SWAP1 00002d9c: KECCAK256 00002d9d: SLOAD 00002d9e: PUSH1 0xff 00002da0: AND 00002da1: JUMPDEST 00002da2: PUSH2 0x2dbd 00002da5: JUMPI 00002da6: PUSH1 0x40 00002da8: MLOAD 00002da9: PUSH3 0x461bcd 00002dad: PUSH1 0xe5 00002daf: SHL 00002db0: DUP2 00002db1: MSTORE 00002db2: PUSH1 0x04 00002db4: ADD 00002db5: PUSH2 0x09fd 00002db8: SWAP1 00002db9: PUSH2 0x58b8 00002dbc: JUMP 00002dbd: JUMPDEST 00002dbe: PUSH2 0x2dc7 00002dc1: DUP4 00002dc2: DUP4 00002dc3: PUSH2 0x3db0 00002dc6: JUMP 00002dc7: JUMPDEST 00002dc8: PUSH1 0x40 00002dca: MLOAD 00002dcb: COINBASE 00002dcc: SWAP1 00002dcd: DUP3 00002dce: ISZERO 00002dcf: PUSH2 0x08fc 00002dd2: MUL 00002dd3: SWAP1 00002dd4: DUP4 00002dd5: SWAP1 00002dd6: PUSH0 00002dd7: DUP2 00002dd8: DUP2 00002dd9: DUP2 00002dda: DUP6 00002ddb: DUP9 00002ddc: DUP9 00002ddd: CALL 00002dde: SWAP4 00002ddf: POP 00002de0: POP 00002de1: POP 00002de2: POP 00002de3: ISZERO 00002de4: DUP1 00002de5: ISZERO 00002de6: PUSH2 0x0c08 00002de9: JUMPI 00002dea: RETURNDATASIZE 00002deb: PUSH0 00002dec: DUP1 00002ded: RETURNDATACOPY 00002dee: RETURNDATASIZE 00002def: PUSH0 00002df0: REVERT 00002df1: JUMPDEST 00002df2: DUP2 00002df3: PUSH1 0x01 00002df5: PUSH1 0x01 00002df7: PUSH1 0xa0 00002df9: SHL 00002dfa: SUB 00002dfb: DUP2 00002dfc: AND 00002dfd: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00002e12: EQ 00002e13: DUP1 00002e14: PUSH2 0x2e39 00002e17: JUMPI 00002e18: POP 00002e19: PUSH1 0x01 00002e1b: PUSH1 0x01 00002e1d: PUSH1 0xa0 00002e1f: SHL 00002e20: SUB 00002e21: DUP2 00002e22: AND 00002e23: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 00002e38: EQ 00002e39: JUMPDEST 00002e3a: DUP1 00002e3b: PUSH2 0x2e60 00002e3e: JUMPI 00002e3f: POP 00002e40: PUSH1 0x01 00002e42: PUSH1 0x01 00002e44: PUSH1 0xa0 00002e46: SHL 00002e47: SUB 00002e48: DUP2 00002e49: AND 00002e4a: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 00002e5f: EQ 00002e60: JUMPDEST 00002e61: DUP1 00002e62: PUSH2 0x2e87 00002e65: JUMPI 00002e66: POP 00002e67: PUSH1 0x01 00002e69: PUSH1 0x01 00002e6b: PUSH1 0xa0 00002e6d: SHL 00002e6e: SUB 00002e6f: DUP2 00002e70: AND 00002e71: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 00002e86: EQ 00002e87: JUMPDEST 00002e88: DUP1 00002e89: PUSH2 0x2eae 00002e8c: JUMPI 00002e8d: POP 00002e8e: PUSH1 0x01 00002e90: PUSH1 0x01 00002e92: PUSH1 0xa0 00002e94: SHL 00002e95: SUB 00002e96: DUP2 00002e97: AND 00002e98: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 00002ead: EQ 00002eae: JUMPDEST 00002eaf: DUP1 00002eb0: PUSH2 0x2ed5 00002eb3: JUMPI 00002eb4: POP 00002eb5: PUSH1 0x01 00002eb7: PUSH1 0x01 00002eb9: PUSH1 0xa0 00002ebb: SHL 00002ebc: SUB 00002ebd: DUP2 00002ebe: AND 00002ebf: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00002ed4: EQ 00002ed5: JUMPDEST 00002ed6: DUP1 00002ed7: PUSH2 0x2ef7 00002eda: JUMPI 00002edb: POP 00002edc: PUSH1 0x01 00002ede: PUSH1 0x01 00002ee0: PUSH1 0xa0 00002ee2: SHL 00002ee3: SUB 00002ee4: DUP2 00002ee5: AND 00002ee6: PUSH0 00002ee7: SWAP1 00002ee8: DUP2 00002ee9: MSTORE 00002eea: PUSH1 0x0b 00002eec: PUSH1 0x20 00002eee: MSTORE 00002eef: PUSH1 0x40 00002ef1: SWAP1 00002ef2: KECCAK256 00002ef3: SLOAD 00002ef4: PUSH1 0xff 00002ef6: AND 00002ef7: JUMPDEST 00002ef8: PUSH2 0x2f13 00002efb: JUMPI 00002efc: PUSH1 0x40 00002efe: MLOAD 00002eff: PUSH3 0x461bcd 00002f03: PUSH1 0xe5 00002f05: SHL 00002f06: DUP2 00002f07: MSTORE 00002f08: PUSH1 0x04 00002f0a: ADD 00002f0b: PUSH2 0x09fd 00002f0e: SWAP1 00002f0f: PUSH2 0x58d6 00002f12: JUMP 00002f13: JUMPDEST 00002f14: CALLER 00002f15: PUSH0 00002f16: DUP1 00002f17: MLOAD 00002f18: PUSH1 0x20 00002f1a: PUSH2 0x5d12 00002f1d: DUP4 00002f1e: CODECOPY 00002f1f: DUP2 00002f20: MLOAD 00002f21: SWAP2 00002f22: MSTORE 00002f23: EQ 00002f24: DUP1 00002f25: PUSH2 0x2f3a 00002f28: JUMPI 00002f29: POP 00002f2a: CALLER 00002f2b: PUSH0 00002f2c: DUP1 00002f2d: MLOAD 00002f2e: PUSH1 0x20 00002f30: PUSH2 0x5e12 00002f33: DUP4 00002f34: CODECOPY 00002f35: DUP2 00002f36: MLOAD 00002f37: SWAP2 00002f38: MSTORE 00002f39: EQ 00002f3a: JUMPDEST 00002f3b: DUP1 00002f3c: PUSH2 0x2f51 00002f3f: JUMPI 00002f40: POP 00002f41: CALLER 00002f42: PUSH0 00002f43: DUP1 00002f44: MLOAD 00002f45: PUSH1 0x20 00002f47: PUSH2 0x5d52 00002f4a: DUP4 00002f4b: CODECOPY 00002f4c: DUP2 00002f4d: MLOAD 00002f4e: SWAP2 00002f4f: MSTORE 00002f50: EQ 00002f51: JUMPDEST 00002f52: DUP1 00002f53: PUSH2 0x2f68 00002f56: JUMPI 00002f57: POP 00002f58: CALLER 00002f59: PUSH0 00002f5a: DUP1 00002f5b: MLOAD 00002f5c: PUSH1 0x20 00002f5e: PUSH2 0x5d52 00002f61: DUP4 00002f62: CODECOPY 00002f63: DUP2 00002f64: MLOAD 00002f65: SWAP2 00002f66: MSTORE 00002f67: EQ 00002f68: JUMPDEST 00002f69: DUP1 00002f6a: PUSH2 0x2f7f 00002f6d: JUMPI 00002f6e: POP 00002f6f: CALLER 00002f70: PUSH0 00002f71: DUP1 00002f72: MLOAD 00002f73: PUSH1 0x20 00002f75: PUSH2 0x5d32 00002f78: DUP4 00002f79: CODECOPY 00002f7a: DUP2 00002f7b: MLOAD 00002f7c: SWAP2 00002f7d: MSTORE 00002f7e: EQ 00002f7f: JUMPDEST 00002f80: DUP1 00002f81: PUSH2 0x2f96 00002f84: JUMPI 00002f85: POP 00002f86: CALLER 00002f87: PUSH0 00002f88: DUP1 00002f89: MLOAD 00002f8a: PUSH1 0x20 00002f8c: PUSH2 0x5e52 00002f8f: DUP4 00002f90: CODECOPY 00002f91: DUP2 00002f92: MLOAD 00002f93: SWAP2 00002f94: MSTORE 00002f95: EQ 00002f96: JUMPDEST 00002f97: DUP1 00002f98: PUSH2 0x2fad 00002f9b: JUMPI 00002f9c: POP 00002f9d: CALLER 00002f9e: PUSH0 00002f9f: DUP1 00002fa0: MLOAD 00002fa1: PUSH1 0x20 00002fa3: PUSH2 0x5cd2 00002fa6: DUP4 00002fa7: CODECOPY 00002fa8: DUP2 00002fa9: MLOAD 00002faa: SWAP2 00002fab: MSTORE 00002fac: EQ 00002fad: JUMPDEST 00002fae: DUP1 00002faf: PUSH2 0x2fc4 00002fb2: JUMPI 00002fb3: POP 00002fb4: CALLER 00002fb5: PUSH0 00002fb6: DUP1 00002fb7: MLOAD 00002fb8: PUSH1 0x20 00002fba: PUSH2 0x5cb2 00002fbd: DUP4 00002fbe: CODECOPY 00002fbf: DUP2 00002fc0: MLOAD 00002fc1: SWAP2 00002fc2: MSTORE 00002fc3: EQ 00002fc4: JUMPDEST 00002fc5: DUP1 00002fc6: PUSH2 0x2fdb 00002fc9: JUMPI 00002fca: POP 00002fcb: CALLER 00002fcc: PUSH0 00002fcd: DUP1 00002fce: MLOAD 00002fcf: PUSH1 0x20 00002fd1: PUSH2 0x5d92 00002fd4: DUP4 00002fd5: CODECOPY 00002fd6: DUP2 00002fd7: MLOAD 00002fd8: SWAP2 00002fd9: MSTORE 00002fda: EQ 00002fdb: JUMPDEST 00002fdc: DUP1 00002fdd: PUSH2 0x2ff2 00002fe0: JUMPI 00002fe1: POP 00002fe2: CALLER 00002fe3: PUSH0 00002fe4: DUP1 00002fe5: MLOAD 00002fe6: PUSH1 0x20 00002fe8: PUSH2 0x5df2 00002feb: DUP4 00002fec: CODECOPY 00002fed: DUP2 00002fee: MLOAD 00002fef: SWAP2 00002ff0: MSTORE 00002ff1: EQ 00002ff2: JUMPDEST 00002ff3: DUP1 00002ff4: PUSH2 0x3009 00002ff7: JUMPI 00002ff8: POP 00002ff9: CALLER 00002ffa: PUSH0 00002ffb: DUP1 00002ffc: MLOAD 00002ffd: PUSH1 0x20 00002fff: PUSH2 0x5e32 00003002: DUP4 00003003: CODECOPY 00003004: DUP2 00003005: MLOAD 00003006: SWAP2 00003007: MSTORE 00003008: EQ 00003009: JUMPDEST 0000300a: DUP1 0000300b: PUSH2 0x3020 0000300e: JUMPI 0000300f: POP 00003010: CALLER 00003011: PUSH0 00003012: DUP1 00003013: MLOAD 00003014: PUSH1 0x20 00003016: PUSH2 0x5d72 00003019: DUP4 0000301a: CODECOPY 0000301b: DUP2 0000301c: MLOAD 0000301d: SWAP2 0000301e: MSTORE 0000301f: EQ 00003020: JUMPDEST 00003021: DUP1 00003022: PUSH2 0x3037 00003025: JUMPI 00003026: POP 00003027: CALLER 00003028: PUSH0 00003029: DUP1 0000302a: MLOAD 0000302b: PUSH1 0x20 0000302d: PUSH2 0x5dd2 00003030: DUP4 00003031: CODECOPY 00003032: DUP2 00003033: MLOAD 00003034: SWAP2 00003035: MSTORE 00003036: EQ 00003037: JUMPDEST 00003038: DUP1 00003039: PUSH2 0x304e 0000303c: JUMPI 0000303d: POP 0000303e: CALLER 0000303f: PUSH0 00003040: DUP1 00003041: MLOAD 00003042: PUSH1 0x20 00003044: PUSH2 0x5cf2 00003047: DUP4 00003048: CODECOPY 00003049: DUP2 0000304a: MLOAD 0000304b: SWAP2 0000304c: MSTORE 0000304d: EQ 0000304e: JUMPDEST 0000304f: DUP1 00003050: PUSH2 0x3065 00003053: JUMPI 00003054: POP 00003055: CALLER 00003056: PUSH0 00003057: DUP1 00003058: MLOAD 00003059: PUSH1 0x20 0000305b: PUSH2 0x5db2 0000305e: DUP4 0000305f: CODECOPY 00003060: DUP2 00003061: MLOAD 00003062: SWAP2 00003063: MSTORE 00003064: EQ 00003065: JUMPDEST 00003066: DUP1 00003067: PUSH2 0x307c 0000306a: JUMPI 0000306b: POP 0000306c: CALLER 0000306d: PUSH0 0000306e: DUP1 0000306f: MLOAD 00003070: PUSH1 0x20 00003072: PUSH2 0x5e72 00003075: DUP4 00003076: CODECOPY 00003077: DUP2 00003078: MLOAD 00003079: SWAP2 0000307a: MSTORE 0000307b: EQ 0000307c: JUMPDEST 0000307d: DUP1 0000307e: PUSH2 0x3095 00003081: JUMPI 00003082: POP 00003083: CALLER 00003084: PUSH0 00003085: SWAP1 00003086: DUP2 00003087: MSTORE 00003088: PUSH1 0x02 0000308a: PUSH1 0x20 0000308c: MSTORE 0000308d: PUSH1 0x40 0000308f: SWAP1 00003090: KECCAK256 00003091: SLOAD 00003092: PUSH1 0xff 00003094: AND 00003095: JUMPDEST 00003096: PUSH2 0x30b1 00003099: JUMPI 0000309a: PUSH1 0x40 0000309c: MLOAD 0000309d: PUSH3 0x461bcd 000030a1: PUSH1 0xe5 000030a3: SHL 000030a4: DUP2 000030a5: MSTORE 000030a6: PUSH1 0x04 000030a8: ADD 000030a9: PUSH2 0x09fd 000030ac: SWAP1 000030ad: PUSH2 0x58b8 000030b0: JUMP 000030b1: JUMPDEST 000030b2: DUP4 000030b3: TIMESTAMP 000030b4: DUP2 000030b5: LT 000030b6: ISZERO 000030b7: PUSH2 0x30e7 000030ba: JUMPI 000030bb: PUSH1 0x40 000030bd: MLOAD 000030be: PUSH3 0x461bcd 000030c2: PUSH1 0xe5 000030c4: SHL 000030c5: DUP2 000030c6: MSTORE 000030c7: PUSH1 0x20 000030c9: PUSH1 0x04 000030cb: DUP3 000030cc: ADD 000030cd: MSTORE 000030ce: PUSH1 0x02 000030d0: PUSH1 0x24 000030d2: DUP3 000030d3: ADD 000030d4: MSTORE 000030d5: PUSH2 0x7465 000030d8: PUSH1 0xf0 000030da: SHL 000030db: PUSH1 0x44 000030dd: DUP3 000030de: ADD 000030df: MSTORE 000030e0: PUSH1 0x64 000030e2: ADD 000030e3: PUSH2 0x09fd 000030e6: JUMP 000030e7: JUMPDEST 000030e8: PUSH2 0x30f7 000030eb: DUP11 000030ec: DUP11 000030ed: DUP11 000030ee: DUP11 000030ef: DUP11 000030f0: PUSH1 0x1e 000030f2: DUP11 000030f3: PUSH2 0x3eff 000030f6: JUMP 000030f7: JUMPDEST 000030f8: PUSH1 0x40 000030fa: MLOAD 000030fb: COINBASE 000030fc: SWAP1 000030fd: DUP5 000030fe: ISZERO 000030ff: PUSH2 0x08fc 00003102: MUL 00003103: SWAP1 00003104: DUP6 00003105: SWAP1 00003106: PUSH0 00003107: DUP2 00003108: DUP2 00003109: DUP2 0000310a: DUP6 0000310b: DUP9 0000310c: DUP9 0000310d: CALL 0000310e: SWAP4 0000310f: POP 00003110: POP 00003111: POP 00003112: POP 00003113: ISZERO 00003114: DUP1 00003115: ISZERO 00003116: PUSH2 0x3121 00003119: JUMPI 0000311a: RETURNDATASIZE 0000311b: PUSH0 0000311c: DUP1 0000311d: RETURNDATACOPY 0000311e: RETURNDATASIZE 0000311f: PUSH0 00003120: REVERT 00003121: JUMPDEST 00003122: POP 00003123: POP 00003124: POP 00003125: POP 00003126: POP 00003127: POP 00003128: POP 00003129: POP 0000312a: POP 0000312b: POP 0000312c: POP 0000312d: JUMP 0000312e: JUMPDEST 0000312f: CALLER 00003130: PUSH0 00003131: DUP1 00003132: MLOAD 00003133: PUSH1 0x20 00003135: PUSH2 0x5d12 00003138: DUP4 00003139: CODECOPY 0000313a: DUP2 0000313b: MLOAD 0000313c: SWAP2 0000313d: MSTORE 0000313e: EQ 0000313f: DUP1 00003140: PUSH2 0x3155 00003143: JUMPI 00003144: POP 00003145: CALLER 00003146: PUSH0 00003147: DUP1 00003148: MLOAD 00003149: PUSH1 0x20 0000314b: PUSH2 0x5e12 0000314e: DUP4 0000314f: CODECOPY 00003150: DUP2 00003151: MLOAD 00003152: SWAP2 00003153: MSTORE 00003154: EQ 00003155: JUMPDEST 00003156: DUP1 00003157: PUSH2 0x316c 0000315a: JUMPI 0000315b: POP 0000315c: CALLER 0000315d: PUSH0 0000315e: DUP1 0000315f: MLOAD 00003160: PUSH1 0x20 00003162: PUSH2 0x5d52 00003165: DUP4 00003166: CODECOPY 00003167: DUP2 00003168: MLOAD 00003169: SWAP2 0000316a: MSTORE 0000316b: EQ 0000316c: JUMPDEST 0000316d: DUP1 0000316e: PUSH2 0x3183 00003171: JUMPI 00003172: POP 00003173: CALLER 00003174: PUSH0 00003175: DUP1 00003176: MLOAD 00003177: PUSH1 0x20 00003179: PUSH2 0x5d52 0000317c: DUP4 0000317d: CODECOPY 0000317e: DUP2 0000317f: MLOAD 00003180: SWAP2 00003181: MSTORE 00003182: EQ 00003183: JUMPDEST 00003184: DUP1 00003185: PUSH2 0x319a 00003188: JUMPI 00003189: POP 0000318a: CALLER 0000318b: PUSH0 0000318c: DUP1 0000318d: MLOAD 0000318e: PUSH1 0x20 00003190: PUSH2 0x5d32 00003193: DUP4 00003194: CODECOPY 00003195: DUP2 00003196: MLOAD 00003197: SWAP2 00003198: MSTORE 00003199: EQ 0000319a: JUMPDEST 0000319b: DUP1 0000319c: PUSH2 0x31b1 0000319f: JUMPI 000031a0: POP 000031a1: CALLER 000031a2: PUSH0 000031a3: DUP1 000031a4: MLOAD 000031a5: PUSH1 0x20 000031a7: PUSH2 0x5e52 000031aa: DUP4 000031ab: CODECOPY 000031ac: DUP2 000031ad: MLOAD 000031ae: SWAP2 000031af: MSTORE 000031b0: EQ 000031b1: JUMPDEST 000031b2: DUP1 000031b3: PUSH2 0x31c8 000031b6: JUMPI 000031b7: POP 000031b8: CALLER 000031b9: PUSH0 000031ba: DUP1 000031bb: MLOAD 000031bc: PUSH1 0x20 000031be: PUSH2 0x5cd2 000031c1: DUP4 000031c2: CODECOPY 000031c3: DUP2 000031c4: MLOAD 000031c5: SWAP2 000031c6: MSTORE 000031c7: EQ 000031c8: JUMPDEST 000031c9: DUP1 000031ca: PUSH2 0x31df 000031cd: JUMPI 000031ce: POP 000031cf: CALLER 000031d0: PUSH0 000031d1: DUP1 000031d2: MLOAD 000031d3: PUSH1 0x20 000031d5: PUSH2 0x5cb2 000031d8: DUP4 000031d9: CODECOPY 000031da: DUP2 000031db: MLOAD 000031dc: SWAP2 000031dd: MSTORE 000031de: EQ 000031df: JUMPDEST 000031e0: DUP1 000031e1: PUSH2 0x31f6 000031e4: JUMPI 000031e5: POP 000031e6: CALLER 000031e7: PUSH0 000031e8: DUP1 000031e9: MLOAD 000031ea: PUSH1 0x20 000031ec: PUSH2 0x5d92 000031ef: DUP4 000031f0: CODECOPY 000031f1: DUP2 000031f2: MLOAD 000031f3: SWAP2 000031f4: MSTORE 000031f5: EQ 000031f6: JUMPDEST 000031f7: DUP1 000031f8: PUSH2 0x320d 000031fb: JUMPI 000031fc: POP 000031fd: CALLER 000031fe: PUSH0 000031ff: DUP1 00003200: MLOAD 00003201: PUSH1 0x20 00003203: PUSH2 0x5df2 00003206: DUP4 00003207: CODECOPY 00003208: DUP2 00003209: MLOAD 0000320a: SWAP2 0000320b: MSTORE 0000320c: EQ 0000320d: JUMPDEST 0000320e: DUP1 0000320f: PUSH2 0x3224 00003212: JUMPI 00003213: POP 00003214: CALLER 00003215: PUSH0 00003216: DUP1 00003217: MLOAD 00003218: PUSH1 0x20 0000321a: PUSH2 0x5e32 0000321d: DUP4 0000321e: CODECOPY 0000321f: DUP2 00003220: MLOAD 00003221: SWAP2 00003222: MSTORE 00003223: EQ 00003224: JUMPDEST 00003225: DUP1 00003226: PUSH2 0x323b 00003229: JUMPI 0000322a: POP 0000322b: CALLER 0000322c: PUSH0 0000322d: DUP1 0000322e: MLOAD 0000322f: PUSH1 0x20 00003231: PUSH2 0x5d72 00003234: DUP4 00003235: CODECOPY 00003236: DUP2 00003237: MLOAD 00003238: SWAP2 00003239: MSTORE 0000323a: EQ 0000323b: JUMPDEST 0000323c: DUP1 0000323d: PUSH2 0x3252 00003240: JUMPI 00003241: POP 00003242: CALLER 00003243: PUSH0 00003244: DUP1 00003245: MLOAD 00003246: PUSH1 0x20 00003248: PUSH2 0x5dd2 0000324b: DUP4 0000324c: CODECOPY 0000324d: DUP2 0000324e: MLOAD 0000324f: SWAP2 00003250: MSTORE 00003251: EQ 00003252: JUMPDEST 00003253: DUP1 00003254: PUSH2 0x3269 00003257: JUMPI 00003258: POP 00003259: CALLER 0000325a: PUSH0 0000325b: DUP1 0000325c: MLOAD 0000325d: PUSH1 0x20 0000325f: PUSH2 0x5cf2 00003262: DUP4 00003263: CODECOPY 00003264: DUP2 00003265: MLOAD 00003266: SWAP2 00003267: MSTORE 00003268: EQ 00003269: JUMPDEST 0000326a: DUP1 0000326b: PUSH2 0x3280 0000326e: JUMPI 0000326f: POP 00003270: CALLER 00003271: PUSH0 00003272: DUP1 00003273: MLOAD 00003274: PUSH1 0x20 00003276: PUSH2 0x5db2 00003279: DUP4 0000327a: CODECOPY 0000327b: DUP2 0000327c: MLOAD 0000327d: SWAP2 0000327e: MSTORE 0000327f: EQ 00003280: JUMPDEST 00003281: DUP1 00003282: PUSH2 0x3297 00003285: JUMPI 00003286: POP 00003287: CALLER 00003288: PUSH0 00003289: DUP1 0000328a: MLOAD 0000328b: PUSH1 0x20 0000328d: PUSH2 0x5e72 00003290: DUP4 00003291: CODECOPY 00003292: DUP2 00003293: MLOAD 00003294: SWAP2 00003295: MSTORE 00003296: EQ 00003297: JUMPDEST 00003298: DUP1 00003299: PUSH2 0x32b0 0000329c: JUMPI 0000329d: POP 0000329e: CALLER 0000329f: PUSH0 000032a0: SWAP1 000032a1: DUP2 000032a2: MSTORE 000032a3: PUSH1 0x02 000032a5: PUSH1 0x20 000032a7: MSTORE 000032a8: PUSH1 0x40 000032aa: SWAP1 000032ab: KECCAK256 000032ac: SLOAD 000032ad: PUSH1 0xff 000032af: AND 000032b0: JUMPDEST 000032b1: PUSH2 0x32cc 000032b4: JUMPI 000032b5: PUSH1 0x40 000032b7: MLOAD 000032b8: PUSH3 0x461bcd 000032bc: PUSH1 0xe5 000032be: SHL 000032bf: DUP2 000032c0: MSTORE 000032c1: PUSH1 0x04 000032c3: ADD 000032c4: PUSH2 0x09fd 000032c7: SWAP1 000032c8: PUSH2 0x58b8 000032cb: JUMP 000032cc: JUMPDEST 000032cd: DUP1 000032ce: MLOAD 000032cf: PUSH2 0x116b 000032d2: DUP3 000032d3: PUSH2 0x4291 000032d6: JUMP 000032d7: JUMPDEST 000032d8: PUSH0 000032d9: SLOAD 000032da: PUSH1 0x01 000032dc: PUSH1 0x01 000032de: PUSH1 0xa0 000032e0: SHL 000032e1: SUB 000032e2: AND 000032e3: CALLER 000032e4: EQ 000032e5: PUSH2 0x3300 000032e8: JUMPI 000032e9: PUSH1 0x40 000032eb: MLOAD 000032ec: PUSH3 0x461bcd 000032f0: PUSH1 0xe5 000032f2: SHL 000032f3: DUP2 000032f4: MSTORE 000032f5: PUSH1 0x04 000032f7: ADD 000032f8: PUSH2 0x09fd 000032fb: SWAP1 000032fc: PUSH2 0x594f 000032ff: JUMP 00003300: JUMPDEST 00003301: PUSH2 0x0f2b 00003304: PUSH1 0x01 00003306: PUSH1 0x01 00003308: PUSH1 0xa0 0000330a: SHL 0000330b: SUB 0000330c: DUP5 0000330d: AND 0000330e: DUP4 0000330f: DUP4 00003310: PUSH2 0x432f 00003313: JUMP 00003314: JUMPDEST 00003315: PUSH0 00003316: DUP1 00003317: SLOAD 00003318: PUSH1 0x01 0000331a: PUSH1 0x01 0000331c: PUSH1 0xa0 0000331e: SHL 0000331f: SUB 00003320: AND 00003321: CALLER 00003322: EQ 00003323: PUSH2 0x333e 00003326: JUMPI 00003327: PUSH1 0x40 00003329: MLOAD 0000332a: PUSH3 0x461bcd 0000332e: PUSH1 0xe5 00003330: SHL 00003331: DUP2 00003332: MSTORE 00003333: PUSH1 0x04 00003335: ADD 00003336: PUSH2 0x09fd 00003339: SWAP1 0000333a: PUSH2 0x594f 0000333d: JUMP 0000333e: JUMPDEST 0000333f: POP 00003340: PUSH1 0x01 00003342: PUSH1 0x01 00003344: PUSH1 0xa0 00003346: SHL 00003347: SUB 00003348: DUP2 00003349: AND 0000334a: PUSH0 0000334b: SWAP1 0000334c: DUP2 0000334d: MSTORE 0000334e: PUSH1 0x0b 00003350: PUSH1 0x20 00003352: MSTORE 00003353: PUSH1 0x40 00003355: SWAP1 00003356: KECCAK256 00003357: SLOAD 00003358: PUSH1 0xff 0000335a: AND 0000335b: JUMPDEST 0000335c: SWAP2 0000335d: SWAP1 0000335e: POP 0000335f: JUMP 00003360: JUMPDEST 00003361: DUP1 00003362: PUSH1 0x01 00003364: PUSH1 0x01 00003366: PUSH1 0xa0 00003368: SHL 00003369: SUB 0000336a: DUP2 0000336b: AND 0000336c: PUSH20 0xa701f9db977c98f9043b20225b4322f94dbd50db 00003381: EQ 00003382: DUP1 00003383: PUSH2 0x33a8 00003386: JUMPI 00003387: POP 00003388: PUSH1 0x01 0000338a: PUSH1 0x01 0000338c: PUSH1 0xa0 0000338e: SHL 0000338f: SUB 00003390: DUP2 00003391: AND 00003392: PUSH20 0xabd69d0fac4b0851dafe100979df808eb7fb81a9 000033a7: EQ 000033a8: JUMPDEST 000033a9: DUP1 000033aa: PUSH2 0x33cf 000033ad: JUMPI 000033ae: POP 000033af: PUSH1 0x01 000033b1: PUSH1 0x01 000033b3: PUSH1 0xa0 000033b5: SHL 000033b6: SUB 000033b7: DUP2 000033b8: AND 000033b9: PUSH20 0x3b82ff2ea45595c8d0c79a2e5749b7347dd4970a 000033ce: EQ 000033cf: JUMPDEST 000033d0: DUP1 000033d1: PUSH2 0x33f6 000033d4: JUMPI 000033d5: POP 000033d6: PUSH1 0x01 000033d8: PUSH1 0x01 000033da: PUSH1 0xa0 000033dc: SHL 000033dd: SUB 000033de: DUP2 000033df: AND 000033e0: PUSH20 0xc750359cba44ad5214f0ccd99900b99099dc92f1 000033f5: EQ 000033f6: JUMPDEST 000033f7: DUP1 000033f8: PUSH2 0x341d 000033fb: JUMPI 000033fc: POP 000033fd: PUSH1 0x01 000033ff: PUSH1 0x01 00003401: PUSH1 0xa0 00003403: SHL 00003404: SUB 00003405: DUP2 00003406: AND 00003407: PUSH20 0xfa87374753e528b4dea388225e5723f42a2db8bc 0000341c: EQ 0000341d: JUMPDEST 0000341e: DUP1 0000341f: PUSH2 0x3444 00003422: JUMPI 00003423: POP 00003424: PUSH1 0x01 00003426: PUSH1 0x01 00003428: PUSH1 0xa0 0000342a: SHL 0000342b: SUB 0000342c: DUP2 0000342d: AND 0000342e: PUSH20 0x0e098207a163a0f8415d575cb5126ebf378f00bf 00003443: EQ 00003444: JUMPDEST 00003445: DUP1 00003446: PUSH2 0x3466 00003449: JUMPI 0000344a: POP 0000344b: PUSH1 0x01 0000344d: PUSH1 0x01 0000344f: PUSH1 0xa0 00003451: SHL 00003452: SUB 00003453: DUP2 00003454: AND 00003455: PUSH0 00003456: SWAP1 00003457: DUP2 00003458: MSTORE 00003459: PUSH1 0x0b 0000345b: PUSH1 0x20 0000345d: MSTORE 0000345e: PUSH1 0x40 00003460: SWAP1 00003461: KECCAK256 00003462: SLOAD 00003463: PUSH1 0xff 00003465: AND 00003466: JUMPDEST 00003467: PUSH2 0x3482 0000346a: JUMPI 0000346b: PUSH1 0x40 0000346d: MLOAD 0000346e: PUSH3 0x461bcd 00003472: PUSH1 0xe5 00003474: SHL 00003475: DUP2 00003476: MSTORE 00003477: PUSH1 0x04 00003479: ADD 0000347a: PUSH2 0x09fd 0000347d: SWAP1 0000347e: PUSH2 0x58d6 00003481: JUMP 00003482: JUMPDEST 00003483: CALLER 00003484: PUSH0 00003485: DUP1 00003486: MLOAD 00003487: PUSH1 0x20 00003489: PUSH2 0x5d12 0000348c: DUP4 0000348d: CODECOPY 0000348e: DUP2 0000348f: MLOAD 00003490: SWAP2 00003491: MSTORE 00003492: EQ 00003493: DUP1 00003494: PUSH2 0x34a9 00003497: JUMPI 00003498: POP 00003499: CALLER 0000349a: PUSH0 0000349b: DUP1 0000349c: MLOAD 0000349d: PUSH1 0x20 0000349f: PUSH2 0x5e12 000034a2: DUP4 000034a3: CODECOPY 000034a4: DUP2 000034a5: MLOAD 000034a6: SWAP2 000034a7: MSTORE 000034a8: EQ 000034a9: JUMPDEST 000034aa: DUP1 000034ab: PUSH2 0x34c0 000034ae: JUMPI 000034af: POP 000034b0: CALLER 000034b1: PUSH0 000034b2: DUP1 000034b3: MLOAD 000034b4: PUSH1 0x20 000034b6: PUSH2 0x5d52 000034b9: DUP4 000034ba: CODECOPY 000034bb: DUP2 000034bc: MLOAD 000034bd: SWAP2 000034be: MSTORE 000034bf: EQ 000034c0: JUMPDEST 000034c1: DUP1 000034c2: PUSH2 0x34d7 000034c5: JUMPI 000034c6: POP 000034c7: CALLER 000034c8: PUSH0 000034c9: DUP1 000034ca: MLOAD 000034cb: PUSH1 0x20 000034cd: PUSH2 0x5d52 000034d0: DUP4 000034d1: CODECOPY 000034d2: DUP2 000034d3: MLOAD 000034d4: SWAP2 000034d5: MSTORE 000034d6: EQ 000034d7: JUMPDEST 000034d8: DUP1 000034d9: PUSH2 0x34ee 000034dc: JUMPI 000034dd: POP 000034de: CALLER 000034df: PUSH0 000034e0: DUP1 000034e1: MLOAD 000034e2: PUSH1 0x20 000034e4: PUSH2 0x5d32 000034e7: DUP4 000034e8: CODECOPY 000034e9: DUP2 000034ea: MLOAD 000034eb: SWAP2 000034ec: MSTORE 000034ed: EQ 000034ee: JUMPDEST 000034ef: DUP1 000034f0: PUSH2 0x3505 000034f3: JUMPI 000034f4: POP 000034f5: CALLER 000034f6: PUSH0 000034f7: DUP1 000034f8: MLOAD 000034f9: PUSH1 0x20 000034fb: PUSH2 0x5e52 000034fe: DUP4 000034ff: CODECOPY 00003500: DUP2 00003501: MLOAD 00003502: SWAP2 00003503: MSTORE 00003504: EQ 00003505: JUMPDEST 00003506: DUP1 00003507: PUSH2 0x351c 0000350a: JUMPI 0000350b: POP 0000350c: CALLER 0000350d: PUSH0 0000350e: DUP1 0000350f: MLOAD 00003510: PUSH1 0x20 00003512: PUSH2 0x5cd2 00003515: DUP4 00003516: CODECOPY 00003517: DUP2 00003518: MLOAD 00003519: SWAP2 0000351a: MSTORE 0000351b: EQ 0000351c: JUMPDEST 0000351d: DUP1 0000351e: PUSH2 0x3533 00003521: JUMPI 00003522: POP 00003523: CALLER 00003524: PUSH0 00003525: DUP1 00003526: MLOAD 00003527: PUSH1 0x20 00003529: PUSH2 0x5cb2 0000352c: DUP4 0000352d: CODECOPY 0000352e: DUP2 0000352f: MLOAD 00003530: SWAP2 00003531: MSTORE 00003532: EQ 00003533: JUMPDEST 00003534: DUP1 00003535: PUSH2 0x354a 00003538: JUMPI 00003539: POP 0000353a: CALLER 0000353b: PUSH0 0000353c: DUP1 0000353d: MLOAD 0000353e: PUSH1 0x20 00003540: PUSH2 0x5d92 00003543: DUP4 00003544: CODECOPY 00003545: DUP2 00003546: MLOAD 00003547: SWAP2 00003548: MSTORE 00003549: EQ 0000354a: JUMPDEST 0000354b: DUP1 0000354c: PUSH2 0x3561 0000354f: JUMPI 00003550: POP 00003551: CALLER 00003552: PUSH0 00003553: DUP1 00003554: MLOAD 00003555: PUSH1 0x20 00003557: PUSH2 0x5df2 0000355a: DUP4 0000355b: CODECOPY 0000355c: DUP2 0000355d: MLOAD 0000355e: SWAP2 0000355f: MSTORE 00003560: EQ 00003561: JUMPDEST 00003562: DUP1 00003563: PUSH2 0x3578 00003566: JUMPI 00003567: POP 00003568: CALLER 00003569: PUSH0 0000356a: DUP1 0000356b: MLOAD 0000356c: PUSH1 0x20 0000356e: PUSH2 0x5e32 00003571: DUP4 00003572: CODECOPY 00003573: DUP2 00003574: MLOAD 00003575: SWAP2 00003576: MSTORE 00003577: EQ 00003578: JUMPDEST 00003579: DUP1 0000357a: PUSH2 0x358f 0000357d: JUMPI 0000357e: POP 0000357f: CALLER 00003580: PUSH0 00003581: DUP1 00003582: MLOAD 00003583: PUSH1 0x20 00003585: PUSH2 0x5d72 00003588: DUP4 00003589: CODECOPY 0000358a: DUP2 0000358b: MLOAD 0000358c: SWAP2 0000358d: MSTORE 0000358e: EQ 0000358f: JUMPDEST 00003590: DUP1 00003591: PUSH2 0x35a6 00003594: JUMPI 00003595: POP 00003596: CALLER 00003597: PUSH0 00003598: DUP1 00003599: MLOAD 0000359a: PUSH1 0x20 0000359c: PUSH2 0x5dd2 0000359f: DUP4 000035a0: CODECOPY 000035a1: DUP2 000035a2: MLOAD 000035a3: SWAP2 000035a4: MSTORE 000035a5: EQ 000035a6: JUMPDEST 000035a7: DUP1 000035a8: PUSH2 0x35bd 000035ab: JUMPI 000035ac: POP 000035ad: CALLER 000035ae: PUSH0 000035af: DUP1 000035b0: MLOAD 000035b1: PUSH1 0x20 000035b3: PUSH2 0x5cf2 000035b6: DUP4 000035b7: CODECOPY 000035b8: DUP2 000035b9: MLOAD 000035ba: SWAP2 000035bb: MSTORE 000035bc: EQ 000035bd: JUMPDEST 000035be: DUP1 000035bf: PUSH2 0x35d4 000035c2: JUMPI 000035c3: POP 000035c4: CALLER 000035c5: PUSH0 000035c6: DUP1 000035c7: MLOAD 000035c8: PUSH1 0x20 000035ca: PUSH2 0x5db2 000035cd: DUP4 000035ce: CODECOPY 000035cf: DUP2 000035d0: MLOAD 000035d1: SWAP2 000035d2: MSTORE 000035d3: EQ 000035d4: JUMPDEST 000035d5: DUP1 000035d6: PUSH2 0x35eb 000035d9: JUMPI 000035da: POP 000035db: CALLER 000035dc: PUSH0 000035dd: DUP1 000035de: MLOAD 000035df: PUSH1 0x20 000035e1: PUSH2 0x5e72 000035e4: DUP4 000035e5: CODECOPY 000035e6: DUP2 000035e7: MLOAD 000035e8: SWAP2 000035e9: MSTORE 000035ea: EQ 000035eb: JUMPDEST 000035ec: DUP1 000035ed: PUSH2 0x3604 000035f0: JUMPI 000035f1: POP 000035f2: CALLER 000035f3: PUSH0 000035f4: SWAP1 000035f5: DUP2 000035f6: MSTORE 000035f7: PUSH1 0x02 000035f9: PUSH1 0x20 000035fb: MSTORE 000035fc: PUSH1 0x40 000035fe: SWAP1 000035ff: KECCAK256 00003600: SLOAD 00003601: PUSH1 0xff 00003603: AND 00003604: JUMPDEST 00003605: PUSH2 0x3620 00003608: JUMPI 00003609: PUSH1 0x40 0000360b: MLOAD 0000360c: PUSH3 0x461bcd 00003610: PUSH1 0xe5 00003612: SHL 00003613: DUP2 00003614: MSTORE 00003615: PUSH1 0x04 00003617: ADD 00003618: PUSH2 0x09fd 0000361b: SWAP1 0000361c: PUSH2 0x58b8 0000361f: JUMP 00003620: JUMPDEST 00003621: PUSH2 0x3634 00003624: PUSH1 0x01 00003626: PUSH1 0x01 00003628: PUSH1 0xa0 0000362a: SHL 0000362b: SUB 0000362c: DUP6 0000362d: AND 0000362e: DUP7 0000362f: DUP10 00003630: PUSH2 0x3d19 00003633: JUMP 00003634: JUMPDEST 00003635: DUP5 00003636: PUSH1 0x01 00003638: PUSH1 0x01 0000363a: PUSH1 0xa0 0000363c: SHL 0000363d: SUB 0000363e: AND 0000363f: PUSH4 0x022c0d9f 00003644: DUP5 00003645: PUSH2 0x364e 00003648: JUMPI 00003649: DUP8 0000364a: PUSH2 0x3650 0000364d: JUMP 0000364e: JUMPDEST 0000364f: PUSH0 00003650: JUMPDEST 00003651: DUP6 00003652: PUSH2 0x365b 00003655: JUMPI 00003656: PUSH0 00003657: PUSH2 0x365d 0000365a: JUMP 0000365b: JUMPDEST 0000365c: DUP9 0000365d: JUMPDEST 0000365e: PUSH1 0x40 00003660: DUP1 00003661: MLOAD 00003662: PUSH0 00003663: DUP2 00003664: MSTORE 00003665: PUSH1 0x20 00003667: DUP2 00003668: ADD 00003669: SWAP2 0000366a: DUP3 0000366b: SWAP1 0000366c: MSTORE 0000366d: PUSH1 0x01 0000366f: PUSH1 0x01 00003671: PUSH1 0xe0 00003673: SHL 00003674: SUB 00003675: NOT 00003676: PUSH1 0xe0 00003678: DUP7 00003679: SWAP1 0000367a: SHL 0000367b: AND 0000367c: SWAP1 0000367d: SWAP2 0000367e: MSTORE 0000367f: PUSH2 0x368f 00003682: SWAP3 00003683: SWAP2 00003684: SWAP1 00003685: DUP8 00003686: SWAP1 00003687: PUSH1 0x24 00003689: DUP2 0000368a: ADD 0000368b: PUSH2 0x5b5d 0000368e: JUMP 0000368f: JUMPDEST 00003690: PUSH0 00003691: PUSH1 0x40 00003693: MLOAD 00003694: DUP1 00003695: DUP4 00003696: SUB 00003697: DUP2 00003698: PUSH0 00003699: DUP8 0000369a: DUP1 0000369b: EXTCODESIZE 0000369c: ISZERO 0000369d: DUP1 0000369e: ISZERO 0000369f: PUSH2 0x36a6 000036a2: JUMPI 000036a3: PUSH0 000036a4: DUP1 000036a5: REVERT 000036a6: JUMPDEST 000036a7: POP 000036a8: GAS 000036a9: CALL 000036aa: ISZERO 000036ab: DUP1 000036ac: ISZERO 000036ad: PUSH2 0x3121 000036b0: JUMPI 000036b1: RETURNDATASIZE 000036b2: PUSH0 000036b3: DUP1 000036b4: RETURNDATACOPY 000036b5: RETURNDATASIZE 000036b6: PUSH0 000036b7: REVERT 000036b8: JUMPDEST 000036b9: CALLER 000036ba: PUSH0 000036bb: SWAP1 000036bc: DUP2 000036bd: MSTORE 000036be: PUSH1 0x01 000036c0: PUSH1 0x20 000036c2: MSTORE 000036c3: PUSH1 0x40 000036c5: SWAP1 000036c6: KECCAK256 000036c7: SLOAD 000036c8: PUSH1 0xff 000036ca: AND 000036cb: PUSH2 0x36e6 000036ce: JUMPI 000036cf: PUSH1 0x40 000036d1: MLOAD 000036d2: PUSH3 0x461bcd 000036d6: PUSH1 0xe5 000036d8: SHL 000036d9: DUP2 000036da: MSTORE 000036db: PUSH1 0x04 000036dd: ADD 000036de: PUSH2 0x09fd 000036e1: SWAP1 000036e2: PUSH2 0x59e3 000036e5: JUMP 000036e6: JUMPDEST 000036e7: PUSH0 000036e8: JUMPDEST 000036e9: DUP2 000036ea: MLOAD 000036eb: DUP2 000036ec: LT 000036ed: ISZERO 000036ee: PUSH2 0x116b 000036f1: JUMPI 000036f2: PUSH2 0x3713 000036f5: DUP3 000036f6: DUP3 000036f7: DUP2 000036f8: MLOAD 000036f9: DUP2 000036fa: LT 000036fb: PUSH2 0x3706 000036fe: JUMPI 000036ff: PUSH2 0x3706 00003702: PUSH2 0x5a03 00003705: JUMP 00003706: JUMPDEST 00003707: PUSH1 0x20 00003709: MUL 0000370a: PUSH1 0x20 0000370c: ADD 0000370d: ADD 0000370e: MLOAD 0000370f: PUSH2 0x40b6 00003712: JUMP 00003713: JUMPDEST 00003714: DUP1 00003715: PUSH2 0x371d 00003718: DUP2 00003719: PUSH2 0x5a17 0000371c: JUMP 0000371d: JUMPDEST 0000371e: SWAP2 0000371f: POP 00003720: POP 00003721: PUSH2 0x36e8 00003724: JUMP 00003725: JUMPDEST 00003726: PUSH0 00003727: SLOAD 00003728: PUSH1 0x01 0000372a: PUSH1 0x01 0000372c: PUSH1 0xa0 0000372e: SHL 0000372f: SUB 00003730: AND 00003731: CALLER 00003732: EQ 00003733: PUSH2 0x374e 00003736: JUMPI 00003737: PUSH1 0x40 00003739: MLOAD 0000373a: PUSH3 0x461bcd 0000373e: PUSH1 0xe5 00003740: SHL 00003741: DUP2 00003742: MSTORE 00003743: PUSH1 0x04 00003745: ADD 00003746: PUSH2 0x09fd 00003749: SWAP1 0000374a: PUSH2 0x594f 0000374d: JUMP 0000374e: JUMPDEST 0000374f: PUSH2 0x0f2b 00003752: PUSH1 0x01 00003754: PUSH1 0x01 00003756: PUSH1 0xa0 00003758: SHL 00003759: SUB 0000375a: DUP5 0000375b: AND 0000375c: DUP4 0000375d: DUP4 0000375e: PUSH2 0x43de 00003761: JUMP 00003762: JUMPDEST 00003763: PUSH0 00003764: SLOAD 00003765: PUSH1 0x01 00003767: PUSH1 0x01 00003769: PUSH1 0xa0 0000376b: SHL 0000376c: SUB 0000376d: AND 0000376e: CALLER 0000376f: EQ 00003770: PUSH2 0x378b 00003773: JUMPI 00003774: PUSH1 0x40 00003776: MLOAD 00003777: PUSH3 0x461bcd 0000377b: PUSH1 0xe5 0000377d: SHL 0000377e: DUP2 0000377f: MSTORE 00003780: PUSH1 0x04 00003782: ADD 00003783: PUSH2 0x09fd 00003786: SWAP1 00003787: PUSH2 0x594f 0000378a: JUMP 0000378b: JUMPDEST 0000378c: PUSH1 0x01 0000378e: PUSH1 0x01 00003790: PUSH1 0xa0 00003792: SHL 00003793: SUB 00003794: SWAP2 00003795: SWAP1 00003796: SWAP2 00003797: AND 00003798: PUSH0 00003799: SWAP1 0000379a: DUP2 0000379b: MSTORE 0000379c: PUSH1 0x01 0000379e: PUSH1 0x20 000037a0: MSTORE 000037a1: PUSH1 0x40 000037a3: SWAP1 000037a4: KECCAK256 000037a5: DUP1 000037a6: SLOAD 000037a7: PUSH1 0xff 000037a9: NOT 000037aa: AND 000037ab: SWAP2 000037ac: ISZERO 000037ad: ISZERO 000037ae: SWAP2 000037af: SWAP1 000037b0: SWAP2 000037b1: OR 000037b2: SWAP1 000037b3: SSTORE 000037b4: JUMP 000037b5: JUMPDEST 000037b6: CALLER 000037b7: PUSH0 000037b8: SWAP1 000037b9: DUP2 000037ba: MSTORE 000037bb: PUSH1 0x0a 000037bd: PUSH1 0x20 000037bf: MSTORE 000037c0: PUSH1 0x40 000037c2: SWAP1 000037c3: KECCAK256 000037c4: SLOAD 000037c5: PUSH1 0xff 000037c7: AND 000037c8: PUSH2 0x37e3 000037cb: JUMPI 000037cc: PUSH1 0x40 000037ce: MLOAD 000037cf: PUSH3 0x461bcd 000037d3: PUSH1 0xe5 000037d5: SHL 000037d6: DUP2 000037d7: MSTORE 000037d8: PUSH1 0x04 000037da: ADD 000037db: PUSH2 0x09fd 000037de: SWAP1 000037df: PUSH2 0x596b 000037e2: JUMP 000037e3: JUMPDEST 000037e4: PUSH1 0x09 000037e6: SLOAD 000037e7: PUSH1 0x01 000037e9: PUSH1 0x01 000037eb: PUSH1 0xa0 000037ed: SHL 000037ee: SUB 000037ef: AND 000037f0: PUSH2 0x382d 000037f3: JUMPI 000037f4: PUSH1 0x40 000037f6: MLOAD 000037f7: PUSH3 0x461bcd 000037fb: PUSH1 0xe5 000037fd: SHL 000037fe: DUP2 000037ff: MSTORE 00003800: PUSH1 0x20 00003802: PUSH1 0x04 00003804: DUP3 00003805: ADD 00003806: MSTORE 00003807: PUSH1 0x0f 00003809: PUSH1 0x24 0000380b: DUP3 0000380c: ADD 0000380d: MSTORE 0000380e: PUSH15 0x18d95e1059191c881b9bdd081cd95d 0000381e: PUSH1 0x8a 00003820: SHL 00003821: PUSH1 0x44 00003823: DUP3 00003824: ADD 00003825: MSTORE 00003826: PUSH1 0x64 00003828: ADD 00003829: PUSH2 0x09fd 0000382c: JUMP 0000382d: JUMPDEST 0000382e: PUSH1 0x08 00003830: SLOAD 00003831: PUSH1 0x01 00003833: PUSH1 0x01 00003835: PUSH1 0xa0 00003837: SHL 00003838: SUB 00003839: SWAP1 0000383a: DUP2 0000383b: AND 0000383c: SWAP1 0000383d: DUP4 0000383e: AND 0000383f: SUB 00003840: PUSH2 0x3871 00003843: JUMPI 00003844: PUSH1 0x40 00003846: MLOAD 00003847: PUSH3 0x461bcd 0000384b: PUSH1 0xe5 0000384d: SHL 0000384e: DUP2 0000384f: MSTORE 00003850: PUSH1 0x20 00003852: PUSH1 0x04 00003854: DUP3 00003855: ADD 00003856: MSTORE 00003857: PUSH1 0x03 00003859: PUSH1 0x24 0000385b: DUP3 0000385c: ADD 0000385d: MSTORE 0000385e: PUSH3 0x776e73 00003862: PUSH1 0xe8 00003864: SHL 00003865: PUSH1 0x44 00003867: DUP3 00003868: ADD 00003869: MSTORE 0000386a: PUSH1 0x64 0000386c: ADD 0000386d: PUSH2 0x09fd 00003870: JUMP 00003871: JUMPDEST 00003872: PUSH1 0x40 00003874: MLOAD 00003875: PUSH4 0x70a08231 0000387a: PUSH1 0xe0 0000387c: SHL 0000387d: DUP2 0000387e: MSTORE 0000387f: ADDRESS 00003880: PUSH1 0x04 00003882: DUP3 00003883: ADD 00003884: MSTORE 00003885: DUP2 00003886: SWAP1 00003887: PUSH1 0x01 00003889: PUSH1 0x01 0000388b: PUSH1 0xa0 0000388d: SHL 0000388e: SUB 0000388f: DUP5 00003890: AND 00003891: SWAP1 00003892: PUSH4 0x70a08231 00003897: SWAP1 00003898: PUSH1 0x24 0000389a: ADD 0000389b: PUSH1 0x20 0000389d: PUSH1 0x40 0000389f: MLOAD 000038a0: DUP1 000038a1: DUP4 000038a2: SUB 000038a3: DUP2 000038a4: DUP7 000038a5: GAS 000038a6: STATICCALL 000038a7: ISZERO 000038a8: DUP1 000038a9: ISZERO 000038aa: PUSH2 0x38b5 000038ad: JUMPI 000038ae: RETURNDATASIZE 000038af: PUSH0 000038b0: DUP1 000038b1: RETURNDATACOPY 000038b2: RETURNDATASIZE 000038b3: PUSH0 000038b4: REVERT 000038b5: JUMPDEST 000038b6: POP 000038b7: POP 000038b8: POP 000038b9: POP 000038ba: PUSH1 0x40 000038bc: MLOAD 000038bd: RETURNDATASIZE 000038be: PUSH1 0x1f 000038c0: NOT 000038c1: PUSH1 0x1f 000038c3: DUP3 000038c4: ADD 000038c5: AND 000038c6: DUP3 000038c7: ADD 000038c8: DUP1 000038c9: PUSH1 0x40 000038cb: MSTORE 000038cc: POP 000038cd: DUP2 000038ce: ADD 000038cf: SWAP1 000038d0: PUSH2 0x38d9 000038d3: SWAP2 000038d4: SWAP1 000038d5: PUSH2 0x5989 000038d8: JUMP 000038d9: JUMPDEST 000038da: LT 000038db: ISZERO 000038dc: PUSH2 0x38f7 000038df: JUMPI 000038e0: PUSH1 0x40 000038e2: MLOAD 000038e3: PUSH3 0x461bcd 000038e7: PUSH1 0xe5 000038e9: SHL 000038ea: DUP2 000038eb: MSTORE 000038ec: PUSH1 0x04 000038ee: ADD 000038ef: PUSH2 0x09fd 000038f2: SWAP1 000038f3: PUSH2 0x59a0 000038f6: JUMP 000038f7: JUMPDEST 000038f8: PUSH1 0x09 000038fa: SLOAD 000038fb: PUSH2 0x116b 000038fe: SWAP1 000038ff: PUSH1 0x01 00003901: PUSH1 0x01 00003903: PUSH1 0xa0 00003905: SHL 00003906: SUB 00003907: DUP5 00003908: DUP2 00003909: AND 0000390a: SWAP2 0000390b: AND 0000390c: DUP4 0000390d: PUSH2 0x3d19 00003910: JUMP 00003911: JUMPDEST 00003912: PUSH0 00003913: DUP1 00003914: SLOAD 00003915: PUSH1 0x01 00003917: PUSH1 0x01 00003919: PUSH1 0xa0 0000391b: SHL 0000391c: SUB 0000391d: AND 0000391e: CALLER 0000391f: EQ 00003920: PUSH2 0x393b 00003923: JUMPI 00003924: PUSH1 0x40 00003926: MLOAD 00003927: PUSH3 0x461bcd 0000392b: PUSH1 0xe5 0000392d: SHL 0000392e: DUP2 0000392f: MSTORE 00003930: PUSH1 0x04 00003932: ADD 00003933: PUSH2 0x09fd 00003936: SWAP1 00003937: PUSH2 0x594f 0000393a: JUMP 0000393b: JUMPDEST 0000393c: POP 0000393d: PUSH1 0x09 0000393f: SLOAD 00003940: PUSH1 0x01 00003942: PUSH1 0x01 00003944: PUSH1 0xa0 00003946: SHL 00003947: SUB 00003948: AND 00003949: SWAP1 0000394a: JUMP 0000394b: JUMPDEST 0000394c: PUSH0 0000394d: SLOAD 0000394e: PUSH1 0x01 00003950: PUSH1 0x01 00003952: PUSH1 0xa0 00003954: SHL 00003955: SUB 00003956: AND 00003957: CALLER 00003958: EQ 00003959: PUSH2 0x3974 0000395c: JUMPI 0000395d: PUSH1 0x40 0000395f: MLOAD 00003960: PUSH3 0x461bcd 00003964: PUSH1 0xe5 00003966: SHL 00003967: DUP2 00003968: MSTORE 00003969: PUSH1 0x04 0000396b: ADD 0000396c: PUSH2 0x09fd 0000396f: SWAP1 00003970: PUSH2 0x594f 00003973: JUMP 00003974: JUMPDEST 00003975: PUSH0 00003976: JUMPDEST 00003977: DUP4 00003978: MLOAD 00003979: DUP2 0000397a: LT 0000397b: ISZERO 0000397c: PUSH2 0x0c08 0000397f: JUMPI 00003980: PUSH2 0x39cf 00003983: DUP4 00003984: DUP4 00003985: DUP4 00003986: DUP2 00003987: MLOAD 00003988: DUP2 00003989: LT 0000398a: PUSH2 0x3995 0000398d: JUMPI 0000398e: PUSH2 0x3995 00003991: PUSH2 0x5a03 00003994: JUMP 00003995: JUMPDEST 00003996: PUSH1 0x20 00003998: MUL 00003999: PUSH1 0x20 0000399b: ADD 0000399c: ADD 0000399d: MLOAD 0000399e: DUP7 0000399f: DUP5 000039a0: DUP2 000039a1: MLOAD 000039a2: DUP2 000039a3: LT 000039a4: PUSH2 0x39af 000039a7: JUMPI 000039a8: PUSH2 0x39af 000039ab: PUSH2 0x5a03 000039ae: JUMP 000039af: JUMPDEST 000039b0: PUSH1 0x20 000039b2: MUL 000039b3: PUSH1 0x20 000039b5: ADD 000039b6: ADD 000039b7: MLOAD 000039b8: PUSH1 0x01 000039ba: PUSH1 0x01 000039bc: PUSH1 0xa0 000039be: SHL 000039bf: SUB 000039c0: AND 000039c1: PUSH2 0x432f 000039c4: SWAP1 000039c5: SWAP3 000039c6: SWAP2 000039c7: SWAP1 000039c8: PUSH4 0xffffffff 000039cd: AND 000039ce: JUMP 000039cf: JUMPDEST 000039d0: DUP1 000039d1: PUSH2 0x39d9 000039d4: DUP2 000039d5: PUSH2 0x5a17 000039d8: JUMP 000039d9: JUMPDEST 000039da: SWAP2 000039db: POP 000039dc: POP 000039dd: PUSH2 0x3976 000039e0: JUMP 000039e1: JUMPDEST 000039e2: PUSH0 000039e3: DUP5 000039e4: SGT 000039e5: DUP1 000039e6: PUSH2 0x39ee 000039e9: JUMPI 000039ea: POP 000039eb: PUSH0 000039ec: DUP4 000039ed: SGT 000039ee: JUMPDEST 000039ef: PUSH2 0x3a1f 000039f2: JUMPI 000039f3: PUSH1 0x40 000039f5: MLOAD 000039f6: PUSH3 0x461bcd 000039fa: PUSH1 0xe5 000039fc: SHL 000039fd: DUP2 000039fe: MSTORE 000039ff: PUSH1 0x20 00003a01: PUSH1 0x04 00003a03: DUP3 00003a04: ADD 00003a05: MSTORE 00003a06: PUSH1 0x02 00003a08: PUSH1 0x24 00003a0a: DUP3 00003a0b: ADD 00003a0c: MSTORE 00003a0d: PUSH2 0x30bd 00003a10: PUSH1 0xf1 00003a12: SHL 00003a13: PUSH1 0x44 00003a15: DUP3 00003a16: ADD 00003a17: MSTORE 00003a18: PUSH1 0x64 00003a1a: ADD 00003a1b: PUSH2 0x09fd 00003a1e: JUMP 00003a1f: JUMPDEST 00003a20: PUSH0 00003a21: DUP5 00003a22: SGT 00003a23: DUP2 00003a24: ISZERO 00003a25: PUSH2 0x3a9d 00003a28: JUMPI 00003a29: PUSH0 00003a2a: PUSH2 0x3a36 00003a2d: PUSH1 0x20 00003a2f: DUP3 00003a30: DUP6 00003a31: DUP8 00003a32: PUSH2 0x5b93 00003a35: JUMP 00003a36: JUMPDEST 00003a37: PUSH2 0x3a3f 00003a3a: SWAP2 00003a3b: PUSH2 0x5bba 00003a3e: JUMP 00003a3f: JUMPDEST 00003a40: SWAP1 00003a41: POP 00003a42: PUSH0 00003a43: DUP3 00003a44: PUSH2 0x3a57 00003a47: JUMPI 00003a48: PUSH2 0x3a52 00003a4b: DUP8 00003a4c: PUSH0 00003a4d: NOT 00003a4e: PUSH2 0x5bd7 00003a51: JUMP 00003a52: JUMPDEST 00003a53: PUSH2 0x3a62 00003a56: JUMP 00003a57: JUMPDEST 00003a58: PUSH2 0x3a62 00003a5b: DUP7 00003a5c: PUSH0 00003a5d: NOT 00003a5e: PUSH2 0x5bd7 00003a61: JUMP 00003a62: JUMPDEST 00003a63: SWAP1 00003a64: POP 00003a65: DUP2 00003a66: DUP2 00003a67: LT 00003a68: ISZERO 00003a69: PUSH2 0x3a9a 00003a6c: JUMPI 00003a6d: PUSH1 0x40 00003a6f: MLOAD 00003a70: PUSH3 0x461bcd 00003a74: PUSH1 0xe5 00003a76: SHL 00003a77: DUP2 00003a78: MSTORE 00003a79: PUSH1 0x20 00003a7b: PUSH1 0x04 00003a7d: DUP3 00003a7e: ADD 00003a7f: MSTORE 00003a80: PUSH1 0x03 00003a82: PUSH1 0x24 00003a84: DUP3 00003a85: ADD 00003a86: MSTORE 00003a87: PUSH3 0x3732bb 00003a8b: PUSH1 0xe9 00003a8d: SHL 00003a8e: PUSH1 0x44 00003a90: DUP3 00003a91: ADD 00003a92: MSTORE 00003a93: PUSH1 0x64 00003a95: ADD 00003a96: PUSH2 0x09fd 00003a99: JUMP 00003a9a: JUMPDEST 00003a9b: POP 00003a9c: POP 00003a9d: JUMPDEST 00003a9e: PUSH0 00003a9f: DUP2 00003aa0: PUSH2 0x3ac3 00003aa3: JUMPI 00003aa4: CALLER 00003aa5: PUSH0 00003aa6: SWAP1 00003aa7: DUP2 00003aa8: MSTORE 00003aa9: PUSH1 0x06 00003aab: PUSH1 0x20 00003aad: MSTORE 00003aae: PUSH1 0x40 00003ab0: SWAP1 00003ab1: KECCAK256 00003ab2: PUSH1 0x01 00003ab4: ADD 00003ab5: SLOAD 00003ab6: PUSH1 0x01 00003ab8: PUSH1 0x01 00003aba: PUSH1 0xa0 00003abc: SHL 00003abd: SUB 00003abe: AND 00003abf: PUSH2 0x3adc 00003ac2: JUMP 00003ac3: JUMPDEST 00003ac4: CALLER 00003ac5: PUSH0 00003ac6: SWAP1 00003ac7: DUP2 00003ac8: MSTORE 00003ac9: PUSH1 0x06 00003acb: PUSH1 0x20 00003acd: MSTORE 00003ace: PUSH1 0x40 00003ad0: SWAP1 00003ad1: KECCAK256 00003ad2: SLOAD 00003ad3: PUSH1 0x01 00003ad5: PUSH1 0x01 00003ad7: PUSH1 0xa0 00003ad9: SHL 00003ada: SUB 00003adb: AND 00003adc: JUMPDEST 00003add: SWAP1 00003ade: POP 00003adf: PUSH1 0x01 00003ae1: PUSH1 0x01 00003ae3: PUSH1 0xa0 00003ae5: SHL 00003ae6: SUB 00003ae7: DUP2 00003ae8: AND 00003ae9: PUSH2 0x3b1a 00003aec: JUMPI 00003aed: PUSH1 0x40 00003aef: MLOAD 00003af0: PUSH3 0x461bcd 00003af4: PUSH1 0xe5 00003af6: SHL 00003af7: DUP2 00003af8: MSTORE 00003af9: PUSH1 0x20 00003afb: PUSH1 0x04 00003afd: DUP3 00003afe: ADD 00003aff: MSTORE 00003b00: PUSH1 0x03 00003b02: PUSH1 0x24 00003b04: DUP3 00003b05: ADD 00003b06: MSTORE 00003b07: PUSH3 0x36b73b 00003b0b: PUSH1 0xe9 00003b0d: SHL 00003b0e: PUSH1 0x44 00003b10: DUP3 00003b11: ADD 00003b12: MSTORE 00003b13: PUSH1 0x64 00003b15: ADD 00003b16: PUSH2 0x09fd 00003b19: JUMP 00003b1a: JUMPDEST 00003b1b: PUSH2 0x1f9f 00003b1e: CALLER 00003b1f: DUP4 00003b20: PUSH2 0x3b29 00003b23: JUMPI 00003b24: DUP7 00003b25: PUSH2 0x3b2b 00003b28: JUMP 00003b29: JUMPDEST 00003b2a: DUP8 00003b2b: JUMPDEST 00003b2c: PUSH1 0x01 00003b2e: PUSH1 0x01 00003b30: PUSH1 0xa0 00003b32: SHL 00003b33: SUB 00003b34: DUP5 00003b35: AND 00003b36: SWAP2 00003b37: SWAP1 00003b38: PUSH2 0x3d19 00003b3b: JUMP 00003b3c: JUMPDEST 00003b3d: DUP2 00003b3e: MLOAD 00003b3f: PUSH1 0x40 00003b41: DUP1 00003b42: MLOAD 00003b43: PUSH1 0x04 00003b45: DUP2 00003b46: MSTORE 00003b47: PUSH1 0x24 00003b49: DUP2 00003b4a: ADD 00003b4b: DUP3 00003b4c: MSTORE 00003b4d: PUSH1 0x20 00003b4f: DUP2 00003b50: ADD 00003b51: DUP1 00003b52: MLOAD 00003b53: PUSH1 0x01 00003b55: PUSH1 0x01 00003b57: PUSH1 0xe0 00003b59: SHL 00003b5a: SUB 00003b5b: AND 00003b5c: PUSH4 0x3850c7bd 00003b61: PUSH1 0xe0 00003b63: SHL 00003b64: OR 00003b65: SWAP1 00003b66: MSTORE 00003b67: SWAP1 00003b68: MLOAD 00003b69: PUSH0 00003b6a: SWAP3 00003b6b: DUP4 00003b6c: SWAP3 00003b6d: PUSH1 0x01 00003b6f: PUSH1 0x01 00003b71: PUSH1 0xa0 00003b73: SHL 00003b74: SUB 00003b75: SWAP1 00003b76: SWAP2 00003b77: AND 00003b78: SWAP2 00003b79: PUSH2 0x3b82 00003b7c: SWAP2 00003b7d: SWAP1 00003b7e: PUSH2 0x5c06 00003b81: JUMP 00003b82: JUMPDEST 00003b83: PUSH0 00003b84: PUSH1 0x40 00003b86: MLOAD 00003b87: DUP1 00003b88: DUP4 00003b89: SUB 00003b8a: DUP2 00003b8b: DUP6 00003b8c: GAS 00003b8d: STATICCALL 00003b8e: SWAP2 00003b8f: POP 00003b90: POP 00003b91: RETURNDATASIZE 00003b92: DUP1 00003b93: PUSH0 00003b94: DUP2 00003b95: EQ 00003b96: PUSH2 0x3bba 00003b99: JUMPI 00003b9a: PUSH1 0x40 00003b9c: MLOAD 00003b9d: SWAP2 00003b9e: POP 00003b9f: PUSH1 0x1f 00003ba1: NOT 00003ba2: PUSH1 0x3f 00003ba4: RETURNDATASIZE 00003ba5: ADD 00003ba6: AND 00003ba7: DUP3 00003ba8: ADD 00003ba9: PUSH1 0x40 00003bab: MSTORE 00003bac: RETURNDATASIZE 00003bad: DUP3 00003bae: MSTORE 00003baf: RETURNDATASIZE 00003bb0: PUSH0 00003bb1: PUSH1 0x20 00003bb3: DUP5 00003bb4: ADD 00003bb5: RETURNDATACOPY 00003bb6: PUSH2 0x3bbf 00003bb9: JUMP 00003bba: JUMPDEST 00003bbb: PUSH1 0x60 00003bbd: SWAP2 00003bbe: POP 00003bbf: JUMPDEST 00003bc0: POP 00003bc1: SWAP2 00003bc2: POP 00003bc3: SWAP2 00003bc4: POP 00003bc5: DUP2 00003bc6: DUP1 00003bc7: ISZERO 00003bc8: PUSH2 0x3bd3 00003bcb: JUMPI 00003bcc: POP 00003bcd: PUSH1 0x20 00003bcf: DUP2 00003bd0: MLOAD 00003bd1: LT 00003bd2: ISZERO 00003bd3: JUMPDEST 00003bd4: PUSH2 0x3bdb 00003bd7: JUMPI 00003bd8: PUSH0 00003bd9: DUP1 00003bda: REVERT 00003bdb: JUMPDEST 00003bdc: PUSH1 0x20 00003bde: DUP2 00003bdf: ADD 00003be0: MLOAD 00003be1: PUSH1 0x80 00003be3: DUP6 00003be4: ADD 00003be5: MLOAD 00003be6: PUSH2 0x3c08 00003be9: JUMPI 00003bea: DUP5 00003beb: PUSH1 0x40 00003bed: ADD 00003bee: MLOAD 00003bef: PUSH1 0x01 00003bf1: PUSH1 0x01 00003bf3: PUSH1 0xa0 00003bf5: SHL 00003bf6: SUB 00003bf7: AND 00003bf8: DUP2 00003bf9: PUSH1 0x01 00003bfb: PUSH1 0x01 00003bfd: PUSH1 0xa0 00003bff: SHL 00003c00: SUB 00003c01: AND 00003c02: GT 00003c03: ISZERO 00003c04: PUSH2 0x3c23 00003c07: JUMP 00003c08: JUMPDEST 00003c09: DUP5 00003c0a: PUSH1 0x40 00003c0c: ADD 00003c0d: MLOAD 00003c0e: PUSH1 0x01 00003c10: PUSH1 0x01 00003c12: PUSH1 0xa0 00003c14: SHL 00003c15: SUB 00003c16: AND 00003c17: DUP2 00003c18: PUSH1 0x01 00003c1a: PUSH1 0x01 00003c1c: PUSH1 0xa0 00003c1e: SHL 00003c1f: SUB 00003c20: AND 00003c21: LT 00003c22: ISZERO 00003c23: JUMPDEST 00003c24: PUSH2 0x3c55 00003c27: JUMPI 00003c28: PUSH1 0x40 00003c2a: MLOAD 00003c2b: PUSH3 0x461bcd 00003c2f: PUSH1 0xe5 00003c31: SHL 00003c32: DUP2 00003c33: MSTORE 00003c34: PUSH1 0x20 00003c36: PUSH1 0x04 00003c38: DUP3 00003c39: ADD 00003c3a: MSTORE 00003c3b: PUSH1 0x03 00003c3d: PUSH1 0x24 00003c3f: DUP3 00003c40: ADD 00003c41: MSTORE 00003c42: PUSH3 0x343231 00003c46: PUSH1 0xe9 00003c48: SHL 00003c49: PUSH1 0x44 00003c4b: DUP3 00003c4c: ADD 00003c4d: MSTORE 00003c4e: PUSH1 0x64 00003c50: ADD 00003c51: PUSH2 0x09fd 00003c54: JUMP 00003c55: JUMPDEST 00003c56: DUP5 00003c57: PUSH0 00003c58: ADD 00003c59: MLOAD 00003c5a: PUSH1 0x01 00003c5c: PUSH1 0x01 00003c5e: PUSH1 0xa0 00003c60: SHL 00003c61: SUB 00003c62: AND 00003c63: PUSH4 0x128acb08 00003c68: DUP6 00003c69: DUP8 00003c6a: PUSH1 0x80 00003c6c: ADD 00003c6d: MLOAD 00003c6e: DUP9 00003c6f: PUSH1 0x20 00003c71: ADD 00003c72: MLOAD 00003c73: DUP10 00003c74: PUSH1 0x60 00003c76: ADD 00003c77: MLOAD 00003c78: PUSH0 00003c79: PUSH1 0x01 00003c7b: PUSH1 0x01 00003c7d: PUSH1 0x40 00003c7f: SHL 00003c80: SUB 00003c81: DUP2 00003c82: GT 00003c83: ISZERO 00003c84: PUSH2 0x3c8f 00003c87: JUMPI 00003c88: PUSH2 0x3c8f 00003c8b: PUSH2 0x4fdf 00003c8e: JUMP 00003c8f: JUMPDEST 00003c90: PUSH1 0x40 00003c92: MLOAD 00003c93: SWAP1 00003c94: DUP1 00003c95: DUP3 00003c96: MSTORE 00003c97: DUP1 00003c98: PUSH1 0x1f 00003c9a: ADD 00003c9b: PUSH1 0x1f 00003c9d: NOT 00003c9e: AND 00003c9f: PUSH1 0x20 00003ca1: ADD 00003ca2: DUP3 00003ca3: ADD 00003ca4: PUSH1 0x40 00003ca6: MSTORE 00003ca7: DUP1 00003ca8: ISZERO 00003ca9: PUSH2 0x3cb9 00003cac: JUMPI 00003cad: PUSH1 0x20 00003caf: DUP3 00003cb0: ADD 00003cb1: DUP2 00003cb2: DUP1 00003cb3: CALLDATASIZE 00003cb4: DUP4 00003cb5: CALLDATACOPY 00003cb6: ADD 00003cb7: SWAP1 00003cb8: POP 00003cb9: JUMPDEST 00003cba: POP 00003cbb: PUSH1 0x40 00003cbd: MLOAD 00003cbe: DUP7 00003cbf: PUSH4 0xffffffff 00003cc4: AND 00003cc5: PUSH1 0xe0 00003cc7: SHL 00003cc8: DUP2 00003cc9: MSTORE 00003cca: PUSH1 0x04 00003ccc: ADD 00003ccd: PUSH2 0x3cda 00003cd0: SWAP6 00003cd1: SWAP5 00003cd2: SWAP4 00003cd3: SWAP3 00003cd4: SWAP2 00003cd5: SWAP1 00003cd6: PUSH2 0x58f3 00003cd9: JUMP 00003cda: JUMPDEST 00003cdb: PUSH1 0x40 00003cdd: DUP1 00003cde: MLOAD 00003cdf: DUP1 00003ce0: DUP4 00003ce1: SUB 00003ce2: DUP2 00003ce3: PUSH0 00003ce4: DUP8 00003ce5: GAS 00003ce6: CALL 00003ce7: ISZERO 00003ce8: DUP1 00003ce9: ISZERO 00003cea: PUSH2 0x3cf5 00003ced: JUMPI 00003cee: RETURNDATASIZE 00003cef: PUSH0 00003cf0: DUP1 00003cf1: RETURNDATACOPY 00003cf2: RETURNDATASIZE 00003cf3: PUSH0 00003cf4: REVERT 00003cf5: JUMPDEST 00003cf6: POP 00003cf7: POP 00003cf8: POP 00003cf9: POP 00003cfa: PUSH1 0x40 00003cfc: MLOAD 00003cfd: RETURNDATASIZE 00003cfe: PUSH1 0x1f 00003d00: NOT 00003d01: PUSH1 0x1f 00003d03: DUP3 00003d04: ADD 00003d05: AND 00003d06: DUP3 00003d07: ADD 00003d08: DUP1 00003d09: PUSH1 0x40 00003d0b: MSTORE 00003d0c: POP 00003d0d: DUP2 00003d0e: ADD 00003d0f: SWAP1 00003d10: PUSH2 0x2155 00003d13: SWAP2 00003d14: SWAP1 00003d15: PUSH2 0x592d 00003d18: JUMP 00003d19: JUMPDEST 00003d1a: PUSH1 0x40 00003d1c: MLOAD 00003d1d: PUSH1 0x01 00003d1f: PUSH1 0x01 00003d21: PUSH1 0xa0 00003d23: SHL 00003d24: SUB 00003d25: DUP4 00003d26: AND 00003d27: PUSH1 0x24 00003d29: DUP3 00003d2a: ADD 00003d2b: MSTORE 00003d2c: PUSH1 0x44 00003d2e: DUP2 00003d2f: ADD 00003d30: DUP3 00003d31: SWAP1 00003d32: MSTORE 00003d33: PUSH2 0x0f2b 00003d36: SWAP1 00003d37: DUP5 00003d38: SWAP1 00003d39: PUSH4 0xa9059cbb 00003d3e: PUSH1 0xe0 00003d40: SHL 00003d41: SWAP1 00003d42: PUSH1 0x64 00003d44: ADD 00003d45: JUMPDEST 00003d46: PUSH1 0x40 00003d48: DUP1 00003d49: MLOAD 00003d4a: PUSH1 0x1f 00003d4c: NOT 00003d4d: DUP2 00003d4e: DUP5 00003d4f: SUB 00003d50: ADD 00003d51: DUP2 00003d52: MSTORE 00003d53: SWAP2 00003d54: SWAP1 00003d55: MSTORE 00003d56: PUSH1 0x20 00003d58: DUP2 00003d59: ADD 00003d5a: DUP1 00003d5b: MLOAD 00003d5c: PUSH1 0x01 00003d5e: PUSH1 0x01 00003d60: PUSH1 0xe0 00003d62: SHL 00003d63: SUB 00003d64: AND 00003d65: PUSH1 0x01 00003d67: PUSH1 0x01 00003d69: PUSH1 0xe0 00003d6b: SHL 00003d6c: SUB 00003d6d: NOT 00003d6e: SWAP1 00003d6f: SWAP4 00003d70: AND 00003d71: SWAP3 00003d72: SWAP1 00003d73: SWAP3 00003d74: OR 00003d75: SWAP1 00003d76: SWAP2 00003d77: MSTORE 00003d78: PUSH2 0x44e7 00003d7b: JUMP 00003d7c: JUMPDEST 00003d7d: PUSH2 0x17b9 00003d80: DUP2 00003d81: ADDRESS 00003d82: PUSH2 0x3b3c 00003d85: JUMP 00003d86: JUMPDEST 00003d87: PUSH1 0x01 00003d89: PUSH1 0x01 00003d8b: PUSH1 0xa0 00003d8d: SHL 00003d8e: SUB 00003d8f: SWAP2 00003d90: SWAP1 00003d91: SWAP2 00003d92: AND 00003d93: PUSH0 00003d94: SWAP1 00003d95: DUP2 00003d96: MSTORE 00003d97: PUSH1 0x03 00003d99: PUSH1 0x20 00003d9b: MSTORE 00003d9c: PUSH1 0x40 00003d9e: SWAP1 00003d9f: KECCAK256 00003da0: DUP1 00003da1: SLOAD 00003da2: PUSH1 0xff 00003da4: NOT 00003da5: AND 00003da6: SWAP2 00003da7: ISZERO 00003da8: ISZERO 00003da9: SWAP2 00003daa: SWAP1 00003dab: SWAP2 00003dac: OR 00003dad: SWAP1 00003dae: SSTORE 00003daf: JUMP 00003db0: JUMPDEST 00003db1: DUP2 00003db2: PUSH1 0x40 00003db4: ADD 00003db5: MLOAD 00003db6: ISZERO 00003db7: PUSH2 0x3eb5 00003dba: JUMPI 00003dbb: PUSH1 0xc0 00003dbd: DUP3 00003dbe: ADD 00003dbf: MLOAD 00003dc0: PUSH1 0x40 00003dc2: MLOAD 00003dc3: PUSH4 0x70a08231 00003dc8: PUSH1 0xe0 00003dca: SHL 00003dcb: DUP2 00003dcc: MSTORE 00003dcd: ADDRESS 00003dce: PUSH1 0x04 00003dd0: DUP3 00003dd1: ADD 00003dd2: MSTORE 00003dd3: PUSH0 00003dd4: SWAP2 00003dd5: PUSH1 0x01 00003dd7: PUSH1 0x01 00003dd9: PUSH1 0xa0 00003ddb: SHL 00003ddc: SUB 00003ddd: AND 00003dde: SWAP1 00003ddf: PUSH4 0x70a08231 00003de4: SWAP1 00003de5: PUSH1 0x24 00003de7: ADD 00003de8: PUSH1 0x20 00003dea: PUSH1 0x40 00003dec: MLOAD 00003ded: DUP1 00003dee: DUP4 00003def: SUB 00003df0: DUP2 00003df1: DUP7 00003df2: GAS 00003df3: STATICCALL 00003df4: ISZERO 00003df5: DUP1 00003df6: ISZERO 00003df7: PUSH2 0x3e02 00003dfa: JUMPI 00003dfb: RETURNDATASIZE 00003dfc: PUSH0 00003dfd: DUP1 00003dfe: RETURNDATACOPY 00003dff: RETURNDATASIZE 00003e00: PUSH0 00003e01: REVERT 00003e02: JUMPDEST 00003e03: POP 00003e04: POP 00003e05: POP 00003e06: POP 00003e07: PUSH1 0x40 00003e09: MLOAD 00003e0a: RETURNDATASIZE 00003e0b: PUSH1 0x1f 00003e0d: NOT 00003e0e: PUSH1 0x1f 00003e10: DUP3 00003e11: ADD 00003e12: AND 00003e13: DUP3 00003e14: ADD 00003e15: DUP1 00003e16: PUSH1 0x40 00003e18: MSTORE 00003e19: POP 00003e1a: DUP2 00003e1b: ADD 00003e1c: SWAP1 00003e1d: PUSH2 0x3e26 00003e20: SWAP2 00003e21: SWAP1 00003e22: PUSH2 0x5989 00003e25: JUMP 00003e26: JUMPDEST 00003e27: SWAP1 00003e28: POP 00003e29: DUP3 00003e2a: PUSH1 0x80 00003e2c: ADD 00003e2d: MLOAD 00003e2e: PUSH1 0x01 00003e30: PUSH1 0x01 00003e32: PUSH1 0x70 00003e34: SHL 00003e35: SUB 00003e36: AND 00003e37: DUP2 00003e38: LT 00003e39: ISZERO 00003e3a: PUSH2 0x3e6b 00003e3d: JUMPI 00003e3e: PUSH1 0x40 00003e40: MLOAD 00003e41: PUSH3 0x461bcd 00003e45: PUSH1 0xe5 00003e47: SHL 00003e48: DUP2 00003e49: MSTORE 00003e4a: PUSH1 0x20 00003e4c: PUSH1 0x04 00003e4e: DUP3 00003e4f: ADD 00003e50: MSTORE 00003e51: PUSH1 0x03 00003e53: PUSH1 0x24 00003e55: DUP3 00003e56: ADD 00003e57: MSTORE 00003e58: PUSH3 0x696e73 00003e5c: PUSH1 0xe8 00003e5e: SHL 00003e5f: PUSH1 0x44 00003e61: DUP3 00003e62: ADD 00003e63: MSTORE 00003e64: PUSH1 0x64 00003e66: ADD 00003e67: PUSH2 0x09fd 00003e6a: JUMP 00003e6b: JUMPDEST 00003e6c: PUSH2 0x0f2b 00003e6f: DUP4 00003e70: PUSH1 0x80 00003e72: ADD 00003e73: MLOAD 00003e74: PUSH1 0x01 00003e76: PUSH1 0x01 00003e78: PUSH1 0x70 00003e7a: SHL 00003e7b: SUB 00003e7c: AND 00003e7d: DUP5 00003e7e: PUSH1 0xa0 00003e80: ADD 00003e81: MLOAD 00003e82: PUSH1 0x01 00003e84: PUSH1 0x01 00003e86: PUSH1 0x70 00003e88: SHL 00003e89: SUB 00003e8a: AND 00003e8b: DUP6 00003e8c: PUSH0 00003e8d: ADD 00003e8e: MLOAD 00003e8f: DUP7 00003e90: PUSH1 0xc0 00003e92: ADD 00003e93: MLOAD 00003e94: DUP8 00003e95: PUSH1 0x20 00003e97: ADD 00003e98: MLOAD 00003e99: DUP9 00003e9a: PUSH1 0x60 00003e9c: ADD 00003e9d: MLOAD 00003e9e: PUSH2 0xffff 00003ea1: AND 00003ea2: DUP9 00003ea3: DUP11 00003ea4: PUSH1 0xe0 00003ea6: ADD 00003ea7: MLOAD 00003ea8: PUSH1 0x01 00003eaa: PUSH1 0x01 00003eac: PUSH1 0x70 00003eae: SHL 00003eaf: SUB 00003eb0: AND 00003eb1: PUSH2 0x45b8 00003eb4: JUMP 00003eb5: JUMPDEST 00003eb6: PUSH2 0x116b 00003eb9: DUP3 00003eba: PUSH1 0x80 00003ebc: ADD 00003ebd: MLOAD 00003ebe: PUSH1 0x01 00003ec0: PUSH1 0x01 00003ec2: PUSH1 0x70 00003ec4: SHL 00003ec5: SUB 00003ec6: AND 00003ec7: DUP4 00003ec8: PUSH1 0xa0 00003eca: ADD 00003ecb: MLOAD 00003ecc: PUSH1 0x01 00003ece: PUSH1 0x01 00003ed0: PUSH1 0x70 00003ed2: SHL 00003ed3: SUB 00003ed4: AND 00003ed5: DUP5 00003ed6: PUSH0 00003ed7: ADD 00003ed8: MLOAD 00003ed9: DUP6 00003eda: PUSH1 0xc0 00003edc: ADD 00003edd: MLOAD 00003ede: DUP7 00003edf: PUSH1 0x20 00003ee1: ADD 00003ee2: MLOAD 00003ee3: DUP8 00003ee4: PUSH1 0x60 00003ee6: ADD 00003ee7: MLOAD 00003ee8: PUSH2 0xffff 00003eeb: AND 00003eec: DUP8 00003eed: DUP10 00003eee: PUSH1 0xe0 00003ef0: ADD 00003ef1: MLOAD 00003ef2: PUSH1 0x01 00003ef4: PUSH1 0x01 00003ef6: PUSH1 0x70 00003ef8: SHL 00003ef9: SUB 00003efa: AND 00003efb: PUSH2 0x465d 00003efe: JUMP 00003eff: JUMPDEST 00003f00: PUSH0 00003f01: DUP6 00003f02: SWAP1 00003f03: POP 00003f04: PUSH0 00003f05: DUP1 00003f06: DUP3 00003f07: PUSH1 0x01 00003f09: PUSH1 0x01 00003f0b: PUSH1 0xa0 00003f0d: SHL 00003f0e: SUB 00003f0f: AND 00003f10: PUSH4 0x0902f1ac 00003f15: PUSH1 0x40 00003f17: MLOAD 00003f18: DUP2 00003f19: PUSH4 0xffffffff 00003f1e: AND 00003f1f: PUSH1 0xe0 00003f21: SHL 00003f22: DUP2 00003f23: MSTORE 00003f24: PUSH1 0x04 00003f26: ADD 00003f27: PUSH1 0x60 00003f29: PUSH1 0x40 00003f2b: MLOAD 00003f2c: DUP1 00003f2d: DUP4 00003f2e: SUB 00003f2f: DUP2 00003f30: DUP7 00003f31: GAS 00003f32: STATICCALL 00003f33: ISZERO 00003f34: DUP1 00003f35: ISZERO 00003f36: PUSH2 0x3f41 00003f39: JUMPI 00003f3a: RETURNDATASIZE 00003f3b: PUSH0 00003f3c: DUP1 00003f3d: RETURNDATACOPY 00003f3e: RETURNDATASIZE 00003f3f: PUSH0 00003f40: REVERT 00003f41: JUMPDEST 00003f42: POP 00003f43: POP 00003f44: POP 00003f45: POP 00003f46: PUSH1 0x40 00003f48: MLOAD 00003f49: RETURNDATASIZE 00003f4a: PUSH1 0x1f 00003f4c: NOT 00003f4d: PUSH1 0x1f 00003f4f: DUP3 00003f50: ADD 00003f51: AND 00003f52: DUP3 00003f53: ADD 00003f54: DUP1 00003f55: PUSH1 0x40 00003f57: MSTORE 00003f58: POP 00003f59: DUP2 00003f5a: ADD 00003f5b: SWAP1 00003f5c: PUSH2 0x3f65 00003f5f: SWAP2 00003f60: SWAP1 00003f61: PUSH2 0x5c21 00003f64: JUMP 00003f65: JUMPDEST 00003f66: POP 00003f67: PUSH1 0x01 00003f69: PUSH1 0x01 00003f6b: PUSH1 0x70 00003f6d: SHL 00003f6e: SUB 00003f6f: SWAP2 00003f70: DUP3 00003f71: AND 00003f72: SWAP4 00003f73: POP 00003f74: AND 00003f75: SWAP1 00003f76: POP 00003f77: PUSH0 00003f78: PUSH2 0x3f83 00003f7b: DUP7 00003f7c: PUSH2 0x2710 00003f7f: PUSH2 0x59d0 00003f82: JUMP 00003f83: JUMPDEST 00003f84: PUSH2 0x3f8d 00003f87: SWAP1 00003f88: DUP13 00003f89: PUSH2 0x5a2f 00003f8c: JUMP 00003f8d: JUMPDEST 00003f8e: SWAP1 00003f8f: POP 00003f90: PUSH0 00003f91: DUP2 00003f92: DUP9 00003f93: PUSH2 0x3f9c 00003f96: JUMPI 00003f97: DUP4 00003f98: PUSH2 0x3f9e 00003f9b: JUMP 00003f9c: JUMPDEST 00003f9d: DUP5 00003f9e: JUMPDEST 00003f9f: PUSH2 0x3faa 00003fa2: SWAP1 00003fa3: PUSH2 0x2710 00003fa6: PUSH2 0x5a2f 00003fa9: JUMP 00003faa: JUMPDEST 00003fab: PUSH2 0x3fb4 00003fae: SWAP2 00003faf: SWAP1 00003fb0: PUSH2 0x5c68 00003fb3: JUMP 00003fb4: JUMPDEST 00003fb5: DUP9 00003fb6: PUSH2 0x3fbf 00003fb9: JUMPI 00003fba: DUP5 00003fbb: PUSH2 0x3fc1 00003fbe: JUMP 00003fbf: JUMPDEST 00003fc0: DUP4 00003fc1: JUMPDEST 00003fc2: PUSH2 0x3fcb 00003fc5: SWAP1 00003fc6: DUP5 00003fc7: PUSH2 0x5a2f 00003fca: JUMP 00003fcb: JUMPDEST 00003fcc: PUSH2 0x3fd5 00003fcf: SWAP2 00003fd0: SWAP1 00003fd1: PUSH2 0x5a46 00003fd4: JUMP 00003fd5: JUMPDEST 00003fd6: SWAP1 00003fd7: POP 00003fd8: DUP11 00003fd9: DUP2 00003fda: LT 00003fdb: ISZERO 00003fdc: PUSH2 0x400c 00003fdf: JUMPI 00003fe0: PUSH1 0x40 00003fe2: MLOAD 00003fe3: PUSH3 0x461bcd 00003fe7: PUSH1 0xe5 00003fe9: SHL 00003fea: DUP2 00003feb: MSTORE 00003fec: PUSH1 0x20 00003fee: PUSH1 0x04 00003ff0: DUP3 00003ff1: ADD 00003ff2: MSTORE 00003ff3: PUSH1 0x02 00003ff5: PUSH1 0x24 00003ff7: DUP3 00003ff8: ADD 00003ff9: MSTORE 00003ffa: PUSH2 0x1a19 00003ffd: PUSH1 0xf2 00003fff: SHL 00004000: PUSH1 0x44 00004002: DUP3 00004003: ADD 00004004: MSTORE 00004005: PUSH1 0x64 00004007: ADD 00004008: PUSH2 0x09fd 0000400b: JUMP 0000400c: JUMPDEST 0000400d: PUSH2 0x4020 00004010: PUSH1 0x01 00004012: PUSH1 0x01 00004014: PUSH1 0xa0 00004016: SHL 00004017: SUB 00004018: DUP11 00004019: AND 0000401a: DUP12 0000401b: DUP15 0000401c: PUSH2 0x3d19 0000401f: JUMP 00004020: JUMPDEST 00004021: DUP5 00004022: PUSH1 0x01 00004024: PUSH1 0x01 00004026: PUSH1 0xa0 00004028: SHL 00004029: SUB 0000402a: AND 0000402b: PUSH4 0x022c0d9f 00004030: DUP10 00004031: PUSH2 0x403a 00004034: JUMPI 00004035: DUP3 00004036: PUSH2 0x403c 00004039: JUMP 0000403a: JUMPDEST 0000403b: PUSH0 0000403c: JUMPDEST 0000403d: DUP11 0000403e: PUSH2 0x4047 00004041: JUMPI 00004042: PUSH0 00004043: PUSH2 0x4049 00004046: JUMP 00004047: JUMPDEST 00004048: DUP4 00004049: JUMPDEST 0000404a: PUSH1 0x40 0000404c: DUP1 0000404d: MLOAD 0000404e: PUSH0 0000404f: DUP2 00004050: MSTORE 00004051: PUSH1 0x20 00004053: DUP2 00004054: ADD 00004055: SWAP2 00004056: DUP3 00004057: SWAP1 00004058: MSTORE 00004059: PUSH1 0x01 0000405b: PUSH1 0x01 0000405d: PUSH1 0xe0 0000405f: SHL 00004060: SUB 00004061: NOT 00004062: PUSH1 0xe0 00004064: DUP7 00004065: SWAP1 00004066: SHL 00004067: AND 00004068: SWAP1 00004069: SWAP2 0000406a: MSTORE 0000406b: PUSH2 0x407b 0000406e: SWAP3 0000406f: SWAP2 00004070: SWAP1 00004071: DUP12 00004072: SWAP1 00004073: PUSH1 0x24 00004075: DUP2 00004076: ADD 00004077: PUSH2 0x5b5d 0000407a: JUMP 0000407b: JUMPDEST 0000407c: PUSH0 0000407d: PUSH1 0x40 0000407f: MLOAD 00004080: DUP1 00004081: DUP4 00004082: SUB 00004083: DUP2 00004084: PUSH0 00004085: DUP8 00004086: DUP1 00004087: EXTCODESIZE 00004088: ISZERO 00004089: DUP1 0000408a: ISZERO 0000408b: PUSH2 0x4092 0000408e: JUMPI 0000408f: PUSH0 00004090: DUP1 00004091: REVERT 00004092: JUMPDEST 00004093: POP 00004094: GAS 00004095: CALL 00004096: ISZERO 00004097: DUP1 00004098: ISZERO 00004099: PUSH2 0x40a4 0000409c: JUMPI 0000409d: RETURNDATASIZE 0000409e: PUSH0 0000409f: DUP1 000040a0: RETURNDATACOPY 000040a1: RETURNDATASIZE 000040a2: PUSH0 000040a3: REVERT 000040a4: JUMPDEST 000040a5: POP 000040a6: POP 000040a7: POP 000040a8: POP 000040a9: POP 000040aa: POP 000040ab: POP 000040ac: POP 000040ad: POP 000040ae: POP 000040af: POP 000040b0: POP 000040b1: POP 000040b2: POP 000040b3: POP 000040b4: POP 000040b5: JUMP 000040b6: JUMPDEST 000040b7: PUSH1 0x01 000040b9: PUSH1 0x01 000040bb: PUSH1 0xa0 000040bd: SHL 000040be: SUB 000040bf: DUP2 000040c0: DUP2 000040c1: AND 000040c2: PUSH0 000040c3: SWAP1 000040c4: DUP2 000040c5: MSTORE 000040c6: PUSH1 0x06 000040c8: PUSH1 0x20 000040ca: MSTORE 000040cb: PUSH1 0x40 000040cd: SWAP1 000040ce: KECCAK256 000040cf: SLOAD 000040d0: AND 000040d1: ISZERO 000040d2: PUSH2 0x40d8 000040d5: JUMPI 000040d6: POP 000040d7: JUMP 000040d8: JUMPDEST 000040d9: PUSH1 0x07 000040db: DUP1 000040dc: SLOAD 000040dd: PUSH1 0x01 000040df: DUP2 000040e0: ADD 000040e1: DUP3 000040e2: SSTORE 000040e3: PUSH0 000040e4: SWAP2 000040e5: SWAP1 000040e6: SWAP2 000040e7: MSTORE 000040e8: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688 00004109: ADD 0000410a: DUP1 0000410b: SLOAD 0000410c: PUSH1 0x01 0000410e: PUSH1 0x01 00004110: PUSH1 0xa0 00004112: SHL 00004113: SUB 00004114: NOT 00004115: AND 00004116: PUSH1 0x01 00004118: PUSH1 0x01 0000411a: PUSH1 0xa0 0000411c: SHL 0000411d: SUB 0000411e: DUP4 0000411f: AND 00004120: SWAP1 00004121: DUP2 00004122: OR 00004123: SWAP1 00004124: SWAP2 00004125: SSTORE 00004126: PUSH1 0x40 00004128: DUP1 00004129: MLOAD 0000412a: PUSH1 0x80 0000412c: DUP2 0000412d: ADD 0000412e: DUP1 0000412f: DUP4 00004130: MSTORE 00004131: PUSH4 0x0dfe1681 00004136: PUSH1 0xe0 00004138: SHL 00004139: SWAP1 0000413a: MSTORE 0000413b: SWAP1 0000413c: MLOAD 0000413d: DUP4 0000413e: SWAP3 0000413f: DUP3 00004140: SWAP2 00004141: PUSH4 0x0dfe1681 00004146: SWAP1 00004147: PUSH1 0x84 00004149: DUP1 0000414a: DUP6 0000414b: ADD 0000414c: SWAP2 0000414d: PUSH1 0x20 0000414f: SWAP2 00004150: DUP2 00004151: DUP8 00004152: SUB 00004153: ADD 00004154: DUP2 00004155: DUP7 00004156: GAS 00004157: STATICCALL 00004158: ISZERO 00004159: DUP1 0000415a: ISZERO 0000415b: PUSH2 0x4166 0000415e: JUMPI 0000415f: RETURNDATASIZE 00004160: PUSH0 00004161: DUP1 00004162: RETURNDATACOPY 00004163: RETURNDATASIZE 00004164: PUSH0 00004165: REVERT 00004166: JUMPDEST 00004167: POP 00004168: POP 00004169: POP 0000416a: POP 0000416b: PUSH1 0x40 0000416d: MLOAD 0000416e: RETURNDATASIZE 0000416f: PUSH1 0x1f 00004171: NOT 00004172: PUSH1 0x1f 00004174: DUP3 00004175: ADD 00004176: AND 00004177: DUP3 00004178: ADD 00004179: DUP1 0000417a: PUSH1 0x40 0000417c: MSTORE 0000417d: POP 0000417e: DUP2 0000417f: ADD 00004180: SWAP1 00004181: PUSH2 0x418a 00004184: SWAP2 00004185: SWAP1 00004186: PUSH2 0x5c7b 00004189: JUMP 0000418a: JUMPDEST 0000418b: PUSH1 0x01 0000418d: PUSH1 0x01 0000418f: PUSH1 0xa0 00004191: SHL 00004192: SUB 00004193: AND 00004194: DUP2 00004195: MSTORE 00004196: PUSH1 0x20 00004198: ADD 00004199: DUP3 0000419a: PUSH1 0x01 0000419c: PUSH1 0x01 0000419e: PUSH1 0xa0 000041a0: SHL 000041a1: SUB 000041a2: AND 000041a3: PUSH4 0xd21220a7 000041a8: PUSH1 0x40 000041aa: MLOAD 000041ab: DUP2 000041ac: PUSH4 0xffffffff 000041b1: AND 000041b2: PUSH1 0xe0 000041b4: SHL 000041b5: DUP2 000041b6: MSTORE 000041b7: PUSH1 0x04 000041b9: ADD 000041ba: PUSH1 0x20 000041bc: PUSH1 0x40 000041be: MLOAD 000041bf: DUP1 000041c0: DUP4 000041c1: SUB 000041c2: DUP2 000041c3: DUP7 000041c4: GAS 000041c5: STATICCALL 000041c6: ISZERO 000041c7: DUP1 000041c8: ISZERO 000041c9: PUSH2 0x41d4 000041cc: JUMPI 000041cd: RETURNDATASIZE 000041ce: PUSH0 000041cf: DUP1 000041d0: RETURNDATACOPY 000041d1: RETURNDATASIZE 000041d2: PUSH0 000041d3: REVERT 000041d4: JUMPDEST 000041d5: POP 000041d6: POP 000041d7: POP 000041d8: POP 000041d9: PUSH1 0x40 000041db: MLOAD 000041dc: RETURNDATASIZE 000041dd: PUSH1 0x1f 000041df: NOT 000041e0: PUSH1 0x1f 000041e2: DUP3 000041e3: ADD 000041e4: AND 000041e5: DUP3 000041e6: ADD 000041e7: DUP1 000041e8: PUSH1 0x40 000041ea: MSTORE 000041eb: POP 000041ec: DUP2 000041ed: ADD 000041ee: SWAP1 000041ef: PUSH2 0x41f8 000041f2: SWAP2 000041f3: SWAP1 000041f4: PUSH2 0x5c7b 000041f7: JUMP 000041f8: JUMPDEST 000041f9: PUSH1 0x01 000041fb: PUSH1 0x01 000041fd: PUSH1 0xa0 000041ff: SHL 00004200: SUB 00004201: AND 00004202: DUP2 00004203: MSTORE 00004204: PUSH1 0x20 00004206: ADD 00004207: PUSH1 0x01 00004209: PUSH1 0x07 0000420b: DUP1 0000420c: SLOAD 0000420d: SWAP1 0000420e: POP 0000420f: PUSH2 0x4218 00004212: SWAP2 00004213: SWAP1 00004214: PUSH2 0x59d0 00004217: JUMP 00004218: JUMPDEST 00004219: DUP2 0000421a: MSTORE 0000421b: PUSH1 0x01 0000421d: PUSH1 0x20 0000421f: SWAP2 00004220: DUP3 00004221: ADD 00004222: DUP2 00004223: SWAP1 00004224: MSTORE 00004225: PUSH1 0x01 00004227: PUSH1 0x01 00004229: PUSH1 0xa0 0000422b: SHL 0000422c: SUB 0000422d: SWAP5 0000422e: DUP6 0000422f: AND 00004230: PUSH0 00004231: SWAP1 00004232: DUP2 00004233: MSTORE 00004234: PUSH1 0x06 00004236: DUP4 00004237: MSTORE 00004238: PUSH1 0x40 0000423a: SWAP1 0000423b: DUP2 0000423c: SWAP1 0000423d: KECCAK256 0000423e: DUP5 0000423f: MLOAD 00004240: DUP2 00004241: SLOAD 00004242: PUSH1 0x01 00004244: PUSH1 0x01 00004246: PUSH1 0xa0 00004248: SHL 00004249: SUB 0000424a: NOT 0000424b: SWAP1 0000424c: DUP2 0000424d: AND 0000424e: SWAP2 0000424f: DUP10 00004250: AND 00004251: SWAP2 00004252: SWAP1 00004253: SWAP2 00004254: OR 00004255: DUP3 00004256: SSTORE 00004257: SWAP4 00004258: DUP6 00004259: ADD 0000425a: MLOAD 0000425b: SWAP3 0000425c: DUP2 0000425d: ADD 0000425e: DUP1 0000425f: SLOAD 00004260: SWAP1 00004261: SWAP5 00004262: AND 00004263: SWAP3 00004264: SWAP1 00004265: SWAP7 00004266: AND 00004267: SWAP2 00004268: SWAP1 00004269: SWAP2 0000426a: OR 0000426b: SWAP1 0000426c: SWAP2 0000426d: SSTORE 0000426e: DUP2 0000426f: ADD 00004270: MLOAD 00004271: PUSH1 0x02 00004273: DUP5 00004274: ADD 00004275: SSTORE 00004276: PUSH1 0x60 00004278: ADD 00004279: MLOAD 0000427a: PUSH1 0x03 0000427c: SWAP1 0000427d: SWAP3 0000427e: ADD 0000427f: DUP1 00004280: SLOAD 00004281: PUSH1 0xff 00004283: NOT 00004284: AND 00004285: SWAP3 00004286: ISZERO 00004287: ISZERO 00004288: SWAP3 00004289: SWAP1 0000428a: SWAP3 0000428b: OR 0000428c: SWAP1 0000428d: SWAP2 0000428e: SSTORE 0000428f: POP 00004290: JUMP 00004291: JUMPDEST 00004292: DUP1 00004293: PUSH1 0x40 00004295: ADD 00004296: MLOAD 00004297: ISZERO 00004298: PUSH2 0x42e5 0000429b: JUMPI 0000429c: PUSH2 0x17b9 0000429f: DUP2 000042a0: PUSH1 0x80 000042a2: ADD 000042a3: MLOAD 000042a4: PUSH1 0x01 000042a6: PUSH1 0x01 000042a8: PUSH1 0x70 000042aa: SHL 000042ab: SUB 000042ac: AND 000042ad: DUP3 000042ae: PUSH1 0xa0 000042b0: ADD 000042b1: MLOAD 000042b2: PUSH1 0x01 000042b4: PUSH1 0x01 000042b6: PUSH1 0x70 000042b8: SHL 000042b9: SUB 000042ba: AND 000042bb: DUP4 000042bc: PUSH0 000042bd: ADD 000042be: MLOAD 000042bf: DUP5 000042c0: PUSH1 0xc0 000042c2: ADD 000042c3: MLOAD 000042c4: DUP6 000042c5: PUSH1 0x20 000042c7: ADD 000042c8: MLOAD 000042c9: DUP7 000042ca: PUSH1 0x60 000042cc: ADD 000042cd: MLOAD 000042ce: PUSH2 0xffff 000042d1: AND 000042d2: ADDRESS 000042d3: DUP9 000042d4: PUSH1 0xe0 000042d6: ADD 000042d7: MLOAD 000042d8: PUSH1 0x01 000042da: PUSH1 0x01 000042dc: PUSH1 0x70 000042de: SHL 000042df: SUB 000042e0: AND 000042e1: PUSH2 0x45b8 000042e4: JUMP 000042e5: JUMPDEST 000042e6: PUSH2 0x17b9 000042e9: DUP2 000042ea: PUSH1 0x80 000042ec: ADD 000042ed: MLOAD 000042ee: PUSH1 0x01 000042f0: PUSH1 0x01 000042f2: PUSH1 0x70 000042f4: SHL 000042f5: SUB 000042f6: AND 000042f7: DUP3 000042f8: PUSH1 0xa0 000042fa: ADD 000042fb: MLOAD 000042fc: PUSH1 0x01 000042fe: PUSH1 0x01 00004300: PUSH1 0x70 00004302: SHL 00004303: SUB 00004304: AND 00004305: DUP4 00004306: PUSH0 00004307: ADD 00004308: MLOAD 00004309: DUP5 0000430a: PUSH1 0xc0 0000430c: ADD 0000430d: MLOAD 0000430e: DUP6 0000430f: PUSH1 0x20 00004311: ADD 00004312: MLOAD 00004313: DUP7 00004314: PUSH1 0x60 00004316: ADD 00004317: MLOAD 00004318: PUSH2 0xffff 0000431b: AND 0000431c: ADDRESS 0000431d: DUP9 0000431e: PUSH1 0xe0 00004320: ADD 00004321: MLOAD 00004322: PUSH1 0x01 00004324: PUSH1 0x01 00004326: PUSH1 0x70 00004328: SHL 00004329: SUB 0000432a: AND 0000432b: PUSH2 0x465d 0000432e: JUMP 0000432f: JUMPDEST 00004330: PUSH1 0x40 00004332: MLOAD 00004333: PUSH4 0x6eb1769f 00004338: PUSH1 0xe1 0000433a: SHL 0000433b: DUP2 0000433c: MSTORE 0000433d: ADDRESS 0000433e: PUSH1 0x04 00004340: DUP3 00004341: ADD 00004342: MSTORE 00004343: PUSH1 0x01 00004345: PUSH1 0x01 00004347: PUSH1 0xa0 00004349: SHL 0000434a: SUB 0000434b: DUP4 0000434c: DUP2 0000434d: AND 0000434e: PUSH1 0x24 00004350: DUP4 00004351: ADD 00004352: MSTORE 00004353: PUSH0 00004354: SWAP2 00004355: DUP4 00004356: SWAP2 00004357: DUP7 00004358: AND 00004359: SWAP1 0000435a: PUSH4 0xdd62ed3e 0000435f: SWAP1 00004360: PUSH1 0x44 00004362: ADD 00004363: PUSH1 0x20 00004365: PUSH1 0x40 00004367: MLOAD 00004368: DUP1 00004369: DUP4 0000436a: SUB 0000436b: DUP2 0000436c: DUP7 0000436d: GAS 0000436e: STATICCALL 0000436f: ISZERO 00004370: DUP1 00004371: ISZERO 00004372: PUSH2 0x437d 00004375: JUMPI 00004376: RETURNDATASIZE 00004377: PUSH0 00004378: DUP1 00004379: RETURNDATACOPY 0000437a: RETURNDATASIZE 0000437b: PUSH0 0000437c: REVERT 0000437d: JUMPDEST 0000437e: POP 0000437f: POP 00004380: POP 00004381: POP 00004382: PUSH1 0x40 00004384: MLOAD 00004385: RETURNDATASIZE 00004386: PUSH1 0x1f 00004388: NOT 00004389: PUSH1 0x1f 0000438b: DUP3 0000438c: ADD 0000438d: AND 0000438e: DUP3 0000438f: ADD 00004390: DUP1 00004391: PUSH1 0x40 00004393: MSTORE 00004394: POP 00004395: DUP2 00004396: ADD 00004397: SWAP1 00004398: PUSH2 0x43a1 0000439b: SWAP2 0000439c: SWAP1 0000439d: PUSH2 0x5989 000043a0: JUMP 000043a1: JUMPDEST 000043a2: PUSH2 0x43ab 000043a5: SWAP2 000043a6: SWAP1 000043a7: PUSH2 0x5c68 000043aa: JUMP 000043ab: JUMPDEST 000043ac: PUSH1 0x40 000043ae: MLOAD 000043af: PUSH1 0x01 000043b1: PUSH1 0x01 000043b3: PUSH1 0xa0 000043b5: SHL 000043b6: SUB 000043b7: DUP6 000043b8: AND 000043b9: PUSH1 0x24 000043bb: DUP3 000043bc: ADD 000043bd: MSTORE 000043be: PUSH1 0x44 000043c0: DUP2 000043c1: ADD 000043c2: DUP3 000043c3: SWAP1 000043c4: MSTORE 000043c5: SWAP1 000043c6: SWAP2 000043c7: POP 000043c8: PUSH2 0x0c08 000043cb: SWAP1 000043cc: DUP6 000043cd: SWAP1 000043ce: PUSH4 0x095ea7b3 000043d3: PUSH1 0xe0 000043d5: SHL 000043d6: SWAP1 000043d7: PUSH1 0x64 000043d9: ADD 000043da: PUSH2 0x3d45 000043dd: JUMP 000043de: JUMPDEST 000043df: PUSH1 0x40 000043e1: MLOAD 000043e2: PUSH4 0x6eb1769f 000043e7: PUSH1 0xe1 000043e9: SHL 000043ea: DUP2 000043eb: MSTORE 000043ec: ADDRESS 000043ed: PUSH1 0x04 000043ef: DUP3 000043f0: ADD 000043f1: MSTORE 000043f2: PUSH1 0x01 000043f4: PUSH1 0x01 000043f6: PUSH1 0xa0 000043f8: SHL 000043f9: SUB 000043fa: DUP4 000043fb: DUP2 000043fc: AND 000043fd: PUSH1 0x24 000043ff: DUP4 00004400: ADD 00004401: MSTORE 00004402: PUSH0 00004403: SWAP2 00004404: SWAP1 00004405: DUP6 00004406: AND 00004407: SWAP1 00004408: PUSH4 0xdd62ed3e 0000440d: SWAP1 0000440e: PUSH1 0x44 00004410: ADD 00004411: PUSH1 0x20 00004413: PUSH1 0x40 00004415: MLOAD 00004416: DUP1 00004417: DUP4 00004418: SUB 00004419: DUP2 0000441a: DUP7 0000441b: GAS 0000441c: STATICCALL 0000441d: ISZERO 0000441e: DUP1 0000441f: ISZERO 00004420: PUSH2 0x442b 00004423: JUMPI 00004424: RETURNDATASIZE 00004425: PUSH0 00004426: DUP1 00004427: RETURNDATACOPY 00004428: RETURNDATASIZE 00004429: PUSH0 0000442a: REVERT 0000442b: JUMPDEST 0000442c: POP 0000442d: POP 0000442e: POP 0000442f: POP 00004430: PUSH1 0x40 00004432: MLOAD 00004433: RETURNDATASIZE 00004434: PUSH1 0x1f 00004436: NOT 00004437: PUSH1 0x1f 00004439: DUP3 0000443a: ADD 0000443b: AND 0000443c: DUP3 0000443d: ADD 0000443e: DUP1 0000443f: PUSH1 0x40 00004441: MSTORE 00004442: POP 00004443: DUP2 00004444: ADD 00004445: SWAP1 00004446: PUSH2 0x444f 00004449: SWAP2 0000444a: SWAP1 0000444b: PUSH2 0x5989 0000444e: JUMP 0000444f: JUMPDEST 00004450: SWAP1 00004451: POP 00004452: DUP2 00004453: DUP2 00004454: LT 00004455: ISZERO 00004456: PUSH2 0x44b3 00004459: JUMPI 0000445a: PUSH1 0x40 0000445c: MLOAD 0000445d: PUSH3 0x461bcd 00004461: PUSH1 0xe5 00004463: SHL 00004464: DUP2 00004465: MSTORE 00004466: PUSH1 0x20 00004468: PUSH1 0x04 0000446a: DUP3 0000446b: ADD 0000446c: MSTORE 0000446d: PUSH1 0x29 0000446f: PUSH1 0x24 00004471: DUP3 00004472: ADD 00004473: MSTORE 00004474: PUSH32 0x5361666545524332303a2064656372656173656420616c6c6f77616e63652062 00004495: PUSH1 0x44 00004497: DUP3 00004498: ADD 00004499: MSTORE 0000449a: PUSH9 0x656c6f77207a65726f 000044a4: PUSH1 0xb8 000044a6: SHL 000044a7: PUSH1 0x64 000044a9: DUP3 000044aa: ADD 000044ab: MSTORE 000044ac: PUSH1 0x84 000044ae: ADD 000044af: PUSH2 0x09fd 000044b2: JUMP 000044b3: JUMPDEST 000044b4: PUSH1 0x40 000044b6: MLOAD 000044b7: PUSH1 0x01 000044b9: PUSH1 0x01 000044bb: PUSH1 0xa0 000044bd: SHL 000044be: SUB 000044bf: DUP5 000044c0: AND 000044c1: PUSH1 0x24 000044c3: DUP3 000044c4: ADD 000044c5: MSTORE 000044c6: DUP3 000044c7: DUP3 000044c8: SUB 000044c9: PUSH1 0x44 000044cb: DUP3 000044cc: ADD 000044cd: DUP2 000044ce: SWAP1 000044cf: MSTORE 000044d0: SWAP1 000044d1: PUSH2 0x262a 000044d4: SWAP1 000044d5: DUP7 000044d6: SWAP1 000044d7: PUSH4 0x095ea7b3 000044dc: PUSH1 0xe0 000044de: SHL 000044df: SWAP1 000044e0: PUSH1 0x64 000044e2: ADD 000044e3: PUSH2 0x3d45 000044e6: JUMP 000044e7: JUMPDEST 000044e8: PUSH0 000044e9: PUSH2 0x453b 000044ec: DUP3 000044ed: PUSH1 0x40 000044ef: MLOAD 000044f0: DUP1 000044f1: PUSH1 0x40 000044f3: ADD 000044f4: PUSH1 0x40 000044f6: MSTORE 000044f7: DUP1 000044f8: PUSH1 0x20 000044fa: DUP2 000044fb: MSTORE 000044fc: PUSH1 0x20 000044fe: ADD 000044ff: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00004520: DUP2 00004521: MSTORE 00004522: POP 00004523: DUP6 00004524: PUSH1 0x01 00004526: PUSH1 0x01 00004528: PUSH1 0xa0 0000452a: SHL 0000452b: SUB 0000452c: AND 0000452d: PUSH2 0x482a 00004530: SWAP1 00004531: SWAP3 00004532: SWAP2 00004533: SWAP1 00004534: PUSH4 0xffffffff 00004539: AND 0000453a: JUMP 0000453b: JUMPDEST 0000453c: DUP1 0000453d: MLOAD 0000453e: SWAP1 0000453f: SWAP2 00004540: POP 00004541: ISZERO 00004542: PUSH2 0x0f2b 00004545: JUMPI 00004546: DUP1 00004547: DUP1 00004548: PUSH1 0x20 0000454a: ADD 0000454b: SWAP1 0000454c: MLOAD 0000454d: DUP2 0000454e: ADD 0000454f: SWAP1 00004550: PUSH2 0x4559 00004553: SWAP2 00004554: SWAP1 00004555: PUSH2 0x5c96 00004558: JUMP 00004559: JUMPDEST 0000455a: PUSH2 0x0f2b 0000455d: JUMPI 0000455e: PUSH1 0x40 00004560: MLOAD 00004561: PUSH3 0x461bcd 00004565: PUSH1 0xe5 00004567: SHL 00004568: DUP2 00004569: MSTORE 0000456a: PUSH1 0x20 0000456c: PUSH1 0x04 0000456e: DUP3 0000456f: ADD 00004570: MSTORE 00004571: PUSH1 0x2a 00004573: PUSH1 0x24 00004575: DUP3 00004576: ADD 00004577: MSTORE 00004578: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00004599: PUSH1 0x44 0000459b: DUP3 0000459c: ADD 0000459d: MSTORE 0000459e: PUSH10 0x1bdd081cdd58d8d95959 000045a9: PUSH1 0xb2 000045ab: SHL 000045ac: PUSH1 0x64 000045ae: DUP3 000045af: ADD 000045b0: MSTORE 000045b1: PUSH1 0x84 000045b3: ADD 000045b4: PUSH2 0x09fd 000045b7: JUMP 000045b8: JUMPDEST 000045b9: PUSH0 000045ba: PUSH2 0x45c8 000045bd: DUP8 000045be: DUP8 000045bf: DUP12 000045c0: DUP12 000045c1: DUP10 000045c2: DUP10 000045c3: DUP9 000045c4: PUSH2 0x4842 000045c7: JUMP 000045c8: JUMPDEST 000045c9: SWAP1 000045ca: POP 000045cb: DUP7 000045cc: PUSH1 0x01 000045ce: PUSH1 0x01 000045d0: PUSH1 0xa0 000045d2: SHL 000045d3: SUB 000045d4: AND 000045d5: PUSH4 0x022c0d9f 000045da: DUP7 000045db: PUSH2 0x45e4 000045de: JUMPI 000045df: DUP3 000045e0: PUSH2 0x45e6 000045e3: JUMP 000045e4: JUMPDEST 000045e5: PUSH0 000045e6: JUMPDEST 000045e7: DUP8 000045e8: PUSH2 0x45f1 000045eb: JUMPI 000045ec: PUSH0 000045ed: PUSH2 0x45f3 000045f0: JUMP 000045f1: JUMPDEST 000045f2: DUP4 000045f3: JUMPDEST 000045f4: PUSH1 0x40 000045f6: DUP1 000045f7: MLOAD 000045f8: PUSH0 000045f9: DUP2 000045fa: MSTORE 000045fb: PUSH1 0x20 000045fd: DUP2 000045fe: ADD 000045ff: SWAP2 00004600: DUP3 00004601: SWAP1 00004602: MSTORE 00004603: PUSH1 0x01 00004605: PUSH1 0x01 00004607: PUSH1 0xe0 00004609: SHL 0000460a: SUB 0000460b: NOT 0000460c: PUSH1 0xe0 0000460e: DUP7 0000460f: SWAP1 00004610: SHL 00004611: AND 00004612: SWAP1 00004613: SWAP2 00004614: MSTORE 00004615: PUSH2 0x4625 00004618: SWAP3 00004619: SWAP2 0000461a: SWAP1 0000461b: DUP9 0000461c: SWAP1 0000461d: PUSH1 0x24 0000461f: DUP2 00004620: ADD 00004621: PUSH2 0x5b5d 00004624: JUMP 00004625: JUMPDEST 00004626: PUSH0 00004627: PUSH1 0x40 00004629: MLOAD 0000462a: DUP1 0000462b: DUP4 0000462c: SUB 0000462d: DUP2 0000462e: PUSH0 0000462f: DUP8 00004630: DUP1 00004631: EXTCODESIZE 00004632: ISZERO 00004633: DUP1 00004634: ISZERO 00004635: PUSH2 0x463c 00004638: JUMPI 00004639: PUSH0 0000463a: DUP1 0000463b: REVERT 0000463c: JUMPDEST 0000463d: POP 0000463e: GAS 0000463f: CALL 00004640: ISZERO 00004641: DUP1 00004642: ISZERO 00004643: PUSH2 0x464e 00004646: JUMPI 00004647: RETURNDATASIZE 00004648: PUSH0 00004649: DUP1 0000464a: RETURNDATACOPY 0000464b: RETURNDATASIZE 0000464c: PUSH0 0000464d: REVERT 0000464e: JUMPDEST 0000464f: POP 00004650: POP 00004651: POP 00004652: POP 00004653: POP 00004654: POP 00004655: POP 00004656: POP 00004657: POP 00004658: POP 00004659: POP 0000465a: POP 0000465b: POP 0000465c: JUMP 0000465d: JUMPDEST 0000465e: PUSH0 0000465f: PUSH2 0x466d 00004662: DUP8 00004663: DUP8 00004664: DUP12 00004665: DUP12 00004666: DUP10 00004667: DUP10 00004668: DUP9 00004669: PUSH2 0x4aef 0000466c: JUMP 0000466d: JUMPDEST 0000466e: SWAP1 0000466f: POP 00004670: PUSH0 00004671: PUSH2 0x467a 00004674: DUP9 00004675: DUP8 00004676: PUSH2 0x4c40 00004679: JUMP 0000467a: JUMPDEST 0000467b: PUSH1 0x40 0000467d: MLOAD 0000467e: PUSH4 0x70a08231 00004683: PUSH1 0xe0 00004685: SHL 00004686: DUP2 00004687: MSTORE 00004688: PUSH1 0x01 0000468a: PUSH1 0x01 0000468c: PUSH1 0xa0 0000468e: SHL 0000468f: SUB 00004690: DUP7 00004691: DUP2 00004692: AND 00004693: PUSH1 0x04 00004695: DUP4 00004696: ADD 00004697: MSTORE 00004698: SWAP2 00004699: SWAP3 0000469a: POP 0000469b: PUSH0 0000469c: SWAP2 0000469d: DUP4 0000469e: AND 0000469f: SWAP1 000046a0: PUSH4 0x70a08231 000046a5: SWAP1 000046a6: PUSH1 0x24 000046a8: ADD 000046a9: PUSH1 0x20 000046ab: PUSH1 0x40 000046ad: MLOAD 000046ae: DUP1 000046af: DUP4 000046b0: SUB 000046b1: DUP2 000046b2: DUP7 000046b3: GAS 000046b4: STATICCALL 000046b5: ISZERO 000046b6: DUP1 000046b7: ISZERO 000046b8: PUSH2 0x46c3 000046bb: JUMPI 000046bc: RETURNDATASIZE 000046bd: PUSH0 000046be: DUP1 000046bf: RETURNDATACOPY 000046c0: RETURNDATASIZE 000046c1: PUSH0 000046c2: REVERT 000046c3: JUMPDEST 000046c4: POP 000046c5: POP 000046c6: POP 000046c7: POP 000046c8: PUSH1 0x40 000046ca: MLOAD 000046cb: RETURNDATASIZE 000046cc: PUSH1 0x1f 000046ce: NOT 000046cf: PUSH1 0x1f 000046d1: DUP3 000046d2: ADD 000046d3: AND 000046d4: DUP3 000046d5: ADD 000046d6: DUP1 000046d7: PUSH1 0x40 000046d9: MSTORE 000046da: POP 000046db: DUP2 000046dc: ADD 000046dd: SWAP1 000046de: PUSH2 0x46e7 000046e1: SWAP2 000046e2: SWAP1 000046e3: PUSH2 0x5989 000046e6: JUMP 000046e7: JUMPDEST 000046e8: SWAP1 000046e9: POP 000046ea: DUP9 000046eb: PUSH1 0x01 000046ed: PUSH1 0x01 000046ef: PUSH1 0xa0 000046f1: SHL 000046f2: SUB 000046f3: AND 000046f4: PUSH4 0x022c0d9f 000046f9: DUP9 000046fa: PUSH2 0x4703 000046fd: JUMPI 000046fe: DUP5 000046ff: PUSH2 0x4705 00004702: JUMP 00004703: JUMPDEST 00004704: PUSH0 00004705: JUMPDEST 00004706: DUP10 00004707: PUSH2 0x4710 0000470a: JUMPI 0000470b: PUSH0 0000470c: PUSH2 0x4712 0000470f: JUMP 00004710: JUMPDEST 00004711: DUP6 00004712: JUMPDEST 00004713: PUSH1 0x40 00004715: DUP1 00004716: MLOAD 00004717: PUSH0 00004718: DUP2 00004719: MSTORE 0000471a: PUSH1 0x20 0000471c: DUP2 0000471d: ADD 0000471e: SWAP2 0000471f: DUP3 00004720: SWAP1 00004721: MSTORE 00004722: PUSH1 0x01 00004724: PUSH1 0x01 00004726: PUSH1 0xe0 00004728: SHL 00004729: SUB 0000472a: NOT 0000472b: PUSH1 0xe0 0000472d: DUP7 0000472e: SWAP1 0000472f: SHL 00004730: AND 00004731: SWAP1 00004732: SWAP2 00004733: MSTORE 00004734: PUSH2 0x4744 00004737: SWAP3 00004738: SWAP2 00004739: SWAP1 0000473a: DUP11 0000473b: SWAP1 0000473c: PUSH1 0x24 0000473e: DUP2 0000473f: ADD 00004740: PUSH2 0x5b5d 00004743: JUMP 00004744: JUMPDEST 00004745: PUSH0 00004746: PUSH1 0x40 00004748: MLOAD 00004749: DUP1 0000474a: DUP4 0000474b: SUB 0000474c: DUP2 0000474d: PUSH0 0000474e: DUP8 0000474f: DUP1 00004750: EXTCODESIZE 00004751: ISZERO 00004752: DUP1 00004753: ISZERO 00004754: PUSH2 0x475b 00004757: JUMPI 00004758: PUSH0 00004759: DUP1 0000475a: REVERT 0000475b: JUMPDEST 0000475c: POP 0000475d: GAS 0000475e: CALL 0000475f: ISZERO 00004760: DUP1 00004761: ISZERO 00004762: PUSH2 0x476d 00004765: JUMPI 00004766: RETURNDATASIZE 00004767: PUSH0 00004768: DUP1 00004769: RETURNDATACOPY 0000476a: RETURNDATASIZE 0000476b: PUSH0 0000476c: REVERT 0000476d: JUMPDEST 0000476e: POP 0000476f: POP 00004770: PUSH1 0x40 00004772: MLOAD 00004773: PUSH4 0x70a08231 00004778: PUSH1 0xe0 0000477a: SHL 0000477b: DUP2 0000477c: MSTORE 0000477d: PUSH1 0x01 0000477f: PUSH1 0x01 00004781: PUSH1 0xa0 00004783: SHL 00004784: SUB 00004785: DUP9 00004786: DUP2 00004787: AND 00004788: PUSH1 0x04 0000478a: DUP4 0000478b: ADD 0000478c: MSTORE 0000478d: PUSH0 0000478e: SWAP4 0000478f: POP 00004790: DUP6 00004791: AND 00004792: SWAP2 00004793: POP 00004794: PUSH4 0x70a08231 00004799: SWAP1 0000479a: PUSH1 0x24 0000479c: ADD 0000479d: PUSH1 0x20 0000479f: PUSH1 0x40 000047a1: MLOAD 000047a2: DUP1 000047a3: DUP4 000047a4: SUB 000047a5: DUP2 000047a6: DUP7 000047a7: GAS 000047a8: STATICCALL 000047a9: ISZERO 000047aa: DUP1 000047ab: ISZERO 000047ac: PUSH2 0x47b7 000047af: JUMPI 000047b0: RETURNDATASIZE 000047b1: PUSH0 000047b2: DUP1 000047b3: RETURNDATACOPY 000047b4: RETURNDATASIZE 000047b5: PUSH0 000047b6: REVERT 000047b7: JUMPDEST 000047b8: POP 000047b9: POP 000047ba: POP 000047bb: POP 000047bc: PUSH1 0x40 000047be: MLOAD 000047bf: RETURNDATASIZE 000047c0: PUSH1 0x1f 000047c2: NOT 000047c3: PUSH1 0x1f 000047c5: DUP3 000047c6: ADD 000047c7: AND 000047c8: DUP3 000047c9: ADD 000047ca: DUP1 000047cb: PUSH1 0x40 000047cd: MSTORE 000047ce: POP 000047cf: DUP2 000047d0: ADD 000047d1: SWAP1 000047d2: PUSH2 0x47db 000047d5: SWAP2 000047d6: SWAP1 000047d7: PUSH2 0x5989 000047da: JUMP 000047db: JUMPDEST 000047dc: SWAP1 000047dd: POP 000047de: DUP11 000047df: PUSH2 0x47e8 000047e2: DUP4 000047e3: DUP4 000047e4: PUSH2 0x59d0 000047e7: JUMP 000047e8: JUMPDEST 000047e9: LT 000047ea: ISZERO 000047eb: PUSH2 0x481c 000047ee: JUMPI 000047ef: PUSH1 0x40 000047f1: MLOAD 000047f2: PUSH3 0x461bcd 000047f6: PUSH1 0xe5 000047f8: SHL 000047f9: DUP2 000047fa: MSTORE 000047fb: PUSH1 0x20 000047fd: PUSH1 0x04 000047ff: DUP3 00004800: ADD 00004801: MSTORE 00004802: PUSH1 0x03 00004804: PUSH1 0x24 00004806: DUP3 00004807: ADD 00004808: MSTORE 00004809: PUSH3 0x373299 0000480d: PUSH1 0xe9 0000480f: SHL 00004810: PUSH1 0x44 00004812: DUP3 00004813: ADD 00004814: MSTORE 00004815: PUSH1 0x64 00004817: ADD 00004818: PUSH2 0x09fd 0000481b: JUMP 0000481c: JUMPDEST 0000481d: POP 0000481e: POP 0000481f: POP 00004820: POP 00004821: POP 00004822: POP 00004823: POP 00004824: POP 00004825: POP 00004826: POP 00004827: POP 00004828: POP 00004829: JUMP 0000482a: JUMPDEST 0000482b: PUSH1 0x60 0000482d: PUSH2 0x4838 00004830: DUP5 00004831: DUP5 00004832: PUSH0 00004833: DUP6 00004834: PUSH2 0x4d14 00004837: JUMP 00004838: JUMPDEST 00004839: SWAP1 0000483a: POP 0000483b: JUMPDEST 0000483c: SWAP4 0000483d: SWAP3 0000483e: POP 0000483f: POP 00004840: POP 00004841: JUMP 00004842: JUMPDEST 00004843: PUSH0 00004844: DUP1 00004845: DUP9 00004846: SWAP1 00004847: POP 00004848: PUSH0 00004849: DUP1 0000484a: DUP3 0000484b: PUSH1 0x01 0000484d: PUSH1 0x01 0000484f: PUSH1 0xa0 00004851: SHL 00004852: SUB 00004853: AND 00004854: PUSH4 0x0902f1ac 00004859: PUSH1 0x40 0000485b: MLOAD 0000485c: DUP2 0000485d: PUSH4 0xffffffff 00004862: AND 00004863: PUSH1 0xe0 00004865: SHL 00004866: DUP2 00004867: MSTORE 00004868: PUSH1 0x04 0000486a: ADD 0000486b: PUSH1 0x60 0000486d: PUSH1 0x40 0000486f: MLOAD 00004870: DUP1 00004871: DUP4 00004872: SUB 00004873: DUP2 00004874: DUP7 00004875: GAS 00004876: STATICCALL 00004877: ISZERO 00004878: DUP1 00004879: ISZERO 0000487a: PUSH2 0x4885 0000487d: JUMPI 0000487e: RETURNDATASIZE 0000487f: PUSH0 00004880: DUP1 00004881: RETURNDATACOPY 00004882: RETURNDATASIZE 00004883: PUSH0 00004884: REVERT 00004885: JUMPDEST 00004886: POP 00004887: POP 00004888: POP 00004889: POP 0000488a: PUSH1 0x40 0000488c: MLOAD 0000488d: RETURNDATASIZE 0000488e: PUSH1 0x1f 00004890: NOT 00004891: PUSH1 0x1f 00004893: DUP3 00004894: ADD 00004895: AND 00004896: DUP3 00004897: ADD 00004898: DUP1 00004899: PUSH1 0x40 0000489b: MSTORE 0000489c: POP 0000489d: DUP2 0000489e: ADD 0000489f: SWAP1 000048a0: PUSH2 0x48a9 000048a3: SWAP2 000048a4: SWAP1 000048a5: PUSH2 0x5c21 000048a8: JUMP 000048a9: JUMPDEST 000048aa: POP 000048ab: PUSH1 0x01 000048ad: PUSH1 0x01 000048af: PUSH1 0x70 000048b1: SHL 000048b2: SUB 000048b3: SWAP2 000048b4: DUP3 000048b5: AND 000048b6: SWAP4 000048b7: POP 000048b8: AND 000048b9: SWAP1 000048ba: POP 000048bb: PUSH0 000048bc: PUSH2 0x2710 000048bf: PUSH2 0x48c8 000048c2: DUP8 000048c3: DUP3 000048c4: PUSH2 0x59d0 000048c7: JUMP 000048c8: JUMPDEST 000048c9: PUSH2 0x48d4 000048cc: DUP10 000048cd: PUSH2 0x2710 000048d0: PUSH2 0x59d0 000048d3: JUMP 000048d4: JUMPDEST 000048d5: PUSH2 0x48de 000048d8: SWAP1 000048d9: DUP14 000048da: PUSH2 0x5a2f 000048dd: JUMP 000048de: JUMPDEST 000048df: PUSH2 0x48e8 000048e2: SWAP2 000048e3: SWAP1 000048e4: PUSH2 0x5a2f 000048e7: JUMP 000048e8: JUMPDEST 000048e9: PUSH2 0x48f2 000048ec: SWAP2 000048ed: SWAP1 000048ee: PUSH2 0x5a46 000048f1: JUMP 000048f2: JUMPDEST 000048f3: SWAP1 000048f4: POP 000048f5: DUP1 000048f6: DUP9 000048f7: PUSH2 0x4900 000048fa: JUMPI 000048fb: DUP3 000048fc: PUSH2 0x4902 000048ff: JUMP 00004900: JUMPDEST 00004901: DUP4 00004902: JUMPDEST 00004903: PUSH2 0x490e 00004906: SWAP1 00004907: PUSH2 0x2710 0000490a: PUSH2 0x5a2f 0000490d: JUMP 0000490e: JUMPDEST 0000490f: PUSH2 0x4918 00004912: SWAP2 00004913: SWAP1 00004914: PUSH2 0x5c68 00004917: JUMP 00004918: JUMPDEST 00004919: DUP9 0000491a: PUSH2 0x4923 0000491d: JUMPI 0000491e: DUP4 0000491f: PUSH2 0x4925 00004922: JUMP 00004923: JUMPDEST 00004924: DUP3 00004925: JUMPDEST 00004926: PUSH2 0x492f 00004929: SWAP1 0000492a: DUP4 0000492b: PUSH2 0x5a2f 0000492e: JUMP 0000492f: JUMPDEST 00004930: PUSH2 0x4939 00004933: SWAP2 00004934: SWAP1 00004935: PUSH2 0x5a46 00004938: JUMP 00004939: JUMPDEST 0000493a: SWAP5 0000493b: POP 0000493c: DUP9 0000493d: DUP6 0000493e: LT 0000493f: ISZERO 00004940: PUSH2 0x4971 00004943: JUMPI 00004944: PUSH1 0x40 00004946: MLOAD 00004947: PUSH3 0x461bcd 0000494b: PUSH1 0xe5 0000494d: SHL 0000494e: DUP2 0000494f: MSTORE 00004950: PUSH1 0x20 00004952: PUSH1 0x04 00004954: DUP3 00004955: ADD 00004956: MSTORE 00004957: PUSH1 0x03 00004959: PUSH1 0x24 0000495b: DUP3 0000495c: ADD 0000495d: MSTORE 0000495e: PUSH3 0x6e6531 00004962: PUSH1 0xe8 00004964: SHL 00004965: PUSH1 0x44 00004967: DUP3 00004968: ADD 00004969: MSTORE 0000496a: PUSH1 0x64 0000496c: ADD 0000496d: PUSH2 0x09fd 00004970: JUMP 00004971: JUMPDEST 00004972: PUSH2 0x4985 00004975: PUSH1 0x01 00004977: PUSH1 0x01 00004979: PUSH1 0xa0 0000497b: SHL 0000497c: SUB 0000497d: DUP13 0000497e: AND 0000497f: DUP14 00004980: DUP13 00004981: PUSH2 0x3d19 00004984: JUMP 00004985: JUMPDEST 00004986: PUSH1 0x40 00004988: MLOAD 00004989: PUSH4 0x70a08231 0000498e: PUSH1 0xe0 00004990: SHL 00004991: DUP2 00004992: MSTORE 00004993: PUSH1 0x01 00004995: PUSH1 0x01 00004997: PUSH1 0xa0 00004999: SHL 0000499a: SUB 0000499b: DUP14 0000499c: DUP2 0000499d: AND 0000499e: PUSH1 0x04 000049a0: DUP4 000049a1: ADD 000049a2: MSTORE 000049a3: PUSH0 000049a4: SWAP2 000049a5: SWAP1 000049a6: DUP14 000049a7: AND 000049a8: SWAP1 000049a9: PUSH4 0x70a08231 000049ae: SWAP1 000049af: PUSH1 0x24 000049b1: ADD 000049b2: PUSH1 0x20 000049b4: PUSH1 0x40 000049b6: MLOAD 000049b7: DUP1 000049b8: DUP4 000049b9: SUB 000049ba: DUP2 000049bb: DUP7 000049bc: GAS 000049bd: STATICCALL 000049be: ISZERO 000049bf: DUP1 000049c0: ISZERO 000049c1: PUSH2 0x49cc 000049c4: JUMPI 000049c5: RETURNDATASIZE 000049c6: PUSH0 000049c7: DUP1 000049c8: RETURNDATACOPY 000049c9: RETURNDATASIZE 000049ca: PUSH0 000049cb: REVERT 000049cc: JUMPDEST 000049cd: POP 000049ce: POP 000049cf: POP 000049d0: POP 000049d1: PUSH1 0x40 000049d3: MLOAD 000049d4: RETURNDATASIZE 000049d5: PUSH1 0x1f 000049d7: NOT 000049d8: PUSH1 0x1f 000049da: DUP3 000049db: ADD 000049dc: AND 000049dd: DUP3 000049de: ADD 000049df: DUP1 000049e0: PUSH1 0x40 000049e2: MSTORE 000049e3: POP 000049e4: DUP2 000049e5: ADD 000049e6: SWAP1 000049e7: PUSH2 0x49f0 000049ea: SWAP2 000049eb: SWAP1 000049ec: PUSH2 0x5989 000049ef: JUMP 000049f0: JUMPDEST 000049f1: SWAP1 000049f2: POP 000049f3: DUP5 000049f4: PUSH1 0x01 000049f6: PUSH1 0x01 000049f8: PUSH1 0xa0 000049fa: SHL 000049fb: SUB 000049fc: AND 000049fd: PUSH4 0x0902f1ac 00004a02: PUSH1 0x40 00004a04: MLOAD 00004a05: DUP2 00004a06: PUSH4 0xffffffff 00004a0b: AND 00004a0c: PUSH1 0xe0 00004a0e: SHL 00004a0f: DUP2 00004a10: MSTORE 00004a11: PUSH1 0x04 00004a13: ADD 00004a14: PUSH1 0x60 00004a16: PUSH1 0x40 00004a18: MLOAD 00004a19: DUP1 00004a1a: DUP4 00004a1b: SUB 00004a1c: DUP2 00004a1d: DUP7 00004a1e: GAS 00004a1f: STATICCALL 00004a20: ISZERO 00004a21: DUP1 00004a22: ISZERO 00004a23: PUSH2 0x4a2e 00004a26: JUMPI 00004a27: RETURNDATASIZE 00004a28: PUSH0 00004a29: DUP1 00004a2a: RETURNDATACOPY 00004a2b: RETURNDATASIZE 00004a2c: PUSH0 00004a2d: REVERT 00004a2e: JUMPDEST 00004a2f: POP 00004a30: POP 00004a31: POP 00004a32: POP 00004a33: PUSH1 0x40 00004a35: MLOAD 00004a36: RETURNDATASIZE 00004a37: PUSH1 0x1f 00004a39: NOT 00004a3a: PUSH1 0x1f 00004a3c: DUP3 00004a3d: ADD 00004a3e: AND 00004a3f: DUP3 00004a40: ADD 00004a41: DUP1 00004a42: PUSH1 0x40 00004a44: MSTORE 00004a45: POP 00004a46: DUP2 00004a47: ADD 00004a48: SWAP1 00004a49: PUSH2 0x4a52 00004a4c: SWAP2 00004a4d: SWAP1 00004a4e: PUSH2 0x5c21 00004a51: JUMP 00004a52: JUMPDEST 00004a53: POP 00004a54: PUSH1 0x01 00004a56: PUSH1 0x01 00004a58: PUSH1 0x70 00004a5a: SHL 00004a5b: SUB 00004a5c: SWAP2 00004a5d: DUP3 00004a5e: AND 00004a5f: SWAP6 00004a60: POP 00004a61: AND 00004a62: SWAP3 00004a63: POP 00004a64: PUSH2 0x4a6f 00004a67: DUP9 00004a68: PUSH2 0x2710 00004a6b: PUSH2 0x59d0 00004a6e: JUMP 00004a6f: JUMPDEST 00004a70: DUP10 00004a71: PUSH2 0x4a83 00004a74: JUMPI 00004a75: PUSH2 0x4a7e 00004a78: DUP5 00004a79: DUP4 00004a7a: PUSH2 0x59d0 00004a7d: JUMP 00004a7e: JUMPDEST 00004a7f: PUSH2 0x4a8d 00004a82: JUMP 00004a83: JUMPDEST 00004a84: PUSH2 0x4a8d 00004a87: DUP6 00004a88: DUP4 00004a89: PUSH2 0x59d0 00004a8c: JUMP 00004a8d: JUMPDEST 00004a8e: PUSH2 0x4a97 00004a91: SWAP2 00004a92: SWAP1 00004a93: PUSH2 0x5a2f 00004a96: JUMP 00004a97: JUMPDEST 00004a98: SWAP2 00004a99: POP 00004a9a: DUP2 00004a9b: DUP10 00004a9c: PUSH2 0x4aa5 00004a9f: JUMPI 00004aa0: DUP4 00004aa1: PUSH2 0x4aa7 00004aa4: JUMP 00004aa5: JUMPDEST 00004aa6: DUP5 00004aa7: JUMPDEST 00004aa8: PUSH2 0x4ab3 00004aab: SWAP1 00004aac: PUSH2 0x2710 00004aaf: PUSH2 0x5a2f 00004ab2: JUMP 00004ab3: JUMPDEST 00004ab4: PUSH2 0x4abd 00004ab7: SWAP2 00004ab8: SWAP1 00004ab9: PUSH2 0x5c68 00004abc: JUMP 00004abd: JUMPDEST 00004abe: DUP10 00004abf: PUSH2 0x4ac8 00004ac2: JUMPI 00004ac3: DUP5 00004ac4: PUSH2 0x4aca 00004ac7: JUMP 00004ac8: JUMPDEST 00004ac9: DUP4 00004aca: JUMPDEST 00004acb: PUSH2 0x4ad4 00004ace: SWAP1 00004acf: DUP5 00004ad0: PUSH2 0x5a2f 00004ad3: JUMP 00004ad4: JUMPDEST 00004ad5: PUSH2 0x4ade 00004ad8: SWAP2 00004ad9: SWAP1 00004ada: PUSH2 0x5a46 00004add: JUMP 00004ade: JUMPDEST 00004adf: SWAP14 00004ae0: SWAP13 00004ae1: POP 00004ae2: POP 00004ae3: POP 00004ae4: POP 00004ae5: POP 00004ae6: POP 00004ae7: POP 00004ae8: POP 00004ae9: POP 00004aea: POP 00004aeb: POP 00004aec: POP 00004aed: POP 00004aee: JUMP 00004aef: JUMPDEST 00004af0: PUSH0 00004af1: DUP1 00004af2: DUP9 00004af3: SWAP1 00004af4: POP 00004af5: PUSH0 00004af6: DUP1 00004af7: DUP3 00004af8: PUSH1 0x01 00004afa: PUSH1 0x01 00004afc: PUSH1 0xa0 00004afe: SHL 00004aff: SUB 00004b00: AND 00004b01: PUSH4 0x0902f1ac 00004b06: PUSH1 0x40 00004b08: MLOAD 00004b09: DUP2 00004b0a: PUSH4 0xffffffff 00004b0f: AND 00004b10: PUSH1 0xe0 00004b12: SHL 00004b13: DUP2 00004b14: MSTORE 00004b15: PUSH1 0x04 00004b17: ADD 00004b18: PUSH1 0x60 00004b1a: PUSH1 0x40 00004b1c: MLOAD 00004b1d: DUP1 00004b1e: DUP4 00004b1f: SUB 00004b20: DUP2 00004b21: DUP7 00004b22: GAS 00004b23: STATICCALL 00004b24: ISZERO 00004b25: DUP1 00004b26: ISZERO 00004b27: PUSH2 0x4b32 00004b2a: JUMPI 00004b2b: RETURNDATASIZE 00004b2c: PUSH0 00004b2d: DUP1 00004b2e: RETURNDATACOPY 00004b2f: RETURNDATASIZE 00004b30: PUSH0 00004b31: REVERT 00004b32: JUMPDEST 00004b33: POP 00004b34: POP 00004b35: POP 00004b36: POP 00004b37: PUSH1 0x40 00004b39: MLOAD 00004b3a: RETURNDATASIZE 00004b3b: PUSH1 0x1f 00004b3d: NOT 00004b3e: PUSH1 0x1f 00004b40: DUP3 00004b41: ADD 00004b42: AND 00004b43: DUP3 00004b44: ADD 00004b45: DUP1 00004b46: PUSH1 0x40 00004b48: MSTORE 00004b49: POP 00004b4a: DUP2 00004b4b: ADD 00004b4c: SWAP1 00004b4d: PUSH2 0x4b56 00004b50: SWAP2 00004b51: SWAP1 00004b52: PUSH2 0x5c21 00004b55: JUMP 00004b56: JUMPDEST 00004b57: POP 00004b58: PUSH1 0x01 00004b5a: PUSH1 0x01 00004b5c: PUSH1 0x70 00004b5e: SHL 00004b5f: SUB 00004b60: SWAP2 00004b61: DUP3 00004b62: AND 00004b63: SWAP4 00004b64: POP 00004b65: AND 00004b66: SWAP1 00004b67: POP 00004b68: PUSH0 00004b69: PUSH2 0x4b74 00004b6c: DUP8 00004b6d: PUSH2 0x2710 00004b70: PUSH2 0x59d0 00004b73: JUMP 00004b74: JUMPDEST 00004b75: PUSH2 0x4b7e 00004b78: SWAP1 00004b79: DUP12 00004b7a: PUSH2 0x5a2f 00004b7d: JUMP 00004b7e: JUMPDEST 00004b7f: SWAP1 00004b80: POP 00004b81: DUP1 00004b82: DUP9 00004b83: PUSH2 0x4b8c 00004b86: JUMPI 00004b87: DUP3 00004b88: PUSH2 0x4b8e 00004b8b: JUMP 00004b8c: JUMPDEST 00004b8d: DUP4 00004b8e: JUMPDEST 00004b8f: PUSH2 0x4b9a 00004b92: SWAP1 00004b93: PUSH2 0x2710 00004b96: PUSH2 0x5a2f 00004b99: JUMP 00004b9a: JUMPDEST 00004b9b: PUSH2 0x4ba4 00004b9e: SWAP2 00004b9f: SWAP1 00004ba0: PUSH2 0x5c68 00004ba3: JUMP 00004ba4: JUMPDEST 00004ba5: DUP9 00004ba6: PUSH2 0x4baf 00004ba9: JUMPI 00004baa: DUP4 00004bab: PUSH2 0x4bb1 00004bae: JUMP 00004baf: JUMPDEST 00004bb0: DUP3 00004bb1: JUMPDEST 00004bb2: PUSH2 0x4bbb 00004bb5: SWAP1 00004bb6: DUP4 00004bb7: PUSH2 0x5a2f 00004bba: JUMP 00004bbb: JUMPDEST 00004bbc: PUSH2 0x4bc5 00004bbf: SWAP2 00004bc0: SWAP1 00004bc1: PUSH2 0x5a46 00004bc4: JUMP 00004bc5: JUMPDEST 00004bc6: SWAP5 00004bc7: POP 00004bc8: DUP9 00004bc9: PUSH2 0x2710 00004bcc: PUSH2 0x4bd5 00004bcf: DUP9 00004bd0: DUP3 00004bd1: PUSH2 0x59d0 00004bd4: JUMP 00004bd5: JUMPDEST 00004bd6: PUSH2 0x4bdf 00004bd9: SWAP1 00004bda: DUP9 00004bdb: PUSH2 0x5a2f 00004bde: JUMP 00004bdf: JUMPDEST 00004be0: PUSH2 0x4be9 00004be3: SWAP2 00004be4: SWAP1 00004be5: PUSH2 0x5a46 00004be8: JUMP 00004be9: JUMPDEST 00004bea: LT 00004beb: ISZERO 00004bec: PUSH2 0x4c1d 00004bef: JUMPI 00004bf0: PUSH1 0x40 00004bf2: MLOAD 00004bf3: PUSH3 0x461bcd 00004bf7: PUSH1 0xe5 00004bf9: SHL 00004bfa: DUP2 00004bfb: MSTORE 00004bfc: PUSH1 0x20 00004bfe: PUSH1 0x04 00004c00: DUP3 00004c01: ADD 00004c02: MSTORE 00004c03: PUSH1 0x03 00004c05: PUSH1 0x24 00004c07: DUP3 00004c08: ADD 00004c09: MSTORE 00004c0a: PUSH3 0x6e6531 00004c0e: PUSH1 0xe8 00004c10: SHL 00004c11: PUSH1 0x44 00004c13: DUP3 00004c14: ADD 00004c15: MSTORE 00004c16: PUSH1 0x64 00004c18: ADD 00004c19: PUSH2 0x09fd 00004c1c: JUMP 00004c1d: JUMPDEST 00004c1e: PUSH2 0x4c31 00004c21: PUSH1 0x01 00004c23: PUSH1 0x01 00004c25: PUSH1 0xa0 00004c27: SHL 00004c28: SUB 00004c29: DUP13 00004c2a: AND 00004c2b: DUP14 00004c2c: DUP13 00004c2d: PUSH2 0x3d19 00004c30: JUMP 00004c31: JUMPDEST 00004c32: POP 00004c33: POP 00004c34: POP 00004c35: POP 00004c36: SWAP8 00004c37: SWAP7 00004c38: POP 00004c39: POP 00004c3a: POP 00004c3b: POP 00004c3c: POP 00004c3d: POP 00004c3e: POP 00004c3f: JUMP 00004c40: JUMPDEST 00004c41: PUSH0 00004c42: DUP2 00004c43: PUSH2 0x4cab 00004c46: JUMPI 00004c47: DUP3 00004c48: PUSH1 0x01 00004c4a: PUSH1 0x01 00004c4c: PUSH1 0xa0 00004c4e: SHL 00004c4f: SUB 00004c50: AND 00004c51: PUSH4 0x0dfe1681 00004c56: PUSH1 0x40 00004c58: MLOAD 00004c59: DUP2 00004c5a: PUSH4 0xffffffff 00004c5f: AND 00004c60: PUSH1 0xe0 00004c62: SHL 00004c63: DUP2 00004c64: MSTORE 00004c65: PUSH1 0x04 00004c67: ADD 00004c68: PUSH1 0x20 00004c6a: PUSH1 0x40 00004c6c: MLOAD 00004c6d: DUP1 00004c6e: DUP4 00004c6f: SUB 00004c70: DUP2 00004c71: DUP7 00004c72: GAS 00004c73: STATICCALL 00004c74: ISZERO 00004c75: DUP1 00004c76: ISZERO 00004c77: PUSH2 0x4c82 00004c7a: JUMPI 00004c7b: RETURNDATASIZE 00004c7c: PUSH0 00004c7d: DUP1 00004c7e: RETURNDATACOPY 00004c7f: RETURNDATASIZE 00004c80: PUSH0 00004c81: REVERT 00004c82: JUMPDEST 00004c83: POP 00004c84: POP 00004c85: POP 00004c86: POP 00004c87: PUSH1 0x40 00004c89: MLOAD 00004c8a: RETURNDATASIZE 00004c8b: PUSH1 0x1f 00004c8d: NOT 00004c8e: PUSH1 0x1f 00004c90: DUP3 00004c91: ADD 00004c92: AND 00004c93: DUP3 00004c94: ADD 00004c95: DUP1 00004c96: PUSH1 0x40 00004c98: MSTORE 00004c99: POP 00004c9a: DUP2 00004c9b: ADD 00004c9c: SWAP1 00004c9d: PUSH2 0x4ca6 00004ca0: SWAP2 00004ca1: SWAP1 00004ca2: PUSH2 0x5c7b 00004ca5: JUMP 00004ca6: JUMPDEST 00004ca7: PUSH2 0x4d0b 00004caa: JUMP 00004cab: JUMPDEST 00004cac: DUP3 00004cad: PUSH1 0x01 00004caf: PUSH1 0x01 00004cb1: PUSH1 0xa0 00004cb3: SHL 00004cb4: SUB 00004cb5: AND 00004cb6: PUSH4 0xd21220a7 00004cbb: PUSH1 0x40 00004cbd: MLOAD 00004cbe: DUP2 00004cbf: PUSH4 0xffffffff 00004cc4: AND 00004cc5: PUSH1 0xe0 00004cc7: SHL 00004cc8: DUP2 00004cc9: MSTORE 00004cca: PUSH1 0x04 00004ccc: ADD 00004ccd: PUSH1 0x20 00004ccf: PUSH1 0x40 00004cd1: MLOAD 00004cd2: DUP1 00004cd3: DUP4 00004cd4: SUB 00004cd5: DUP2 00004cd6: DUP7 00004cd7: GAS 00004cd8: STATICCALL 00004cd9: ISZERO 00004cda: DUP1 00004cdb: ISZERO 00004cdc: PUSH2 0x4ce7 00004cdf: JUMPI 00004ce0: RETURNDATASIZE 00004ce1: PUSH0 00004ce2: DUP1 00004ce3: RETURNDATACOPY 00004ce4: RETURNDATASIZE 00004ce5: PUSH0 00004ce6: REVERT 00004ce7: JUMPDEST 00004ce8: POP 00004ce9: POP 00004cea: POP 00004ceb: POP 00004cec: PUSH1 0x40 00004cee: MLOAD 00004cef: RETURNDATASIZE 00004cf0: PUSH1 0x1f 00004cf2: NOT 00004cf3: PUSH1 0x1f 00004cf5: DUP3 00004cf6: ADD 00004cf7: AND 00004cf8: DUP3 00004cf9: ADD 00004cfa: DUP1 00004cfb: PUSH1 0x40 00004cfd: MSTORE 00004cfe: POP 00004cff: DUP2 00004d00: ADD 00004d01: SWAP1 00004d02: PUSH2 0x4d0b 00004d05: SWAP2 00004d06: SWAP1 00004d07: PUSH2 0x5c7b 00004d0a: JUMP 00004d0b: JUMPDEST 00004d0c: SWAP1 00004d0d: POP 00004d0e: JUMPDEST 00004d0f: SWAP3 00004d10: SWAP2 00004d11: POP 00004d12: POP 00004d13: JUMP 00004d14: JUMPDEST 00004d15: PUSH1 0x60 00004d17: DUP3 00004d18: SELFBALANCE 00004d19: LT 00004d1a: ISZERO 00004d1b: PUSH2 0x4d75 00004d1e: JUMPI 00004d1f: PUSH1 0x40 00004d21: MLOAD 00004d22: PUSH3 0x461bcd 00004d26: PUSH1 0xe5 00004d28: SHL 00004d29: DUP2 00004d2a: MSTORE 00004d2b: PUSH1 0x20 00004d2d: PUSH1 0x04 00004d2f: DUP3 00004d30: ADD 00004d31: MSTORE 00004d32: PUSH1 0x26 00004d34: PUSH1 0x24 00004d36: DUP3 00004d37: ADD 00004d38: MSTORE 00004d39: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00004d5a: PUSH1 0x44 00004d5c: DUP3 00004d5d: ADD 00004d5e: MSTORE 00004d5f: PUSH6 0x1c8818d85b1b 00004d66: PUSH1 0xd2 00004d68: SHL 00004d69: PUSH1 0x64 00004d6b: DUP3 00004d6c: ADD 00004d6d: MSTORE 00004d6e: PUSH1 0x84 00004d70: ADD 00004d71: PUSH2 0x09fd 00004d74: JUMP 00004d75: JUMPDEST 00004d76: PUSH1 0x01 00004d78: PUSH1 0x01 00004d7a: PUSH1 0xa0 00004d7c: SHL 00004d7d: SUB 00004d7e: DUP6 00004d7f: AND 00004d80: EXTCODESIZE 00004d81: PUSH2 0x4dcc 00004d84: JUMPI 00004d85: PUSH1 0x40 00004d87: MLOAD 00004d88: PUSH3 0x461bcd 00004d8c: PUSH1 0xe5 00004d8e: SHL 00004d8f: DUP2 00004d90: MSTORE 00004d91: PUSH1 0x20 00004d93: PUSH1 0x04 00004d95: DUP3 00004d96: ADD 00004d97: MSTORE 00004d98: PUSH1 0x1d 00004d9a: PUSH1 0x24 00004d9c: DUP3 00004d9d: ADD 00004d9e: MSTORE 00004d9f: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00004dc0: PUSH1 0x44 00004dc2: DUP3 00004dc3: ADD 00004dc4: MSTORE 00004dc5: PUSH1 0x64 00004dc7: ADD 00004dc8: PUSH2 0x09fd 00004dcb: JUMP 00004dcc: JUMPDEST 00004dcd: PUSH0 00004dce: DUP1 00004dcf: DUP7 00004dd0: PUSH1 0x01 00004dd2: PUSH1 0x01 00004dd4: PUSH1 0xa0 00004dd6: SHL 00004dd7: SUB 00004dd8: AND 00004dd9: DUP6 00004dda: DUP8 00004ddb: PUSH1 0x40 00004ddd: MLOAD 00004dde: PUSH2 0x4de7 00004de1: SWAP2 00004de2: SWAP1 00004de3: PUSH2 0x5c06 00004de6: JUMP 00004de7: JUMPDEST 00004de8: PUSH0 00004de9: PUSH1 0x40 00004deb: MLOAD 00004dec: DUP1 00004ded: DUP4 00004dee: SUB 00004def: DUP2 00004df0: DUP6 00004df1: DUP8 00004df2: GAS 00004df3: CALL 00004df4: SWAP3 00004df5: POP 00004df6: POP 00004df7: POP 00004df8: RETURNDATASIZE 00004df9: DUP1 00004dfa: PUSH0 00004dfb: DUP2 00004dfc: EQ 00004dfd: PUSH2 0x4e21 00004e00: JUMPI 00004e01: PUSH1 0x40 00004e03: MLOAD 00004e04: SWAP2 00004e05: POP 00004e06: PUSH1 0x1f 00004e08: NOT 00004e09: PUSH1 0x3f 00004e0b: RETURNDATASIZE 00004e0c: ADD 00004e0d: AND 00004e0e: DUP3 00004e0f: ADD 00004e10: PUSH1 0x40 00004e12: MSTORE 00004e13: RETURNDATASIZE 00004e14: DUP3 00004e15: MSTORE 00004e16: RETURNDATASIZE 00004e17: PUSH0 00004e18: PUSH1 0x20 00004e1a: DUP5 00004e1b: ADD 00004e1c: RETURNDATACOPY 00004e1d: PUSH2 0x4e26 00004e20: JUMP 00004e21: JUMPDEST 00004e22: PUSH1 0x60 00004e24: SWAP2 00004e25: POP 00004e26: JUMPDEST 00004e27: POP 00004e28: SWAP2 00004e29: POP 00004e2a: SWAP2 00004e2b: POP 00004e2c: PUSH2 0x4e36 00004e2f: DUP3 00004e30: DUP3 00004e31: DUP7 00004e32: PUSH2 0x4e41 00004e35: JUMP 00004e36: JUMPDEST 00004e37: SWAP8 00004e38: SWAP7 00004e39: POP 00004e3a: POP 00004e3b: POP 00004e3c: POP 00004e3d: POP 00004e3e: POP 00004e3f: POP 00004e40: JUMP 00004e41: JUMPDEST 00004e42: PUSH1 0x60 00004e44: DUP4 00004e45: ISZERO 00004e46: PUSH2 0x4e50 00004e49: JUMPI 00004e4a: POP 00004e4b: DUP2 00004e4c: PUSH2 0x483b 00004e4f: JUMP 00004e50: JUMPDEST 00004e51: DUP3 00004e52: MLOAD 00004e53: ISZERO 00004e54: PUSH2 0x4e60 00004e57: JUMPI 00004e58: DUP3 00004e59: MLOAD 00004e5a: DUP1 00004e5b: DUP5 00004e5c: PUSH1 0x20 00004e5e: ADD 00004e5f: REVERT 00004e60: JUMPDEST 00004e61: DUP2 00004e62: PUSH1 0x40 00004e64: MLOAD 00004e65: PUSH3 0x461bcd 00004e69: PUSH1 0xe5 00004e6b: SHL 00004e6c: DUP2 00004e6d: MSTORE 00004e6e: PUSH1 0x04 00004e70: ADD 00004e71: PUSH2 0x09fd 00004e74: SWAP2 00004e75: SWAP1 00004e76: PUSH2 0x5b4b 00004e79: JUMP 00004e7a: JUMPDEST 00004e7b: PUSH1 0x01 00004e7d: PUSH1 0x01 00004e7f: PUSH1 0xa0 00004e81: SHL 00004e82: SUB 00004e83: DUP2 00004e84: AND 00004e85: DUP2 00004e86: EQ 00004e87: PUSH2 0x17b9 00004e8a: JUMPI 00004e8b: PUSH0 00004e8c: DUP1 00004e8d: REVERT 00004e8e: JUMPDEST 00004e8f: DUP1 00004e90: CALLDATALOAD 00004e91: PUSH2 0x335b 00004e94: DUP2 00004e95: PUSH2 0x4e7a 00004e98: JUMP 00004e99: JUMPDEST 00004e9a: PUSH0 00004e9b: PUSH1 0x20 00004e9d: DUP3 00004e9e: DUP5 00004e9f: SUB 00004ea0: SLT 00004ea1: ISZERO 00004ea2: PUSH2 0x4ea9 00004ea5: JUMPI 00004ea6: PUSH0 00004ea7: DUP1 00004ea8: REVERT 00004ea9: JUMPDEST 00004eaa: DUP2 00004eab: CALLDATALOAD 00004eac: PUSH2 0x483b 00004eaf: DUP2 00004eb0: PUSH2 0x4e7a 00004eb3: JUMP 00004eb4: JUMPDEST 00004eb5: DUP1 00004eb6: ISZERO 00004eb7: ISZERO 00004eb8: DUP2 00004eb9: EQ 00004eba: PUSH2 0x17b9 00004ebd: JUMPI 00004ebe: PUSH0 00004ebf: DUP1 00004ec0: REVERT 00004ec1: JUMPDEST 00004ec2: DUP1 00004ec3: CALLDATALOAD 00004ec4: PUSH2 0x335b 00004ec7: DUP2 00004ec8: PUSH2 0x4eb4 00004ecb: JUMP 00004ecc: JUMPDEST 00004ecd: PUSH0 00004ece: DUP1 00004ecf: PUSH0 00004ed0: DUP1 00004ed1: PUSH0 00004ed2: PUSH1 0xa0 00004ed4: DUP7 00004ed5: DUP9 00004ed6: SUB 00004ed7: SLT 00004ed8: ISZERO 00004ed9: PUSH2 0x4ee0 00004edc: JUMPI 00004edd: PUSH0 00004ede: DUP1 00004edf: REVERT 00004ee0: JUMPDEST 00004ee1: DUP6 00004ee2: CALLDATALOAD 00004ee3: PUSH2 0x4eeb 00004ee6: DUP2 00004ee7: PUSH2 0x4e7a 00004eea: JUMP 00004eeb: JUMPDEST 00004eec: SWAP5 00004eed: POP 00004eee: PUSH1 0x20 00004ef0: DUP7 00004ef1: ADD 00004ef2: CALLDATALOAD 00004ef3: SWAP4 00004ef4: POP 00004ef5: PUSH1 0x40 00004ef7: DUP7 00004ef8: ADD 00004ef9: CALLDATALOAD 00004efa: PUSH2 0x4f02 00004efd: DUP2 00004efe: PUSH2 0x4e7a 00004f01: JUMP 00004f02: JUMPDEST 00004f03: SWAP3 00004f04: POP 00004f05: PUSH1 0x60 00004f07: DUP7 00004f08: ADD 00004f09: CALLDATALOAD 00004f0a: PUSH2 0x4f12 00004f0d: DUP2 00004f0e: PUSH2 0x4eb4 00004f11: JUMP 00004f12: JUMPDEST 00004f13: SWAP2 00004f14: POP 00004f15: PUSH1 0x80 00004f17: DUP7 00004f18: ADD 00004f19: CALLDATALOAD 00004f1a: PUSH2 0x4f22 00004f1d: DUP2 00004f1e: PUSH2 0x4e7a 00004f21: JUMP 00004f22: JUMPDEST 00004f23: DUP1 00004f24: SWAP2 00004f25: POP 00004f26: POP 00004f27: SWAP3 00004f28: SWAP6 00004f29: POP 00004f2a: SWAP3 00004f2b: SWAP6 00004f2c: SWAP1 00004f2d: SWAP4 00004f2e: POP 00004f2f: JUMP 00004f30: JUMPDEST 00004f31: PUSH0 00004f32: DUP1 00004f33: PUSH0 00004f34: DUP1 00004f35: PUSH1 0x60 00004f37: DUP6 00004f38: DUP8 00004f39: SUB 00004f3a: SLT 00004f3b: ISZERO 00004f3c: PUSH2 0x4f43 00004f3f: JUMPI 00004f40: PUSH0 00004f41: DUP1 00004f42: REVERT 00004f43: JUMPDEST 00004f44: DUP5 00004f45: CALLDATALOAD 00004f46: SWAP4 00004f47: POP 00004f48: PUSH1 0x20 00004f4a: DUP6 00004f4b: ADD 00004f4c: CALLDATALOAD 00004f4d: SWAP3 00004f4e: POP 00004f4f: PUSH1 0x40 00004f51: DUP6 00004f52: ADD 00004f53: CALLDATALOAD 00004f54: PUSH1 0x01 00004f56: PUSH1 0x01 00004f58: PUSH1 0x40 00004f5a: SHL 00004f5b: SUB 00004f5c: DUP1 00004f5d: DUP3 00004f5e: GT 00004f5f: ISZERO 00004f60: PUSH2 0x4f67 00004f63: JUMPI 00004f64: PUSH0 00004f65: DUP1 00004f66: REVERT 00004f67: JUMPDEST 00004f68: DUP2 00004f69: DUP8 00004f6a: ADD 00004f6b: SWAP2 00004f6c: POP 00004f6d: DUP8 00004f6e: PUSH1 0x1f 00004f70: DUP4 00004f71: ADD 00004f72: SLT 00004f73: PUSH2 0x4f7a 00004f76: JUMPI 00004f77: PUSH0 00004f78: DUP1 00004f79: REVERT 00004f7a: JUMPDEST 00004f7b: DUP2 00004f7c: CALLDATALOAD 00004f7d: DUP2 00004f7e: DUP2 00004f7f: GT 00004f80: ISZERO 00004f81: PUSH2 0x4f88 00004f84: JUMPI 00004f85: PUSH0 00004f86: DUP1 00004f87: REVERT 00004f88: JUMPDEST 00004f89: DUP9 00004f8a: PUSH1 0x20 00004f8c: DUP3 00004f8d: DUP6 00004f8e: ADD 00004f8f: ADD 00004f90: GT 00004f91: ISZERO 00004f92: PUSH2 0x4f99 00004f95: JUMPI 00004f96: PUSH0 00004f97: DUP1 00004f98: REVERT 00004f99: JUMPDEST 00004f9a: SWAP6 00004f9b: SWAP9 00004f9c: SWAP5 00004f9d: SWAP8 00004f9e: POP 00004f9f: POP 00004fa0: PUSH1 0x20 00004fa2: ADD 00004fa3: SWAP5 00004fa4: POP 00004fa5: POP 00004fa6: POP 00004fa7: JUMP 00004fa8: JUMPDEST 00004fa9: PUSH0 00004faa: DUP1 00004fab: PUSH1 0x40 00004fad: DUP4 00004fae: DUP6 00004faf: SUB 00004fb0: SLT 00004fb1: ISZERO 00004fb2: PUSH2 0x4fb9 00004fb5: JUMPI 00004fb6: PUSH0 00004fb7: DUP1 00004fb8: REVERT 00004fb9: JUMPDEST 00004fba: DUP3 00004fbb: CALLDATALOAD 00004fbc: PUSH2 0x4fc4 00004fbf: DUP2 00004fc0: PUSH2 0x4e7a 00004fc3: JUMP 00004fc4: JUMPDEST 00004fc5: SWAP2 00004fc6: POP 00004fc7: PUSH1 0x20 00004fc9: DUP4 00004fca: ADD 00004fcb: CALLDATALOAD 00004fcc: PUSH2 0x4fd4 00004fcf: DUP2 00004fd0: PUSH2 0x4eb4 00004fd3: JUMP 00004fd4: JUMPDEST 00004fd5: DUP1 00004fd6: SWAP2 00004fd7: POP 00004fd8: POP 00004fd9: SWAP3 00004fda: POP 00004fdb: SWAP3 00004fdc: SWAP1 00004fdd: POP 00004fde: JUMP 00004fdf: JUMPDEST 00004fe0: PUSH4 0x4e487b71 00004fe5: PUSH1 0xe0 00004fe7: SHL 00004fe8: PUSH0 00004fe9: MSTORE 00004fea: PUSH1 0x41 00004fec: PUSH1 0x04 00004fee: MSTORE 00004fef: PUSH1 0x24 00004ff1: PUSH0 00004ff2: REVERT 00004ff3: JUMPDEST 00004ff4: PUSH1 0x40 00004ff6: MLOAD 00004ff7: PUSH1 0x1f 00004ff9: DUP3 00004ffa: ADD 00004ffb: PUSH1 0x1f 00004ffd: NOT 00004ffe: AND 00004fff: DUP2 00005000: ADD 00005001: PUSH1 0x01 00005003: PUSH1 0x01 00005005: PUSH1 0x40 00005007: SHL 00005008: SUB 00005009: DUP2 0000500a: GT 0000500b: DUP3 0000500c: DUP3 0000500d: LT 0000500e: OR 0000500f: ISZERO 00005010: PUSH2 0x501b 00005013: JUMPI 00005014: PUSH2 0x501b 00005017: PUSH2 0x4fdf 0000501a: JUMP 0000501b: JUMPDEST 0000501c: PUSH1 0x40 0000501e: MSTORE 0000501f: SWAP2 00005020: SWAP1 00005021: POP 00005022: JUMP 00005023: JUMPDEST 00005024: PUSH0 00005025: PUSH1 0xa0 00005027: DUP3 00005028: DUP5 00005029: SUB 0000502a: SLT 0000502b: ISZERO 0000502c: PUSH2 0x5033 0000502f: JUMPI 00005030: PUSH0 00005031: DUP1 00005032: REVERT 00005033: JUMPDEST 00005034: PUSH1 0x40 00005036: MLOAD 00005037: PUSH1 0xa0 00005039: DUP2 0000503a: ADD 0000503b: DUP2 0000503c: DUP2 0000503d: LT 0000503e: PUSH1 0x01 00005040: PUSH1 0x01 00005042: PUSH1 0x40 00005044: SHL 00005045: SUB 00005046: DUP3 00005047: GT 00005048: OR 00005049: ISZERO 0000504a: PUSH2 0x5055 0000504d: JUMPI 0000504e: PUSH2 0x5055 00005051: PUSH2 0x4fdf 00005054: JUMP 00005055: JUMPDEST 00005056: PUSH1 0x40 00005058: MSTORE 00005059: SWAP1 0000505a: POP 0000505b: DUP1 0000505c: DUP3 0000505d: CALLDATALOAD 0000505e: PUSH2 0x5066 00005061: DUP2 00005062: PUSH2 0x4e7a 00005065: JUMP 00005066: JUMPDEST 00005067: DUP2 00005068: MSTORE 00005069: PUSH1 0x20 0000506b: DUP4 0000506c: DUP2 0000506d: ADD 0000506e: CALLDATALOAD 0000506f: SWAP1 00005070: DUP3 00005071: ADD 00005072: MSTORE 00005073: PUSH1 0x40 00005075: DUP4 00005076: ADD 00005077: CALLDATALOAD 00005078: PUSH2 0x5080 0000507b: DUP2 0000507c: PUSH2 0x4e7a 0000507f: JUMP 00005080: JUMPDEST 00005081: PUSH1 0x40 00005083: DUP3 00005084: ADD 00005085: MSTORE 00005086: PUSH1 0x60 00005088: DUP4 00005089: ADD 0000508a: CALLDATALOAD 0000508b: PUSH2 0x5093 0000508e: DUP2 0000508f: PUSH2 0x4e7a 00005092: JUMP 00005093: JUMPDEST 00005094: PUSH1 0x60 00005096: DUP3 00005097: ADD 00005098: MSTORE 00005099: PUSH1 0x80 0000509b: DUP4 0000509c: ADD 0000509d: CALLDATALOAD 0000509e: PUSH2 0x50a6 000050a1: DUP2 000050a2: PUSH2 0x4eb4 000050a5: JUMP 000050a6: JUMPDEST 000050a7: PUSH1 0x80 000050a9: SWAP2 000050aa: SWAP1 000050ab: SWAP2 000050ac: ADD 000050ad: MSTORE 000050ae: SWAP3 000050af: SWAP2 000050b0: POP 000050b1: POP 000050b2: JUMP 000050b3: JUMPDEST 000050b4: PUSH0 000050b5: DUP1 000050b6: PUSH1 0xc0 000050b8: DUP4 000050b9: DUP6 000050ba: SUB 000050bb: SLT 000050bc: ISZERO 000050bd: PUSH2 0x50c4 000050c0: JUMPI 000050c1: PUSH0 000050c2: DUP1 000050c3: REVERT 000050c4: JUMPDEST 000050c5: PUSH2 0x50ce 000050c8: DUP5 000050c9: DUP5 000050ca: PUSH2 0x5023 000050cd: JUMP 000050ce: JUMPDEST 000050cf: SWAP2 000050d0: POP 000050d1: PUSH1 0xa0 000050d3: DUP4 000050d4: ADD 000050d5: CALLDATALOAD 000050d6: PUSH2 0x4fd4 000050d9: DUP2 000050da: PUSH2 0x4e7a 000050dd: JUMP 000050de: JUMPDEST 000050df: PUSH0 000050e0: PUSH1 0x20 000050e2: DUP3 000050e3: DUP5 000050e4: SUB 000050e5: SLT 000050e6: ISZERO 000050e7: PUSH2 0x50ee 000050ea: JUMPI 000050eb: PUSH0 000050ec: DUP1 000050ed: REVERT 000050ee: JUMPDEST 000050ef: POP 000050f0: CALLDATALOAD 000050f1: SWAP2 000050f2: SWAP1 000050f3: POP 000050f4: JUMP 000050f5: JUMPDEST 000050f6: PUSH0 000050f7: DUP1 000050f8: PUSH1 0x40 000050fa: DUP4 000050fb: DUP6 000050fc: SUB 000050fd: SLT 000050fe: ISZERO 000050ff: PUSH2 0x5106 00005102: JUMPI 00005103: PUSH0 00005104: DUP1 00005105: REVERT 00005106: JUMPDEST 00005107: DUP3 00005108: CALLDATALOAD 00005109: PUSH2 0x5111 0000510c: DUP2 0000510d: PUSH2 0x4e7a 00005110: JUMP 00005111: JUMPDEST 00005112: SWAP5 00005113: PUSH1 0x20 00005115: SWAP4 00005116: SWAP1 00005117: SWAP4 00005118: ADD 00005119: CALLDATALOAD 0000511a: SWAP4 0000511b: POP 0000511c: POP 0000511d: POP 0000511e: JUMP 0000511f: JUMPDEST 00005120: PUSH0 00005121: DUP1 00005122: PUSH1 0x40 00005124: DUP4 00005125: DUP6 00005126: SUB 00005127: SLT 00005128: ISZERO 00005129: PUSH2 0x5130 0000512c: JUMPI 0000512d: PUSH0 0000512e: DUP1 0000512f: REVERT 00005130: JUMPDEST 00005131: DUP3 00005132: CALLDATALOAD 00005133: SWAP2 00005134: POP 00005135: PUSH1 0x20 00005137: DUP4 00005138: ADD 00005139: CALLDATALOAD 0000513a: PUSH2 0x4fd4 0000513d: DUP2 0000513e: PUSH2 0x4e7a 00005141: JUMP 00005142: JUMPDEST 00005143: PUSH0 00005144: PUSH1 0xa0 00005146: DUP3 00005147: DUP5 00005148: SUB 00005149: SLT 0000514a: ISZERO 0000514b: PUSH2 0x5152 0000514e: JUMPI 0000514f: PUSH0 00005150: DUP1 00005151: REVERT 00005152: JUMPDEST 00005153: PUSH2 0x4d0b 00005156: DUP4 00005157: DUP4 00005158: PUSH2 0x5023 0000515b: JUMP 0000515c: JUMPDEST 0000515d: PUSH0 0000515e: PUSH1 0x01 00005160: PUSH1 0x01 00005162: PUSH1 0x40 00005164: SHL 00005165: SUB 00005166: DUP3 00005167: GT 00005168: ISZERO 00005169: PUSH2 0x5174 0000516c: JUMPI 0000516d: PUSH2 0x5174 00005170: PUSH2 0x4fdf 00005173: JUMP 00005174: JUMPDEST 00005175: POP 00005176: PUSH1 0x05 00005178: SHL 00005179: PUSH1 0x20 0000517b: ADD 0000517c: SWAP1 0000517d: JUMP 0000517e: JUMPDEST 0000517f: PUSH0 00005180: DUP3 00005181: PUSH1 0x1f 00005183: DUP4 00005184: ADD 00005185: SLT 00005186: PUSH2 0x518d 00005189: JUMPI 0000518a: PUSH0 0000518b: DUP1 0000518c: REVERT 0000518d: JUMPDEST 0000518e: DUP2 0000518f: CALLDATALOAD 00005190: PUSH1 0x20 00005192: PUSH2 0x51a2 00005195: PUSH2 0x519d 00005198: DUP4 00005199: PUSH2 0x515c 0000519c: JUMP 0000519d: JUMPDEST 0000519e: PUSH2 0x4ff3 000051a1: JUMP 000051a2: JUMPDEST 000051a3: DUP3 000051a4: DUP2 000051a5: MSTORE 000051a6: PUSH1 0x05 000051a8: SWAP3 000051a9: SWAP1 000051aa: SWAP3 000051ab: SHL 000051ac: DUP5 000051ad: ADD 000051ae: DUP2 000051af: ADD 000051b0: SWAP2 000051b1: DUP2 000051b2: DUP2 000051b3: ADD 000051b4: SWAP1 000051b5: DUP7 000051b6: DUP5 000051b7: GT 000051b8: ISZERO 000051b9: PUSH2 0x51c0 000051bc: JUMPI 000051bd: PUSH0 000051be: DUP1 000051bf: REVERT 000051c0: JUMPDEST 000051c1: DUP3 000051c2: DUP7 000051c3: ADD 000051c4: JUMPDEST 000051c5: DUP5 000051c6: DUP2 000051c7: LT 000051c8: ISZERO 000051c9: PUSH2 0x51e4 000051cc: JUMPI 000051cd: DUP1 000051ce: CALLDATALOAD 000051cf: PUSH2 0x51d7 000051d2: DUP2 000051d3: PUSH2 0x4e7a 000051d6: JUMP 000051d7: JUMPDEST 000051d8: DUP4 000051d9: MSTORE 000051da: SWAP2 000051db: DUP4 000051dc: ADD 000051dd: SWAP2 000051de: DUP4 000051df: ADD 000051e0: PUSH2 0x51c4 000051e3: JUMP 000051e4: JUMPDEST 000051e5: POP 000051e6: SWAP7 000051e7: SWAP6 000051e8: POP 000051e9: POP 000051ea: POP 000051eb: POP 000051ec: POP 000051ed: POP 000051ee: JUMP 000051ef: JUMPDEST 000051f0: PUSH0 000051f1: DUP1 000051f2: PUSH1 0x40 000051f4: DUP4 000051f5: DUP6 000051f6: SUB 000051f7: SLT 000051f8: ISZERO 000051f9: PUSH2 0x5200 000051fc: JUMPI 000051fd: PUSH0 000051fe: DUP1 000051ff: REVERT 00005200: JUMPDEST 00005201: DUP3 00005202: CALLDATALOAD 00005203: PUSH1 0x01 00005205: PUSH1 0x01 00005207: PUSH1 0x40 00005209: SHL 0000520a: SUB 0000520b: DUP2 0000520c: GT 0000520d: ISZERO 0000520e: PUSH2 0x5215 00005211: JUMPI 00005212: PUSH0 00005213: DUP1 00005214: REVERT 00005215: JUMPDEST 00005216: PUSH2 0x5221 00005219: DUP6 0000521a: DUP3 0000521b: DUP7 0000521c: ADD 0000521d: PUSH2 0x517e 00005220: JUMP 00005221: JUMPDEST 00005222: SWAP3 00005223: POP 00005224: POP 00005225: PUSH1 0x20 00005227: DUP4 00005228: ADD 00005229: CALLDATALOAD 0000522a: PUSH2 0x4fd4 0000522d: DUP2 0000522e: PUSH2 0x4eb4 00005231: JUMP 00005232: JUMPDEST 00005233: DUP1 00005234: CALLDATALOAD 00005235: PUSH2 0xffff 00005238: DUP2 00005239: AND 0000523a: DUP2 0000523b: EQ 0000523c: PUSH2 0x335b 0000523f: JUMPI 00005240: PUSH0 00005241: DUP1 00005242: REVERT 00005243: JUMPDEST 00005244: PUSH1 0x01 00005246: PUSH1 0x01 00005248: PUSH1 0x70 0000524a: SHL 0000524b: SUB 0000524c: DUP2 0000524d: AND 0000524e: DUP2 0000524f: EQ 00005250: PUSH2 0x17b9 00005253: JUMPI 00005254: PUSH0 00005255: DUP1 00005256: REVERT 00005257: JUMPDEST 00005258: DUP1 00005259: CALLDATALOAD 0000525a: PUSH2 0x335b 0000525d: DUP2 0000525e: PUSH2 0x5243 00005261: JUMP 00005262: JUMPDEST 00005263: PUSH0 00005264: PUSH2 0x0100 00005267: DUP1 00005268: DUP4 00005269: DUP6 0000526a: SUB 0000526b: SLT 0000526c: ISZERO 0000526d: PUSH2 0x5274 00005270: JUMPI 00005271: PUSH0 00005272: DUP1 00005273: REVERT 00005274: JUMPDEST 00005275: PUSH1 0x40 00005277: MLOAD 00005278: SWAP1 00005279: DUP2 0000527a: ADD 0000527b: SWAP1 0000527c: PUSH1 0x01 0000527e: PUSH1 0x01 00005280: PUSH1 0x40 00005282: SHL 00005283: SUB 00005284: DUP3 00005285: GT 00005286: DUP2 00005287: DUP4 00005288: LT 00005289: OR 0000528a: ISZERO 0000528b: PUSH2 0x5296 0000528e: JUMPI 0000528f: PUSH2 0x5296 00005292: PUSH2 0x4fdf 00005295: JUMP 00005296: JUMPDEST 00005297: DUP2 00005298: PUSH1 0x40 0000529a: MSTORE 0000529b: DUP1 0000529c: SWAP3 0000529d: POP 0000529e: DUP4 0000529f: CALLDATALOAD 000052a0: SWAP2 000052a1: POP 000052a2: PUSH2 0x52aa 000052a5: DUP3 000052a6: PUSH2 0x4e7a 000052a9: JUMP 000052aa: JUMPDEST 000052ab: DUP2 000052ac: DUP2 000052ad: MSTORE 000052ae: PUSH2 0x52b9 000052b1: PUSH1 0x20 000052b3: DUP6 000052b4: ADD 000052b5: PUSH2 0x4ec1 000052b8: JUMP 000052b9: JUMPDEST 000052ba: PUSH1 0x20 000052bc: DUP3 000052bd: ADD 000052be: MSTORE 000052bf: PUSH2 0x52ca 000052c2: PUSH1 0x40 000052c4: DUP6 000052c5: ADD 000052c6: PUSH2 0x4ec1 000052c9: JUMP 000052ca: JUMPDEST 000052cb: PUSH1 0x40 000052cd: DUP3 000052ce: ADD 000052cf: MSTORE 000052d0: PUSH2 0x52db 000052d3: PUSH1 0x60 000052d5: DUP6 000052d6: ADD 000052d7: PUSH2 0x5232 000052da: JUMP 000052db: JUMPDEST 000052dc: PUSH1 0x60 000052de: DUP3 000052df: ADD 000052e0: MSTORE 000052e1: PUSH2 0x52ec 000052e4: PUSH1 0x80 000052e6: DUP6 000052e7: ADD 000052e8: PUSH2 0x5257 000052eb: JUMP 000052ec: JUMPDEST 000052ed: PUSH1 0x80 000052ef: DUP3 000052f0: ADD 000052f1: MSTORE 000052f2: PUSH2 0x52fd 000052f5: PUSH1 0xa0 000052f7: DUP6 000052f8: ADD 000052f9: PUSH2 0x5257 000052fc: JUMP 000052fd: JUMPDEST 000052fe: PUSH1 0xa0 00005300: DUP3 00005301: ADD 00005302: MSTORE 00005303: PUSH2 0x530e 00005306: PUSH1 0xc0 00005308: DUP6 00005309: ADD 0000530a: PUSH2 0x4e8e 0000530d: JUMP 0000530e: JUMPDEST 0000530f: PUSH1 0xc0 00005311: DUP3 00005312: ADD 00005313: MSTORE 00005314: PUSH2 0x531f 00005317: PUSH1 0xe0 00005319: DUP6 0000531a: ADD 0000531b: PUSH2 0x5257 0000531e: JUMP 0000531f: JUMPDEST 00005320: PUSH1 0xe0 00005322: DUP3 00005323: ADD 00005324: MSTORE 00005325: POP 00005326: POP 00005327: SWAP3 00005328: SWAP2 00005329: POP 0000532a: POP 0000532b: JUMP 0000532c: JUMPDEST 0000532d: PUSH0 0000532e: DUP1 0000532f: PUSH2 0x0120 00005332: DUP4 00005333: DUP6 00005334: SUB 00005335: SLT 00005336: ISZERO 00005337: PUSH2 0x533e 0000533a: JUMPI 0000533b: PUSH0 0000533c: DUP1 0000533d: REVERT 0000533e: JUMPDEST 0000533f: PUSH2 0x5348 00005342: DUP5 00005343: DUP5 00005344: PUSH2 0x5262 00005347: JUMP 00005348: JUMPDEST 00005349: SWAP2 0000534a: POP 0000534b: PUSH2 0x0100 0000534e: DUP4 0000534f: ADD 00005350: CALLDATALOAD 00005351: PUSH2 0x4fd4 00005354: DUP2 00005355: PUSH2 0x4e7a 00005358: JUMP 00005359: JUMPDEST 0000535a: PUSH0 0000535b: DUP1 0000535c: PUSH0 0000535d: DUP1 0000535e: PUSH0 0000535f: DUP1 00005360: PUSH0 00005361: PUSH1 0xe0 00005363: DUP9 00005364: DUP11 00005365: SUB 00005366: SLT 00005367: ISZERO 00005368: PUSH2 0x536f 0000536b: JUMPI 0000536c: PUSH0 0000536d: DUP1 0000536e: REVERT 0000536f: JUMPDEST 00005370: DUP8 00005371: CALLDATALOAD 00005372: SWAP7 00005373: POP 00005374: PUSH1 0x20 00005376: DUP9 00005377: ADD 00005378: CALLDATALOAD 00005379: SWAP6 0000537a: POP 0000537b: PUSH1 0x40 0000537d: DUP9 0000537e: ADD 0000537f: CALLDATALOAD 00005380: PUSH2 0x5388 00005383: DUP2 00005384: PUSH2 0x4e7a 00005387: JUMP 00005388: JUMPDEST 00005389: SWAP5 0000538a: POP 0000538b: PUSH1 0x60 0000538d: DUP9 0000538e: ADD 0000538f: CALLDATALOAD 00005390: PUSH2 0x5398 00005393: DUP2 00005394: PUSH2 0x4e7a 00005397: JUMP 00005398: JUMPDEST 00005399: SWAP4 0000539a: POP 0000539b: PUSH1 0x80 0000539d: DUP9 0000539e: ADD 0000539f: CALLDATALOAD 000053a0: PUSH2 0x53a8 000053a3: DUP2 000053a4: PUSH2 0x4eb4 000053a7: JUMP 000053a8: JUMPDEST 000053a9: SWAP3 000053aa: POP 000053ab: PUSH1 0xa0 000053ad: DUP9 000053ae: ADD 000053af: CALLDATALOAD 000053b0: SWAP2 000053b1: POP 000053b2: PUSH1 0xc0 000053b4: DUP9 000053b5: ADD 000053b6: CALLDATALOAD 000053b7: PUSH2 0x53bf 000053ba: DUP2 000053bb: PUSH2 0x4e7a 000053be: JUMP 000053bf: JUMPDEST 000053c0: DUP1 000053c1: SWAP2 000053c2: POP 000053c3: POP 000053c4: SWAP3 000053c5: SWAP6 000053c6: SWAP9 000053c7: SWAP2 000053c8: SWAP5 000053c9: SWAP8 000053ca: POP 000053cb: SWAP3 000053cc: SWAP6 000053cd: POP 000053ce: JUMP 000053cf: JUMPDEST 000053d0: PUSH0 000053d1: DUP1 000053d2: PUSH0 000053d3: DUP1 000053d4: PUSH0 000053d5: DUP1 000053d6: PUSH1 0xc0 000053d8: DUP8 000053d9: DUP10 000053da: SUB 000053db: SLT 000053dc: ISZERO 000053dd: PUSH2 0x53e4 000053e0: JUMPI 000053e1: PUSH0 000053e2: DUP1 000053e3: REVERT 000053e4: JUMPDEST 000053e5: DUP7 000053e6: CALLDATALOAD 000053e7: SWAP6 000053e8: POP 000053e9: PUSH1 0x20 000053eb: DUP8 000053ec: ADD 000053ed: CALLDATALOAD 000053ee: SWAP5 000053ef: POP 000053f0: PUSH1 0x40 000053f2: DUP8 000053f3: ADD 000053f4: CALLDATALOAD 000053f5: PUSH2 0x53fd 000053f8: DUP2 000053f9: PUSH2 0x4e7a 000053fc: JUMP 000053fd: JUMPDEST 000053fe: SWAP4 000053ff: POP 00005400: PUSH1 0x60 00005402: DUP8 00005403: ADD 00005404: CALLDATALOAD 00005405: PUSH2 0x540d 00005408: DUP2 00005409: PUSH2 0x4e7a 0000540c: JUMP 0000540d: JUMPDEST 0000540e: SWAP3 0000540f: POP 00005410: PUSH1 0x80 00005412: DUP8 00005413: ADD 00005414: CALLDATALOAD 00005415: PUSH2 0x541d 00005418: DUP2 00005419: PUSH2 0x4eb4 0000541c: JUMP 0000541d: JUMPDEST 0000541e: DUP1 0000541f: SWAP3 00005420: POP 00005421: POP 00005422: PUSH1 0xa0 00005424: DUP8 00005425: ADD 00005426: CALLDATALOAD 00005427: SWAP1 00005428: POP 00005429: SWAP3 0000542a: SWAP6 0000542b: POP 0000542c: SWAP3 0000542d: SWAP6 0000542e: POP 0000542f: SWAP3 00005430: SWAP6 00005431: JUMP 00005432: JUMPDEST 00005433: PUSH0 00005434: DUP1 00005435: PUSH0 00005436: DUP1 00005437: PUSH0 00005438: DUP1 00005439: PUSH0 0000543a: PUSH1 0xe0 0000543c: DUP9 0000543d: DUP11 0000543e: SUB 0000543f: SLT 00005440: ISZERO 00005441: PUSH2 0x5448 00005444: JUMPI 00005445: PUSH0 00005446: DUP1 00005447: REVERT 00005448: JUMPDEST 00005449: DUP8 0000544a: CALLDATALOAD 0000544b: SWAP7 0000544c: POP 0000544d: PUSH1 0x20 0000544f: DUP9 00005450: ADD 00005451: CALLDATALOAD 00005452: SWAP6 00005453: POP 00005454: PUSH1 0x40 00005456: DUP9 00005457: ADD 00005458: CALLDATALOAD 00005459: PUSH2 0x5461 0000545c: DUP2 0000545d: PUSH2 0x4e7a 00005460: JUMP 00005461: JUMPDEST 00005462: SWAP5 00005463: POP 00005464: PUSH1 0x60 00005466: DUP9 00005467: ADD 00005468: CALLDATALOAD 00005469: PUSH2 0x5471 0000546c: DUP2 0000546d: PUSH2 0x4e7a 00005470: JUMP 00005471: JUMPDEST 00005472: SWAP4 00005473: POP 00005474: PUSH1 0x80 00005476: DUP9 00005477: ADD 00005478: CALLDATALOAD 00005479: PUSH2 0x5481 0000547c: DUP2 0000547d: PUSH2 0x4eb4 00005480: JUMP 00005481: JUMPDEST 00005482: SWAP7 00005483: SWAP10 00005484: SWAP6 00005485: SWAP9 00005486: POP 00005487: SWAP4 00005488: SWAP7 00005489: SWAP3 0000548a: SWAP6 0000548b: SWAP5 0000548c: PUSH1 0xa0 0000548e: DUP5 0000548f: ADD 00005490: CALLDATALOAD 00005491: SWAP5 00005492: POP 00005493: PUSH1 0xc0 00005495: SWAP1 00005496: SWAP4 00005497: ADD 00005498: CALLDATALOAD 00005499: SWAP3 0000549a: SWAP2 0000549b: POP 0000549c: POP 0000549d: JUMP 0000549e: JUMPDEST 0000549f: PUSH0 000054a0: DUP1 000054a1: PUSH0 000054a2: PUSH1 0xe0 000054a4: DUP5 000054a5: DUP7 000054a6: SUB 000054a7: SLT 000054a8: ISZERO 000054a9: PUSH2 0x54b0 000054ac: JUMPI 000054ad: PUSH0 000054ae: DUP1 000054af: REVERT 000054b0: JUMPDEST 000054b1: PUSH2 0x54ba 000054b4: DUP6 000054b5: DUP6 000054b6: PUSH2 0x5023 000054b9: JUMP 000054ba: JUMPDEST 000054bb: SWAP3 000054bc: POP 000054bd: PUSH1 0xa0 000054bf: DUP5 000054c0: ADD 000054c1: CALLDATALOAD 000054c2: PUSH2 0x54ca 000054c5: DUP2 000054c6: PUSH2 0x4e7a 000054c9: JUMP 000054ca: JUMPDEST 000054cb: SWAP3 000054cc: SWAP6 000054cd: SWAP3 000054ce: SWAP5 000054cf: POP 000054d0: POP 000054d1: POP 000054d2: PUSH1 0xc0 000054d4: SWAP2 000054d5: SWAP1 000054d6: SWAP2 000054d7: ADD 000054d8: CALLDATALOAD 000054d9: SWAP1 000054da: JUMP 000054db: JUMPDEST 000054dc: PUSH0 000054dd: DUP1 000054de: PUSH1 0x20 000054e0: DUP4 000054e1: DUP6 000054e2: SUB 000054e3: SLT 000054e4: ISZERO 000054e5: PUSH2 0x54ec 000054e8: JUMPI 000054e9: PUSH0 000054ea: DUP1 000054eb: REVERT 000054ec: JUMPDEST 000054ed: DUP3 000054ee: CALLDATALOAD 000054ef: PUSH1 0x01 000054f1: PUSH1 0x01 000054f3: PUSH1 0x40 000054f5: SHL 000054f6: SUB 000054f7: DUP1 000054f8: DUP3 000054f9: GT 000054fa: ISZERO 000054fb: PUSH2 0x5502 000054fe: JUMPI 000054ff: PUSH0 00005500: DUP1 00005501: REVERT 00005502: JUMPDEST 00005503: DUP2 00005504: DUP6 00005505: ADD 00005506: SWAP2 00005507: POP 00005508: DUP6 00005509: PUSH1 0x1f 0000550b: DUP4 0000550c: ADD 0000550d: SLT 0000550e: PUSH2 0x5515 00005511: JUMPI 00005512: PUSH0 00005513: DUP1 00005514: REVERT 00005515: JUMPDEST 00005516: DUP2 00005517: CALLDATALOAD 00005518: DUP2 00005519: DUP2 0000551a: GT 0000551b: ISZERO 0000551c: PUSH2 0x5523 0000551f: JUMPI 00005520: PUSH0 00005521: DUP1 00005522: REVERT 00005523: JUMPDEST 00005524: DUP7 00005525: PUSH1 0x20 00005527: DUP3 00005528: PUSH1 0x05 0000552a: SHL 0000552b: DUP6 0000552c: ADD 0000552d: ADD 0000552e: GT 0000552f: ISZERO 00005530: PUSH2 0x5537 00005533: JUMPI 00005534: PUSH0 00005535: DUP1 00005536: REVERT 00005537: JUMPDEST 00005538: PUSH1 0x20 0000553a: SWAP3 0000553b: SWAP1 0000553c: SWAP3 0000553d: ADD 0000553e: SWAP7 0000553f: SWAP2 00005540: SWAP6 00005541: POP 00005542: SWAP1 00005543: SWAP4 00005544: POP 00005545: POP 00005546: POP 00005547: POP 00005548: JUMP 00005549: JUMPDEST 0000554a: PUSH0 0000554b: JUMPDEST 0000554c: DUP4 0000554d: DUP2 0000554e: LT 0000554f: ISZERO 00005550: PUSH2 0x5563 00005553: JUMPI 00005554: DUP2 00005555: DUP2 00005556: ADD 00005557: MLOAD 00005558: DUP4 00005559: DUP3 0000555a: ADD 0000555b: MSTORE 0000555c: PUSH1 0x20 0000555e: ADD 0000555f: PUSH2 0x554b 00005562: JUMP 00005563: JUMPDEST 00005564: POP 00005565: POP 00005566: PUSH0 00005567: SWAP2 00005568: ADD 00005569: MSTORE 0000556a: JUMP 0000556b: JUMPDEST 0000556c: PUSH0 0000556d: DUP2 0000556e: MLOAD 0000556f: DUP1 00005570: DUP5 00005571: MSTORE 00005572: PUSH2 0x5582 00005575: DUP2 00005576: PUSH1 0x20 00005578: DUP7 00005579: ADD 0000557a: PUSH1 0x20 0000557c: DUP7 0000557d: ADD 0000557e: PUSH2 0x5549 00005581: JUMP 00005582: JUMPDEST 00005583: PUSH1 0x1f 00005585: ADD 00005586: PUSH1 0x1f 00005588: NOT 00005589: AND 0000558a: SWAP3 0000558b: SWAP1 0000558c: SWAP3 0000558d: ADD 0000558e: PUSH1 0x20 00005590: ADD 00005591: SWAP3 00005592: SWAP2 00005593: POP 00005594: POP 00005595: JUMP 00005596: JUMPDEST 00005597: PUSH0 00005598: PUSH1 0x20 0000559a: DUP1 0000559b: DUP4 0000559c: ADD 0000559d: DUP2 0000559e: DUP5 0000559f: MSTORE 000055a0: DUP1 000055a1: DUP6 000055a2: MLOAD 000055a3: DUP1 000055a4: DUP4 000055a5: MSTORE 000055a6: PUSH1 0x40 000055a8: DUP7 000055a9: ADD 000055aa: SWAP2 000055ab: POP 000055ac: PUSH1 0x40 000055ae: DUP2 000055af: PUSH1 0x05 000055b1: SHL 000055b2: DUP8 000055b3: ADD 000055b4: ADD 000055b5: SWAP3 000055b6: POP 000055b7: DUP4 000055b8: DUP8 000055b9: ADD 000055ba: PUSH0 000055bb: JUMPDEST 000055bc: DUP3 000055bd: DUP2 000055be: LT 000055bf: ISZERO 000055c0: PUSH2 0x55e9 000055c3: JUMPI 000055c4: PUSH1 0x3f 000055c6: NOT 000055c7: DUP9 000055c8: DUP7 000055c9: SUB 000055ca: ADD 000055cb: DUP5 000055cc: MSTORE 000055cd: PUSH2 0x55d7 000055d0: DUP6 000055d1: DUP4 000055d2: MLOAD 000055d3: PUSH2 0x556b 000055d6: JUMP 000055d7: JUMPDEST 000055d8: SWAP5 000055d9: POP 000055da: SWAP3 000055db: DUP6 000055dc: ADD 000055dd: SWAP3 000055de: SWAP1 000055df: DUP6 000055e0: ADD 000055e1: SWAP1 000055e2: PUSH1 0x01 000055e4: ADD 000055e5: PUSH2 0x55bb 000055e8: JUMP 000055e9: JUMPDEST 000055ea: POP 000055eb: SWAP3 000055ec: SWAP8 000055ed: SWAP7 000055ee: POP 000055ef: POP 000055f0: POP 000055f1: POP 000055f2: POP 000055f3: POP 000055f4: POP 000055f5: JUMP 000055f6: JUMPDEST 000055f7: PUSH0 000055f8: DUP1 000055f9: PUSH0 000055fa: PUSH1 0x60 000055fc: DUP5 000055fd: DUP7 000055fe: SUB 000055ff: SLT 00005600: ISZERO 00005601: PUSH2 0x5608 00005604: JUMPI 00005605: PUSH0 00005606: DUP1 00005607: REVERT 00005608: JUMPDEST 00005609: DUP4 0000560a: CALLDATALOAD 0000560b: PUSH2 0x5613 0000560e: DUP2 0000560f: PUSH2 0x4e7a 00005612: JUMP 00005613: JUMPDEST 00005614: SWAP3 00005615: POP 00005616: PUSH1 0x20 00005618: DUP5 00005619: ADD 0000561a: CALLDATALOAD 0000561b: SWAP2 0000561c: POP 0000561d: PUSH1 0x40 0000561f: DUP5 00005620: ADD 00005621: CALLDATALOAD 00005622: PUSH2 0x562a 00005625: DUP2 00005626: PUSH2 0x4e7a 00005629: JUMP 0000562a: JUMPDEST 0000562b: DUP1 0000562c: SWAP2 0000562d: POP 0000562e: POP 0000562f: SWAP3 00005630: POP 00005631: SWAP3 00005632: POP 00005633: SWAP3 00005634: JUMP 00005635: JUMPDEST 00005636: PUSH0 00005637: DUP1 00005638: PUSH0 00005639: PUSH2 0x0140 0000563c: DUP5 0000563d: DUP7 0000563e: SUB 0000563f: SLT 00005640: ISZERO 00005641: PUSH2 0x5648 00005644: JUMPI 00005645: PUSH0 00005646: DUP1 00005647: REVERT 00005648: JUMPDEST 00005649: PUSH2 0x5652 0000564c: DUP6 0000564d: DUP6 0000564e: PUSH2 0x5262 00005651: JUMP 00005652: JUMPDEST 00005653: SWAP3 00005654: POP 00005655: PUSH2 0x0100 00005658: DUP5 00005659: ADD 0000565a: CALLDATALOAD 0000565b: PUSH2 0x5663 0000565e: DUP2 0000565f: PUSH2 0x4e7a 00005662: JUMP 00005663: JUMPDEST 00005664: SWAP3 00005665: SWAP6 00005666: SWAP3 00005667: SWAP5 00005668: POP 00005669: POP 0000566a: POP 0000566b: PUSH2 0x0120 0000566e: SWAP2 0000566f: SWAP1 00005670: SWAP2 00005671: ADD 00005672: CALLDATALOAD 00005673: SWAP1 00005674: JUMP 00005675: JUMPDEST 00005676: PUSH0 00005677: DUP1 00005678: PUSH0 00005679: DUP1 0000567a: PUSH0 0000567b: DUP1 0000567c: PUSH0 0000567d: DUP1 0000567e: PUSH2 0x0100 00005681: DUP10 00005682: DUP12 00005683: SUB 00005684: SLT 00005685: ISZERO 00005686: PUSH2 0x568d 00005689: JUMPI 0000568a: PUSH0 0000568b: DUP1 0000568c: REVERT 0000568d: JUMPDEST 0000568e: DUP9 0000568f: CALLDATALOAD 00005690: SWAP8 00005691: POP 00005692: PUSH1 0x20 00005694: DUP10 00005695: ADD 00005696: CALLDATALOAD 00005697: SWAP7 00005698: POP 00005699: PUSH1 0x40 0000569b: DUP10 0000569c: ADD 0000569d: CALLDATALOAD 0000569e: PUSH2 0x56a6 000056a1: DUP2 000056a2: PUSH2 0x4e7a 000056a5: JUMP 000056a6: JUMPDEST 000056a7: SWAP6 000056a8: POP 000056a9: PUSH1 0x60 000056ab: DUP10 000056ac: ADD 000056ad: CALLDATALOAD 000056ae: PUSH2 0x56b6 000056b1: DUP2 000056b2: PUSH2 0x4e7a 000056b5: JUMP 000056b6: JUMPDEST 000056b7: SWAP5 000056b8: POP 000056b9: PUSH1 0x80 000056bb: DUP10 000056bc: ADD 000056bd: CALLDATALOAD 000056be: PUSH2 0x56c6 000056c1: DUP2 000056c2: PUSH2 0x4eb4 000056c5: JUMP 000056c6: JUMPDEST 000056c7: SWAP4 000056c8: POP 000056c9: PUSH1 0xa0 000056cb: DUP10 000056cc: ADD 000056cd: CALLDATALOAD 000056ce: SWAP3 000056cf: POP 000056d0: PUSH1 0xc0 000056d2: DUP10 000056d3: ADD 000056d4: CALLDATALOAD 000056d5: PUSH2 0x56dd 000056d8: DUP2 000056d9: PUSH2 0x4e7a 000056dc: JUMP 000056dd: JUMPDEST 000056de: DUP1 000056df: SWAP3 000056e0: POP 000056e1: POP 000056e2: PUSH1 0xe0 000056e4: DUP10 000056e5: ADD 000056e6: CALLDATALOAD 000056e7: SWAP1 000056e8: POP 000056e9: SWAP3 000056ea: SWAP6 000056eb: SWAP9 000056ec: POP 000056ed: SWAP3 000056ee: SWAP6 000056ef: SWAP9 000056f0: SWAP1 000056f1: SWAP4 000056f2: SWAP7 000056f3: POP 000056f4: JUMP 000056f5: JUMPDEST 000056f6: PUSH0 000056f7: PUSH2 0x0100 000056fa: DUP3 000056fb: DUP5 000056fc: SUB 000056fd: SLT 000056fe: ISZERO 000056ff: PUSH2 0x5706 00005702: JUMPI 00005703: PUSH0 00005704: DUP1 00005705: REVERT 00005706: JUMPDEST 00005707: PUSH2 0x4d0b 0000570a: DUP4 0000570b: DUP4 0000570c: PUSH2 0x5262 0000570f: JUMP 00005710: JUMPDEST 00005711: PUSH0 00005712: DUP1 00005713: PUSH0 00005714: PUSH1 0x60 00005716: DUP5 00005717: DUP7 00005718: SUB 00005719: SLT 0000571a: ISZERO 0000571b: PUSH2 0x5722 0000571e: JUMPI 0000571f: PUSH0 00005720: DUP1 00005721: REVERT 00005722: JUMPDEST 00005723: DUP4 00005724: CALLDATALOAD 00005725: PUSH2 0x572d 00005728: DUP2 00005729: PUSH2 0x4e7a 0000572c: JUMP 0000572d: JUMPDEST 0000572e: SWAP3 0000572f: POP 00005730: PUSH1 0x20 00005732: DUP5 00005733: ADD 00005734: CALLDATALOAD 00005735: PUSH2 0x573d 00005738: DUP2 00005739: PUSH2 0x4e7a 0000573c: JUMP 0000573d: JUMPDEST 0000573e: SWAP3 0000573f: SWAP6 00005740: SWAP3 00005741: SWAP5 00005742: POP 00005743: POP 00005744: POP 00005745: PUSH1 0x40 00005747: SWAP2 00005748: SWAP1 00005749: SWAP2 0000574a: ADD 0000574b: CALLDATALOAD 0000574c: SWAP1 0000574d: JUMP 0000574e: JUMPDEST 0000574f: PUSH0 00005750: DUP1 00005751: PUSH0 00005752: DUP1 00005753: PUSH0 00005754: DUP1 00005755: PUSH1 0xc0 00005757: DUP8 00005758: DUP10 00005759: SUB 0000575a: SLT 0000575b: ISZERO 0000575c: PUSH2 0x5763 0000575f: JUMPI 00005760: PUSH0 00005761: DUP1 00005762: REVERT 00005763: JUMPDEST 00005764: DUP7 00005765: CALLDATALOAD 00005766: SWAP6 00005767: POP 00005768: PUSH1 0x20 0000576a: DUP8 0000576b: ADD 0000576c: CALLDATALOAD 0000576d: SWAP5 0000576e: POP 0000576f: PUSH1 0x40 00005771: DUP8 00005772: ADD 00005773: CALLDATALOAD 00005774: PUSH2 0x577c 00005777: DUP2 00005778: PUSH2 0x4e7a 0000577b: JUMP 0000577c: JUMPDEST 0000577d: SWAP4 0000577e: POP 0000577f: PUSH1 0x60 00005781: DUP8 00005782: ADD 00005783: CALLDATALOAD 00005784: PUSH2 0x578c 00005787: DUP2 00005788: PUSH2 0x4e7a 0000578b: JUMP 0000578c: JUMPDEST 0000578d: SWAP3 0000578e: POP 0000578f: PUSH1 0x80 00005791: DUP8 00005792: ADD 00005793: CALLDATALOAD 00005794: PUSH2 0x579c 00005797: DUP2 00005798: PUSH2 0x4eb4 0000579b: JUMP 0000579c: JUMPDEST 0000579d: SWAP2 0000579e: POP 0000579f: PUSH1 0xa0 000057a1: DUP8 000057a2: ADD 000057a3: CALLDATALOAD 000057a4: PUSH2 0x57ac 000057a7: DUP2 000057a8: PUSH2 0x4e7a 000057ab: JUMP 000057ac: JUMPDEST 000057ad: DUP1 000057ae: SWAP2 000057af: POP 000057b0: POP 000057b1: SWAP3 000057b2: SWAP6 000057b3: POP 000057b4: SWAP3 000057b5: SWAP6 000057b6: POP 000057b7: SWAP3 000057b8: SWAP6 000057b9: JUMP 000057ba: JUMPDEST 000057bb: PUSH0 000057bc: PUSH1 0x20 000057be: DUP3 000057bf: DUP5 000057c0: SUB 000057c1: SLT 000057c2: ISZERO 000057c3: PUSH2 0x57ca 000057c6: JUMPI 000057c7: PUSH0 000057c8: DUP1 000057c9: REVERT 000057ca: JUMPDEST 000057cb: DUP2 000057cc: CALLDATALOAD 000057cd: PUSH1 0x01 000057cf: PUSH1 0x01 000057d1: PUSH1 0x40 000057d3: SHL 000057d4: SUB 000057d5: DUP2 000057d6: GT 000057d7: ISZERO 000057d8: PUSH2 0x57df 000057db: JUMPI 000057dc: PUSH0 000057dd: DUP1 000057de: REVERT 000057df: JUMPDEST 000057e0: PUSH2 0x57eb 000057e3: DUP5 000057e4: DUP3 000057e5: DUP6 000057e6: ADD 000057e7: PUSH2 0x517e 000057ea: JUMP 000057eb: JUMPDEST 000057ec: SWAP5 000057ed: SWAP4 000057ee: POP 000057ef: POP 000057f0: POP 000057f1: POP 000057f2: JUMP 000057f3: JUMPDEST 000057f4: PUSH0 000057f5: DUP1 000057f6: PUSH0 000057f7: PUSH1 0x60 000057f9: DUP5 000057fa: DUP7 000057fb: SUB 000057fc: SLT 000057fd: ISZERO 000057fe: PUSH2 0x5805 00005801: JUMPI 00005802: PUSH0 00005803: DUP1 00005804: REVERT 00005805: JUMPDEST 00005806: DUP4 00005807: CALLDATALOAD 00005808: PUSH1 0x01 0000580a: PUSH1 0x01 0000580c: PUSH1 0x40 0000580e: SHL 0000580f: SUB 00005810: DUP1 00005811: DUP3 00005812: GT 00005813: ISZERO 00005814: PUSH2 0x581b 00005817: JUMPI 00005818: PUSH0 00005819: DUP1 0000581a: REVERT 0000581b: JUMPDEST 0000581c: PUSH2 0x5827 0000581f: DUP8 00005820: DUP4 00005821: DUP9 00005822: ADD 00005823: PUSH2 0x517e 00005826: JUMP 00005827: JUMPDEST 00005828: SWAP5 00005829: POP 0000582a: PUSH1 0x20 0000582c: SWAP2 0000582d: POP 0000582e: DUP2 0000582f: DUP7 00005830: ADD 00005831: CALLDATALOAD 00005832: PUSH2 0x583a 00005835: DUP2 00005836: PUSH2 0x4e7a 00005839: JUMP 0000583a: JUMPDEST 0000583b: SWAP4 0000583c: POP 0000583d: PUSH1 0x40 0000583f: DUP7 00005840: ADD 00005841: CALLDATALOAD 00005842: DUP2 00005843: DUP2 00005844: GT 00005845: ISZERO 00005846: PUSH2 0x584d 00005849: JUMPI 0000584a: PUSH0 0000584b: DUP1 0000584c: REVERT 0000584d: JUMPDEST 0000584e: DUP7 0000584f: ADD 00005850: SWAP1 00005851: POP 00005852: PUSH1 0x1f 00005854: DUP2 00005855: ADD 00005856: DUP8 00005857: SGT 00005858: PUSH2 0x585f 0000585b: JUMPI 0000585c: PUSH0 0000585d: DUP1 0000585e: REVERT 0000585f: JUMPDEST 00005860: DUP1 00005861: CALLDATALOAD 00005862: PUSH2 0x586d 00005865: PUSH2 0x519d 00005868: DUP3 00005869: PUSH2 0x515c 0000586c: JUMP 0000586d: JUMPDEST 0000586e: DUP2 0000586f: DUP2 00005870: MSTORE 00005871: PUSH1 0x05 00005873: SWAP2 00005874: SWAP1 00005875: SWAP2 00005876: SHL 00005877: DUP3 00005878: ADD 00005879: DUP4 0000587a: ADD 0000587b: SWAP1 0000587c: DUP4 0000587d: DUP2 0000587e: ADD 0000587f: SWAP1 00005880: DUP10 00005881: DUP4 00005882: GT 00005883: ISZERO 00005884: PUSH2 0x588b 00005887: JUMPI 00005888: PUSH0 00005889: DUP1 0000588a: REVERT 0000588b: JUMPDEST 0000588c: SWAP3 0000588d: DUP5 0000588e: ADD 0000588f: SWAP3 00005890: JUMPDEST 00005891: DUP3 00005892: DUP5 00005893: LT 00005894: ISZERO 00005895: PUSH2 0x58a9 00005898: JUMPI 00005899: DUP4 0000589a: CALLDATALOAD 0000589b: DUP3 0000589c: MSTORE 0000589d: SWAP3 0000589e: DUP5 0000589f: ADD 000058a0: SWAP3 000058a1: SWAP1 000058a2: DUP5 000058a3: ADD 000058a4: SWAP1 000058a5: PUSH2 0x5890 000058a8: JUMP 000058a9: JUMPDEST 000058aa: DUP1 000058ab: SWAP6 000058ac: POP 000058ad: POP 000058ae: POP 000058af: POP 000058b0: POP 000058b1: POP 000058b2: SWAP3 000058b3: POP 000058b4: SWAP3 000058b5: POP 000058b6: SWAP3 000058b7: JUMP 000058b8: JUMPDEST 000058b9: PUSH1 0x20 000058bb: DUP1 000058bc: DUP3 000058bd: MSTORE 000058be: PUSH1 0x04 000058c0: SWAP1 000058c1: DUP3 000058c2: ADD 000058c3: MSTORE 000058c4: PUSH4 0x37b8373b 000058c9: PUSH1 0xe1 000058cb: SHL 000058cc: PUSH1 0x40 000058ce: DUP3 000058cf: ADD 000058d0: MSTORE 000058d1: PUSH1 0x60 000058d3: ADD 000058d4: SWAP1 000058d5: JUMP 000058d6: JUMPDEST 000058d7: PUSH1 0x20 000058d9: DUP1 000058da: DUP3 000058db: MSTORE 000058dc: PUSH1 0x03 000058de: SWAP1 000058df: DUP3 000058e0: ADD 000058e1: MSTORE 000058e2: PUSH3 0x39373b 000058e6: PUSH1 0xe9 000058e8: SHL 000058e9: PUSH1 0x40 000058eb: DUP3 000058ec: ADD 000058ed: MSTORE 000058ee: PUSH1 0x60 000058f0: ADD 000058f1: SWAP1 000058f2: JUMP 000058f3: JUMPDEST 000058f4: PUSH1 0x01 000058f6: PUSH1 0x01 000058f8: PUSH1 0xa0 000058fa: SHL 000058fb: SUB 000058fc: DUP7 000058fd: DUP2 000058fe: AND 000058ff: DUP3 00005900: MSTORE 00005901: DUP6 00005902: ISZERO 00005903: ISZERO 00005904: PUSH1 0x20 00005906: DUP4 00005907: ADD 00005908: MSTORE 00005909: PUSH1 0x40 0000590b: DUP3 0000590c: ADD 0000590d: DUP6 0000590e: SWAP1 0000590f: MSTORE 00005910: DUP4 00005911: AND 00005912: PUSH1 0x60 00005914: DUP3 00005915: ADD 00005916: MSTORE 00005917: PUSH1 0xa0 00005919: PUSH1 0x80 0000591b: DUP3 0000591c: ADD 0000591d: DUP2 0000591e: SWAP1 0000591f: MSTORE 00005920: PUSH0 00005921: SWAP1 00005922: PUSH2 0x4e36 00005925: SWAP1 00005926: DUP4 00005927: ADD 00005928: DUP5 00005929: PUSH2 0x556b 0000592c: JUMP 0000592d: JUMPDEST 0000592e: PUSH0 0000592f: DUP1 00005930: PUSH1 0x40 00005932: DUP4 00005933: DUP6 00005934: SUB 00005935: SLT 00005936: ISZERO 00005937: PUSH2 0x593e 0000593a: JUMPI 0000593b: PUSH0 0000593c: DUP1 0000593d: REVERT 0000593e: JUMPDEST 0000593f: POP 00005940: POP 00005941: DUP1 00005942: MLOAD 00005943: PUSH1 0x20 00005945: SWAP1 00005946: SWAP2 00005947: ADD 00005948: MLOAD 00005949: SWAP1 0000594a: SWAP3 0000594b: SWAP1 0000594c: SWAP2 0000594d: POP 0000594e: JUMP 0000594f: JUMPDEST 00005950: PUSH1 0x20 00005952: DUP1 00005953: DUP3 00005954: MSTORE 00005955: PUSH1 0x02 00005957: SWAP1 00005958: DUP3 00005959: ADD 0000595a: MSTORE 0000595b: PUSH2 0x6f77 0000595e: PUSH1 0xf0 00005960: SHL 00005961: PUSH1 0x40 00005963: DUP3 00005964: ADD 00005965: MSTORE 00005966: PUSH1 0x60 00005968: ADD 00005969: SWAP1 0000596a: JUMP 0000596b: JUMPDEST 0000596c: PUSH1 0x20 0000596e: DUP1 0000596f: DUP3 00005970: MSTORE 00005971: PUSH1 0x04 00005973: SWAP1 00005974: DUP3 00005975: ADD 00005976: MSTORE 00005977: PUSH4 0x36b6b73b 0000597c: PUSH1 0xe1 0000597e: SHL 0000597f: PUSH1 0x40 00005981: DUP3 00005982: ADD 00005983: MSTORE 00005984: PUSH1 0x60 00005986: ADD 00005987: SWAP1 00005988: JUMP 00005989: JUMPDEST 0000598a: PUSH0 0000598b: PUSH1 0x20 0000598d: DUP3 0000598e: DUP5 0000598f: SUB 00005990: SLT 00005991: ISZERO 00005992: PUSH2 0x5999 00005995: JUMPI 00005996: PUSH0 00005997: DUP1 00005998: REVERT 00005999: JUMPDEST 0000599a: POP 0000599b: MLOAD 0000599c: SWAP2 0000599d: SWAP1 0000599e: POP 0000599f: JUMP 000059a0: JUMPDEST 000059a1: PUSH1 0x20 000059a3: DUP1 000059a4: DUP3 000059a5: MSTORE 000059a6: PUSH1 0x02 000059a8: SWAP1 000059a9: DUP3 000059aa: ADD 000059ab: MSTORE 000059ac: PUSH2 0x6e65 000059af: PUSH1 0xf0 000059b1: SHL 000059b2: PUSH1 0x40 000059b4: DUP3 000059b5: ADD 000059b6: MSTORE 000059b7: PUSH1 0x60 000059b9: ADD 000059ba: SWAP1 000059bb: JUMP 000059bc: JUMPDEST 000059bd: PUSH4 0x4e487b71 000059c2: PUSH1 0xe0 000059c4: SHL 000059c5: PUSH0 000059c6: MSTORE 000059c7: PUSH1 0x11 000059c9: PUSH1 0x04 000059cb: MSTORE 000059cc: PUSH1 0x24 000059ce: PUSH0 000059cf: REVERT 000059d0: JUMPDEST 000059d1: DUP2 000059d2: DUP2 000059d3: SUB 000059d4: DUP2 000059d5: DUP2 000059d6: GT 000059d7: ISZERO 000059d8: PUSH2 0x4d0e 000059db: JUMPI 000059dc: PUSH2 0x4d0e 000059df: PUSH2 0x59bc 000059e2: JUMP 000059e3: JUMPDEST 000059e4: PUSH1 0x20 000059e6: DUP1 000059e7: DUP3 000059e8: MSTORE 000059e9: PUSH1 0x06 000059eb: SWAP1 000059ec: DUP3 000059ed: ADD 000059ee: MSTORE 000059ef: PUSH6 0x6c706f706e61 000059f6: PUSH1 0xd0 000059f8: SHL 000059f9: PUSH1 0x40 000059fb: DUP3 000059fc: ADD 000059fd: MSTORE 000059fe: PUSH1 0x60 00005a00: ADD 00005a01: SWAP1 00005a02: JUMP 00005a03: JUMPDEST 00005a04: PUSH4 0x4e487b71 00005a09: PUSH1 0xe0 00005a0b: SHL 00005a0c: PUSH0 00005a0d: MSTORE 00005a0e: PUSH1 0x32 00005a10: PUSH1 0x04 00005a12: MSTORE 00005a13: PUSH1 0x24 00005a15: PUSH0 00005a16: REVERT 00005a17: JUMPDEST 00005a18: PUSH0 00005a19: PUSH1 0x01 00005a1b: DUP3 00005a1c: ADD 00005a1d: PUSH2 0x5a28 00005a20: JUMPI 00005a21: PUSH2 0x5a28 00005a24: PUSH2 0x59bc 00005a27: JUMP 00005a28: JUMPDEST 00005a29: POP 00005a2a: PUSH1 0x01 00005a2c: ADD 00005a2d: SWAP1 00005a2e: JUMP 00005a2f: JUMPDEST 00005a30: DUP1 00005a31: DUP3 00005a32: MUL 00005a33: DUP2 00005a34: ISZERO 00005a35: DUP3 00005a36: DUP3 00005a37: DIV 00005a38: DUP5 00005a39: EQ 00005a3a: OR 00005a3b: PUSH2 0x4d0e 00005a3e: JUMPI 00005a3f: PUSH2 0x4d0e 00005a42: PUSH2 0x59bc 00005a45: JUMP 00005a46: JUMPDEST 00005a47: PUSH0 00005a48: DUP3 00005a49: PUSH2 0x5a60 00005a4c: JUMPI 00005a4d: PUSH4 0x4e487b71 00005a52: PUSH1 0xe0 00005a54: SHL 00005a55: PUSH0 00005a56: MSTORE 00005a57: PUSH1 0x12 00005a59: PUSH1 0x04 00005a5b: MSTORE 00005a5c: PUSH1 0x24 00005a5e: PUSH0 00005a5f: REVERT 00005a60: JUMPDEST 00005a61: POP 00005a62: DIV 00005a63: SWAP1 00005a64: JUMP 00005a65: JUMPDEST 00005a66: PUSH0 00005a67: DUP1 00005a68: DUP4 00005a69: CALLDATALOAD 00005a6a: PUSH1 0x1e 00005a6c: NOT 00005a6d: DUP5 00005a6e: CALLDATASIZE 00005a6f: SUB 00005a70: ADD 00005a71: DUP2 00005a72: SLT 00005a73: PUSH2 0x5a7a 00005a76: JUMPI 00005a77: PUSH0 00005a78: DUP1 00005a79: REVERT 00005a7a: JUMPDEST 00005a7b: DUP4 00005a7c: ADD 00005a7d: DUP1 00005a7e: CALLDATALOAD 00005a7f: SWAP2 00005a80: POP 00005a81: PUSH1 0x01 00005a83: PUSH1 0x01 00005a85: PUSH1 0x40 00005a87: SHL 00005a88: SUB 00005a89: DUP3 00005a8a: GT 00005a8b: ISZERO 00005a8c: PUSH2 0x5a93 00005a8f: JUMPI 00005a90: PUSH0 00005a91: DUP1 00005a92: REVERT 00005a93: JUMPDEST 00005a94: PUSH1 0x20 00005a96: ADD 00005a97: SWAP2 00005a98: POP 00005a99: CALLDATASIZE 00005a9a: DUP2 00005a9b: SWAP1 00005a9c: SUB 00005a9d: DUP3 00005a9e: SGT 00005a9f: ISZERO 00005aa0: PUSH2 0x5aa7 00005aa3: JUMPI 00005aa4: PUSH0 00005aa5: DUP1 00005aa6: REVERT 00005aa7: JUMPDEST 00005aa8: SWAP3 00005aa9: POP 00005aaa: SWAP3 00005aab: SWAP1 00005aac: POP 00005aad: JUMP 00005aae: JUMPDEST 00005aaf: DUP2 00005ab0: DUP4 00005ab1: DUP3 00005ab2: CALLDATACOPY 00005ab3: PUSH0 00005ab4: SWAP2 00005ab5: ADD 00005ab6: SWAP1 00005ab7: DUP2 00005ab8: MSTORE 00005ab9: SWAP2 00005aba: SWAP1 00005abb: POP 00005abc: JUMP 00005abd: JUMPDEST 00005abe: PUSH0 00005abf: PUSH1 0x20 00005ac1: DUP3 00005ac2: DUP5 00005ac3: SUB 00005ac4: SLT 00005ac5: ISZERO 00005ac6: PUSH2 0x5acd 00005ac9: JUMPI 00005aca: PUSH0 00005acb: DUP1 00005acc: REVERT 00005acd: JUMPDEST 00005ace: DUP2 00005acf: MLOAD 00005ad0: PUSH1 0x01 00005ad2: PUSH1 0x01 00005ad4: PUSH1 0x40 00005ad6: SHL 00005ad7: SUB 00005ad8: DUP1 00005ad9: DUP3 00005ada: GT 00005adb: ISZERO 00005adc: PUSH2 0x5ae3 00005adf: JUMPI 00005ae0: PUSH0 00005ae1: DUP1 00005ae2: REVERT 00005ae3: JUMPDEST 00005ae4: DUP2 00005ae5: DUP5 00005ae6: ADD 00005ae7: SWAP2 00005ae8: POP 00005ae9: DUP5 00005aea: PUSH1 0x1f 00005aec: DUP4 00005aed: ADD 00005aee: SLT 00005aef: PUSH2 0x5af6 00005af2: JUMPI 00005af3: PUSH0 00005af4: DUP1 00005af5: REVERT 00005af6: JUMPDEST 00005af7: DUP2 00005af8: MLOAD 00005af9: DUP2 00005afa: DUP2 00005afb: GT 00005afc: ISZERO 00005afd: PUSH2 0x5b08 00005b00: JUMPI 00005b01: PUSH2 0x5b08 00005b04: PUSH2 0x4fdf 00005b07: JUMP 00005b08: JUMPDEST 00005b09: PUSH2 0x5b1b 00005b0c: PUSH1 0x1f 00005b0e: DUP3 00005b0f: ADD 00005b10: PUSH1 0x1f 00005b12: NOT 00005b13: AND 00005b14: PUSH1 0x20 00005b16: ADD 00005b17: PUSH2 0x4ff3 00005b1a: JUMP 00005b1b: JUMPDEST 00005b1c: SWAP2 00005b1d: POP 00005b1e: DUP1 00005b1f: DUP3 00005b20: MSTORE 00005b21: DUP6 00005b22: PUSH1 0x20 00005b24: DUP3 00005b25: DUP6 00005b26: ADD 00005b27: ADD 00005b28: GT 00005b29: ISZERO 00005b2a: PUSH2 0x5b31 00005b2d: JUMPI 00005b2e: PUSH0 00005b2f: DUP1 00005b30: REVERT 00005b31: JUMPDEST 00005b32: PUSH2 0x5b42 00005b35: DUP2 00005b36: PUSH1 0x20 00005b38: DUP5 00005b39: ADD 00005b3a: PUSH1 0x20 00005b3c: DUP7 00005b3d: ADD 00005b3e: PUSH2 0x5549 00005b41: JUMP 00005b42: JUMPDEST 00005b43: POP 00005b44: SWAP5 00005b45: SWAP4 00005b46: POP 00005b47: POP 00005b48: POP 00005b49: POP 00005b4a: JUMP 00005b4b: JUMPDEST 00005b4c: PUSH1 0x20 00005b4e: DUP2 00005b4f: MSTORE 00005b50: PUSH0 00005b51: PUSH2 0x4d0b 00005b54: PUSH1 0x20 00005b56: DUP4 00005b57: ADD 00005b58: DUP5 00005b59: PUSH2 0x556b 00005b5c: JUMP 00005b5d: JUMPDEST 00005b5e: DUP5 00005b5f: DUP2 00005b60: MSTORE 00005b61: DUP4 00005b62: PUSH1 0x20 00005b64: DUP3 00005b65: ADD 00005b66: MSTORE 00005b67: PUSH1 0x01 00005b69: DUP1 00005b6a: PUSH1 0xa0 00005b6c: SHL 00005b6d: SUB 00005b6e: DUP4 00005b6f: AND 00005b70: PUSH1 0x40 00005b72: DUP3 00005b73: ADD 00005b74: MSTORE 00005b75: PUSH1 0x80 00005b77: PUSH1 0x60 00005b79: DUP3 00005b7a: ADD 00005b7b: MSTORE 00005b7c: PUSH0 00005b7d: PUSH2 0x5b89 00005b80: PUSH1 0x80 00005b82: DUP4 00005b83: ADD 00005b84: DUP5 00005b85: PUSH2 0x556b 00005b88: JUMP 00005b89: JUMPDEST 00005b8a: SWAP7 00005b8b: SWAP6 00005b8c: POP 00005b8d: POP 00005b8e: POP 00005b8f: POP 00005b90: POP 00005b91: POP 00005b92: JUMP 00005b93: JUMPDEST 00005b94: PUSH0 00005b95: DUP1 00005b96: DUP6 00005b97: DUP6 00005b98: GT 00005b99: ISZERO 00005b9a: PUSH2 0x5ba1 00005b9d: JUMPI 00005b9e: PUSH0 00005b9f: DUP1 00005ba0: REVERT 00005ba1: JUMPDEST 00005ba2: DUP4 00005ba3: DUP7 00005ba4: GT 00005ba5: ISZERO 00005ba6: PUSH2 0x5bad 00005ba9: JUMPI 00005baa: PUSH0 00005bab: DUP1 00005bac: REVERT 00005bad: JUMPDEST 00005bae: POP 00005baf: POP 00005bb0: DUP3 00005bb1: ADD 00005bb2: SWAP4 00005bb3: SWAP2 00005bb4: SWAP1 00005bb5: SWAP3 00005bb6: SUB 00005bb7: SWAP2 00005bb8: POP 00005bb9: JUMP 00005bba: JUMPDEST 00005bbb: DUP1 00005bbc: CALLDATALOAD 00005bbd: PUSH1 0x20 00005bbf: DUP4 00005bc0: LT 00005bc1: ISZERO 00005bc2: PUSH2 0x4d0e 00005bc5: JUMPI 00005bc6: PUSH0 00005bc7: NOT 00005bc8: PUSH1 0x20 00005bca: DUP5 00005bcb: SWAP1 00005bcc: SUB 00005bcd: PUSH1 0x03 00005bcf: SHL 00005bd0: SHL 00005bd1: AND 00005bd2: SWAP3 00005bd3: SWAP2 00005bd4: POP 00005bd5: POP 00005bd6: JUMP 00005bd7: JUMPDEST 00005bd8: DUP1 00005bd9: DUP3 00005bda: MUL 00005bdb: PUSH0 00005bdc: DUP3 00005bdd: SLT 00005bde: PUSH1 0x01 00005be0: PUSH1 0xff 00005be2: SHL 00005be3: DUP5 00005be4: EQ 00005be5: AND 00005be6: ISZERO 00005be7: PUSH2 0x5bf2 00005bea: JUMPI 00005beb: PUSH2 0x5bf2 00005bee: PUSH2 0x59bc 00005bf1: JUMP 00005bf2: JUMPDEST 00005bf3: DUP2 00005bf4: DUP2 00005bf5: SDIV 00005bf6: DUP4 00005bf7: EQ 00005bf8: DUP3 00005bf9: ISZERO 00005bfa: OR 00005bfb: PUSH2 0x4d0e 00005bfe: JUMPI 00005bff: PUSH2 0x4d0e 00005c02: PUSH2 0x59bc 00005c05: JUMP 00005c06: JUMPDEST 00005c07: PUSH0 00005c08: DUP3 00005c09: MLOAD 00005c0a: PUSH2 0x5c17 00005c0d: DUP2 00005c0e: DUP5 00005c0f: PUSH1 0x20 00005c11: DUP8 00005c12: ADD 00005c13: PUSH2 0x5549 00005c16: JUMP 00005c17: JUMPDEST 00005c18: SWAP2 00005c19: SWAP1 00005c1a: SWAP2 00005c1b: ADD 00005c1c: SWAP3 00005c1d: SWAP2 00005c1e: POP 00005c1f: POP 00005c20: JUMP 00005c21: JUMPDEST 00005c22: PUSH0 00005c23: DUP1 00005c24: PUSH0 00005c25: PUSH1 0x60 00005c27: DUP5 00005c28: DUP7 00005c29: SUB 00005c2a: SLT 00005c2b: ISZERO 00005c2c: PUSH2 0x5c33 00005c2f: JUMPI 00005c30: PUSH0 00005c31: DUP1 00005c32: REVERT 00005c33: JUMPDEST 00005c34: DUP4 00005c35: MLOAD 00005c36: PUSH2 0x5c3e 00005c39: DUP2 00005c3a: PUSH2 0x5243 00005c3d: JUMP 00005c3e: JUMPDEST 00005c3f: PUSH1 0x20 00005c41: DUP6 00005c42: ADD 00005c43: MLOAD 00005c44: SWAP1 00005c45: SWAP4 00005c46: POP 00005c47: PUSH2 0x5c4f 00005c4a: DUP2 00005c4b: PUSH2 0x5243 00005c4e: JUMP 00005c4f: JUMPDEST 00005c50: PUSH1 0x40 00005c52: DUP6 00005c53: ADD 00005c54: MLOAD 00005c55: SWAP1 00005c56: SWAP3 00005c57: POP 00005c58: PUSH4 0xffffffff 00005c5d: DUP2 00005c5e: AND 00005c5f: DUP2 00005c60: EQ 00005c61: PUSH2 0x562a 00005c64: JUMPI 00005c65: PUSH0 00005c66: DUP1 00005c67: REVERT 00005c68: JUMPDEST 00005c69: DUP1 00005c6a: DUP3 00005c6b: ADD 00005c6c: DUP1 00005c6d: DUP3 00005c6e: GT 00005c6f: ISZERO 00005c70: PUSH2 0x4d0e 00005c73: JUMPI 00005c74: PUSH2 0x4d0e 00005c77: PUSH2 0x59bc 00005c7a: JUMP 00005c7b: JUMPDEST 00005c7c: PUSH0 00005c7d: PUSH1 0x20 00005c7f: DUP3 00005c80: DUP5 00005c81: SUB 00005c82: SLT 00005c83: ISZERO 00005c84: PUSH2 0x5c8b 00005c87: JUMPI 00005c88: PUSH0 00005c89: DUP1 00005c8a: REVERT 00005c8b: JUMPDEST 00005c8c: DUP2 00005c8d: MLOAD 00005c8e: PUSH2 0x483b 00005c91: DUP2 00005c92: PUSH2 0x4e7a 00005c95: JUMP 00005c96: JUMPDEST 00005c97: PUSH0 00005c98: PUSH1 0x20 00005c9a: DUP3 00005c9b: DUP5 00005c9c: SUB 00005c9d: SLT 00005c9e: ISZERO 00005c9f: PUSH2 0x5ca6 00005ca2: JUMPI 00005ca3: PUSH0 00005ca4: DUP1 00005ca5: REVERT 00005ca6: JUMPDEST 00005ca7: DUP2 00005ca8: MLOAD 00005ca9: PUSH2 0x483b 00005cac: DUP2 00005cad: PUSH2 0x4eb4 00005cb0: JUMP 00005cb1: INVALID 00005cb2: STOP 00005cb3: STOP 00005cb4: STOP 00005cb5: STOP 00005cb6: STOP 00005cb7: STOP 00005cb8: STOP 00005cb9: STOP 00005cba: STOP 00005cbb: STOP 00005cbc: STOP 00005cbd: STOP 00005cbe: UNKNOWN(0xCE) 00005cbf: XOR 00005cc0: UNKNOWN(0xB6) 00005cc1: UNKNOWN(0xD8) 00005cc2: PC 00005cc3: PC 00005cc4: UNKNOWN(0xA5) 00005cc5: PUSH24 0x7bbaa941db80c2e278992a83000000000000000000000000 00005cde: UNKNOWN(0xA5) 00005cdf: LOG3 00005ce0: PUSH23 0x007035761a7a6b2c897759324e69f92a60000000000000 00005cf8: STOP 00005cf9: STOP 00005cfa: STOP 00005cfb: STOP 00005cfc: STOP 00005cfd: STOP 00005cfe: MUL 00005cff: CALLCODE 00005d00: UNKNOWN(0x2A) 00005d01: INVALID 00005d02: UNKNOWN(0x0C) 00005d03: DUP16 00005d04: UNKNOWN(0xC8) 00005d05: UNKNOWN(0xE0) 00005d06: SWAP9 00005d07: UNKNOWN(0xEC) 00005d08: DIFFICULTY 00005d09: DELEGATECALL 00005d0a: UNKNOWN(0xD9) 00005d0b: UNKNOWN(0xC6) 00005d0c: UNKNOWN(0xA8) 00005d0d: UNKNOWN(0xF6) 00005d0e: COINBASE 00005d0f: PUSH26 0x26fd00000000000000000000000026fd09c8b44af53df38a9bad 00005d2a: COINBASE 00005d2b: UNKNOWN(0xD5) 00005d2c: UNKNOWN(0xAB) 00005d2d: UNKNOWN(0xC5) 00005d2e: GAS 00005d2f: OR 00005d30: DUP7 00005d31: UNKNOWN(0xAF) 00005d32: STOP 00005d33: STOP 00005d34: STOP 00005d35: STOP 00005d36: STOP 00005d37: STOP 00005d38: STOP 00005d39: STOP 00005d3a: STOP 00005d3b: STOP 00005d3c: STOP 00005d3d: STOP 00005d3e: PUSH29 0xfd37e9dc8f27bb78c497f8ca2a249701832dab00000000000000000000 00005d5c: STOP 00005d5d: STOP 00005d5e: UNKNOWN(0x4E) 00005d5f: UNKNOWN(0xB8) 00005d60: PUSH23 0x9a89b91b60a14ad1d30f2b136d9cf61b18000000000000 00005d78: STOP 00005d79: STOP 00005d7a: STOP 00005d7b: STOP 00005d7c: STOP 00005d7d: STOP 00005d7e: BLOBBASEFEE 00005d7f: UNKNOWN(0xC6) 00005d80: UNKNOWN(0x26) 00005d81: DUP4 00005d82: DUP6 00005d83: DUP6 00005d84: SHL 00005d85: UNKNOWN(0x23) 00005d86: UNKNOWN(0xEB) 00005d87: UNKNOWN(0xE2) 00005d88: UNKNOWN(0x2F) 00005d89: SWAP2 00005d8a: PUSH4 0x0d7d0f61 00005d8f: UNKNOWN(0xE7) 00005d90: UNKNOWN(0xB7) 00005d91: UNKNOWN(0x4D) 00005d92: STOP 00005d93: STOP 00005d94: STOP 00005d95: STOP 00005d96: STOP 00005d97: STOP 00005d98: STOP 00005d99: STOP 00005d9a: STOP 00005d9b: STOP 00005d9c: STOP 00005d9d: STOP 00005d9e: EXP 00005d9f: UNKNOWN(0xCC) 00005da0: UNKNOWN(0xDE) 00005da1: UNKNOWN(0xC8) 00005da2: SWAP1 00005da3: JUMP 00005da4: UNKNOWN(0xDF) 00005da5: SWAP6 00005da6: TIMESTAMP 00005da7: UNKNOWN(0x4B) 00005da8: UNKNOWN(0xF7) 00005da9: UNKNOWN(0xEB) 00005daa: ISZERO 00005dab: ISZERO 00005dac: SLOAD 00005dad: UNKNOWN(0x2B) 00005dae: STOP 00005daf: LOG4 00005db0: SUB 00005db1: CALLDATASIZE 00005db2: STOP 00005db3: STOP 00005db4: STOP 00005db5: STOP 00005db6: STOP 00005db7: STOP 00005db8: STOP 00005db9: STOP 00005dba: STOP 00005dbb: STOP 00005dbc: STOP 00005dbd: STOP 00005dbe: UNKNOWN(0xEF) 00005dbf: DUP16 00005dc0: CODECOPY 00005dc1: UNKNOWN(0x4D) 00005dc2: UNKNOWN(0xBA) 00005dc3: SUB 00005dc4: UNKNOWN(0xAB) 00005dc5: DUP10 00005dc6: SHL 00005dc7: UNKNOWN(0x2E) 00005dc8: SWAP8 00005dc9: CALLER 00005dca: CALLER 00005dcb: UNKNOWN(0x28) 00005dcc: UNKNOWN(0xBA) 00005dcd: UNKNOWN(0xE4) 00005dce: UNKNOWN(0xE8) 00005dcf: UNKNOWN(0xA5) 00005dd0: PUSH28 0x8d000000000000000000000000514bcfbaf7c84850824efbf52d7955 00005ded: PUSH20 0x27541bf3000000000000000000000000a855d119 00005e02: DUP13 00005e03: PUSH8 0x839e596b9a5d7c46 00005e0c: UNKNOWN(0xF8) 00005e0d: UNKNOWN(0xEA) 00005e0e: BALANCE 00005e0f: UNKNOWN(0xCF) 00005e10: UNKNOWN(0xEF) 00005e11: UNKNOWN(0xDE) 00005e12: STOP 00005e13: STOP 00005e14: STOP 00005e15: STOP 00005e16: STOP 00005e17: STOP 00005e18: STOP 00005e19: STOP 00005e1a: STOP 00005e1b: STOP 00005e1c: STOP 00005e1d: STOP 00005e1e: UNKNOWN(0xBB) 00005e1f: UNKNOWN(0xD9) 00005e20: UNKNOWN(0xC4) 00005e21: CALLER 00005e22: UNKNOWN(0xA7) 00005e23: SHR 00005e24: UNKNOWN(0x21) 00005e25: UNKNOWN(0xC7) 00005e26: PUSH21 0xaa3f437d2bd5f48e5efd5f00000000000000000000 00005e3c: STOP 00005e3d: STOP 00005e3e: JUMP 00005e3f: UNKNOWN(0x26) 00005e40: DUP3 00005e41: BLOBHASH 00005e42: RETURNDATACOPY 00005e43: BLOBBASEFEE 00005e44: CALLDATALOAD 00005e45: BLOBBASEFEE 00005e46: UNKNOWN(0xAD) 00005e47: SHL 00005e48: UNKNOWN(0xC6) 00005e49: UNKNOWN(0xBD) 00005e4a: UNKNOWN(0xB1) 00005e4b: SWAP2 00005e4c: DUP11 00005e4d: UNKNOWN(0x2E) 00005e4e: UNKNOWN(0x4F) 00005e4f: UNKNOWN(0xE3) 00005e50: BLOBBASEFEE 00005e51: SSTORE 00005e52: STOP 00005e53: STOP 00005e54: STOP 00005e55: STOP 00005e56: STOP 00005e57: STOP 00005e58: STOP 00005e59: STOP 00005e5a: STOP 00005e5b: STOP 00005e5c: STOP 00005e5d: STOP 00005e5e: DELEGATECALL 00005e5f: UNKNOWN(0xB4) 00005e60: UNKNOWN(0xE6) 00005e61: UNKNOWN(0xFC) 00005e62: UNKNOWN(0xD0) 00005e63: UNKNOWN(0xCF) 00005e64: UNKNOWN(0xB6) 00005e65: UNKNOWN(0xE3) 00005e66: UNKNOWN(0xD7) 00005e67: ADDMOD 00005e68: UNKNOWN(0x21) 00005e69: UNKNOWN(0xC1) 00005e6a: CALLDATASIZE 00005e6b: UNKNOWN(0xB9) 00005e6c: UNKNOWN(0xC5) 00005e6d: UNKNOWN(0xAA) 00005e6e: UNKNOWN(0x0E) 00005e6f: MULMOD 00005e70: CALLDATASIZE 00005e71: CALLCODE 00005e72: STOP 00005e73: STOP 00005e74: STOP 00005e75: STOP 00005e76: STOP 00005e77: STOP 00005e78: STOP 00005e79: STOP 00005e7a: STOP 00005e7b: STOP 00005e7c: STOP 00005e7d: STOP 00005e7e: MSTORE 00005e7f: UNKNOWN(0xC4) 00005e80: UNKNOWN(0xE9) 00005e81: UNKNOWN(0xE8) 00005e82: UNKNOWN(0xB2) 00005e83: PC 00005e84: EXTCODESIZE 00005e85: UNKNOWN(0xE7) 00005e86: MSTORE8 00005e87: PUSH3 0xef0a92 00005e8b: UNKNOWN(0xC7) 00005e8c: UNKNOWN(0x2D) 00005e8d: UNKNOWN(0xE2) 00005e8e: UNKNOWN(0xF6) 00005e8f: UNKNOWN(0x2F) 00005e90: DUP7 00005e91: UNKNOWN(0xB0) 00005e92: LOG2 00005e93: PUSH5 0x6970667358 00005e99: UNKNOWN(0x22) 00005e9a: SLT 00005e9b: KECCAK256 00005e9c: ADD 00005e9d: DUP5 00005e9e: UNKNOWN(0xDF) 00005e9f: GT 00005ea0: MOD 00005ea1: SWAP12 00005ea2: TSTORE 00005ea3: DIFFICULTY 00005ea4: UNKNOWN(0xAF) 00005ea5: DUP13 00005ea6: CREATE2 00005ea7: TSTORE 00005ea8: LOG1 00005ea9: LOG0 00005eaa: CALLCODE 00005eab: LOG1 00005eac: RETURNDATACOPY 00005ead: CALL 00005eae: UNKNOWN(0xA7) 00005eaf: LOG2 00005eb0: UNKNOWN(0xA5) 00005eb1: UNKNOWN(0xEC) 00005eb2: DUP12 00005eb3: UNKNOWN(0xAC) 00005eb4: PUSH22
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x4bddfd3da87e38f2f6ef81204702cfb0727426a4d79810ab68c58668db9cf150
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x4bddfd3da87e38f2f6ef81204702cfb0727426a4d79810ab68c58668db9cf150",
"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": "0xe7c5f19b",
"selector": "0xe7c5f19b",
"calldata_variants": [
"0xe7c5f19b",
"0xe7c5f19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef61a6db",
"selector": "0xef61a6db",
"calldata_variants": [
"0xef61a6db",
"0xef61a6db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1bd3ca2",
"selector": "0xf1bd3ca2",
"calldata_variants": [
"0xf1bd3ca2",
"0xf1bd3ca20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf82f6043",
"selector": "0xf82f6043",
"calldata_variants": [
"0xf82f6043",
"0xf82f60430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa461e33",
"selector": "0xfa461e33",
"calldata_variants": [
"0xfa461e33",
"0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff744336",
"selector": "0xff744336",
"calldata_variants": [
"0xff744336",
"0xff7443360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21d122d",
"selector": "0xd21d122d",
"calldata_variants": [
"0xd21d122d",
"0xd21d122d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdaf95aef",
"selector": "0xdaf95aef",
"calldata_variants": [
"0xdaf95aef",
"0xdaf95aef0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9931,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 23817,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 24158,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 3,
"untrusted_delegatecall_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x5ef3e805d836bad314fa5d45b73facbc4609eb8f7c6891d126c4dd1f4452c443
call_targets:
0x7176f0f071379fee51668eb6387dda9129e5ca6b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5ef3e805d836bad314fa5d45b73facbc4609eb8f7c6891d126c4dd1f4452c443",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7176f0f071379fee51668eb6387dda9129e5ca6b"
],
"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": "0xe7c5f19b",
"selector": "0xe7c5f19b",
"calldata_variants": [
"0xe7c5f19b",
"0xe7c5f19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef61a6db",
"selector": "0xef61a6db",
"calldata_variants": [
"0xef61a6db",
"0xef61a6db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1bd3ca2",
"selector": "0xf1bd3ca2",
"calldata_variants": [
"0xf1bd3ca2",
"0xf1bd3ca20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf82f6043",
"selector": "0xf82f6043",
"calldata_variants": [
"0xf82f6043",
"0xf82f60430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa461e33",
"selector": "0xfa461e33",
"calldata_variants": [
"0xfa461e33",
"0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff744336",
"selector": "0xff744336",
"calldata_variants": [
"0xff744336",
"0xff7443360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21d122d",
"selector": "0xd21d122d",
"calldata_variants": [
"0xd21d122d",
"0xd21d122d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdaf95aef",
"selector": "0xdaf95aef",
"calldata_variants": [
"0xdaf95aef",
"0xdaf95aef0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2932,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4218,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4272,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 20,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x5ef3e805d836bad314fa5d45b73facbc4609eb8f7c6891d126c4dd1f4452c443
call_targets:
0x7176f0f071379fee51668eb6387dda9129e5ca6b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5ef3e805d836bad314fa5d45b73facbc4609eb8f7c6891d126c4dd1f4452c443",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7176f0f071379fee51668eb6387dda9129e5ca6b"
],
"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": "0xe7c5f19b",
"selector": "0xe7c5f19b",
"calldata_variants": [
"0xe7c5f19b",
"0xe7c5f19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef61a6db",
"selector": "0xef61a6db",
"calldata_variants": [
"0xef61a6db",
"0xef61a6db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1bd3ca2",
"selector": "0xf1bd3ca2",
"calldata_variants": [
"0xf1bd3ca2",
"0xf1bd3ca20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf82f6043",
"selector": "0xf82f6043",
"calldata_variants": [
"0xf82f6043",
"0xf82f60430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa461e33",
"selector": "0xfa461e33",
"calldata_variants": [
"0xfa461e33",
"0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff744336",
"selector": "0xff744336",
"calldata_variants": [
"0xff744336",
"0xff7443360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21d122d",
"selector": "0xd21d122d",
"calldata_variants": [
"0xd21d122d",
"0xd21d122d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdaf95aef",
"selector": "0xdaf95aef",
"calldata_variants": [
"0xdaf95aef",
"0xdaf95aef0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2932,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4218,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4272,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 20,
"guards_detected": [],
"untrusted_call_count": 20
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xb9cecbc127e514e4c7faafaae389be9025857ec8083abd0ed065f98ca439d7dc
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xb9cecbc127e514e4c7faafaae389be9025857ec8083abd0ed065f98ca439d7dc",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe7c5f19b",
"selector": "0xe7c5f19b",
"calldata_variants": [
"0xe7c5f19b",
"0xe7c5f19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef61a6db",
"selector": "0xef61a6db",
"calldata_variants": [
"0xef61a6db",
"0xef61a6db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1bd3ca2",
"selector": "0xf1bd3ca2",
"calldata_variants": [
"0xf1bd3ca2",
"0xf1bd3ca20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf82f6043",
"selector": "0xf82f6043",
"calldata_variants": [
"0xf82f6043",
"0xf82f60430000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa461e33",
"selector": "0xfa461e33",
"calldata_variants": [
"0xfa461e33",
"0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff744336",
"selector": "0xff744336",
"calldata_variants": [
"0xff744336",
"0xff7443360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd21d122d",
"selector": "0xd21d122d",
"calldata_variants": [
"0xd21d122d",
"0xd21d122d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdaf95aef",
"selector": "0xdaf95aef",
"calldata_variants": [
"0xdaf95aef",
"0xdaf95aef0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 3
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 10
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 42
}
|