Zenith EVM Explorer
K
DashboardBlocksTransactionsLinked TransactionsContractsTokensFaucetStatsAPI
DashboardBlocksTxsLinkedContracts
Linked Transactions
PreviousNext

Linked Transaction

Full lifecycle view

Linked Transaction ID0xcdd8a12e...62241bd1
Block Published
Lifecycle Waterfall
Canton EVM External call
EVM block settled on CantonGateway · Gateway_FinalizeBlock
0ms
2.0s
4.0s
6.0s
6.8s

Block planned

Producer plans block #45203 with tx 0xcdd8a1…241bd1 (block timestamp)
—

Gateway_FinalizeBlock

Block timestamp → commit, incl. the gateway-build-block call for block #45203

5.4s
5.4s

Committed on Canton

Participant commits update 122091b1c6…c14363
—

Imported to the execution layers

Importer applies block #45203 from GatewayHead
—
0ms
2.0s
4.0s
6.0s
6.8s
EVM
Canton
External call
Total
Complete5.4s
5.4s

Measured from on-chain timestamps only: the EVM block timestamp, which the producer chose when it planned the block (whole seconds), and the record time (commit) of the Gateway_FinalizeBlock transaction; a commit that reads slightly before the block timestamp (rounding) shows as 0. The gateway-build-block external call runs inside that transaction and is not timed on its own; the import into the execution layers follows the commit and its time is not observable here, so those steps are markers without a duration.

Duration Breakdown

Total

5.41s

Block → Canton commit

5.41s

block timestamp → record time (±1s)

Measured from on-chain timestamps: the EVM block timestamp, chosen when the producer planned the block, and the record time (commit) of the Gateway_FinalizeBlock transaction. The block timestamp is whole seconds and follows Canton's ledger time, so the span carries up to ±1s of rounding; a commit that reads slightly before the block timestamp shows as 0.

State Timeline

Block planned

Producer plans block #45203 with tx 0xcdd8a1…241bd1 (block timestamp)

Nov 6, 07:14:37

From: 0xf8fb46…b7cfe0

Gateway_FinalizeBlock · gateway-build-block

The operator's Canton transaction builds the block through the external call

Committed on Canton

Participant commits update 122091b1c6…c14363

Nov 6, 07:14:42

Update: 122091b1c6…c14363
Command: gw-64c9a5594fd…dbcbec

Imported to the execution layers

Importer applies block #45203 from GatewayHead

Operation Details
Correlation ID0xcdd8a12e...62241bd1Canton Update122091...4363EVM Tx0xcdd8...1bd1
EVM BlockNov 6, 2026, 07:14:37 UTC(planned by the producer)Canton CommitNov 6, 2026, 07:14:42 UTC(Gateway_FinalizeBlock record time)
Settlement5.41s
EVM Gas Used5,557,810 gasGas Price1.0000 GweiTransaction Fee0.0056 $ZTH
Technical Details
gateway Block Hash0x6f3676115b5c6c907a9ef454c418b545e29328526b0be788ebb4e6d04560ea9a
gateway Block Number45203
Envelope (gateway-build-block)1
#1ext: zenith-evmfn: gateway-build-block0xcdd8...1bd1
ToContract creationValue0 $ZTHMethodUnknown Function()Nonce
91
Block hash0x6f3676115b5c6c907a9ef454c418b545e29328526b0be788ebb4e6d04560ea9a
Raw envelope hex
0x02f96449830e4a255b843b9aca008477359400836e3f418080b963ed61010060405234801562000011575f80fd5b506040516200634d3803806200634d833981016040819052620000349162000288565b600180556001600160a01b03851615806200005657506001600160a01b038416155b806200006957506001600160a01b038316155b806200007c57506001600160a01b038116155b156200009b5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0380851660805283811660a052821660c052604051620000c2906200025e565b604051809103905ff080158015620000dc573d5f803e3d5ffd5b506001600160a01b0390811660e052600980549183166001600160a01b031992831681179091555f818152600a60209081526040808320805460ff199081166001908117909255600b90935290832080549092168117909155600c8054918201815582527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018054909316909117909155620001799086620001b2565b50620001a67f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92986620001b2565b505050505050620002f4565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1662000255575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556200020c3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000258565b505f5b92915050565b611003806200534a83390190565b80516001600160a01b038116811462000283575f80fd5b919050565b5f805f805f60a086880312156200029d575f80fd5b620002a8866200026c565b9450620002b8602087016200026c565b9350620002c8604087016200026c565b9250620002d8606087016200026c565b9150620002e8608087016200026c565b90509295509295909350565b60805160a05160c05160e051614fab6200039f5f395f818161034901528181611a31015261378601525f818161050d0152818161330f0152818161333f01528181613c8d0152613d0f01525f818161057c01528181610ca701528181613a1301528181613a4c01528181613b3801528181613c200152613c5901525f818161030a01528181611f710152818161385f015281816138e401528181613e710152613f190152614fab5ff3fe608060405234801561000f575f80fd5b5060043610610297575f3560e01c80637cd0814b11610161578063c2d22079116100ca578063ef9d10d011610084578063ef9d10d01461074f578063f23a6e6114610758578063f4959136146105b1578063f5b541a614610777578063f776449a1461079e578063fc6e33ee1461070c575f80fd5b8063c2d22079146106cd578063c33f59d3146106fd578063cfd1a2eb1461070c578063d547741f14610716578063d7226ca914610729578063d7f18b0a1461073c575f80fd5b8063a217fddf1161011b578063a217fddf1461061e578063aa92938014610625578063ad35efd414610638578063b29d3b0914610658578063b671e48914610682578063bc197c8114610695575f80fd5b80637cd0814b146105b1578063817a4da8146105bc57806391d14854146105c657806395e4a934146105d957806397a9e34a146105ec5780639b28cca91461060b575f80fd5b8063328e93b511610203578063573e3111116101bd578063573e3111146105085780635bf56bc41461052f5780636494e78d146105425780636cd712b814610555578063791b98bc146105775780637b9e618d1461059e575f80fd5b8063328e93b51461040957806336568abe1461049b578063379607f5146104ae57806337b0f16c146104c15780633d81402e146104e3578063440d53c8146104ff575f80fd5b80632373109911610254578063237310991461038c578063248a9ca3146103a1578063249d39e9146103d15780632eee7105146103da5780632f2ff15d146103e35780633049efb6146103f6575f80fd5b806301ffc9a71461029b578063093112e0146102c3578063120aa877146102d85780631c0edff2146103055780631d0bdcc6146103445780631d60ff9e1461036b575b5f80fd5b6102ae6102a9366004614137565b6107b1565b60405190151581526020015b60405180910390f35b6102cb6107c1565b6040516102ba919061415e565b6102ae6102e63660046141be565b600660209081525f928352604080842090915290825290205460ff1681565b61032c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ba565b61032c7f000000000000000000000000000000000000000000000000000000000000000081565b61037e6103793660046141ec565b610821565b6040516102ba929190614250565b61039f61039a3660046141ec565b610948565b005b6103c36103af3660046141ec565b5f9081526020819052604090206001015490565b6040519081526020016102ba565b6103c361271081565b6103c361138881565b61039f6103f13660046141be565b610b60565b61039f6104043660046141be565b610b8a565b6104866104173660046141ec565b60046020525f908152604090208054600182015460028301546003909301549192909163ffffffff80821691640100000000810461ffff169166010000000000008204811691600160501b810490911690600160701b81046001600160401b031690600160b01b900460ff1689565b6040516102ba999897969594939291906142a5565b61039f6104a93660046141be565b610d45565b61039f6104bc3660046141ec565b610d7d565b6102ae6104cf36600461430c565b600a6020525f908152604090205460ff1681565b6104ec6107d081565b60405161ffff90911681526020016102ba565b6104ec61271081565b61032c7f000000000000000000000000000000000000000000000000000000000000000081565b61039f61053d366004614327565b61100d565b61039f6105503660046141ec565b611128565b61055f6202a30081565b6040516001600160401b0390911681526020016102ba565b61032c7f000000000000000000000000000000000000000000000000000000000000000081565b60095461032c906001600160a01b031681565b61055f6312cc030081565b61055f6212750081565b6102ae6105d43660046141be565b6112cf565b6103c36105e73660046141ec565b6112f7565b6103c36105fa3660046141ec565b60076020525f908152604090205481565b61039f610619366004614354565b611383565b6103c35f81565b61039f6106333660046141ec565b6114c8565b61064b6106463660046141ec565b611679565b6040516102ba9190614390565b6103c36106663660046141be565b600560209081525f928352604080842090915290825290205481565b61039f6106903660046141ec565b611878565b6106b46106a33660046144db565b63bc197c8160e01b95945050505050565b6040516001600160e01b031990911681526020016102ba565b6106e06106db366004614581565b611940565b604080519283526001600160a01b039091166020830152016102ba565b6103c3670de0b6b3a764000081565b61055f62278d0081565b61039f6107243660046141be565b611b91565b6103c3610737366004614327565b611bb5565b61039f61074a3660046145b8565b611bda565b6103c360025481565b6106b46107663660046145ef565b63f23a6e6160e01b95945050505050565b6103c37f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b61039f6107ac3660046141ec565b611e0b565b5f6107bb82612229565b92915050565b6060600c80548060200260200160405190810160405280929190818152602001828054801561081757602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116107f9575b5050505050905090565b60086020525f908152604090208054819061083b90614652565b80601f016020809104026020016040519081016040528092919081815260200182805461086790614652565b80156108b25780601f10610889576101008083540402835291602001916108b2565b820191905f5260205f20905b81548152906001019060200180831161089557829003601f168201915b5050505050908060010180546108c790614652565b80601f01602080910402602001604051908101604052809291908181526020018280546108f390614652565b801561093e5780601f106109155761010080835404028352916020019161093e565b820191905f5260205f20905b81548152906001019060200180831161092157829003601f168201915b5050505050905082565b61095061224d565b5f81815260036020526040902080546001600160a01b03163314610987576040516393687c0b60e01b815260040160405180910390fd5b6004600e820154600160f01b900460ff1660048111156109a9576109a961427d565b146109c75760405163af6eefa360e01b815260040160405180910390fd5b600d810154600e8201545f916109f0916001600160401b03600160801b90920482169116614698565b9050806001600160401b0316421015610a1c576040516306aa937d60e31b815260040160405180910390fd5b5f610a306001600160401b038316426146bf565b600d8401549091505f90600160c01b90046001600160401b0316821015610a8757600d840154600b850154600160c01b9091046001600160401b031690610a789084906146d2565b610a8291906146e9565b610a8d565b83600b01545b5f8681526007602052604081205491925090610aa990836146bf565b9050805f03610acb5760405163162908e360e11b815260040160405180910390fd5b5f8681526007602052604081208054839290610ae8908490614708565b909155505060018501548554610b0b916001600160a01b03908116911683612277565b84546040518281526001600160a01b039091169087907f984dbf1510196bdd9923da997fc044035a93f8b7c0699cc9c1fc2a3716b117d5906020015b60405180910390a35050505050610b5d60018055565b50565b5f82815260208190526040902060010154610b7a81612380565b610b84838361238a565b50505050565b610b9261224d565b5f82815260036020526040902080546001600160a01b03163314610bc9576040516393687c0b60e01b815260040160405180910390fd5b80601101545f03610bed5760405163f76df81160e01b815260040160405180910390fd5b60128101546001600160401b0316421015610c315760128101546040516358b45dbd60e11b81526001600160401b0390911660048201526024015b60405180910390fd5b6001600160a01b038216610c585760405163d92e233d60e01b815260040160405180910390fd5b6011810180545f91829055604051637921219560e11b81523060048201526001600160a01b038581166024830152604482018390526001606483015260a0608483015260a482019390935290917f0000000000000000000000000000000000000000000000000000000000000000169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b5050505080836001600160a01b0316857fb928ad10a81de3ce27402bf33dc2f59c0c303aff4d83d63cc0df3f5bfb68254260405160405180910390a45050610d4160018055565b5050565b6001600160a01b0381163314610d6e5760405163334bd91960e11b815260040160405180910390fd5b610d788282612419565b505050565b610d8561224d565b5f8181526003602052604090206004600e820154600160f01b900460ff166004811115610db457610db461427d565b14158015610de257506003600e820154600160f01b900460ff166004811115610ddf57610ddf61427d565b14155b15610e005760405163af6eefa360e01b815260040160405180910390fd5b5f82815260066020908152604080832033845290915290205460ff1615610e3a57604051630c8d9eab60e31b815260040160405180910390fd5b5f82815260056020908152604080832033845290915281205490819003610e745760405163162908e360e11b815260040160405180910390fd5b5f8381526006602090815260408083203384529091529020805460ff191660011790556003600e830154600160f01b900460ff166004811115610eb957610eb961427d565b03610f21576002820154610ed7906001600160a01b03163383612277565b604080515f80825260208201849052818301529051339185917f6afafff6e7bfa6a9df156ed2f83de181dd33ba574392b8bfc844bd1e8e2069fb9181900360600190a35050611004565b5f82600a0154836013015483610f3791906146d2565b610f4191906146e9565b90505f610f4e82846146bf565b90505f8460130154856004015484610f6691906146d2565b610f7091906146e9565b90508115610f91576002850154610f91906001600160a01b03163384612277565b6001850154610faa906001600160a01b03163383612277565b82856014015f828254610fbd9190614708565b90915550506040805184815260208101849052908101829052339087907f6afafff6e7bfa6a9df156ed2f83de181dd33ba574392b8bfc844bd1e8e2069fb90606001610b47565b610b5d60018055565b61101561224d565b5f61101f83612482565b9050815f036110415760405163162908e360e11b815260040160405180910390fd5b5f838152600560209081526040808320338452909152812054611065908490614708565b9050816009015481111561108c5760405163591ba95360e11b815260040160405180910390fd5b5f8481526005602090815260408083203384529091528120829055600a830180548592906110bb908490614708565b909155505060028201546110da906001600160a01b031633308661258a565b600a820154604080518581526020810192909252339186917fca6bcaa3402e5bae2cc337846742aafe225dc032c6fa4209f24716e31ab31100910160405180910390a35050610d4160018055565b61113061224d565b5f81815260036020526040902080546001600160a01b03163314611167576040516393687c0b60e01b815260040160405180910390fd5b6003600e820154600160f01b900460ff1660048111156111895761118961427d565b146111a757604051637d7c293760e01b815260040160405180910390fd5b60018101546001600160a01b03163b5f036111d557604051631e9acf1760e31b815260040160405180910390fd5b60018101546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa15801561121d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611241919061471b565b9050805f0361126357604051631e9acf1760e31b815260040160405180910390fd5b60018201548254611281916001600160a01b03908116911683612277565b81546040518281526001600160a01b039091169084907f509b68c0ccab208272262a09f1b2e8cba58ea90d0e1c6d9af99c0cbe3667f12d9060200160405180910390a35050610b5d60018055565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8181526003602052604081206013810154820361131757505f92915050565b600281015461132e906001600160a01b031661269d565b61133990600a614812565b816004015461134891906146d2565b6113546012600a614812565b6305f5e100836013015461136891906146d2565b61137291906146d2565b61137c91906146e9565b9392505050565b5f61138d81612380565b6001600160a01b0383166113b45760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0383165f908152600b602052604090205460ff16611438576001600160a01b0383165f818152600b60205260408120805460ff19166001908117909155600c805491820181559091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b03191690911790555b6001600160a01b0383165f908152600a60205260409020805460ff1916831580159190911790915561148057600980546001600160a01b0319166001600160a01b0385161790555b604051821515815233906001600160a01b038516907fcdcbfd63617b707f6123d6a812f2591fc00e3c219d16442fc252895461d70d12906020015b60405180910390a3505050565b5f81815260036020526040902080546001600160a01b03166114fd5760405163ba809b8760e01b815260040160405180910390fd5b5f600e820154600160f01b900460ff16600481111561151e5761151e61427d565b1415801561154c57506001600e820154600160f01b900460ff1660048111156115495761154961427d565b14155b1561156a576040516391702baf60e01b815260040160405180910390fd5b600d810154600160401b90046001600160401b031642101561159f576040516332ae737560e11b815260040160405180910390fd5b806008015481600a01541061160a57600e8101805460ff60f01b1916600160f11b17905560158101805467ffffffffffffffff1916426001600160401b03161790556007810154600a820154106115fa578060070154611600565b80600a01545b6013820155611620565b600e8101805460ff60f01b1916600360f01b1790555b817fd1db0c1687f467704356d283fe48c7c57dbb98f5e6f0af15a1d051d3e0d7ba8a82600e01601e9054906101000a900460ff1683600a0154846013015460405161166d93929190614820565b60405180910390a25050565b5f81815260036020818152604080842081516103808101835281546001600160a01b039081168252600183015481169482019490945260028201548416928101929092529283015460608201526004808401546080830152600584015460a0830152600684015460c0830152600784015460e083015260088401546101008301526009840154610120830152600a840154610140830152600b840154610160830152600c840154610180830152600d8401546001600160401b038082166101a0850152600160401b80830482166101c0860152600160801b830482166101e0860152600160c01b9092048116610200850152600e86015490811661022085015290810461ffff16610240840152600160501b810490931661026083015284939192610280840191600160f01b90910460ff16908111156117bb576117bb61427d565b60048111156117cc576117cc61427d565b8152600f8201546001600160a01b03908116602083015260108301541660408201526011820154606082015260128201546001600160401b039081166080830152601383015460a0830152601483015460c083015260159092015490911660e090910152610280810151925090505f82600481111561184d5761184d61427d565b1480156118685750806101a001516001600160401b03164210155b1561187257600191505b50919050565b5f8181526003602052604090206002600e820154600160f01b900460ff1660048111156118a7576118a761427d565b146118c55760405163af6eefa360e01b815260040160405180910390fd5b5f8281526004602052604081205481036118e257621275006118e7565b62278d005b60158301546118ff91906001600160401b0316614698565b9050806001600160401b031642101561193657604051638599848d60e01b81526001600160401b0382166004820152602401610c28565b610d788383612772565b5f8061194b836127c1565b60025f81546119599061483f565b918290555060408051808201909152909250806119768580614857565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050908252506020908101906119be90860186614857565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093909452505084815260086020526040902082519091508190611a1090826148e4565b5060208201516001820190611a2590826148e4565b50506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169050630a0421b783611a638680614857565b611a706020890189614857565b89604001356040518763ffffffff1660e01b8152600401611a96969594939291906149c7565b602060405180830381865afa158015611ab1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad59190614a07565b9050611ae2828285612b72565b611aeb82612e42565b817f2d8fcf7970c4d1da05073d4c08d271cb4fc02625efffe33d3a7aaafaa9604d5e610120850135610140860135611b2b6101c088016101a08901614a36565b611b3d6101e089016101c08a01614a36565b611b4f6102408a016102208b0161430c565b6040805195865260208601949094526001600160401b0392831685850152911660608401526001600160a01b03166080830152519081900360a00190a2915091565b5f82815260208190526040902060010154611bab81612380565b610b848383612419565b5f82815260036020526040812060060154670de0b6b3a76400009061137290846146d2565b5f82815260036020526040902080546001600160a01b0316611c0f5760405163ba809b8760e01b815260040160405180910390fd5b6002600e820154600160f01b900460ff166004811115611c3157611c3161427d565b14611c4f5760405163af6eefa360e01b815260040160405180910390fd5b80546001600160a01b03163314611d2a57611c8a7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929336112cf565b611ca7576040516393687c0b60e01b815260040160405180910390fd5b60158101545f90611cc5906202a300906001600160401b0316614698565b9050806001600160401b0316421015611cfc57604051636af6911160e01b81526001600160401b0382166004820152602401610c28565b5f8481526004602052604090205415611d28576040516393687c0b60e01b815260040160405180910390fd5b505b611d35838284613104565b5f8381526004602052604090208290611d4e8282614ad1565b50339050837ffd0680e7577d70ccf51c9b7c99bf2d9fb8f187877978c2f7f494462be1c95763843560208601356040870135611d9060a0890160808a01614bf5565b611da060c08a0160a08b01614c10565b611db060e08b0160c08c01614c10565b611dc16101008c0160e08d01614a36565b6040805197885260208801969096529486019390935261ffff909116606085015263ffffffff90811660808501521660a08301526001600160401b031660c082015260e0016114bb565b611e1361224d565b5f8181526003602052604090206002600e820154600160f01b900460ff166004811115611e4257611e4261427d565b14611e605760405163af6eefa360e01b815260040160405180910390fd5b5f82815260046020908152604080832081516101208101835281548152600182015493810193909352600281015491830191909152600381015463ffffffff8082166060850152640100000000820461ffff16608085015266010000000000008204811660a0850152600160501b82041660c0840152600160701b81046001600160401b031660e0840152610100830190600160b01b900460ff168015611f0957611f0961427d565b8015611f1757611f1761427d565b90525080519091505f03611f3e57604051630d956e1760e21b815260040160405180910390fd5b6001820154600283015460405163e6a4390560e01b81526001600160a01b03928316600482015290821660248201525f917f0000000000000000000000000000000000000000000000000000000000000000169063e6a4390590604401602060405180830381865afa158015611fb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fda9190614a07565b6001600160a01b031614611ff957611ff28383612772565b5050611004565b6120038383613629565b600e82015460138301545f916127109161202891600160401b900461ffff16906146d2565b61203291906146e9565b60058401549091505f6120458585613834565b600186015460028701549192505f9161206a916001600160a01b0390811691166138e1565b90505f61207a87878487896139fd565b6001880154600289015491925061209e916001600160a01b03918216911688613c8b565b8654604051637d1fd0cb60e11b81526001600160a01b0391821660048201529083169063fa3fa196906024015f604051808303815f87803b1580156120e1575f80fd5b505af11580156120f3573d5f803e3d5ffd5b505050505f8660e00151426121089190614698565b600f890180546001600160a01b038781166001600160a01b03199283161790925560108b01805492871692909116919091179055601189018390556012890180546001600160401b0383811667ffffffffffffffff1990921691909117909155600e8a0180544290921667ffffffffffffffff60ff60f01b011990921691909117600160f21b179055905061219d8887613d6d565b60018801546013890154604080516001600160a01b038781168252602082018790529181019290925260608201899052608082018890526001600160401b03841660a08301528681169216908b907f756ce647db2345a78fcf15383ed8fd77d5a47979d02728972898df6bdfc39b9b9060c00160405180910390a45050505050505050610b5d60018055565b5f6001600160e01b03198216630271189760e51b14806107bb57506107bb82613de5565b60026001540361227057604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916122d29190614c2b565b5f604051808303815f865af19150503d805f811461230b576040519150601f19603f3d011682016040523d82523d5f602084013e612310565b606091505b5091509150816123235761232381613e19565b8180156123485750805115806123485750808060200190518101906123489190614c46565b6123795760405162461bcd60e51b81526020600482015260026024820152612a2360f11b6044820152606401610c28565b5050505050565b610b5d8133613e2c565b5f61239583836112cf565b612412575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556123ca3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016107bb565b505f6107bb565b5f61242483836112cf565b15612412575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016107bb565b5f81815260036020526040902080546001600160a01b03166124b75760405163162908e360e11b815260040160405180910390fd5b5f600e820154600160f01b900460ff1660048111156124d8576124d861427d565b1480156124f25750600d8101546001600160401b03164210155b1561250d57600e8101805460ff60f01b1916600160f01b1790555b6001600e820154600160f01b900460ff16600481111561252f5761252f61427d565b1415806125485750600d8101546001600160401b031642105b806125675750600d810154600160401b90046001600160401b03164210155b156125855760405163baf13b3f60e01b815260040160405180910390fd5b919050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f928392908816916125ed9190614c2b565b5f604051808303815f865af19150503d805f8114612626576040519150601f19603f3d011682016040523d82523d5f602084013e61262b565b606091505b50915091508161263e5761263e81613e19565b8180156126635750805115806126635750808060200190518101906126639190614c46565b6126955760405162461bcd60e51b81526020600482015260036024820152622a232360e91b6044820152606401610c28565b505050505050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f91829182916001600160a01b038616916126e29190614c2b565b5f60405180830381855afa9150503d805f811461271a576040519150601f19603f3d011682016040523d82523d5f602084013e61271f565b606091505b5091509150816127565760405162461bcd60e51b8152602060048201526002602482015261222360f11b6044820152606401610c28565b8080602001905181019061276a9190614c61565b949350505050565b600e8101805460ff60f01b1916600360f01b179055600a81015460405183917fd1db0c1687f467704356d283fe48c7c57dbb98f5e6f0af15a1d051d3e0d7ba8a9161166d916003915f90614820565b5f6127d46102208301610200840161430c565b6001600160a01b0316148061280257505f6127f76102408301610220840161430c565b6001600160a01b0316145b156128205760405163d92e233d60e01b815260040160405180910390fd5b600a5f6128356102208401610200850161430c565b6001600160a01b0316815260208101919091526040015f205460ff1661286e57604051630f86180360e41b815260040160405180910390fd5b6128886128836102208301610200840161430c565b613e65565b6040810135158061289b57506060810135155b806128a857506080810135155b806128b5575060a0810135155b156128d35760405163162908e360e11b815260040160405180910390fd5b6040810135608082013560608301356128f6610140850135610120860135614708565b6129009190614708565b61290a9190614708565b1115612929576040516305d7ba1960e11b815260040160405180910390fd5b60c0810135158061293c575060e0810135155b8061294e57508060c001358160e00135115b1561296c57604051630f103dff60e21b815260040160405180910390fd5b610100810135158061299757504261298c61018083016101608401614a36565b6001600160401b0316105b806129d657506129af61018082016101608301614a36565b6001600160401b03166129ca6101a083016101808401614a36565b6001600160401b031611155b80612a19575062278d006129f261018083016101608401614a36565b612a046101a084016101808501614a36565b612a0e9190614c81565b6001600160401b0316115b15612a3757604051631b742d9d60e31b815260040160405180910390fd5b6107d0612a4c61020083016101e08401614bf5565b61ffff161080612a725750612710612a6c61020083016101e08401614bf5565b61ffff16115b15612a905760405163d891227360e01b815260040160405180910390fd5b612aa26101e082016101c08301614a36565b6001600160401b03161580612ad457506312cc0300612ac96101e083016101c08401614a36565b6001600160401b0316115b80612b125750612aec6101e082016101c08301614a36565b6001600160401b0316612b076101c083016101a08401614a36565b6001600160401b0316115b15612b3057604051631b742d9d60e31b815260040160405180910390fd5b612b3a8180614857565b15905080612b545750612b506020820182614857565b1590505b15610b5d5760405163162908e360e11b815260040160405180910390fd5b5f838152600360208181526040808420600490925283208381556001808201859055600282019490945590910180546001600160b81b03191690558054336001600160a01b031991821617825591810180549092166001600160a01b03851617909155612be76102208301610200840161430c565b6002820180546001600160a01b0319166001600160a01b039290921691909117905560408201356003820155606082013560048201556080820135600582015560a0820135600682015560c0820135600782015560e082013560088201556101008201356009820155610120820135600b820155610140820135600c820155612c7861018083016101608401614a36565b600d8201805467ffffffffffffffff19166001600160401b0392909216919091179055612cad6101a083016101808401614a36565b600d820180546001600160401b0392909216600160401b026fffffffffffffffff000000000000000019909216919091179055612cf26101c083016101a08401614a36565b600d820180546001600160401b0392909216600160801b0267ffffffffffffffff60801b19909216919091179055612d326101e083016101c08401614a36565b600d820180546001600160401b0392909216600160c01b026001600160c01b03909216919091179055612d6d61020083016101e08401614bf5565b600e8201805461ffff92909216600160401b0269ffff000000000000000019909216919091179055612da76102408301610220840161430c565b600e820180546001600160a01b0392909216600160501b027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90921691909117905542612dfc61018084016101608501614a36565b6001600160401b031614612e10575f612e13565b60015b600e8201805460ff60f01b1916600160f01b836004811115612e3757612e3761427d565b021790555050505050565b5f81815260036020818152604080842081516103808101835281546001600160a01b039081168252600183015481169482019490945260028201548416928101929092529283015460608201526004808401546080830152600584015460a0830152600684015460c0830152600784015460e083015260088401546101008301526009840154610120830152600a840154610140830152600b840154610160830152600c840154610180830152600d8401546001600160401b038082166101a0850152600160401b80830482166101c0860152600160801b830482166101e0860152600160c01b9092048116610200850152600e86015490811661022085015290810461ffff16610240840152600160501b8104909316610260830152909291610280840191600160f01b90910460ff1690811115612f8357612f8361427d565b6004811115612f9457612f9461427d565b8152600f8201546001600160a01b0390811660208084019190915260108401548216604080850191909152601185015460608086019190915260128601546001600160401b03908116608080880191909152601388015460a080890191909152601489015460c0808a019190915260159099015490921660e09788015288519489015189850151938a0151918a0151928a0151988a0151978a01516101008b01516101208c01516101a08d01516101c08e01516102408f015199519e9f50998b169d94909a169b8f9b7f76df9897082cd5ab6e0e6539e75f96ea6bd96b00a34f6cda10503284401942439b6130f89b999a979992979196909291906001600160a01b039b909b168b5260208b019990995260408a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526001600160401b039081166101008501521661012083015261ffff166101408201526101600190565b60405180910390a45050565b8035158061311457506020810135155b80613126575080602001358160400135105b8061314a57506305f5e1006131416080830160608401614c10565b63ffffffff1610155b1561316857604051630d956e1760e21b815260040160405180910390fd5b61317860a0820160808301614bf5565b61ffff16158061319c575061271061319660a0830160808401614bf5565b61ffff16115b806131bf57506305f5e1006131b760c0830160a08401614c10565b63ffffffff16115b806131e257506305f5e1006131da60e0830160c08401614c10565b63ffffffff16115b1561320057604051630d956e1760e21b815260040160405180910390fd5b613211610100820160e08301614a36565b6001600160401b0316158061324257506312cc0300613237610100830160e08401614a36565b6001600160401b0316115b1561326057604051630d956e1760e21b815260040160405180910390fd5b6002820154613277906001600160a01b0316613e65565b5f613281846112f7565b90505f612710613293611388826146bf565b61329d90846146d2565b6132a791906146e9565b90505f6127106132b961138882614708565b6132c390856146d2565b6132cd91906146e9565b905083358211806132de5750833581105b1561330d5760405163283d69a360e01b8152843560048201526024810183905260448101829052606401610c28565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615612695575f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663926a00096040518163ffffffff1660e01b8152600401602060405180830381865afa15801561339c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133c09190614ca1565b61ffff166133d460a0870160808801614bf5565b61ffff1610806134595750806001600160a01b0316634e3922d56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561341b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061343f9190614ca1565b61ffff1661345360a0870160808801614bf5565b61ffff16115b1561347757604051630d956e1760e21b815260040160405180910390fd5b5f816001600160a01b03166363225efc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134d89190614cbc565b90505f826001600160a01b03166384a3c3086040518163ffffffff1660e01b8152600401602060405180830381865afa158015613517573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061353b9190614cbc565b905061354d60c0880160a08901614c10565b63ffffffff161580159061359f575063ffffffff821661357360c0890160a08a01614c10565b63ffffffff16108061359f575063ffffffff811661359760c0890160a08a01614c10565b63ffffffff16115b156135bd57604051630d956e1760e21b815260040160405180910390fd5b63ffffffff82166135d460e0890160c08a01614c10565b63ffffffff161080613600575063ffffffff81166135f860e0890160c08a01614c10565b63ffffffff16115b1561361e57604051630d956e1760e21b815260040160405180910390fd5b505050505050505050565b5f82815260086020526040808220815180830190925280548290829061364e90614652565b80601f016020809104026020016040519081016040528092919081815260200182805461367a90614652565b80156136c55780601f1061369c576101008083540402835291602001916136c5565b820191905f5260205f20905b8154815290600101906020018083116136a857829003601f168201915b505050505081526020016001820180546136de90614652565b80601f016020809104026020016040519081016040528092919081815260200182805461370a90614652565b80156137555780601f1061372c57610100808354040283529160200191613755565b820191905f5260205f20905b81548152906001019060200180831161373857829003601f168201915b505050919092525050815160208301516003860154604051631010947960e11b81529495505f946001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016945063202128f2936137c1938a939192909190600401614cd7565b6020604051808303815f875af11580156137dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138019190614a07565b60018401549091506001600160a01b03808316911614610b845760405163162908e360e11b815260040160405180910390fd5b6001820154600283015482516101008401516040516331a5a4d360e21b81525f946001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169563c696934c956138a1959383169491909216924291899190600401614d13565b6020604051808303815f875af11580156138bd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137c9190614a07565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634219dc406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561393e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139629190614a07565b60405163298d501f60e11b81526001600160a01b0385811660048301528481166024830152919091169063531aa03e90604401602060405180830381865afa1580156139b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139d49190614a07565b90506001600160a01b0381166107bb57604051630d956e1760e21b815260040160405180910390fd5b60018501545f90613a38906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000085614035565b6002860154613a71906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084614035565b6040805160018082528183019092525f916020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905086835f81518110613b0b57613b0b614d59565b60200260200101818152505085825f81518110613b2a57613b2a614d59565b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634629eefe6040518060e001604052808b6001600160a01b03168152602001878152602001868152602001858152602001848152602001306001600160a01b03168152602001428152506040518263ffffffff1660e01b8152600401613bc69190614e11565b5f604051808303815f875af1158015613be1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052613c089190810190614eca565b5060018b0154909550613c45906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000005f614035565b60028a0154613c7e906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000005f614035565b5050505095945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615610d7857608081015160a082015160c0830151604051635e8aa24960e01b81526001600160a01b038781166004830152868116602483015261ffff909416604482015263ffffffff9283166064820152911660848201527f000000000000000000000000000000000000000000000000000000000000000090911690635e8aa2499060a4015f604051808303815f87803b158015613d52575f80fd5b505af1158015613d64573d5f803e3d5ffd5b50505050505050565b600c82015415613da4576001820154600e830154600c840154613da4926001600160a01b0390811692600160501b90041690612277565b5f818360130154613db591906146bf565b90508015610d78576002830154600e840154610d78916001600160a01b0390811691600160501b90041683612277565b5f6001600160e01b03198216637965db0b60e01b14806107bb57506301ffc9a760e01b6001600160e01b03198316146107bb565b80515f03613e245750565b805160208201fd5b613e3682826112cf565b610d415760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610c28565b5f6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634219dc406040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ecb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eef9190614a07565b6001600160a01b031603613f1657604051630f86180360e41b815260040160405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b03166392cab4936040518163ffffffff1660e01b8152600401602060405180830381865afa158015613f76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f9a919061471b565b1580156140175750806001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fde573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140029190614a07565b6001600160a01b0316826001600160a01b0316145b15610d4157604051630f86180360e41b815260040160405180910390fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f928392908716916140909190614c2b565b5f604051808303815f865af19150503d805f81146140c9576040519150601f19603f3d011682016040523d82523d5f602084013e6140ce565b606091505b5091509150816140e1576140e181613e19565b8180156141065750805115806141065750808060200190518101906141069190614c46565b6123795760405162461bcd60e51b815260206004820152600260248201526120a360f11b6044820152606401610c28565b5f60208284031215614147575f80fd5b81356001600160e01b03198116811461137c575f80fd5b602080825282518282018190525f9190848201906040850190845b8181101561419e5783516001600160a01b031683529284019291840191600101614179565b50909695505050505050565b6001600160a01b0381168114610b5d575f80fd5b5f80604083850312156141cf575f80fd5b8235915060208301356141e1816141aa565b809150509250929050565b5f602082840312156141fc575f80fd5b5035919050565b5f5b8381101561421d578181015183820152602001614205565b50505f910152565b5f815180845261423c816020860160208601614203565b601f01601f19169290920160200192915050565b604081525f6142626040830185614225565b82810360208401526142748185614225565b95945050505050565b634e487b7160e01b5f52602160045260245ffd5b600181106142a1576142a161427d565b9052565b898152602081018990526040810188905263ffffffff878116606083015261ffff8716608083015285811660a0830152841660c08201526001600160401b03831660e082015261012081016142fe610100830184614291565b9a9950505050505050505050565b5f6020828403121561431c575f80fd5b813561137c816141aa565b5f8060408385031215614338575f80fd5b50508035926020909101359150565b8015158114610b5d575f80fd5b5f8060408385031215614365575f80fd5b8235614370816141aa565b915060208301356141e181614347565b600581106142a1576142a161427d565b602081016107bb8284614380565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156143da576143da61439e565b604052919050565b5f6001600160401b038211156143fa576143fa61439e565b5060051b60200190565b5f82601f830112614413575f80fd5b81356020614428614423836143e2565b6143b2565b8083825260208201915060208460051b870101935086841115614449575f80fd5b602086015b84811015614465578035835291830191830161444e565b509695505050505050565b5f82601f83011261447f575f80fd5b81356001600160401b038111156144985761449861439e565b6144ab601f8201601f19166020016143b2565b8181528460208386010111156144bf575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a086880312156144ef575f80fd5b85356144fa816141aa565b9450602086013561450a816141aa565b935060408601356001600160401b0380821115614525575f80fd5b61453189838a01614404565b94506060880135915080821115614546575f80fd5b61455289838a01614404565b93506080880135915080821115614567575f80fd5b5061457488828901614470565b9150509295509295909350565b5f60208284031215614591575f80fd5b81356001600160401b038111156145a6575f80fd5b8201610240818503121561137c575f80fd5b5f808284036101408112156145cb575f80fd5b83359250610120601f19820112156145e1575f80fd5b506020830190509250929050565b5f805f805f60a08688031215614603575f80fd5b853561460e816141aa565b9450602086013561461e816141aa565b9350604086013592506060860135915060808601356001600160401b03811115614646575f80fd5b61457488828901614470565b600181811c9082168061466657607f821691505b60208210810361187257634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190808211156146b8576146b8614684565b5092915050565b818103818111156107bb576107bb614684565b80820281158282048414176107bb576107bb614684565b5f8261470357634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156107bb576107bb614684565b5f6020828403121561472b575f80fd5b5051919050565b600181815b8085111561476c57815f190482111561475257614752614684565b8085161561475f57918102915b93841c9390800290614737565b509250929050565b5f82614782575060016107bb565b8161478e57505f6107bb565b81600181146147a457600281146147ae576147ca565b60019150506107bb565b60ff8411156147bf576147bf614684565b50506001821b6107bb565b5060208310610133831016604e8410600b84101617156147ed575081810a6107bb565b6147f78383614732565b805f190482111561480a5761480a614684565b029392505050565b5f61137c60ff841683614774565b6060810161482e8286614380565b602082019390935260400152919050565b5f6001820161485057614850614684565b5060010190565b5f808335601e1984360301811261486c575f80fd5b8301803591506001600160401b03821115614885575f80fd5b602001915036819003821315614899575f80fd5b9250929050565b601f821115610d7857805f5260205f20601f840160051c810160208510156148c55750805b601f840160051c820191505b81811015612379575f81556001016148d1565b81516001600160401b038111156148fd576148fd61439e565b6149118161490b8454614652565b846148a0565b602080601f831160018114614944575f841561492d5750858301515b5f19600386901b1c1916600185901b178555612695565b5f85815260208120601f198616915b8281101561497257888601518255948401946001909101908401614953565b508582101561498f57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b868152608060208201525f6149e060808301878961499f565b82810360408401526149f381868861499f565b915050826060830152979650505050505050565b5f60208284031215614a17575f80fd5b815161137c816141aa565b6001600160401b0381168114610b5d575f80fd5b5f60208284031215614a46575f80fd5b813561137c81614a22565b63ffffffff81168114610b5d575f80fd5b5f81356107bb81614a51565b61ffff81168114610b5d575f80fd5b5f81356107bb81614a6e565b5f81356107bb81614a22565b5f8135600181106107bb575f80fd5b60018210614ab457614ab461427d565b805460ff60b01b191660b09290921b60ff60b01b16919091179055565b813581556020820135600182015560408201356002820155600381016060830135614afb81614a51565b63ffffffff811663ffffffff1983541617825550614b3c614b1e60808501614a7d565b825465ffff00000000191660209190911b65ffff0000000016178255565b614b71614b4b60a08501614a62565b825469ffffffff000000000000191660309190911b69ffffffff00000000000016178255565b614ba4614b8060c08501614a62565b82805463ffffffff60501b191660509290921b63ffffffff60501b16919091179055565b614bdf614bb360e08501614a89565b82805467ffffffffffffffff60701b191660709290921b67ffffffffffffffff60701b16919091179055565b610d78614bef6101008501614a95565b82614aa4565b5f60208284031215614c05575f80fd5b813561137c81614a6e565b5f60208284031215614c20575f80fd5b813561137c81614a51565b5f8251614c3c818460208701614203565b9190910192915050565b5f60208284031215614c56575f80fd5b815161137c81614347565b5f60208284031215614c71575f80fd5b815160ff8116811461137c575f80fd5b6001600160401b038281168282160390808211156146b8576146b8614684565b5f60208284031215614cb1575f80fd5b815161137c81614a6e565b5f60208284031215614ccc575f80fd5b815161137c81614a51565b848152608060208201525f614cef6080830186614225565b8281036040840152614d018186614225565b91505082606083015295945050505050565b6001600160a01b038781168252868116602083015260408201869052606082018590528316608082015260c08101614d4e60a0830184614291565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015614d9f57815160ff1687529582019590820190600101614d80565b509495945050505050565b5f815180845260208085019450602084015f5b83811015614d9f57815187529582019590820190600101614dbd565b5f815180845260208085019450602084015f5b83811015614d9f5781516001600160801b031687529582019590820190600101614dec565b602080825282516001600160a01b03168282015282015160e060408301525f90614e3f610100840182614d6d565b90506040840151601f1980858403016060860152614e5d8383614daa565b92506060860151915080858403016080860152614e7a8383614daa565b925060808601519150808584030160a086015250614e988282614dd9565b91505060a0840151614eb560c08501826001600160a01b03169052565b5060c084015160e08401528091505092915050565b5f8060408385031215614edb575f80fd5b825191506020808401516001600160401b03811115614ef8575f80fd5b8401601f81018613614f08575f80fd5b8051614f16614423826143e2565b81815260059190911b82018301908381019088831115614f34575f80fd5b928401925b82841015614f665783516001600160801b0381168114614f57575f80fd5b82529284019290840190614f39565b8095505050505050925092905056fea2646970667358221220ff56f7d753b4c18179c0dca1b661bec7db5edbbe35ffe89f2647c1f7f73c209e64736f6c6343000818003360a060405234801561000f575f80fd5b5033608052608051610fc461003f5f395f8181608a0152818160e30152818161016301526101a90152610fc45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80630a0421b714610043578063202128f214610072578063fdea8e0b14610085575b5f80fd5b6100566100513660046102a3565b6100ac565b6040516001600160a01b03909116815260200160405180910390f35b6100566100803660046102a3565b610157565b6100567f000000000000000000000000000000000000000000000000000000000000000081565b5f80604051806020016100be90610251565b601f1982820381018352601f90910116604081905261010b90899089908990899089907f000000000000000000000000000000000000000000000000000000000000000090602001610347565b60408051601f198184030181529082905261012992916020016103be565b604051602081830303815290604052905061014b88828051906020012061020c565b98975050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a1576040516318852ca560e11b815260040160405180910390fd5b8686868686867f00000000000000000000000000000000000000000000000000000000000000006040516101d490610251565b6101e396959493929190610347565b8190604051809103905ff5905080158015610200573d5f803e3d5ffd5b50979650505050505050565b5f61021883833061021f565b9392505050565b5f604051836040820152846020820152828152600b8101905060ff8153605590206001600160a01b0316949350505050565b610bb4806103db83390190565b5f8083601f84011261026e575f80fd5b50813567ffffffffffffffff811115610285575f80fd5b60208301915083602082850101111561029c575f80fd5b9250929050565b5f805f805f80608087890312156102b8575f80fd5b86359550602087013567ffffffffffffffff808211156102d6575f80fd5b6102e28a838b0161025e565b909750955060408901359150808211156102fa575f80fd5b5061030789828a0161025e565b979a9699509497949695606090950135949350505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b608081525f61035a60808301888a61031f565b828103602084015261036d81878961031f565b604084019590955250506001600160a01b0391909116606090910152949350505050565b5f81515f5b818110156103b05760208185018101518683015201610396565b505f93019283525090919050565b5f6103d26103cc8386610391565b84610391565b94935050505056fe608060405234801562000010575f80fd5b5060405162000bb438038062000bb48339810160408190526200003391620002a1565b83836003620000438382620003ba565b506004620000528282620003ba565b5050506200006781836200007160201b60201c565b50505050620004ac565b6001600160a01b038216620000a05760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b620000ad5f8383620000b1565b5050565b6001600160a01b038316620000df578060025f828254620000d3919062000486565b90915550620001519050565b6001600160a01b0383165f9081526020819052604090205481811015620001335760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000097565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166200016f576002805482900390556200018d565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001d391815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000204575f80fd5b81516001600160401b0380821115620002215762000221620001e0565b604051601f8301601f19908116603f011681019082821181831017156200024c576200024c620001e0565b816040528381526020925086602085880101111562000269575f80fd5b5f91505b838210156200028c57858201830151818301840152908201906200026d565b5f602085830101528094505050505092915050565b5f805f8060808587031215620002b5575f80fd5b84516001600160401b0380821115620002cc575f80fd5b620002da88838901620001f4565b95506020870151915080821115620002f0575f80fd5b50620002ff87828801620001f4565b60408701516060880151919550935090506001600160a01b038116811462000325575f80fd5b939692955090935050565b600181811c908216806200034557607f821691505b6020821081036200036457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003b557805f5260205f20601f840160051c81016020851015620003915750805b601f840160051c820191505b81811015620003b2575f81556001016200039d565b50505b505050565b81516001600160401b03811115620003d657620003d6620001e0565b620003ee81620003e7845462000330565b846200036a565b602080601f83116001811462000424575f84156200040c5750858301515b5f19600386901b1c1916600185901b1785556200047e565b5f85815260208120601f198616915b82811015620004545788860151825594840194600190910190840162000433565b50858210156200047257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b80820180821115620004a657634e487b7160e01b5f52601160045260245ffd5b92915050565b6106fa80620004ba5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461010957806395d89b4114610131578063a9059cbb14610139578063dd62ed3e1461014c575f80fd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f80fd5b61009c610184565b6040516100a99190610554565b60405180910390f35b6100c56100c03660046105bb565b610214565b60405190151581526020016100a9565b6002545b6040519081526020016100a9565b6100c56100f53660046105e3565b61022d565b604051601281526020016100a9565b6100d961011736600461061c565b6001600160a01b03165f9081526020819052604090205490565b61009c610250565b6100c56101473660046105bb565b61025f565b6100d961015a36600461063c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101939061066d565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf9061066d565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b5050505050905090565b5f3361022181858561026c565b60019150505b92915050565b5f3361023a85828561027e565b6102458585856102ff565b506001949350505050565b6060600480546101939061066d565b5f336102218185856102ff565b610279838383600161035c565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156102f957818110156102eb57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6102f984848484035f61035c565b50505050565b6001600160a01b03831661032857604051634b637e8f60e11b81525f60048201526024016102e2565b6001600160a01b0382166103515760405163ec442f0560e01b81525f60048201526024016102e2565b61027983838361042e565b6001600160a01b0384166103855760405163e602df0560e01b81525f60048201526024016102e2565b6001600160a01b0383166103ae57604051634a1406b160e11b81525f60048201526024016102e2565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156102f957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161042091815260200190565b60405180910390a350505050565b6001600160a01b038316610458578060025f82825461044d91906106a5565b909155506104c89050565b6001600160a01b0383165f90815260208190526040902054818110156104aa5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102e2565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166104e457600280548290039055610502565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161054791815260200190565b60405180910390a3505050565b5f602080835283518060208501525f5b8181101561058057858101830151858201604001528201610564565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105b6575f80fd5b919050565b5f80604083850312156105cc575f80fd5b6105d5836105a0565b946020939093013593505050565b5f805f606084860312156105f5575f80fd5b6105fe846105a0565b925061060c602085016105a0565b9150604084013590509250925092565b5f6020828403121561062c575f80fd5b610635826105a0565b9392505050565b5f806040838503121561064d575f80fd5b610656836105a0565b9150610664602084016105a0565b90509250929050565b600181811c9082168061068157607f821691505b60208210810361069f57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561022757634e487b7160e01b5f52601160045260245ffdfea264697066735822122001a75a72ddde87b828357f138ab84d4a40f6048e22fa06ac6dcd85ee4170207a64736f6c63430008180033a2646970667358221220ea1588dba5ce3d11dcaa52826d93bcdf32084e35f31620763279d915c04b70be64736f6c63430008180033000000000000000000000000f8fb4672170607c95663f4cc674ddb1386b7cfe0000000000000000000000000925e8d5ec0b8c417bcadbeae4d7e7f22376003fc0000000000000000000000009b317722f796e407c7924e209ff6cebdfe86283b000000000000000000000000b99c6da42a052ade8dfde797f1134387d1c7e20e00000000000000000000000041f21e381a70e404854d1f95788208bbc6a8cd72c001a08b40115d5bf3965b15d70719c6de052c35fb44ff985199bb80c1363db66d5fd8a0478380a87337d823a3d2c10dca85741e94ef06fc228ea9467e8689d0aeafda0b