Zenith EVM Explorer
K
DashboardBlocksTransactionsLinked TransactionsContractsTokensFaucetStatsAPI
DashboardBlocksTxsLinkedContracts
Linked Transactions
PreviousNext

Linked Transaction

Full lifecycle view

Linked Transaction ID0x2c01be79...e5117c5b
Block Published
Lifecycle Waterfall
Canton EVM External call
EVM block settled on CantonGateway · Gateway_FinalizeBlock
0ms
250ms
500ms
750ms
1.0s
1.2s

Block planned

Producer plans block #45159 with tx 0x2c01be…117c5b (block timestamp)
—

Gateway_FinalizeBlock

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

986ms
986ms

Committed on Canton

Participant commits update 1220242bac…2201ae
—

Imported to the execution layers

Importer applies block #45159 from GatewayHead
—
0ms
250ms
500ms
750ms
1.0s
1.2s
EVM
Canton
External call
Total
Complete986ms
986ms

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

986ms

Block → Canton commit

986ms

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 #45159 with tx 0x2c01be…117c5b (block timestamp)

Nov 6, 07:11:44

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 1220242bac…2201ae

Nov 6, 07:11:44

Update: 1220242bac…2201ae
Command: gw-64c9a5594fd…bd8291

Imported to the execution layers

Importer applies block #45159 from GatewayHead

Operation Details
Correlation ID0x2c01be79...e5117c5bCanton Update122024...01aeEVM Tx0x2c01...7c5b
EVM BlockNov 6, 2026, 07:11:44 UTC(planned by the producer)Canton CommitNov 6, 2026, 07:11:44 UTC(Gateway_FinalizeBlock record time)
Settlement986ms
EVM Gas Used5,347,957 gasGas Price1.0000 GweiTransaction Fee0.0053 $ZTH
Technical Details
gateway Block Hash0x459d5d24e03986cf5defe2050dc46463489f0a9776251dc68e08b423613fc26b
gateway Block Number45159
Envelope (gateway-build-block)1
#2ext: zenith-evmfn: gateway-build-block0x2c01...7c5b
ToContract creationValue0 $ZTHMethodUnknown Function()Nonce
70
Block hash0x459d5d24e03986cf5defe2050dc46463489f0a9776251dc68e08b423613fc26b
Raw envelope hex
0x02f9601d830e4a2546843b9aca008477359400836a15988080b95fc1608060405234801561000f575f80fd5b50615fa3806200001e5f395ff3fe608060405234801561000f575f80fd5b506004361061024a575f3560e01c80638d3c100a11610140578063bc9e9734116100bf578063d11ce57c11610084578063d11ce57c1461057e578063d2b44302146105a0578063e14e6e81146105b3578063e1b5a223146105eb578063f816ea22146105fe578063fa3fa19614610611575f80fd5b8063bc9e973414610526578063c18b1d5e14610539578063c76cd69d1461054c578063c897202814610554578063c9d4623f1461056b575f80fd5b80639c7d0b43116101055780639c7d0b43146104db578063af640d0f146104ee578063b0b1eb38146104f7578063b62b143d1461050a578063ba4545b71461051d575f80fd5b80638d3c100a1461045457806392f6576e14610467578063979d3a4f14610471578063999b93af146104845780639c78d2f914610497575f80fd5b80635001f3b5116101cc5780637b93389e116101915780637b93389e146103e65780637e34cd3d1461040357806380168c5a1461040c578063872101b31461042e57806388c87e2514610441575f80fd5b80635001f3b51461036e5780635502c05b146103815780636564213e14610394578063791b98bc146103b9578063799dbe97146103cc575f80fd5b8063204f83f911610212578063204f83f9146102ec5780632906c1171461031d5780632dffd9101461032657806339f25d5c1461033b5780634c199bd81461035b575f80fd5b806302d05d3f1461024e578063092e469f1461027d57806309bcafd9146102a957806316343da4146102cb5780631c0825ee146102d6575b5f80fd5b5f54610260906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600f5461029490600160a01b900463ffffffff1681565b60405163ffffffff9091168152602001610274565b6102bc6102b73660046154aa565b610624565b604051610274939291906154c1565b6102946305f5e10081565b6102de61072c565b604051908152602001610274565b5f5461030590600160a01b90046001600160401b031681565b6040516001600160401b039091168152602001610274565b6102de600a5481565b6103396103343660046155d6565b61073a565b005b600c54600d54604051610274926001600160a01b0390811692169061560d565b61033961036936600461564b565b610a96565b600c54610260906001600160a01b031681565b61029461038f36600461568d565b610b78565b61039c610baa565b6040805163ffffffff938416815292909116602083015201610274565b601054610260906001600160a01b031681565b6103d4600881565b60405160ff9091168152602001610274565b6103ee610c41565b60408051928352602083019190915201610274565b6102de60095481565b61041f61041a3660046156e8565b610d51565b604051610274939291906157c6565b61033961043c3660046157ea565b611021565b6103ee61044f366004615864565b6110be565b6103ee6104623660046158a9565b6112a1565b610294622dc6c081565b61029461047f3660046158cc565b611352565b600d54610260906001600160a01b031681565b6104aa6104a53660046158cc565b61138c565b6040805163ffffffff909616865260208601949094529284019190915260608301521515608082015260a001610274565b6102de6104e93660046158e5565b6113ec565b6102de60085481565b6103ee610505366004615923565b611430565b61029461051836600461568d565b6115b3565b6102de600b5481565b6103ee6105343660046158cc565b6117c5565b600e54610260906001600160a01b031681565b6001546102de565b600f5461029490600160c01b900463ffffffff1681565b600f54610260906001600160a01b031681565b6103d461058c3660046154aa565b5f9081526007602052604090205460ff1690565b61039c6105ae3660046158cc565b611800565b6105c66105c136600461596f565b611878565b604080516001600160801b039094168452602084019290925290820152606001610274565b6103ee6105f93660046159cd565b611b46565b61033961060c366004615a12565b611dac565b61033961061f366004615a3c565b611e4b565b5f8181526007602052604081205460609190819060ff1661064481611ef7565b6001600160401b0381111561065b5761065b615a57565b60405190808252806020026020018201604052801561069457816020015b610681615427565b8152602001906001900390816106795790505b5093505f805b60015460ff821610156106ff576106b081611f25565b831660ff16156106ed576106c48782611f31565b86836106cf81615a7f565b9450815181106106e1576106e1615a97565b60200260200101819052505b806106f781615aab565b91505061069a565b5050505f9384525050600560205260409091205490916001600160801b0380831692600160801b90041690565b5f6107356121d8565b905090565b601054600160a01b900460ff16156107645760405162dc149f60e41b815260040160405180910390fd5b6010805460ff60a01b1916600160a01b179055803560085561078c6040820160208301615a3c565b600c80546001600160a01b0319166001600160a01b03929092169190911790556107bc6060820160408301615a3c565b600d80546001600160a01b0319166001600160a01b03929092169190911790556107ec6080820160608301615a3c565b600e80546001600160a01b0319166001600160a01b039290921691909117905561081c60a0820160808301615a3c565b600f80546001600160a01b0319166001600160a01b039290921691909117905561084c60c0820160a08301615a3c565b601080546001600160a01b0319166001600160a01b039290921691909117905561087c6080820160608301615a3c565b6001600160a01b031663dec5e35a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108db9190615ac9565b6009555f6108ef6080830160608401615a3c565b604051639c0e0bf160e01b81526305f5e1006004820152670de0b6b3a76400006024820152600160448201526001600160a01b039190911690639c0e0bf190606401602060405180830381865afa15801561094c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109709190615ac9565b9050805f036109a057604051630625f1b760e41b81525f6004820181905260248201526044015b60405180910390fd5b6010805460ff60e81b1916670de0b6b3a76400008310600160e81b908102919091179182905560ff9104166109e6576109e1670de0b6b3a764000082615af4565b6109f8565b6109f881670de0b6b3a7640000615af4565b601060156101000a8154816001600160401b0302191690836001600160401b03160217905550610a366305f5e100670de0b6b3a764000060016122d6565b610a4d6305f5e100670de0b6b3a76400005f6122d6565b610a92610a6060e0840160c08501615a3c565b610a71610100850160e08601615b07565b610a7f610100860186615b2d565b610a8d610120880188615b2d565b612394565b5050565b5f546001600160a01b03163314610ac25760405163c66f47bf60e01b8152336004820152602401610997565b6305f5e10063ffffffff82161015610af55760405163c672324760e01b815263ffffffff82166004820152602401610997565b8060018360ff1681548110610b0c57610b0c615a97565b5f91825260209182902060069190910201805467ffffffff000000001916600160201b63ffffffff94851602179055604051918316825260ff8416917f16d1837912669963183fe9361bd778d43eb325ef84319e0d1c39a6a97a625a7091015b60405180910390a25050565b5f81610b9357600f54600160c01b900463ffffffff16610ba4565b600f54600160a01b900463ffffffff165b92915050565b5f80610bb660016115b3565b9150610bc15f6115b3565b600f805467ffffffffffffffff60a01b1916600160a01b63ffffffff86811691820263ffffffff60c01b191692909217600160c01b928516928302179092556040805192835260208301919091529192507fc7843e7367995b18645b3b93a6d940fe56d690da24c43fffa0a5ee82bd07b083910160405180910390a19091565b5f805f600f5f9054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb89190615b72565b600a8054600b80545f938490559290559450925090508215610ceb57600c54610ceb906001600160a01b03168285612458565b8115610d0857600d54610d08906001600160a01b03168284612458565b60408051848152602081018490526001600160a01b038316917f4eb2991a1a04906115fccd355a7e56cf37f24b31249c33c4a691dc080ad54975910160405180910390a2509091565b6010546060905f9081906001600160a01b03163314610d9457601054604051637c88c87b60e01b81526109979133916001600160a01b039091169060040161560d565b87801580610da25750868114155b80610dad5750848114155b15610dce576040516001621398b960e31b0319815260040160405180910390fd5b806001600160401b03811115610de657610de6615a57565b604051908082528060200260200182016040528015610e0f578160200160208202803683370190505b50604080516060810182525f8e8152600760209081528382205460ff16835282018190529181018290529195505b82811015610f63575f81118015610eb057508b8b610e5c600184615b8d565b818110610e6b57610e6b615a97565b9050602002016020810190610e8091906158cc565b60ff168c8c83818110610e9557610e95615a97565b9050602002016020810190610eaa91906158cc565b60ff1611155b15610ece57604051635fb8b8c360e01b815260040160405180910390fd5b610f318d8d8d84818110610ee457610ee4615a97565b9050602002016020810190610ef991906158cc565b8c8c85818110610f0b57610f0b615a97565b905060200201358b8b86818110610f2457610f24615a97565b905060200201358661257e565b868281518110610f4357610f43615a97565b6001600160801b0390921660209283029190910190910152600101610e3d565b5080515f8d815260076020908152604091829020805460ff191660ff90941693909317909255908201519082015190945092508315610fb457600c54610fb4906001600160a01b03163330876125e9565b8215610fd257600d54610fd2906001600160a01b03163330866125e9565b8b7f3ba79caca543f24bddee68e5dd3626a51592c2bc4640565189c5cf483f9f8ddf8c8c88888860405161100a959493929190615ba0565b60405180910390a250509750975097945050505050565b5f546001600160a01b0316331461104d5760405163c66f47bf60e01b8152336004820152602401610997565b6110b88484808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284375f9201919091525061270592505050565b50505050565b5f805f600f5f9054906101000a90046001600160a01b03166001600160a01b031663c31c9c076040518163ffffffff1660e01b8152600401602060405180830381865afa158015611111573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111359190615b72565b9050336001600160a01b0382161480159061115b5750600f546001600160a01b03163314155b1561117d573381604051637090e53f60e01b815260040161099792919061560d565b5f6111866121d8565b90505f611194898984612c0c565b919650945090505f8590036111bc57604051636180f03f60e11b815260040160405180910390fd5b858510156111e7576040516371c4efed60e01b81526004810187905260248101869052604401610997565b61121e8861120057600c546001600160a01b031661120d565b600d546001600160a01b03165b3330611219858e615b8d565b6125e9565b61124b8861123757600d546001600160a01b0316611244565b600c546001600160a01b03165b8887612458565b337f17c01c31ec964f5b3b6cef2ef4f08e6dd237b05fa70a839aaade8ba2541f6ea5611277838c615b8d565b6040805191825260208201899052810185905260600160405180910390a250505094509492505050565b6010545f9081906001600160a01b031633146112e157601054604051637c88c87b60e01b81526109979133916001600160a01b039091169060040161560d565b5f8481526007602052604081205460ff16905b60015460ff8216101561133a5761130a81611f25565b821660ff16156113285761131e8682612e9c565b6113288682613019565b8061133281615aab565b9150506112f4565b506113458585613261565b92509250505b9250929050565b5f60018260ff168154811061136957611369615a97565b5f918252602090912060069091020154600160201b900463ffffffff1692915050565b5f805f805f8060018760ff16815481106113a8576113a8615a97565b5f918252602090912060069091020180546001820154600483015460059093015463ffffffff83169b919a50929850919650600160401b900460ff16945092505050565b5f6114298260018560ff168154811061140757611407615a97565b5f918252602090912060069091020154600160201b900463ffffffff1661332e565b9392505050565b6010545f9081906001600160a01b0316331461147057601054604051637c88c87b60e01b81526109979133916001600160a01b039091169060040161560d565b60015460ff86161061149a5760405163beb0e94560e01b815260ff86166004820152602401610997565b5f86815260026020908152604080832060ff891684529091528120546001600160801b039081169190861682106114d157856114d3565b815b90505f6114ea8989846001600160801b0316613366565b6040805160018082528183019092529192505f91906020808301908036833750506040805160018082528183019092529293505f9291506020808301908036833701905050905089825f8151811061154457611544615a97565b602002602001019060ff16908160ff168152505083815f8151811061156b5761156b615a97565b60200260200101906001600160801b031690816001600160801b0316815250506115988b89848487613658565b50508051602090910151909450925050505b94509492505050565b600f54600e54604051634055042d60e01b81526001600160a01b0391821660048201528315156024820152600160448201525f929190911690634055042d90606401602060405180830381865afa158015611610573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116349190615c03565b90505f600f5f9054906101000a90046001600160a01b03166001600160a01b0316631d4632ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611687573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ab9190615b72565b90506001600160a01b0381166116c15750919050565b600c54600d546040515f9283926001600160a01b03808716936116ed938216929091169060240161560d565b60408051601f198184030181529181526020820180516001600160e01b0316639d2a7e6560e01b179052516117229190615c1e565b5f60405180830381855afa9150503d805f811461175a576040519150601f19603f3d011682016040523d82523d5f602084013e61175f565b606091505b5091509150811580611772575060208151105b1561177f57505050919050565b5f818060200190518101906117949190615ac9565b6117a090612710615c4a565b90508463ffffffff168110156117bc576117b981613756565b94505b50505050919050565b5f805f60018460ff16815481106117de576117de615a97565b905f5260205f2090600602019050806002015481600301549250925050915091565b5f805f80611825600f5463ffffffff600160a01b8204811692600160c01b9092041690565b915091505f60018660ff168154811061184057611840615a97565b5f91825260209091206006909102015463ffffffff169050611862818461378a565b61186c828461378a565b94509450505050915091565b6010545f90819081906001600160a01b031633146118ba57601054604051637c88c87b60e01b81526109979133916001600160a01b039091169060040161560d565b8560ff168760ff16036118e5576040516324baa36960e21b815260ff87166004820152602401610997565b60015460ff88161061190f5760405163beb0e94560e01b815260ff88166004820152602401610997565b60015460ff8716106119395760405163beb0e94560e01b815260ff87166004820152602401610997565b60018660ff168154811061194f5761194f615a97565b5f918252602090912060069091020154600160401b900460ff1661198b57604051634748551360e01b815260ff87166004820152602401610997565b5f6119978989886137ad565b90506119a38188613af9565b8060e001515f036119c757604051630200e8a960e31b815260040160405180910390fd5b6119fd60018860ff16815481106119e0576119e0615a97565b905f5260205f209060060201826101400151836101600151613b72565b611a078988612e9c565b611a118988613019565b6101008101518151611a239190615b8d565b92508061012001518160200151611a3a9190615b8d565b91505f831180611a4957505f82115b8015611a6557505f81604001511180611a6557505f8160600151115b15611a7757611a778989838686613cd2565b611a818989613e2d565b611a8c898883613ea3565b8215611aa957600c54611aa9906001600160a01b03168685612458565b8115611ac657600d54611ac6906001600160a01b03168684612458565b611ad38160e0015161417f565b6040805160ff8b811682528a1660208201526001600160801b0389811682840152831660608201526080810186905260a0810185905290519195508a917f3ee1e38f18468591a343d4d777172bc89bce4b6a86870c39e00045c9dc09a8ea9181900360c00190a250955095509592505050565b6010545f9081906001600160a01b03163314611b8657601054604051637c88c87b60e01b81526109979133916001600160a01b039091169060040161560d565b61ffff84161580611b9c575061271061ffff8516115b15611bc05760405163f9c3ae8f60e01b815261ffff85166004820152602401610997565b5f8581526007602052604081205460ff1690611bdb82611ef7565b90505f816001600160401b03811115611bf657611bf6615a57565b604051908082528060200260200182016040528015611c1f578160200160208202803683370190505b5090505f826001600160401b03811115611c3b57611c3b615a57565b604051908082528060200260200182016040528015611c64578160200160208202803683370190505b509050611c966040518060a001604052805f81526020015f81526020015f81526020015f81526020015f151581525090565b5f805b60015460ff82161015611d8557611caf81611f25565b871660ff1615611d73575f8c815260026020908152604080832060ff85168452909152812054611cef906001600160801b031661ffff8e166127106141b2565b90505f611cfd8e8484613366565b905082878581518110611d1257611d12615a97565b602002602001019060ff16908160ff1681525050611d2f8261417f565b868581518110611d4157611d41615a97565b6001600160801b039092166020928302919091019091015283611d6381615a7f565b945050611d708582614262565b50505b80611d7d81615aab565b915050611c99565b50611d938b8a868686613658565b508051602090910151909a909950975050505050505050565b5f546001600160a01b03163314611dd85760405163c66f47bf60e01b8152336004820152602401610997565b8060018360ff1681548110611def57611def615a97565b905f5260205f2090600602015f0160086101000a81548160ff0219169083151502179055508160ff167f6875b16d29862ddf5bc5bbc3b6988890e2f8e070d743c90b41d1e89102140ba182604051610b6c911515815260200190565b5f546001600160a01b03163314611e775760405163c66f47bf60e01b8152336004820152602401610997565b6001600160a01b038116611e9e5760405163163ca33560e21b815260040160405180910390fd5b5f80546040516001600160a01b03808516939216917f7f11fe0c7098e1a76afcc68f35abaa07ef156fa7d6dd2d39664812fe37348d1691a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f5b60ff821615611f2057611f0f6001831682615c61565b905060018260ff16901c9150611ef9565b919050565b5f610ba4826002615d79565b611f39615427565b5f60018360ff1681548110611f5057611f50615a97565b5f918252602080832087845260028252604080852060ff891680875290845294209386526006909202909101805463ffffffff908116928601839052600f54919450611fa49291600160a01b90041661378a565b63ffffffff90811660408501528254600f54611fcc9291821691600160c01b9091041661378a565b63ffffffff90811660608501528254600160201b81049091166080850152600160401b900460ff16151560a084015280546001600160801b03811660c0850152600183015460e08501819052600160801b9091046001600160401b0316610100850152156120815760028201548154600184015461205492916001600160801b0316906141b2565b61012084015260038201548154600184015461207a92916001600160801b0316906141b2565b6101408401525b5f85815260036020908152604080832060ff8816845290915290208154600484015482546120b9926001600160801b031691906142e0565b5f87815260046020908152604080832060ff8a1684529091529020546120e891906001600160801b0316615c61565b61016085015281546005840154600183015461210e926001600160801b031691906142e0565b5f87815260046020908152604080832060ff8a1684529091529020546121449190600160801b90046001600160801b0316615c61565b61018085015261215b6121568361431a565b613756565b63ffffffff166101e08501525f86815260066020908152604080832060ff891684529091529020610160850151815461219e9185916001600160801b0316614358565b6101a086015261018085015181546121c7918591600160801b90046001600160801b0316614358565b6101c0860152509295945050505050565b600e5460405163e5ec23a360e01b815261012c60048201525f916001600160a01b03169063e5ec23a3906024016040805180830381865afa92505050801561223d575060408051601f3d908101601f1916820190925261223a91810190615d8a565b60015b6122d0573d80801561226a576040519150601f19603f3d011682016040523d82523d5f602084013e61226f565b606091505b5060048151108061229957506394a310c560e01b61228c82615dad565b6001600160e01b03191614155b156122a657805160208201fd5b6009545f036122c857604051635ff0d73360e11b815260040160405180910390fd5b505060095490565b50919050565b5f6122e28484846143c6565b600e54604051639c0e0bf160e01b8152600481018790526024810186905284151560448201529192505f916001600160a01b0390911690639c0e0bf190606401602060405180830381865afa15801561233d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123619190615ac9565b905080821461238d57604051630625f1b760e41b81526004810183905260248101829052604401610997565b5050505050565b6001600160a01b0386166123bb5760405163163ca33560e21b815260040160405180910390fd5b5f80546001600160401b038716600160a01b026001600160e01b03199091166001600160a01b038916171790556040805160208086028281018201909352858252612450928791879182918501908490808284375f92019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284375f9201919091525061270592505050565b505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916124b39190615c1e565b5f604051808303815f865af19150503d805f81146124ec576040519150601f19603f3d011682016040523d82523d5f602084013e6124f1565b606091505b50915091508161253757612504816144d8565b6040516317e3057d60e31b81526001600160a01b0380871660048301528516602482015260448101849052606401610997565b8051158015906125585750808060200190518101906125569190615de4565b155b1561238d57843085856040516301687c2160e31b81526004016109979493929190615dff565b5f805f8061258e898989896144eb565b92509250925081856020018181516125a69190615c61565b9052506040850180518291906125bd908390615c61565b9052506125c988611f25565b85511760ff1685526125da8361417f565b93505050505b95945050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f9283929088169161264c9190615c1e565b5f604051808303815f865af19150503d805f8114612685576040519150601f19603f3d011682016040523d82523d5f602084013e61268a565b606091505b5091509150816126be5761269d816144d8565b85858585604051630a8dced960e41b81526004016109979493929190615dff565b8051158015906126df5750808060200190518101906126dd9190615de4565b155b1561245057858585856040516301687c2160e31b81526004016109979493929190615dff565b81511580612714575081516008105b156127375781516040516379bb5f5560e11b815260040161099791815260200190565b805182511461276657815181516040516318b0a08960e01b815260048101929092526024820152604401610997565b5f5b82518110156128f95782818151811061278357612783615a97565b602002602001015163ffffffff165f14806127c657506305f5e10063ffffffff168382815181106127b6576127b6615a97565b602002602001015163ffffffff16115b1561280b578281815181106127dd576127dd615a97565b60200260200101516040516323fa314560e21b8152600401610997919063ffffffff91909116815260200190565b5f81118015612862575082612821600183615b8d565b8151811061283157612831615a97565b602002602001015163ffffffff1683828151811061285157612851615a97565b602002602001015163ffffffff1611155b156128805760405163cd0afb8960e01b815260040160405180910390fd5b6305f5e10063ffffffff1682828151811061289d5761289d615a97565b602002602001015163ffffffff1610156128f1578181815181106128c3576128c3615a97565b602002602001015160405163c672324760e01b8152600401610997919063ffffffff91909116815260200190565b600101612768565b5081515b600154811015612956576001818154811061291a5761291a615a97565b905f5260205f209060060201600101545f1461294e5760405163bede03fb60e01b815260ff82166004820152602401610997565b6001016128fd565b505b815160015411156129bf57600180548061297457612974615e29565b5f8281526020812060065f1990930192830201805469ffffffffffffffffffff1916815560018101829055600281018290556003810182905560048101829055600501559055612958565b5f5b8251811015612bce57600154811015612a8a578281815181106129e6576129e6615a97565b602002602001015160018281548110612a0157612a01615a97565b905f5260205f2090600602015f015f6101000a81548163ffffffff021916908363ffffffff160217905550818181518110612a3e57612a3e615a97565b602002602001015160018281548110612a5957612a59615a97565b905f5260205f2090600602015f0160046101000a81548163ffffffff021916908363ffffffff160217905550612bc6565b6001604051806101200160405280858481518110612aaa57612aaa615a97565b602002602001015163ffffffff168152602001848481518110612acf57612acf615a97565b60209081029190910181015163ffffffff908116835260018383018190525f60408086018290526060808701839052608080880184905260a080890185905260c0808a0186905260e0998a018690528b548088018d559b8652948890208a516006909c02018054988b0151948b0151938b01511515600160481b0260ff60481b19941515600160401b029490941669ffff000000000000000019958916600160201b0267ffffffffffffffff19909a169c9098169b909b1797909717929092169490941793909317875591850151908601559083015160028501558201516003840155810151600483015561010001516005909101555b6001016129c1565b507f7eb0c4563a3a367d3dd89bdf176c70e8f85a26911bdbf2168113b3e116ae61288282604051612c00929190615e72565b60405180910390a15050565b5f805f8085612c2a57600f54600160c01b900463ffffffff16612c3b565b600f54600160a01b900463ffffffff165b90508691508063ffffffff165f03612c59575f809350935050612e93565b6040805180820191829052600f54600c54600d5463ac22115960e01b9094526001600160a01b03908116604484015292831660648301523360848301525f60a483018190529282911663ac22115960c48301602060405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cea9190615c03565b63ffffffff168152600f546040805163a82a239d60e01b815290516020938401936001600160a01b039093169263a82a239d92600480820193918290030181865afa158015612d3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d5f9190615c03565b63ffffffff16905290505f5b60015481108015612d7b57505f84115b15612e8f575f81118015612d9157506202bf205a105b15612dd657604080518581526020810183905233917f8c7ca2508fee98fde7c4a3ec1bf9311c0023025cc01d741bcb241daa9d57e0da910160405180910390a2612e8f565b5f60018281548110612dea57612dea615a97565b5f918252602082206006909102018054909250612e2590612e119063ffffffff168761378a565b63ffffffff168a8763ffffffff168d614708565b9050805f03612e35575050612e7d565b5f612e438383898e896147b1565b9050806020015189612e559190615c61565b8151909950612e649088615b8d565b604082015190975015612e7957806040015197505b5050505b80612e8781615a7f565b915050612d6b565b5050505b93509350939050565b5f60018260ff1681548110612eb357612eb3615a97565b5f918252602080832086845260028252604080852060ff881680875290845281862089875260038552828720918752935290932081546006909302909301935091906001600160801b031615612fe5578154600484015482545f92612f23926001600160801b03909116916142e0565b8354600586015460018501549293505f92612f48926001600160801b031691906142e0565b90505f821180612f5757505f81115b15612fe2575f87815260046020908152604080832060ff8a16845290915290208054612f9690612f919085906001600160801b0316615c61565b61417f565b81546001600160801b0319166001600160801b0391821617808355612fc991612f91918591600160801b90910416615c61565b81546001600160801b03918216600160801b0291161790555b50505b6004830154815414612ff957600483015481555b826005015481600101541461238d57600583015460018201555050505050565b5f82815260046020908152604080832060ff85168452909152902080546001600160801b031615801561305b57508054600160801b90046001600160801b0316155b1561306557505050565b5f83815260026020908152604080832060ff8616808552908352818420878552600684528285209185529252822083548154929391926130b39185916001600160801b039182169116614358565b845483549192505f916130df9186916001600160801b03600160801b9283900481169290910416614358565b9050811580156130ed575080155b156130fb5750505050505050565b6131048261417f565b855486905f9061311e9084906001600160801b0316615e96565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061314b8161417f565b8554869060109061316d908490600160801b90046001600160801b0316615e96565b82546101009290920a6001600160801b0381810219909316918316021790915584546131a09250612f9191859116615c61565b83546001600160801b0319166001600160801b03918216178085556131d391612f91918491600160801b90910416615c61565b83546001600160801b03918216600160801b029082161784555f8881526005602052604090208054909161320d91612f9191869116615c61565b81546001600160801b0319166001600160801b039182161780835561324091612f91918591600160801b90910416615c61565b81546001600160801b03918216600160801b02911617905550505050505050565b5f82815260056020526040902080546001600160801b0380821692600160801b909204169082158015613292575081155b156132a3575f80925092505061134b565b5f815582156132c357600c546132c3906001600160a01b03168585612458565b81156132e057600d546132e0906001600160a01b03168584612458565b60408051848152602081018490526001600160a01b0386169187917f40d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f01910160405180910390a3509250929050565b5f6305f5e10061334463ffffffff841685615c4a565b61334e9190615af4565b9050622dc6c0811115610ba45750622dc6c092915050565b6133956040518060a001604052805f81526020015f81526020015f81526020015f81526020015f151581525090565b61339f8484612e9c565b6133a98484613019565b8115611429575f60018460ff16815481106133c6576133c6615a97565b5f918252602080832088845260028252604080852060ff8a168087529084528186208b8752600485528287209187529352909320805482546006909402909401945090929091613424916001600160801b0390811691889116614a2a565b60408501528054825461344c916001600160801b03600160801b909104811691889116614a2a565b6060850152604084015161345f9061417f565b815482905f906134799084906001600160801b0316615e96565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506134aa846060015161417f565b815482906010906134cc908490600160801b90046001600160801b0316615e96565b82546101009290920a6001600160801b038181021990931691831602179091558354613513925089918991613503918a9116615b8d565b85546001600160801b0316614a38565b505061352883600201548685600101546141b2565b845260038301546001840154613540919087906141b2565b602085015283516002840180545f9061355a908490615b8d565b909155505060208401516003840180545f90613577908490615b8d565b9250508190555084836001015f8282546135919190615b8d565b909155506135a090508561417f565b825483905f906135ba9084906001600160801b0316615e96565b82546101009290920a6001600160801b0381810219909316918316021790915583546001860154613602935086926135f3921690615b8d565b86604001518760600151614b6b565b151560808501526136138787613e2d565b81546001600160801b03165f0361364e5761362d86611f25565b5f888152600760205260409020805460ff19811692191660ff169190911790555b5050509392505050565b5f805b835181101561369b575f84828151811061367757613677615a97565b60200260200101516001600160801b0316111561369357600191505b60010161365b565b5080156136fa57857f274adca2d2f07e5b207472a551831016ebff3e18e85387703c915a7c4fffd1888585855f015186602001518760400151886060015189608001516040516136f19796959493929190615ebd565b60405180910390a25b81511561371b57600c54825161371b916001600160a01b0316908790612458565b60208201511561374257600d546020830151613742916001600160a01b0316908790612458565b61374c8686613261565b5050505050505050565b5f63ffffffff821115613786576040516306dfcc6560e41b81526020600482015260248101839052604401610997565b5090565b5f6305f5e1006137a363ffffffff848116908616615c4a565b6114299190615af4565b61380e6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f6001600160401b031681526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6138188484612e9c565b6138228484613019565b5f84815260026020908152604080832060ff87168452909152902080546001600160801b0390811690841611156138615780546001600160801b031692505b826001600160801b03165f0361388a57604051630200e8a960e31b815260040160405180910390fd5b5f60018560ff16815481106138a1576138a1615a97565b5f918252602080832089845260048252604080852060ff8b1686529092529220600260069092029092019081015460018201549193506138eb916001600160801b038816906141b2565b84526003820154600183015461390c91906001600160801b038816906141b2565b60208501528054835461392f916001600160801b039081169188821691166141b2565b604085015280548354613959916001600160801b03600160801b90910481169188821691166141b2565b606085015282546001600160401b03600160801b82041660808601526139a590889088906139919089906001600160801b0316615e96565b86546001600160801b039182169116614a38565b60c086015260a085015260408401516139bd9061417f565b815482905f906139d79084906001600160801b0316615e96565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550613a08846060015161417f565b81548290601090613a2a908490600160801b90046001600160801b0316615e96565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550835f0151826002015f828254613a649190615b8d565b909155505060208401516003830180545f90613a81908490615b8d565b92505081905550846001600160801b0316826001015f828254613aa49190615b8d565b90915550508254859084905f90613ac59084906001600160801b0316615e96565b82546101009290920a6001600160801b038181021990931691831602179091558454165f03905061364e5761362d86611f25565b5f613b2d60018360ff1681548110613b1357613b13615a97565b905f5260205f209060060201845f01518560200151614c35565b805160208201516040830151606084015160809094015161016088015261014087019390935261012086019290925261010085019190915260e0909301929092525050565b81158015613b7e575080155b15613b8857505050565b600f546040805163a82a239d60e01b815290515f926001600160a01b03169163a82a239d9160048083019260209291908290030181865afa158015613bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bf39190615c03565b63ffffffff1690505f6305f5e100613c0b8386615c4a565b613c159190615af4565b90505f6305f5e100613c278486615c4a565b613c319190615af4565b90508115613c5f57613c47828760010154614df0565b866004015f828254613c599190615c61565b90915550505b8015613c8b57613c73818760010154614df0565b866005015f828254613c859190615c61565b90915550505b613c958286615b8d565b600a5f828254613ca59190615c61565b90915550613cb590508185615b8d565b600b5f828254613cc59190615c61565b9091555050505050505050565b5f613cdb6121d8565b90505f613cf0855f0151866020015184614e0e565b90505f613cfe858585614e0e565b90505f8215613d1b57613d1687604001518385614a2a565b613d21565b86604001515b90505f8315613d3e57613d3988606001518486614a2a565b613d44565b87606001515b90508760400151821115613d5a57876040015191505b8760600151811115613d6d575060608701515b8188604001818151613d7f9190615b8d565b905250606088018051829190613d96908390615b8d565b905250600180545f919060ff8c16908110613db357613db3615a97565b905f5260205f2090600602019050613e1f8160025f8e81526020019081526020015f205f8d60ff1660ff1681526020019081526020015f205f015f9054906101000a90046001600160801b03166001600160801b03168360010154613e189190615b8d565b8585614b6b565b505050505050505050505050565b5f60018260ff1681548110613e4457613e44615a97565b5f918252602080832086845260038252604080852060ff8816865290925292206004600690920290920190810154825491935014613e8457600482015481555b81600501548160010154146110b8576005820154600182015550505050565b5f60018360ff1681548110613eba57613eba615a97565b5f918252602080832087845260028252604080852060ff89168087529084528186208a87526004855282872091875293529093208154608087015160e088015183546006909602909601965092949193613f6b936001600160401b03600160801b84048116946001600160801b03948516949290911692909116151580613f5157508554600160801b90046001600160801b031615155b5f8a604001511180613f6657505f8a60600151115b614e33565b82546001600160401b0391909116600160801b0267ffffffffffffffff60801b1982168117845560e0860151613fb292612f91926001600160801b03908116911617615c61565b82546001600160801b0319166001600160801b0391821617835560408501518254613fe292612f91929116615c61565b81546001600160801b0319166001600160801b0391821617808355606086015161401792612f9192600160801b900416615c61565b81546001600160801b03918216600160801b029082161782555f87815260066020908152604080832060ff8a168452909152902060a08601518154919261406392612f91929116615c61565b81546001600160801b0319166001600160801b039182161780835560c087015161409892612f9192600160801b900416615c61565b81546001600160801b03918216600160801b0291161781556101008501516101208601516140c7918691614f17565b8560e001516140d69190615c61565b846001015f8282546140e89190615c61565b90915550506101408501516101008601516141039190615b8d565b846002015f8282546141159190615c61565b90915550506101608501516101208601516141309190615b8d565b846003015f8282546141429190615c61565b90915550614151905086611f25565b5f97885260076020526040909720805460ff19811660ff918216919099161797909717909655505050505050565b5f6001600160801b03821115613786576040516306dfcc6560e41b81526080600482015260248101839052604401610997565b5f805f6141bf8686614f43565b91509150815f036141e3578381816141d9576141d9615ae0565b0492505050611429565b8184116141fa576141fa6003851502601118614f5f565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b805182518390614273908390615c61565b905250602080820151908301805161428c908390615c61565b90525060408082015190830180516142a5908390615c61565b90525060608082015190830180516142be908390615c61565b9052506080820151806142d2575080608001515b151560809092019190915250565b5f81831115806142ee575083155b156142fa57505f611429565b6143126143078385615b8d565b85600160801b6141b2565b949350505050565b80545f90610ba49061433c90600160801b90046001600160401b031642615b8d565b5f54600160a01b90046001600160401b03166305f5e100614f70565b5f806143638561431a565b90506305f5e10081106143795783915050611429565b5f6143926143878587615c61565b836305f5e1006141b2565b90508381116143a5575f92505050611429565b6143af8482615b8d565b9250848311156143bd578492505b50509392505050565b5f811561445657601054600160e81b900460ff1661441957601054600160a81b90046001600160401b03166305f5e1006144008686615c4a565b61440a9190615af4565b6144149190615c4a565b61444f565b601054600160a81b90046001600160401b03166305f5e10061443b8686615c4a565b6144459190615af4565b61444f9190615af4565b9050611429565b601054600160e81b900460ff166144a257601054600160a81b90046001600160401b031684614489856305f5e100615c4a565b6144939190615af4565b61449d9190615af4565b614312565b601054600160a81b90046001600160401b0316846144c4856305f5e100615c4a565b6144ce9190615af4565b6143129190615c4a565b80515f036144e35750565b805160208201fd5b5f805f6001805490508660ff161061451b5760405163beb0e94560e01b815260ff87166004820152602401610997565b5f60018760ff168154811061453257614532615a97565b5f91825260209091206006909102018054909150600160401b900460ff1661457257604051634748551360e01b815260ff88166004820152602401610997565b5f61457e828888614c35565b80519091505f036145a257604051630200e8a960e31b815260040160405180910390fd5b8051602082015160408301516060840151608085015193985091965094506145cc91849190613b72565b6145d68989612e9c565b6145e08989613019565b5f89815260026020908152604080832060ff8c16845290915290208054614622906001600160401b03600160801b820416906001600160801b03164289614f95565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b1982168117835561466691612f919189916001600160801b03918216911617615c61565b81546001600160801b0319166001600160801b039190911617815561468c838686614f17565b6146969087615c61565b836001015f8282546146a89190615c61565b909155505060608201516146bc9086615b8d565b836002015f8282546146ce9190615c61565b909155505060808201516146e29085615b8d565b836003015f8282546146f49190615c61565b925050819055505050509450945094915050565b5f845f0361471757505f614312565b811561477c575f61473c85614730886305f5e100615c61565b6305f5e1006001615060565b90505f6305f5e10061474e8682615c61565b6147589088615c4a565b6147629190615af4565b90508082106147715780614773565b815b92505050614312565b6305f5e100851061478e57505f614312565b6305f5e10061479d8682615b8d565b6147a79086615c4a565b6125e09190615af4565b6147d260405180606001604052805f81526020015f81526020015f81525090565b5f836147e25786600301546147e8565b86600201545b905086600101545f14806147fa575080155b1561480557506125e0565b5f6148118783876143c6565b9050805f036148215750506125e0565b80861061482e5780614830565b855b8084525f9061484290899088156143c6565b9050805f036148705760405180606001604052805f81526020015f81526020015f81525093505050506125e0565b61487d620f424084615af4565b811061488b57604084018890525b845189545f916305f5e100916148ae9190600160201b900463ffffffff1661332e565b6148b89084615c4a565b6148c29190615af4565b90505f6305f5e10063ffffffff168760200151836148e09190615c4a565b6148ea9190615af4565b9050801561494957871561492357614906818c60010154614df0565b8b6004015f8282546149189190615c61565b909155506149499050565b614931818c60010154614df0565b8b6005015f8282546149439190615c61565b90915550505b8082111561499c57871561497c576149618183615b8d565b600a5f8282546149719190615c61565b9091555061499c9050565b6149868183615b8d565b600b5f8282546149969190615c61565b90915550505b6149a68284615b8d565b602087015287156149e957828b6002015f8282546149c49190615b8d565b9091555050855160038c0180545f906149de908490615c61565b90915550614a1c9050565b828b6003015f8282546149fc9190615b8d565b9091555050855160028c0180545f90614a16908490615c61565b90915550505b505050505095945050505050565b5f6143128484846001615060565b5f84815260066020908152604080832060ff87168452909152812080548291906001600160801b0316158015614a7d57508054600160801b90046001600160801b0316155b15614a8e575f8092509250506115aa565b5f8415614ab0578154614aab906001600160801b031687876141b2565b614ab2565b5f5b90505f8515614add578254614ad890600160801b90046001600160801b031688886141b2565b614adf565b5f5b8354909150614af89083906001600160801b0316615b8d565b8354909550614b18908290600160801b90046001600160801b0316615b8d565b9350614b238261417f565b83546001600160801b0319166001600160801b0391909116178355614b478161417f565b83546001600160801b03918216600160801b02911617909255505094509492505050565b5f82158015614b78575081155b15614b8457505f614312565b8454600160481b900460ff16614b9a575f614b9e565b6103e85b841115614bfc578215614bcd57614bb58385614df0565b856004015f828254614bc79190615c61565b90915550505b8115614bf557614bdd8285614df0565b856005015f828254614bef9190615c61565b90915550505b505f614312565b82600a5f828254614c0d9190615c61565b9250508190555081600b5f828254614c259190615c61565b9091555060019695505050505050565b614c626040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b6002840154158015614c7657506003840154155b15614ce1575f8315614ca5578215614c9f57614c9a8484614c956121d8565b614e0e565b614ca7565b83614ca7565b825b90505f614cb58686866150a2565b905080821115614ccc57614cc98183615b8d565b83525b50506020810183905260408101829052611429565b5f84600201545f14614d0557614d0084866001015487600201546141b2565b614d08565b5f195b90505f85600301545f14614d2e57614d2984876001015488600301546141b2565b614d31565b5f195b90505f818310614d415781614d43565b825b90505f198103614d5057505f5b80158015614d6057508515851514155b15614d99578515614d77575f876003015411614d7f565b5f8760020154115b15614d9957614d8f8787876150d5565b9350505050611429565b805f03614da857505050611429565b8084526002870154600180890154614dc39291849190615060565b846020018181525050614de187600301548289600101546001615060565b60408501525050509392505050565b5f815f03614dff57505f610ba4565b61142983600160801b846141b2565b5f835f03614e1d575081611429565b614e29828560016143c6565b6143129084615c61565b5f80614e4188888888614f95565b6001600160401b03169050865f03614e6457614e5c81615233565b915050614f0d565b5f8054600160a01b90046001600160401b03164211614e83575f614e9f565b5f54614e9f90600160a01b90046001600160401b031642615b8d565b90508415614ed9575f818a6001600160401b031610614ec757896001600160401b0316614ec9565b815b905082811115614ed7578092505b505b8315614eff575f818810614eed5787614eef565b815b905082811115614efd578092505b505b614f0882615233565b925050505b9695505050505050565b5f614f238484846150a2565b9050801561142957835460ff60481b1916600160481b1784559392505050565b5f805f1983850993909202808410938190039390930393915050565b634e487b715f52806020526024601cfd5b5f821580614f7e5750828410155b15614f8a575080611429565b6143128483856141b2565b5f80548190600160a01b90046001600160401b03164211614fb6575f614fd2565b5f54614fd290600160a01b90046001600160401b031642615b8d565b90505f818510614fe25784614fe4565b815b9050855f03614ff65761477381615233565b5f82886001600160401b03161061501657876001600160401b0316615018565b825b90506150546150278689615c61565b6150318785615c4a565b61503b8a85615c4a565b6150459190615c61565b61504f9190615af4565b615233565b98975050505050505050565b5f61508d61506d83615268565b801561508857505f848061508357615083615ae0565b868809115b151590565b6150988686866141b2565b6125e09190615c61565b5f83600101545f1480156150b557505f83115b80156150c057505f82115b6150ca575f614312565b506103e89392505050565b6151026040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b8115155f6151108683615294565b9050805f03615136576040516356333b6560e11b81528215156004820152602401610997565b5f61514a8760020154886003015484614e0e565b602085018790526040850186905290505f81900361516a57505050611429565b5f615176878785614e0e565b90505f846151845787615186565b865b90505f856151985789600301546151a7565b6151a78a600201545f87614e0e565b90505f6151cc6151c384846151bc888a615c61565b6001615060565b6147308d61530a565b905086156151e057608088018190526151e8565b606088018190525b5f87615207576152026151fb838d615b8d565b5f89614e0e565b615211565b615211828b615b8d565b90506152228c6001015482886141b2565b895250505050505050509392505050565b5f6001600160401b0382111561378657604080516306dfcc6560e41b8152600481019190915260248101839052604401610997565b5f600282600381111561527d5761527d615f38565b6152879190615f4c565b60ff166001149050919050565b5f80826152b057600f54600160c01b900463ffffffff166152c1565b600f54600160a01b900463ffffffff165b90508063ffffffff165f036152d9575f915050610ba4565b8354614312906152ef9063ffffffff168361378a565b63ffffffff166152fd6121d8565b8363ffffffff1686614708565b5f80600f5f9054906101000a90046001600160a01b03166001600160a01b031663c31c9c076040518163ffffffff1660e01b8152600401602060405180830381865afa15801561535c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906153809190615b72565b600f54600c54600d5460405163ac22115960e01b81526001600160a01b039283166004820152908216602482015281841660448201525f60648201529293506114299291169063ac22115990608401602060405180830381865afa1580156153ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061540e9190615c03565b845463ffffffff91821691600160201b9091041661332e565b60408051610200810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e081019190915290565b5f602082840312156154ba575f80fd5b5035919050565b606080825284518282018190525f9190608090818501906020808a01865b838110156155be578151805160ff1686528381015163ffffffff90811685880152604080830151821690880152888201518116898801528782015181168888015260a08083015115159088015260c0808301516001600160801b03169088015260e08083015190880152610100808301516001600160401b03169088015261012080830151908801526101408083015190880152610160808301519088015261018080830151908801526101a080830151908801526101c080830151908801526101e091820151169086015261020090940193908201906001016154df565b50505050602085019690965250505060400152919050565b5f602082840312156155e6575f80fd5b81356001600160401b038111156155fb575f80fd5b82016101408185031215611429575f80fd5b6001600160a01b0392831681529116602082015260400190565b803560ff81168114611f20575f80fd5b63ffffffff81168114615648575f80fd5b50565b5f806040838503121561565c575f80fd5b61566583615627565b9150602083013561567581615637565b809150509250929050565b8015158114615648575f80fd5b5f6020828403121561569d575f80fd5b813561142981615680565b5f8083601f8401126156b8575f80fd5b5081356001600160401b038111156156ce575f80fd5b6020830191508360208260051b850101111561134b575f80fd5b5f805f805f805f6080888a0312156156fe575f80fd5b8735965060208801356001600160401b038082111561571b575f80fd5b6157278b838c016156a8565b909850965060408a013591508082111561573f575f80fd5b61574b8b838c016156a8565b909650945060608a0135915080821115615763575f80fd5b506157708a828b016156a8565b989b979a50959850939692959293505050565b5f815180845260208085019450602084015f5b838110156157bb5781516001600160801b031687529582019590820190600101615796565b509495945050505050565b606081525f6157d86060830186615783565b60208301949094525060400152919050565b5f805f80604085870312156157fd575f80fd5b84356001600160401b0380821115615813575f80fd5b61581f888389016156a8565b90965094506020870135915080821115615837575f80fd5b50615844878288016156a8565b95989497509550505050565b6001600160a01b0381168114615648575f80fd5b5f805f8060808587031215615877575f80fd5b84359350602085013561588981615680565b9250604085013561589981615850565b9396929550929360600135925050565b5f80604083850312156158ba575f80fd5b82359150602083013561567581615850565b5f602082840312156158dc575f80fd5b61142982615627565b5f80604083850312156158f6575f80fd5b6158ff83615627565b946020939093013593505050565b80356001600160801b0381168114611f20575f80fd5b5f805f8060808587031215615936575f80fd5b8435935061594660208601615627565b92506159546040860161590d565b9150606085013561596481615850565b939692955090935050565b5f805f805f60a08688031215615983575f80fd5b8535945061599360208701615627565b93506159a160408701615627565b92506159af6060870161590d565b915060808601356159bf81615850565b809150509295509295909350565b5f805f606084860312156159df575f80fd5b83359250602084013561ffff811681146159f7575f80fd5b91506040840135615a0781615850565b809150509250925092565b5f8060408385031215615a23575f80fd5b615a2c83615627565b9150602083013561567581615680565b5f60208284031215615a4c575f80fd5b813561142981615850565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201615a9057615a90615a6b565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60ff821660ff8103615ac057615ac0615a6b565b60010192915050565b5f60208284031215615ad9575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82615b0257615b02615ae0565b500490565b5f60208284031215615b17575f80fd5b81356001600160401b0381168114611429575f80fd5b5f808335601e19843603018112615b42575f80fd5b8301803591506001600160401b03821115615b5b575f80fd5b6020019150600581901b360382131561134b575f80fd5b5f60208284031215615b82575f80fd5b815161142981615850565b81810381811115610ba457610ba4615a6b565b608080825281018590525f8660a08301825b88811015615bda5760ff615bc584615627565b16825260209283019290910190600101615bb2565b508381036020850152615bed8188615783565b6040850196909652505050606001529392505050565b5f60208284031215615c13575f80fd5b815161142981615637565b5f82515f5b81811015615c3d5760208186018101518583015201615c23565b505f920191825250919050565b8082028115828204841417610ba457610ba4615a6b565b80820180821115610ba457610ba4615a6b565b60018160ff825b80861115615caf57828204831115615c9557615c95615a6b565b80861615615ca257928202925b94851c9491800291615c7b565b50509250929050565b5f82615cc657506001610ba4565b81615cd257505f610ba4565b8160018114615ce85760028114615cf257615d20565b6001915050610ba4565b60ff841115615d0357615d03615a6b565b6001841b915060ff821115615d1a57615d1a615a6b565b50610ba4565b5060208310610133831016604e8410600b8410161715615d54575081810a60ff811115615d4f57615d4f615a6b565b610ba4565b615d5e8383615c74565b8060ff04821115615d7157615d71615a6b565b029392505050565b5f61142960ff841660ff8416615cb8565b5f8060408385031215615d9b575f80fd5b82519150602083015161567581615637565b805160208201516001600160e01b03198082169291906004831015615ddc5780818460040360031b1b83161693505b505050919050565b5f60208284031215615df4575f80fd5b815161142981615680565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b634e487b7160e01b5f52603160045260245ffd5b5f815180845260208085019450602084015f5b838110156157bb57815163ffffffff1687529582019590820190600101615e50565b604081525f615e846040830185615e3d565b82810360208401526125e08185615e3d565b6001600160801b03828116828216039080821115615eb657615eb6615a6b565b5092915050565b60e080825288519082018190525f90602090610100840190828c01845b82811015615ef957815160ff1684529284019290840190600101615eda565b5050508381036020850152615f0e818b615783565b925050508660408301528560608301528460808301528360a083015261505460c083018415159052565b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680615f5e57615f5e615ae0565b8060ff8416069150509291505056fea264697066735822122095b627693029f6370ebe4156e90797050f5e5e6e3346723ec21e86018d9555ac64736f6c63430008180033c080a08820aa94f81ed48d5cb619c824091406613a28bc142aa9b8b4e5c66bd1dd144aa0784eb89d07b6ba117b30a23a5b6e4239ccb844544cd59b480563dba3253b575b