HyperEVM inbox message
Message #134,362
l2 messageexecuted on Elysium
- sent on HyperEVM
- 2026-11-01 20:22:48 UTC · 2d 14h ago
- HyperEVM block
- 50,129,581
- sender on HyperEVM
- 0x4116ccc1cc2b34953f73413c4747c954f49c179b
- Elysium execution
- 0x6b5e5a977d36baf267836f4bc8c611a612db2b320f7c96355521c45802aa017f · after 0s
payload
0x0402f9a74b8301863d6f8405f5e100840bebc20083e29ce9944e59b44847b379578588920ca78fbf26c0b4956c80b9a6db0000000000000000000000000000000000000000000000000000000000001ad5610180604052346103d957604051601f61a5fb38819003918201601f19168301916001600160401b038311848410176103ba5780849260c0946040528339810103126103d9578051906001600160a01b038216908183036103d957610066602082016103dd565b92610073604083016103dd565b93610080606084016103dd565b9060a061008f608086016103dd565b940151926001600160a01b03841684036103d95760643b151560805260a05260c05260e08590526101005261012082905261014052604051926145af91828501916001600160401b038311868410176103ba57606094869461604c863983526001600160a01b0390811660208401521660408201520301905ff080156103ce57610160526040516101c081016001600160401b038111828210176103ba575f916101a0916040526001815282602082015260016040820152826060820152600160808201528260a0820152600160c0820152600160e0820152826101008201528261012082015260016101408201526001610160820152826101808201520152612000301615156001148015906103ad575b801561039c575b801561038f575b801561037e575b8015610371575b8015610361575b8015610351575b8015610345575b8015610339575b8015610329575b8015610319575b801561030d575b8015610301575b6102ee57604051615c5a90816103f282396080518181816120f40152615b1b015260a05181818161032d015281816106bf0152818161082501528181611257015281816113d30152818161207c01528181613bc90152818161405201528181614c1301528181615315015281816155ee01526156e9015260c0518181816123be0152614268015260e0518181816122f5015261391b0152610100518181816106fd01528181611d4f0152818161355e01526140900152610120518181816126a90152613c8001526101405181818161042a015261289f01526101605181818161089c0152818161192401528181613d270152614e090152f35b630732d7b560e51b5f523060045260245ffd5b506001301615156101f5565b506002301615156101ee565b50600430161515600114156101e7565b50600830161515600114156101e0565b506010301615156101d9565b506020301615156101d2565b50604030161515600114156101cb565b50608030161515600114156101c4565b50610100301615156101bd565b5061020030161515600114156101b6565b50610400301615156101af565b5061080030161515600114156101a8565b50611000301615156101a1565b634e487b7160e01b5f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b51906001600160a01b03821682036103d95756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816316eebd1e146142205750806319f37361146141b85780631a65893b1461417e57806321d0ee7014614143578063249d39e914614109578063259982e5146140295780632c597de914613fef5780632ed327ea14613fb557806332e8bc7214613f5257806336fec44914613dae5780633de3501c14613d4b578063430fb8e614613cdd57806346ca626b14613ca457806346e2531214613c36578063575e24b414613b02578063640b321314613a46578063699900c114613a0d57806369ce6d47146138675780636c2bbe7e14611d005780636fe7e6eb146137ca578063741f43b714613790578063762ea7de1461375757806377907959146123195780637b103999146122ab5780637ba1be00146122485780638652edf9146121195780638a09fc31146120bf57806391dd73461461201557806394a7848314611de45780639a4c1e7814611d735780639c9b4cdb14611d055780639f063efc14611d00578063a7509b8314611c9d578063b47b2fb11461130b578063b59c2a151461114f578063b5c7d44a14611114578063b6a8b0fa14610638578063b88a92b4146110d8578063bbb356a614610eb9578063c69e556814610bfc578063c70287f914610b83578063d0c6e03b14610b16578063d6ae6e44146109e0578063d7b309341461097d578063da382ca414610849578063dc4c90d3146107da578063dc98354e1461063d578063e1b4af6914610638578063f82e9b9d1461044e578063f831432e146103df5763fb3e6f291461024f575f80fd5b346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5773ffffffffffffffffffffffffffffffffffffffff61029b61428c565b16808252600360205260ff604083205416156103b4578161031391604051908260208301526040820152816060820152816080820152608081526102e060a082614665565b604051809381927f48c8949100000000000000000000000000000000000000000000000000000000835260048301614510565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19081156103a9578291610387575b506040818051810103126103835780604060208193015191015182519182526020820152f35b5080fd5b6103a391503d8084833e61039b8183614665565b8101906154fc565b5f61035d565b6040513d84823e3d90fd5b6004827f8698bf37000000000000000000000000000000000000000000000000000000008152fd5b80fd5b50346103dc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103dc5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5761048661428c565b73ffffffffffffffffffffffffffffffffffffffff6104a36142af565b911690818352600360205260ff6040842054161561061057818352600160205260a06040842073ffffffffffffffffffffffffffffffffffffffff6002604051926104ed846145f4565b8281541684526001810154838116602086015262ffffff81871c16604086015260b81c820b606085015201541660808201522083528260205260408320906001610535615b19565b920173ffffffffffffffffffffffffffffffffffffffff808254169316928314806105f1575b156105c95780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169182179055917ff51df37c442fa56bb69ae31113b6baba4153182940542bc965ee52d668e2e7ea8480a480f35b6004857f93687c0b000000000000000000000000000000000000000000000000000000008152fd5b5073ffffffffffffffffffffffffffffffffffffffff8216151561055b565b6004837f8698bf37000000000000000000000000000000000000000000000000000000008152fd5b614558565b50346103dc5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5761067561428c565b60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610383576106a76144dd565b5073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036107b25773ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001691161480159061077e575b6107565760206040517fdc98354e000000000000000000000000000000000000000000000000000000008152f35b807f09f21ead0000000000000000000000000000000000000000000000000000000060049252fd5b5060a061078a3661481d565b2081528060205273ffffffffffffffffffffffffffffffffffffffff60408220541615610728565b6004827ff655705d000000000000000000000000000000000000000000000000000000008152fd5b50346103dc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103dc5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5761088161428c565b9060243573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036109555773ffffffffffffffffffffffffffffffffffffffff82931690818352600a602052604083206108f282825461528c565b9055813b156109515782916024839260405194859384927f525402e100000000000000000000000000000000000000000000000000000000845260048401525af180156103a9576109405750f35b8161094a91614665565b6103dc5780f35b5050fd5b6004827fc080a070000000000000000000000000000000000000000000000000000000008152fd5b50346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57604060209173ffffffffffffffffffffffffffffffffffffffff6109cf61428c565b168152600883522054604051908152f35b50346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57610a1861428c565b610a20615b19565b9073ffffffffffffffffffffffffffffffffffffffff821680845260046020526040842073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2054928315610aee5783610aa591868460209852600488526040812073ffffffffffffffffffffffffffffffffffffffff87165f52885260405f20558461558d565b7faa4ecfd5324d73e3b54d038b3ae8ac8f88866d49dc334dc1f02fe36e0f9357488473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b6004857f969bf728000000000000000000000000000000000000000000000000000000008152fd5b50346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5767ffffffffffffffff604060209273ffffffffffffffffffffffffffffffffffffffff610b7161428c565b16815260098452205416604051908152f35b50346103dc5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5773ffffffffffffffffffffffffffffffffffffffff6040610bd261428c565b9282610bdc6142af565b9416815260046020522091165f52602052602060405f2054604051908152f35b50346103dc5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57610c3461428c565b6024359061ffff821690818303610eb55760443561ffff811691828203610eb15773ffffffffffffffffffffffffffffffffffffffff1693848652600360205260ff60408720541615610e8957848652600160205260a06040872073ffffffffffffffffffffffffffffffffffffffff600260405192610cb3846145f4565b8281541684526001810154838116602086015262ffffff81871c16604086015260b81c820b606085015201541660808201522086528560205260408620906001610cfb615b19565b92019182549073ffffffffffffffffffffffffffffffffffffffff808316911603610e615761ffff8160a01c168611159081610e4f575b5080610e44575b80610e39575b15610e11577fd040a1b6d8ad7f0cbb0f4431180473586c113b517fedc65e8473e1645d3a7345949282610dba610e039360409795907fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b907fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff77ffff0000000000000000000000000000000000000000000083549260b01b169116179055565b82519182526020820152a280f35b6004877f2fb579bb000000000000000000000000000000000000000000000000000000008152fd5b506064841015610d3f565b506064851015610d39565b61ffff915060b01c168411155f610d32565b6004887f93687c0b000000000000000000000000000000000000000000000000000000008152fd5b6004867f8698bf37000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b8380fd5b50346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc57610ef161428c565b81604051610efe8161462c565b8181528160208201528160408201528160608201528160808201528160a08201528160c082015260e0015273ffffffffffffffffffffffffffffffffffffffff16815260016020526040812060405190610f57826145f4565b805473ffffffffffffffffffffffffffffffffffffffff168252600181015473ffffffffffffffffffffffffffffffffffffffff811660208401528060a01c62ffffff16604084015260b81c60020b60608301526002015473ffffffffffffffffffffffffffffffffffffffff16608082015260a0902081528060205260409020604051610fe48161462c565b815473ffffffffffffffffffffffffffffffffffffffff169182825260010154906020810173ffffffffffffffffffffffffffffffffffffffff83168152604082018360a01c61ffff168152606083018460b01c61ffff16815260808401918560c01c61ffff16835260a08501938660d01c61ffff16855260c08601958760e01c61ffff16875260e0019660f01c87526040519788525173ffffffffffffffffffffffffffffffffffffffff1660208801525161ffff1660408701525161ffff1660608601525161ffff1660808501525161ffff1660a08401525161ffff1660c08301525161ffff1660e082015261010090f35b50346103dc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc576020604051620151808152f35b50346103dc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc576020604051610bb88152f35b50346103dc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103dc5773ffffffffffffffffffffffffffffffffffffffff61119c61428c565b16808252600660205260408220549081156112e357828161123d945260066020528060408120558181526007602052604081206111da84825461528c565b9055806040516001602082015283604082015261dead60608201528460808201526080815261120a60a082614665565b604051809681927f48c8949100000000000000000000000000000000000000000000000000000000835260048301614510565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19384156112d6576020946112bb575b50507f3a5fea3bb7554543aef50b6437417bd4c5046efaf06ea772c1398f9e6cdd67a283604051848152a2604051908152f35b6112ce913d8091833e61039b8183614665565b505f80611288565b50604051903d90823e3d90fd5b6004837f969bf728000000000000000000000000000000000000000000000000000000008152fd5b5034611abd576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5761134461428c565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c360112611abd576101443567ffffffffffffffff8111611abd576113ba9036906004016142f3565b505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803303611c75575f9060a06114073661481d565b205f525f60205260405f209060c43580151590818103611abd5760e435905f8212906101243560801d5f81600f0b125f14611c7057611445906154cd565b600f0b918115611c5e5761ffff80600189015460a01c165b1693858214611b8157505015611b6e578161147791614915565b90612710036127108111611b415761148e91614935565b8061160c575b50505073ffffffffffffffffffffffffffffffffffffffff905b54168083526008602052604083205481845260026020526001604085200154111590816115fc575b5061150f575b6040908151907fb47b2fb1000000000000000000000000000000000000000000000000000000008252600f0b6020820152f35b303b15610383576040517f9a4c1e7800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff6115596142af565b16600482015260443573ffffffffffffffffffffffffffffffffffffffff8116809103610eb557602482015260643562ffffff8116809103610eb55760448201526084358060020b809103610eb557606482015260a43573ffffffffffffffffffffffffffffffffffffffff8116809103610eb5576084820152828160a48183305af16115e7575b506114dc565b6115f2838092614665565b61038357816115e1565b6116069150615acc565b5f6114d6565b909194935060243573ffffffffffffffffffffffffffffffffffffffff811695868203611abd57816116c292505073ffffffffffffffffffffffffffffffffffffffff8554165f52600260205260405f206001860180549073ffffffffffffffffffffffffffffffffffffffff6116d88b6116d361271061169461ffff8860c01c168c614915565b04956116a0878c614928565b612710806116b561ffff8560e01c1684614915565b049b8c9360f01c83614915565b0497889481611af7575b5050614928565b614928565b9154165f52600460205260405f2073ffffffffffffffffffffffffffffffffffffffff8b165f5260205261171160405f2091825461528c565b905580611ac1575b5061271061174761ffff60058361173983600288015460a01c1689614915565b0494015460a01c1685614915565b0491611753838361528c565b9261175e8487614928565b99823b15611abd576040517f156e29f600000000000000000000000000000000000000000000000000000000815230600482015260248101829052604481019b909b525f8b60648183875af18015611ab257611a96575b899a5084999697989961190d575b50505050808211611848575b5050506044359173ffffffffffffffffffffffffffffffffffffffff831690818403610eb15760407f429107d052e4d0cd116c820815b1d7d8cdb6ae4740384489ebd9c573ad1ac87d9173ffffffffffffffffffffffffffffffffffffffff95508151908152846020820152a2600f0b91905f80611494565b806118566118a49284614928565b73ffffffffffffffffffffffffffffffffffffffff8854168552600a6020526118846040862091825461528c565b905573ffffffffffffffffffffffffffffffffffffffff87541692614928565b813b156119095782916024839260405194859384927f525402e100000000000000000000000000000000000000000000000000000000845260048401525af180156103a9576118f4575b806117cf565b816118fe91614665565b610eb557835f6118ee565b8280fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692803b15611a92576040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101929092526044820186905287908290606490829084905af1908115611a87578791611a72575b505073ffffffffffffffffffffffffffffffffffffffff89541691803b15611a6e576040517f037b1e2900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff939093166004840152602483019390935260448201529084908290606490829084905af1908115611a63578491611a4e575b80806117c3565b81611a5891614665565b61190957825f611a47565b6040513d86823e3d90fd5b8680fd5b81611a7c91614665565b610eb157855f6119b8565b6040513d89823e3d90fd5b8780fd5b9596979850985f611aa691614665565b5f9796959489906117b5565b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff8754165f526008602052611aef60405f2091825461528c565b90555f611719565b8a5460a01c60ff1615611b24575f526006602052611b1a60405f2091825461528c565b90555b8f806116cc565b5f526005602052611b3a60405f2091825461528c565b9055611b1d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61271091611b7b91614915565b0461148e565b929450945050835f14611c5857611b97906148e9565b905b8315611c3257611bac6127109183614915565b045b8015159384611c03575b50505050611bdb5773ffffffffffffffffffffffffffffffffffffffff906114ae565b7fd964f528000000000000000000000000000000000000000000000000000000005f5260045ffd5b929350909115611c2357611c1691614928565b905b14155f808080611bb8565b611c2c9161528c565b90611c18565b611c3c8183614915565b90612710036127108111611b4157611c5391614935565b611bae565b90611b99565b61ffff80600189015460b01c1661145d565b611445565b7ff655705d000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff611ce961428c565b165f526007602052602060405f2054604051908152f35b6143ec565b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34611abd5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57303303611dbc57611dba611db536614751565b615633565b005b7f14d4a4e8000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57611e1b61428c565b60405190611e2882614610565b5f82525f60208301525f6040830152604091825190611e478483614665565b5f5b84811061200057506060015273ffffffffffffffffffffffffffffffffffffffff165f9081526002602052819020815191611e8383614610565b815473ffffffffffffffffffffffffffffffffffffffff8116845260ff602085019160a01c161515815260018301549082850191825282519383850185811067ffffffffffffffff821117611fd35784526002015f855b60028210611fb5575050506060850193845273ffffffffffffffffffffffffffffffffffffffff835195511685525115156020850152519083015251606082015f905b60028210611f2b576101e084f35b602060c082611fa9600194875160a0809173ffffffffffffffffffffffffffffffffffffffff815116845261ffff602082015116602085015273ffffffffffffffffffffffffffffffffffffffff604082015116604085015263ffffffff606082015116606085015261ffff60808201511660808501520151910152565b01930191019091611f1d565b60036020600192611fc5866146d6565b815201930191019091611eda565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60209061200b6146a6565b8185015201611e49565b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760043567ffffffffffffffff8111611abd576120649036906004016142f3565b9073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611c75576120bb916120af916152aa565b60405191829182614510565b0390f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff61216561428c565b5f6080604051612174816145f4565b8281528260208201528260408201528260608201520152165f52600160205260a060405f2073ffffffffffffffffffffffffffffffffffffffff6002604051926121bd846145f4565b8281541684526001810154838116602086015262ffffff81871c16604086015260b81c820b60608501520154166080820152612246604051809273ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565bf35b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff61229461428c565b165f52600a602052602060405f2054604051908152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34611abd577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016103808112611abd5760a013611abd576101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112611abd576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5c360112611abd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361372f5773ffffffffffffffffffffffffffffffffffffffff6124016150d7565b165f52600360205260ff60405f2054166137075773ffffffffffffffffffffffffffffffffffffffff6124326150fa565b1673ffffffffffffffffffffffffffffffffffffffff61245061511d565b1614806136c4575b8061369e575b8061368a575b80613676575b156133b85773ffffffffffffffffffffffffffffffffffffffff61248c6150d7565b166040517fc2b18aa0000000000000000000000000000000000000000000000000000000008152604081600481855afa908115611ab2575f916135fb575b506040517f7f5a7c7b000000000000000000000000000000000000000000000000000000008152602081600481865afa908115611ab2575f916135c1575b5073ffffffffffffffffffffffffffffffffffffffff1630149182613506575b82613460575b5081613421575b816133e0575b50156133b857606461ffff61254e615212565b161015806133a1575b8061338b575b80613374575b1561334c57610bb861ffff612576615235565b16118015613319575b6132f1576101e43580156127a6576125956150d7565b5f9190825b6002841015612c325760c08402806102040173ffffffffffffffffffffffffffffffffffffffff6125ca826151ac565b1615612ba35761022482019161ffff6125e28461527d565b16158015612b96575b8015612b65575b8015612b3b575b8015612aff575b6127a657610244810173ffffffffffffffffffffffffffffffffffffffff612627826151ac565b16612652575b50505060019161ffff6126426126499361527d565b169061528c565b935b019261259a565b61265a61511d565b9161026481019061070863ffffffff61267284615299565b1610159182612ae0575b5081612ac2575b50156127a65773ffffffffffffffffffffffffffffffffffffffff91808316612abc57507f0000000000000000000000000000000000000000000000000000000000000000925b6126d3816151ac565b848416931683146127a65760049273ffffffffffffffffffffffffffffffffffffffff6126ff836151ac565b161115612aae5761270f906151ac565b925b602073ffffffffffffffffffffffffffffffffffffffff612731846151ac565b16604051948580927f0dfe16810000000000000000000000000000000000000000000000000000000082525afa928315611ab2575f93612a5e575b5073ffffffffffffffffffffffffffffffffffffffff9081169216821492836129a4575b836127ce575b505050156127a65785808061262d565b7fc4e6df6e000000000000000000000000000000000000000000000000000000005f5260045ffd5b909192506004602073ffffffffffffffffffffffffffffffffffffffff6127f4856151ac565b16604051928380927fddca3f430000000000000000000000000000000000000000000000000000000082525afa908115611ab2575f91612951575b5073ffffffffffffffffffffffffffffffffffffffff62ffffff92604051957f1698ee82000000000000000000000000000000000000000000000000000000008752600487015216602485015216604483015260208260648173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215611ab2575f926128fb575b5073ffffffffffffffffffffffffffffffffffffffff6128ef81926151ac565b16911614868080612796565b9091506020813d8211612949575b8161291660209383614665565b81010312611abd5773ffffffffffffffffffffffffffffffffffffffff6128ef61294082936150b6565b939250506128cf565b3d9150612909565b90506020813d821161299c575b8161296b60209383614665565b81010312611abd57519062ffffff82168203611abd579073ffffffffffffffffffffffffffffffffffffffff61282f565b3d915061295e565b92506004602073ffffffffffffffffffffffffffffffffffffffff6129c8846151ac565b16604051928380927fd21220a70000000000000000000000000000000000000000000000000000000082525afa908115611ab2575f91612a25575b5073ffffffffffffffffffffffffffffffffffffffff80851691161492612790565b90506020813d8211612a56575b81612a3f60209383614665565b81010312611abd57612a50906150b6565b89612a03565b3d9150612a32565b92506020833d8211612aa6575b81612a7860209383614665565b81010312611abd5773ffffffffffffffffffffffffffffffffffffffff612a9f81946150b6565b935061276c565b3d9150612a6b565b612ab7906151ac565b612711565b926126ca565b6101f49150612ad761028461ffff920161527d565b16111589612683565b62015180919250612af563ffffffff91615299565b161115908a61267c565b506001871480156126005750612b14826151ac565b73ffffffffffffffffffffffffffffffffffffffff80612b32615164565b16911614612600565b50612b45826151ac565b73ffffffffffffffffffffffffffffffffffffffff8087169116146125f9565b50612b6f826151ac565b73ffffffffffffffffffffffffffffffffffffffff80612b8d61511d565b169116146125f2565b506102a4810135156125eb565b5061ffff612bb7610224839794970161527d565b161590811591612c05575b508015612bd6575b6127a65760019061264b565b5080158015612bca575073ffffffffffffffffffffffffffffffffffffffff612bfd615188565b161515612bca565b73ffffffffffffffffffffffffffffffffffffffff9150610244612c2991016151ac565b16151585612bc2565b6127109150116127a65760a0612c4736614751565b205f525f602052600160405f2073ffffffffffffffffffffffffffffffffffffffff612c716150d7565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161781550160c43573ffffffffffffffffffffffffffffffffffffffff81168103611abd5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178155612d4b612d04615212565b82547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff1660a09190911b75ffff000000000000000000000000000000000000000016178255565b612d9f612d56615223565b82547fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff1660b09190911b77ffff0000000000000000000000000000000000000000000016178255565b612df5612daa615235565b82547fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff1660c09190911b79ffff00000000000000000000000000000000000000000000000016178255565b612dfd615247565b81547dffff00000000000000000000000000000000000000000000000000000000612e26615259565b60e01b169079ffffffffffffffffffffffffffffffffffffffffffffffffffff7bffff00000000000000000000000000000000000000000000000000007fffff000000000000000000000000000000000000000000000000000000000000612e8c61526b565b60f01b169460d01b169116171717905573ffffffffffffffffffffffffffffffffffffffff612eb96150d7565b165f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff612ee26150fa565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161781556001810173ffffffffffffffffffffffffffffffffffffffff612f2b615141565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416178155612f5b6151f0565b81547fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff76ffffff0000000000000000000000000000000000000000612f9e615202565b60b81b79ffffff0000000000000000000000000000000000000000000000169360a01b1691161717905573ffffffffffffffffffffffffffffffffffffffff6002612fe76151cd565b920191167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905573ffffffffffffffffffffffffffffffffffffffff61302f6150d7565b165f52600260205260405f209073ffffffffffffffffffffffffffffffffffffffff61305961511d565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008354161782556101c43580151590818103611abd57507fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000084549260a01b1691161782556001820155600261020491015f915b600283106131415773ffffffffffffffffffffffffffffffffffffffff6131086150d7565b165f52600360205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790555f80f35b600360c08273ffffffffffffffffffffffffffffffffffffffff6131666001956151ac565b167fffffffffffffffffffffffff00000000000000000000000000000000000000008654161785556131e461319d6020830161527d565b86547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff1660a09190911b75ffff000000000000000000000000000000000000000016178655565b6132db84860173ffffffffffffffffffffffffffffffffffffffff61320b604085016151ac565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815561323f60608401615299565b7fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff77ffffffff000000000000000000000000000000000000000083549260a01b1691161781556132916080840161527d565b7fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff79ffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b60a08101356002860155019201920191906130e3565b7fa72e8e8d000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061271061334561333a61ffff61332e615247565b1661ffff612642615259565b61ffff61264261526b565b141561257f565b7f2fb579bb000000000000000000000000000000000000000000000000000000005f5260045ffd5b506103e861ffff613383615223565b161115612563565b50606461ffff613399615223565b16101561255d565b506103e861ffff6133b0615212565b161115612557565b7fc79730e2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff9150602001511673ffffffffffffffffffffffffffffffffffffffff613419615188565b16148161253b565b905073ffffffffffffffffffffffffffffffffffffffff81511673ffffffffffffffffffffffffffffffffffffffff613458615164565b161490612535565b6004919250602090604051928380927f999b93af0000000000000000000000000000000000000000000000000000000082525afa908115611ab2575f916134cc575b5073ffffffffffffffffffffffffffffffffffffffff806134c161511d565b16911614908261252e565b90506020813d6020116134fe575b816134e760209383614665565b81010312611abd576134f8906150b6565b826134a2565b3d91506134da565b91506040517f9c9b4cdb000000000000000000000000000000000000000000000000000000008152602081600481865afa908115611ab2575f91613587575b5073ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001691161491612528565b90506020813d6020116135b9575b816135a260209383614665565b81010312611abd576135b3906150b6565b83613545565b3d9150613595565b90506020813d6020116135f3575b816135dc60209383614665565b81010312611abd576135ed906150b6565b83612508565b3d91506135cf565b905060403d60401161366f575b6136128183614665565b8101604082820312611abd5780601f83011215611abd5760405191613638604084614665565b829060408101928311611abd57905b82821061365757505050826124ca565b60208091613664846150b6565b815201910190613647565b503d613608565b5060c8613681615202565b60020b1461246a565b5062ffffff6136976151f0565b1615612464565b5073ffffffffffffffffffffffffffffffffffffffff6136bc6151cd565b16301461245e565b5073ffffffffffffffffffffffffffffffffffffffff6136e2615141565b1673ffffffffffffffffffffffffffffffffffffffff6137006150d7565b1614612458565b7f3a81d6fc000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f04e255a1000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405160198152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040516101f48152f35b34611abd576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5761380261428c565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd576138356144dd565b5061383e614500565b507f0a85dc29000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5761389e61428c565b73ffffffffffffffffffffffffffffffffffffffff8116805f52600560205260405f20549081156139e557805f5260056020525f6040812055604051927f61d027b300000000000000000000000000000000000000000000000000000000845260208460048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa938415611ab2575f946139a3575b509261395a838260209661558d565b7f4f8a50ec1fe3d316970fdadd1f94e0b822f92d31e2bac3c9dc2c6c287de071078473ffffffffffffffffffffffffffffffffffffffff604051938685521692a3604051908152f35b93506020843d6020116139dd575b816139be60209383614665565b81010312611abd5761395a836139d56020966150b6565b95505061394b565b3d91506139b1565b7f969bf728000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405160648152f35b34611abd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57613a7d61428c565b602435335f52600360205260ff60405f20541615613ada57611dba91335f52600a60205260405f20613ab0838254614928565b9055335f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f20541661558d565b7f8698bf37000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57613b3a61428c565b5060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c360112611abd576101243567ffffffffffffffff8111611abd57613bb09036906004016142f3565b505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611c7557606062ffffff613bfd61496c565b907fffffffff00000000000000000000000000000000000000000000000000000000604094939451941684526020840152166040820152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405160c88152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff613d9761428c565b165f526006602052602060405f2054604051908152f35b34611abd5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd57613de561428c565b60243560ff8116809103611abd5773ffffffffffffffffffffffffffffffffffffffff613e106146a6565b92165f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff81541691600181148015613f48575b613ec9575b60e08361224686604051928352602083019060a0809173ffffffffffffffffffffffffffffffffffffffff815116845261ffff602082015116602085015273ffffffffffffffffffffffffffffffffffffffff604082015116604085015263ffffffff606082015116606085015261ffff60808201511660808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9193500160ff8111611b41576002811015613f1b57613f15600260e0946003612246940201016146d6565b92613e46565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5060028114613e41565b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff613f9e61428c565b165f526005602052602060405f2054604051908152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040516102588152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040516103e88152f35b34611abd5761403736614321565b5050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611c755773ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169116036140e15760206040517f259982e5000000000000000000000000000000000000000000000000000000008152f35b7f09f21ead000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040516127108152f35b34611abd5761415136614321565b50505050507f8f4e75b2000000000000000000000000000000000000000000000000000000005f5260045ffd5b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760206040516107088152f35b34611abd5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5773ffffffffffffffffffffffffffffffffffffffff61420461428c565b165f526003602052602060ff60405f2054166040519015158152f35b34611abd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203611abd57565b6024359073ffffffffffffffffffffffffffffffffffffffff82168203611abd57565b359073ffffffffffffffffffffffffffffffffffffffff82168203611abd57565b9181601f84011215611abd5782359167ffffffffffffffff8311611abd5760208381860195010111611abd57565b906101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112611abd5760043573ffffffffffffffffffffffffffffffffffffffff81168103611abd579160a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc820112611abd5760249160807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c830112611abd5760c491610144359067ffffffffffffffff8211611abd576143e8916004016142f3565b9091565b34611abd576101a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760043573ffffffffffffffffffffffffffffffffffffffff81168103611abd575060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd5760807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c360112611abd576101843567ffffffffffffffff8111611abd576144b29036906004016142f3565b9050507f0a85dc29000000000000000000000000000000000000000000000000000000005f5260045ffd5b60c4359073ffffffffffffffffffffffffffffffffffffffff82168203611abd57565b60e435908160020b8203611abd57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b34611abd576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611abd5760043573ffffffffffffffffffffffffffffffffffffffff81168103611abd575060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd576101043567ffffffffffffffff8111611abd576144b29036906004016142f3565b60a0810190811067ffffffffffffffff821117611fd357604052565b6080810190811067ffffffffffffffff821117611fd357604052565b610100810190811067ffffffffffffffff821117611fd357604052565b60c0810190811067ffffffffffffffff821117611fd357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611fd357604052565b604051906146b382614649565b5f60a0838281528260208201528260408201528260608201528260808201520152565b906040516146e381614649565b60a06002829461ffff815473ffffffffffffffffffffffffffffffffffffffff81168652841c16602085015261ffff600182015473ffffffffffffffffffffffffffffffffffffffff8116604087015263ffffffff81861c16606087015260c01c1660808501520154910152565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a0910112611abd5760405190614788826145f4565b8160043573ffffffffffffffffffffffffffffffffffffffff81168103611abd57815260243573ffffffffffffffffffffffffffffffffffffffff81168103611abd57602082015260443562ffffff81168103611abd5760408201526064358060020b8103611abd5760608201526084359073ffffffffffffffffffffffffffffffffffffffff82168203611abd5760800152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a0910112611abd5760405190614854826145f4565b8160243573ffffffffffffffffffffffffffffffffffffffff81168103611abd57815260443573ffffffffffffffffffffffffffffffffffffffff81168103611abd57602082015260643562ffffff81168103611abd5760408201526084358060020b8103611abd57606082015260a4359073ffffffffffffffffffffffffffffffffffffffff82168203611abd5760800152565b7f80000000000000000000000000000000000000000000000000000000000000008114611b41575f0390565b81810292918115918404141715611b4157565b91908203918211611b4157565b811561493f570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112611abd576040516149a2816145f4565b6024359173ffffffffffffffffffffffffffffffffffffffff83168303611abd578282526044359273ffffffffffffffffffffffffffffffffffffffff84168403611abd5783602084015260643562ffffff81168103611abd5760408401526084358060020b8103611abd57606084015260a43573ffffffffffffffffffffffffffffffffffffffff81168103611abd57608084015260a05f93205f525f60205260405f209360c4359182151592838103611abd5760e435905f82129182860361508557821561507f57614a75906148e9565b905b1561506d5761ffff8060018a015460a01c165b1691156150465761271091614a9e91614915565b04955b86156150175773ffffffffffffffffffffffffffffffffffffffff82168203611abd5773ffffffffffffffffffffffffffffffffffffffff8216808303611abd57614b70925073ffffffffffffffffffffffffffffffffffffffff8254165f52600260205260405f20906001830180549073ffffffffffffffffffffffffffffffffffffffff614b808c6116d3614b4d612710614b4561ffff8960c01c1685614915565b048093614928565b9561271080614b6361ffff8460e01c168a614915565b049b8c9260f01c89614915565b0496838894614fcc575b50614928565b9154165f52600460205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f52602052614bb960405f2091825461528c565b905580614f96575b50612710614bef61ffff600583614be183600289015460a01c168a614915565b0495015460a01c1686614915565b0490614bfb828461528c565b9273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016614c3d858d614928565b813b15611abd576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810185905260448101919091525f8160648183865af18015611ab257614f81575b5084614df2575b50505050808311614d38575b50505073ffffffffffffffffffffffffffffffffffffffff81168103611abd57604073ffffffffffffffffffffffffffffffffffffffff827f429107d052e4d0cd116c820815b1d7d8cdb6ae4740384489ebd9c573ad1ac87d935082519485528760208601521692a27f575e24b4000000000000000000000000000000000000000000000000000000009260801b9190565b73ffffffffffffffffffffffffffffffffffffffff614d7f92614d5b8386614928565b828254168a52600a602052614d7560408b2091825461528c565b9055541692614928565b813b15610eb15785916024839260405194859384927f525402e100000000000000000000000000000000000000000000000000000000845260048401525af18015614de757908591614dd2575b80614ca6565b81614ddc91614665565b610eb557835f614dcc565b6040513d87823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692813b15614f7d576040517f156e29f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481019190915260448101869052908b908290606490829084905af18015614f7257908b91614f59575b505073ffffffffffffffffffffffffffffffffffffffff855416823b15614f55576040517f037b1e2900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526024810191909152604481019290925288908290606490829084905af18015614f4a57908891614f35575b8080614c9a565b81614f3f91614665565b611a6e57865f614f2e565b6040513d8a823e3d90fd5b8a80fd5b81614f6391614665565b614f6e57895f614e9e565b8980fd5b6040513d8d823e3d90fd5b8b80fd5b614f8e919b505f90614665565b5f995f614c93565b73ffffffffffffffffffffffffffffffffffffffff8454165f526008602052614fc460405f2091825461528c565b90555f614bc1565b8a5460a01c60ff1615614ff957895f526006602052614ff060405f2091825461528c565b90555b5f614b7a565b895f52600560205261501060405f2091825461528c565b9055614ff3565b505050509150507f575e24b400000000000000000000000000000000000000000000000000000000905f905f90565b8161505091614915565b90612710036127108111611b415761506791614935565b95614aa1565b61ffff8060018a015460b01c16614a8a565b90614a77565b5050505050509150507f575e24b400000000000000000000000000000000000000000000000000000000905f905f90565b519073ffffffffffffffffffffffffffffffffffffffff82168203611abd57565b60a43573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b60043573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b6101a43573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b60243573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b6102043573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b6102c43573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b3573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b60843573ffffffffffffffffffffffffffffffffffffffff81168103611abd5790565b60443562ffffff81168103611abd5790565b6064358060020b8103611abd5790565b60e43561ffff81168103611abd5790565b6101043561ffff81168103611abd5790565b6101243561ffff81168103611abd5790565b6101443561ffff81168103611abd5790565b6101643561ffff81168103611abd5790565b6101843561ffff81168103611abd5790565b3561ffff81168103611abd5790565b91908201809211611b4157565b3563ffffffff81168103611abd5790565b6080815f9381010312611abd57803560ff8116809103611abd576152d0602083016142d2565b73ffffffffffffffffffffffffffffffffffffffff60606152f3604086016142d2565b9401359116911561543f5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15611abd576040517ff5298aca00000000000000000000000000000000000000000000000000000000815230600482015260248101849052604481018290525f8160648183875af18015611ab25761542a575b50813b156154265784928373ffffffffffffffffffffffffffffffffffffffff959360649360405197889687957f0b0d9c09000000000000000000000000000000000000000000000000000000008752600487015216602485015260448401525af180156103a957908291615411575b50506040519061540c602083614665565b815290565b8161541b91614665565b6103dc57805f6153fb565b8480fd5b6154379195505f90614665565b5f935f61538b565b509150505f5260016020526154ad60405f2073ffffffffffffffffffffffffffffffffffffffff600260405192615475846145f4565b8281541684526001810154838116602086015262ffffff8160a01c16604086015260b81c820b60608501520154166080820152615633565b6040519160208301526040820152604081526154ca606082614665565b90565b600f0b7fffffffffffffffffffffffffffffffff800000000000000000000000000000008114611b41575f0390565b602081830312611abd5780519067ffffffffffffffff8211611abd570181601f82011215611abd5780519067ffffffffffffffff8211611fd3576040519261556c601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185614665565b82845260208383010111611abd57815f9260208093018386015e8301015290565b6155d49273ffffffffffffffffffffffffffffffffffffffff5f938160405194600160208701521660408501521660608301526080820152608081526102e060a082614665565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015611ab25761561d5750565b615630903d805f833e61039b8183614665565b50565b6020810191825173ffffffffffffffffffffffffffffffffffffffff5f911690815f52600860205260405f205480158015615abc575b615ab157825f52600960205260405f2067ffffffffffffffff42167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905560a085206040516020810191825260066040820152604081526156cf606082614665565b51902073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690604051907f1e2eaeaf0000000000000000000000000000000000000000000000000000000082526004820152602081602481855afa8015611ab2575f90615a6b575b73ffffffffffffffffffffffffffffffffffffffff9150166127108102908082046127101490151715611b41576127299004906401000276a3821115615a5e575b615796836148e9565b60405192606084019184831067ffffffffffffffff841117611fd35773ffffffffffffffffffffffffffffffffffffffff926040526001855260208501908152826040860192168252604051947ff3cd914c00000000000000000000000000000000000000000000000000000000865261585d600487018c73ffffffffffffffffffffffffffffffffffffffff6080809282815116855282602082015116602086015262ffffff6040820151166040860152606081015160020b6060860152015116910152565b51151560a48601525160c4850152511660e48301526101206101048301525f610124830152602082610144815f855af1918215611ab2575f92615a2a575b506158a88260801d6154cd565b600f0b978892600f0b97836159a3575b5087615909575b50506158cd90604092614928565b91838152600860205220557f9974e18439e1be35bed06dd8c03ef340ed502fa7438ba3a9f14fcd44ae9d104a60408051868152856020820152a2565b73ffffffffffffffffffffffffffffffffffffffff9192505116813b15610eb55783916064839260405194859384927f0b0d9c09000000000000000000000000000000000000000000000000000000008452600484015261dead60248401528b60448401525af180156159985787918491156158bf578192509061598c91614665565b6103835785825f6158bf565b6040513d85823e3d90fd5b5173ffffffffffffffffffffffffffffffffffffffff169250813b15611abd576040517ff5298aca0000000000000000000000000000000000000000000000000000000081523060048201526024810193909352604483018990525f8360648183865af1928315611ab2578993156158b857615a229195505f90614665565b5f935f6158b8565b9091506020813d602011615a56575b81615a4660209383614665565b81010312611abd5751905f61589b565b3d9150615a39565b6401000276a4915061578d565b506020813d602011615aa9575b81615a8560209383614665565b81010312611abd5773ffffffffffffffffffffffffffffffffffffffff905161574c565b3d9150615a78565b505f94508493505050565b50615ac683615acc565b15615669565b73ffffffffffffffffffffffffffffffffffffffff165f52600960205267ffffffffffffffff60405f2054168015908115615b05575090565b90506102588101809111611b415742101590565b7f000000000000000000000000000000000000000000000000000000000000000080615bcd575b615b48573390565b6040517fd74523b300000000000000000000000000000000000000000000000000000000815260208160048160645afa908115611ab2575f91615b93575b50803b156154ca57503390565b90506020813d602011615bc5575b81615bae60209383614665565b81010312611abd57615bbf906150b6565b5f615b86565b3d9150615ba1565b506040517f175a260b00000000000000000000000000000000000000000000000000000000815260208160048160645afa908115611ab2575f91615c12575b50615b40565b90506020813d602011615c45575b81615c2d60209383614665565b81010312611abd57518015158103611abd575f615c0c565b3d9150615c2056fea164736f6c634300081a000a6101003461012e57601f6145af38819003918201601f19168301916001600160401b038311848410176101325780849260609460405283398101031261012e578051906001600160a01b038216820361012e5761006a604061006360208401610146565b9201610146565b913360805260a05260c05260e052604051614454908161015b823960805181818161040101528181610ca2015281816117c20152818161196601528181612202015281816126a801528181612e740152613f74015260a051818181602f015281816107a001528181610a8f01528181611b28015281816129140152612c5e015260c0518181816104fc01528181610d1b01528181611831015261277d015260e051818181609e0152818161203501528181612f910152818161359a0152613db50152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361012e5756fe608060405260043610156100c6575b3615610018575f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633141580610086575b61005e57005b7f07caa716000000000000000000000000000000000000000000000000000000005f5260045ffd5b5073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016331415610058565b5f803560e01c8063037b1e29146121c25780630bdc950d146121415780633d4f82dc146121065780634479314b1461205957806346e2531214611feb5780634f1de29214611f3b57806350e7c96c146118ce57806371ed2ad3146118555780637b103999146117e65780637f5a7c7b14611777578063807efdea146116fd57806390eb4eae146116c357806391dd73461461165757806395ffd4a5146115f4578063a1c4033d14611570578063af4f8a271461147f578063b467ba5414611445578063b4ada80614610be7578063b54d01da14610bad578063bf77423814610b29578063cd5392e314610aee578063cde5f58f14610ab3578063dc4c90d314610a44578063e2b162781461034c5763fa461e33146101e4575061000e565b346103495760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610349576004359060443567ffffffffffffffff81116103455761023790369060040161238e565b50507f2e1ee29bfa079af13b120541473df9e304c0f8ee2540eb80643f36a6662ca2585c917ffb550c130a2fb949fbda35525fab213251356596f5aa7d2136aae9fd8c92cff65c907fbc293715ca19b7a2cacc018b4aa898ebe4fa46a0e946e716d2f23771fa59a54a5c908381131561033b57915b73ffffffffffffffffffffffffffffffffffffffff82169081331491821592610332575b508115610328575b506103005773ffffffffffffffffffffffffffffffffffffffff6102fd939416614251565b80f35b6004837fa7165976000000000000000000000000000000000000000000000000000000008152fd5b905082115f6102d8565b1591505f6102d0565b50602435916102ac565b5080fd5b80fd5b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495761038461234d565b61038c612370565b91610395614163565b6040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260ff8416602482015260e0818060448101038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610a3957829183849285926109e7575b5073ffffffffffffffffffffffffffffffffffffffff169182159081156109c7575b5061099f5761047d73ffffffffffffffffffffffffffffffffffffffff9187876141d7565b94169081845260026020526040842060ff87165f5260205267ffffffffffffffff60405f205416801515908161095c575b5061093457604051907f6cd4f947000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156108545784906108e3575b73ffffffffffffffffffffffffffffffffffffffff9150169182156108bb5781845260046020526040842060ff87165f5260205273ffffffffffffffffffffffffffffffffffffffff60405f205416838114610893576107869181869261085f575b50838252816020526040822060ff89165f5260205260405f206105b188825461259b565b905583825260036020526040822060ff89165f5260205260405f206105d7888254612414565b90556040516105e58161246a565b8581526001602082016fffffffffffffffffffffffffffffffff8a1681527fffffffffffffffffffffffffffffffff000000000000000000000000000000006fffffffffffffffffffffffffffffffff604085019287845289885260046020528d60ff60408a2091165f5260205273ffffffffffffffffffffffffffffffffffffffff60405f209651167fffffffffffffffffffffffff00000000000000000000000000000000000000008754161786555116915160801b161791015583825260026020526040822060ff89165f5260205260405f2067ffffffffffffffff804216167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905583825260056020526040822060ff89165f526020528160405f205573ffffffffffffffffffffffffffffffffffffffff6040519183602084015216604082015284606082015286608082015260ff881660a082015260a0815261075360c082612486565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352600483016123bc565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015610854576020967ffa3994028715ea5600e19697eb3f68357e462f363b08f5c428a6474a02dc6625928792610834575b506040805160ff9290921682526020820192909252a37f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b61084f903d8089833e6108478183612486565b8101906125a8565b6107f4565b6040513d86823e3d90fd5b847f872e2e3d7027b8faee9f4474161f8bec8a73078bcac05bcb18722c42b3897376602060405160ff8d168152a35f61058d565b6004857fe4ee3127000000000000000000000000000000000000000000000000000000008152fd5b6004847f393722bd000000000000000000000000000000000000000000000000000000008152fd5b506020813d60201161092c575b816108fd60209383612486565b810103126109285761092373ffffffffffffffffffffffffffffffffffffffff916124c7565b61052b565b8380fd5b3d91506108f0565b6004847f891989be000000000000000000000000000000000000000000000000000000008152fd5b9050610e1081018091116109725742105f6104ae565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6004847f92a27daf000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff91501615155f610458565b91505073ffffffffffffffffffffffffffffffffffffffff9250610a23915060e03d60e011610a32575b610a1b8183612486565b8101906124f7565b95969295949350610436915050565b503d610a11565b6040513d84823e3d90fd5b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610349576020604051610e108152f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760206040516107088152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760ff6040610b6561234d565b9273ffffffffffffffffffffffffffffffffffffffff610b83612370565b9416815260066020522091165f52602052602067ffffffffffffffff60405f205416604051908152f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957602060405160018152f35b50346103495760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957610c1f61234d565b90610c28612370565b9060443592610c35614163565b6040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260ff841660248201529360e0858060448101038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561143a5783928496859161140c575b5073ffffffffffffffffffffffffffffffffffffffff87169081159081156113ec575b506113c457821561139c5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916040517f6cd4f947000000000000000000000000000000000000000000000000000000008152826004820152602081602481875afa801561123757879061134b575b73ffffffffffffffffffffffffffffffffffffffff91501633036113235773ffffffffffffffffffffffffffffffffffffffff604051917f70a082310000000000000000000000000000000000000000000000000000000083521693846004830152602082602481865afa9182156112375787926112ee575b50602492610e4f602092604051907f23b872dd00000000000000000000000000000000000000000000000000000000858301523387830152886044830152606482015260648152610e49608482612486565b8261430c565b604051938480927f70a082310000000000000000000000000000000000000000000000000000000082528860048301525afa9182156112a75786926112ba575b50808211156112b257610ea19161259b565b60ff604051967fafe8b3aa000000000000000000000000000000000000000000000000000000008852169384600488015260208760248189885af19687156112a757869761126f575b50838652600460205260408620855f5260205260405f209260405190610f0f8261246a565b600173ffffffffffffffffffffffffffffffffffffffff8654169586845201549060208301916fffffffffffffffffffffffffffffffff8116835260801c9360408401948086528a973314610fd0575b5050505050506020965060405193845286840152846040840152151560608301527fd8ab6824532f8a19c57d8913adf344236549277eb64cf631d3f436f7a056eb4360803393a37f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b909192939496506fffffffffffffffffffffffffffffffff036fffffffffffffffffffffffffffffffff8111611242576fffffffffffffffffffffffffffffffff8091168087108188180218166fffffffffffffffffffffffffffffffff875116016fffffffffffffffffffffffffffffffff8111611242576fffffffffffffffffffffffffffffffff168652604080517fb910d20100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529b90911660248c0152908a9060449082905afa988915611237576020996fffffffffffffffffffffffffffffffff918991611206575b50166111236fffffffffffffffffffffffffffffffff86511691670de0b6b3a76400006fffffffffffffffffffffffffffffffff855116916111198184614393565b9209151590612414565b118015949061116d575050508285526004875260408520845f52875284600160405f2082815501558285526005875260408520845f5287528460405f20555b5f8080808080610f5f565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000006fffffffffffffffffffffffffffffffff600193888b5260048d5260408b208a5f528d5273ffffffffffffffffffffffffffffffffffffffff60405f209651167fffffffffffffffffffffffff00000000000000000000000000000000000000008754161786555116915160801b1617910155611162565b611228915060403d604011611230575b6112208183612486565b810190612577565b90505f6110d7565b503d611216565b6040513d89823e3d90fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b9096506020813d60201161129f575b8161128b60209383612486565b8101031261129b5751955f610eea565b5f80fd5b3d915061127e565b6040513d88823e3d90fd5b505083610ea1565b9091506020813d6020116112e6575b816112d660209383612486565b8101031261129b5751905f610e8f565b3d91506112c9565b9091506020813d60201161131b575b8161130a60209383612486565b8101031261129b5751906024610df7565b3d91506112fd565b6004867fa598aebe000000000000000000000000000000000000000000000000000000008152fd5b506020813d602011611394575b8161136560209383612486565b810103126113905761138b73ffffffffffffffffffffffffffffffffffffffff916124c7565b610d7e565b8680fd5b3d9150611358565b6004857fbddbe525000000000000000000000000000000000000000000000000000000008152fd5b6004857f92a27daf000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff91501615155f610cf9565b9193505061142a91955060e03d60e011610a3257610a1b8183612486565b505050969290509290955f610cd6565b6040513d85823e3d90fd5b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957602060405160028152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760ff60406114bb61234d565b9273ffffffffffffffffffffffffffffffffffffffff6114d9612370565b94828480516114e78161246a565b828152826020820152015216815260046020522091165f52602052606060405f206fffffffffffffffffffffffffffffffff6040516115258161246a565b81600173ffffffffffffffffffffffffffffffffffffffff85541694858452015491604060208201918385168352019260801c83526040519485525116602084015251166040820152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760ff60406115ac61234d565b9273ffffffffffffffffffffffffffffffffffffffff6115ca612370565b9416815260026020522091165f52602052602067ffffffffffffffff60405f205416604051908152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957604061163f61163161234d565b611639612370565b90613ecf565b67ffffffffffffffff83519216825215156020820152f35b50346103495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610349576004359067ffffffffffffffff8211610349576116bf6116b36116ad366004860161238e565b90612c45565b604051918291826123bc565b0390f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610349576020604051600a8152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760ff604061173961234d565b9273ffffffffffffffffffffffffffffffffffffffff611757612370565b9416815260036020522091165f52602052602060405f2054604051908152f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461034957807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261034957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346103495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103495760ff604061189161234d565b9273ffffffffffffffffffffffffffffffffffffffff6118af612370565b94168152806020522091165f52602052602060405f2054604051908152f35b503461129b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b5761190661234d565b9061190f612370565b90611918614163565b6040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260ff841660248301527f00000000000000000000000000000000000000000000000000000000000000009390841660e083604481845afa948515611c61575f805f955f98611ef8575b5073ffffffffffffffffffffffffffffffffffffffff1615611ed05773ffffffffffffffffffffffffffffffffffffffff881694855f52600560205260405f2060ff86165f5260205260405f20604051906119fe82612421565b5467ffffffffffffffff8116825260ff602083019160401c1615158152875f525f60205260405f2060ff88165f5260205260405f20549967ffffffffffffffff8351168015159283611e4f575b505050801580611e30575b80611e27575b611d51575b15611cf1575060209173ffffffffffffffffffffffffffffffffffffffff8092885f525f855260405f2060ff89165f5285525f6040812055885f526005855260405f2060ff89165f5285525f604081205516611ca3575b6040517f095bcdb600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90941660048501521660248301526044820187905281806064810103815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015611c6157611c6c575b50803b1561129b576040517fda382ca400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff969096166004870152602486018590525f908690604490829084905af1908115611c61576020958592611c29575b506040805160ff92909216825260208201929092527f47e5871fda786b2849725ba2b44c3e1bc6e5adaf5459f5f44bbfd65db23ce84c9190a27f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b5f919450611c379250612486565b5f9183907f47e5871fda786b2849725ba2b44c3e1bc6e5adaf5459f5f44bbfd65db23ce84c611bc6565b6040513d5f823e3d90fd5b6020813d602011611c9b575b81611c8560209383612486565b8101031261129b57518015158114611b55575f80fd5b3d9150611c78565b5f87815260068452604080822060ff891683528552902080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff16179055611ab8565b5167ffffffffffffffff1615611d29577fc27d258a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f8db2750a000000000000000000000000000000000000000000000000000000005f5260045ffd5b50865f52600660205260405f2060ff87165f5260205267ffffffffffffffff60405f2054168015611d8e575b611d8690612404565b421015611a61565b506040517feae4c19f0000000000000000000000000000000000000000000000000000000081526020816004818b5afa908115611c61575f91611ddc575b5067ffffffffffffffff16611d7d565b90506020813d602011611e1f575b81611df760209383612486565b8101031261129b575167ffffffffffffffff8116810361129b5767ffffffffffffffff611dcc565b3d9150611dea565b50891515611a5c565b5073ffffffffffffffffffffffffffffffffffffffff83161515611a56565b519192509015611ead57505067ffffffffffffffff81511662093a808101809111611e80574210155b5f8080611a4b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b611eb690612404565b4210159081611ec6575b50611e78565b905089105f611ec0565b7fa6d82a30000000000000000000000000000000000000000000000000000000005f5260045ffd5b91505073ffffffffffffffffffffffffffffffffffffffff9650611f2c91945060e03d60e011610a3257610a1b8183612486565b9a9298959493506119a4915050565b3461129b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b57611f7261234d565b73ffffffffffffffffffffffffffffffffffffffff611f8f612370565b91611f98612c0c565b50165f52600560205260ff60405f2091165f526020526040805f20815190611fbf82612421565b5460ff602067ffffffffffffffff8316938481520191841c161515815282519182525115156020820152f35b3461129b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461129b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b5773ffffffffffffffffffffffffffffffffffffffff6120a561234d565b6120ad612c0c565b50165f5260016020526040805f2077ffffffffffffffffffffffffffffffffffffffffffffffff8251916120e083612421565b54602067ffffffffffffffff8216938481520190841c8152835192835251166020820152f35b3461129b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b57602060405162093a808152f35b3461129b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b57604061219361217d61234d565b612185612370565b9061218e614163565b612639565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d82519182526020820152f35b3461129b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261129b576121f961234d565b604435906024357f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16330361232557806122b6575b508161224b57005b604073ffffffffffffffffffffffffffffffffffffffff7feb7e186d79ddf9cef9809c3739e431799166d08e0062140f3439c9bb9c38349b921692835f525f602052815f2060025f52602052815f206122a5828254612414565b9055815190600282526020820152a2005b7feb7e186d79ddf9cef9809c3739e431799166d08e0062140f3439c9bb9c38349b604073ffffffffffffffffffffffffffffffffffffffff841692835f525f602052815f2060015f52602052815f20612310828254612414565b9055815190600182526020820152a282612243565b7f5a91834f000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361129b57565b6024359060ff8216820361129b57565b359060ff8216820361129b57565b9181601f8401121561129b5782359167ffffffffffffffff831161129b576020838186019501011161129b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b906224ea008201809211611e8057565b91908201809211611e8057565b6040810190811067ffffffffffffffff82111761243d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060810190811067ffffffffffffffff82111761243d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761243d57604052565b519073ffffffffffffffffffffffffffffffffffffffff8216820361129b57565b519061ffff8216820361129b57565b908160e091031261129b5761250b816124c7565b91612518602083016124c7565b91612525604082016124e8565b91612532606083016124c7565b91608081015163ffffffff8116810361129b579160c061255460a084016124e8565b92015190565b51906fffffffffffffffffffffffffffffffff8216820361129b57565b919082604091031261129b5761259860206125918461255a565b930161255a565b90565b91908203918211611e8057565b60208183031261129b5780519067ffffffffffffffff821161129b570181601f8201121561129b5780519067ffffffffffffffff821161243d5760405192612618601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185612486565b8284526020838301011161129b57815f9260208093018386015e8301015290565b6040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260ff8316602482015292909160e0848060448101038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa928315611c61575f945f905f905f96612bc8575b5073ffffffffffffffffffffffffffffffffffffffff16908115612ba05760406127649161270d8887876141d7565b82517fb910d20100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9a8b16600482015291909916602482015291829081906044820190565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015611c61576fffffffffffffffffffffffffffffffff915f91612b80575b5016858110612b5857815f52600160205260405f2091604051926127e184612421565b5467ffffffffffffffff8116845260401c602084015267ffffffffffffffff8381610708420416918291511603612b3a575b50602083019177ffffffffffffffffffffffffffffffffffffffffffffffff835116908181115f14612b1c5773ffffffffffffffffffffffffffffffffffffffff9161285e9161259b565b945b1693845f52600560205260405f2060ff87165f526020525f6040812055878110612ae0576128fa97985f9160405191600160208401528760408401528360608401528180821091180218608082015260ff871660a082015260a081526128c760c082612486565b604051809981927f48c89491000000000000000000000000000000000000000000000000000000008352600483016123bc565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1968715611c61575f97612ac4575b5060408780518101031261129b57604060208801519701519680988110612a9c5777ffffffffffffffffffffffffffffffffffffffffffffffff1677ffffffffffffffffffffffffffffffffffffffffffffffff8351160177ffffffffffffffffffffffffffffffffffffffffffffffff8111611e805777ffffffffffffffffffffffffffffffffffffffffffffffff1682525f52600160205267ffffffffffffffff8060405f20935116167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008354161782555167ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000083549260401b1691161790555f52600660205260ff60405f2091165f5260205260405f2067ffffffffffffffff804216167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b7fd6f66802000000000000000000000000000000000000000000000000000000005f5260045ffd5b612ad99197503d805f833e6108478183612486565b955f612944565b509550505091935060207fc1971ffe455baf46b0d4b2c29883593ac20edb4d90fc2f65d2c18c50945137c49160ff60405191168152a35f905f90565b505073ffffffffffffffffffffffffffffffffffffffff5f94612860565b604051919350612b4982612421565b81525f6020820152915f612813565b7ff592867b000000000000000000000000000000000000000000000000000000005f5260045ffd5b612b99915060403d604011611230576112208183612486565b505f6127be565b7fb836353d000000000000000000000000000000000000000000000000000000005f5260045ffd5b91505073ffffffffffffffffffffffffffffffffffffffff9550612bfc91945060e03d60e011610a3257610a1b8183612486565b95999598959293506126de915050565b60405190612c1982612421565b5f6020838281520152565b359073ffffffffffffffffffffffffffffffffffffffff8216820361129b57565b606073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803303613ea75760a0835f958101031261129b57612c9b83612380565b91612ca860208501612c24565b612cb460408601612c24565b91600160ff73ffffffffffffffffffffffffffffffffffffffff612cde6080858b01359a01612380565b9416961614612dfc575050813b15612de3576040517ff5298aca0000000000000000000000000000000000000000000000000000000081523060048201526024810184905260448101859052858160648183875af180156112a757908691612de7575b5050813b15612de3576040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201529216602483015260448201929092529082908290606490829084905af18015610a3957908291612dce575b505060405190612dc9602083612486565b815290565b81612dd891612486565b61034957805f612db8565b8480fd5b81612df191612486565b612de357845f612d41565b6040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260ff8316602482015295969195909491939192509060e0828060448101038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015611c61575f905f935f915f915f91613e79575b5073ffffffffffffffffffffffffffffffffffffffff841693853b1561129b576040517ff5298aca00000000000000000000000000000000000000000000000000000000815230600482015260248101869052604481018d90525f81606481838b5af18015611c6157613e64575b50853b15613e37576040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152306024820152604481018d90528981606481838b5af18015613e3b57908a91613e4f575b505084613e4a57507f00000000000000000000000000000000000000000000000000000000000000005b8415613d9e575b73ffffffffffffffffffffffffffffffffffffffff808216971687109273ffffffffffffffffffffffffffffffffffffffff8516928b604051612ffb8282612486565b600281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060208201920136833763ffffffff613037826142d2565b94168094528c60405180937f883bdbfd00000000000000000000000000000000000000000000000000000000825260248201936020600484015251809452604482019093835b818110613d7a575050819293500381885afa908115613d6f578c91613c2d575b50805160011015613c00576130b9604082015160060b916142d2565b5160060b900391667fffffffffffff83137fffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000841217613ba65760060b9160060b8215613bd3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147fffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000821416613ba65782810560020b928c82129182613b97575b5050613b1a575b61ffff908515613ab5571660020b9060020b03627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000821217611242575b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276188160020b1315613a8e575b620d89e88160020b1215613a84575b60020b938460ff1d8581011894620d89e88611613a59579289928b928f95600189167001fffcb933bd6fad37aa2d162d1a59400102700100000000000000000000000000000000189860028116613a3d575b60048116613a21575b60088116613a05575b601081166139e9575b602081166139cd575b604081166139b1575b60808116613995575b6101008116613979575b610200811661395d575b6104008116613941575b6108008116613925575b6110008116613909575b61200081166138ed575b61400081166138d1575b61800081166138b5575b620100008116613899575b62020000811661387e575b620400008116613863575b620800001661384a575b841261381f575b9160c4939160409695937fbc293715ca19b7a2cacc018b4aa898ebe4fa46a0e946e716d2f23771fa59a54a5d7f2e1ee29bfa079af13b120541473df9e304c0f8ee2540eb80643f36a6662ca2585d847ffb550c130a2fb949fbda35525fab213251356596f5aa7d2136aae9fd8c92cff65d73ffffffffffffffffffffffffffffffffffffffff63ffffffff8751998a9788967f128acb0800000000000000000000000000000000000000000000000000000000885260048801528a602488015260448701520160201c16606484015260a060848401528160a48401525af1801561123757879188916137e1575b6134519350887fbc293715ca19b7a2cacc018b4aa898ebe4fa46a0e946e716d2f23771fa59a54a5d887f2e1ee29bfa079af13b120541473df9e304c0f8ee2540eb80643f36a6662ca2585d887ffb550c130a2fb949fbda35525fab213251356596f5aa7d2136aae9fd8c92cff65d156137d85750809961259b565b928361357d575b50505050808252816020526040822060ff85165f5260205260405f2061347f86825461259b565b905560ff604051947fafe8b3aa000000000000000000000000000000000000000000000000000000008652169384600482015260208160248186865af1928315613571579261351b575b507f4177ac9bcda9209497fa94372fd2a1dc30f623f6e26333f98c499cdb8b05749d8361259895604051908152876020820152846040820152a260405193602085015260408401526040835282612486565b9391506020843d602011613569575b8161353760209383612486565b8101031261129b57925190927f4177ac9bcda9209497fa94372fd2a1dc30f623f6e26333f98c499cdb8b05749d6134c9565b3d915061352a565b604051903d90823e3d90fd5b81613707575073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b15613703578580916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528960048401525af180156112a7579086916136ee575b50506040517f11da60b400000000000000000000000000000000000000000000000000000000815260208160048187875af180156112a7576136bf575b505b813b15612de3576040517f156e29f60000000000000000000000000000000000000000000000000000000081523060048201526024810191909152604481019290925283908290606490829084905af1801561143a579083916136aa575b8080613458565b816136b491612486565b61034557815f6136a3565b6136e09060203d6020116136e7575b6136d88183612486565b810190614154565b505f613643565b503d6136ce565b816136f891612486565b612de357845f613606565b8580fd5b823b15613703576040517fa5841194000000000000000000000000000000000000000000000000000000008152826004820152868160248183885af180156112375787869286926137be575b505061375e92614251565b6040517f11da60b400000000000000000000000000000000000000000000000000000000815260208160048189875af180156112a75761379f575b50613645565b6137b79060203d6020116136e7576136d88183612486565b505f613799565b8193506137cb9250612486565b613703578383875f613753565b9050809961259b565b9150506040823d604011613817575b816137fd60409383612486565b8101031261139057906134519160208251920151906133d6565b3d91506137f0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff97909704966132e9565b6b048a170391f7dc42444e8fa290980260801c976132e2565b6d2216e584f5fa1ea926041bedfe9890990260801c986132d8565b986e5d6af8dedb81196699c329225ee6040260801c986132cd565b986f09aa508b5b7a84e1c677de54f3e99bc90260801c986132c2565b986f31be135f97d08fd981231505542fcfa60260801c986132b7565b986f70d869a156d2a1b890bb3df62baf32f70260801c986132ad565b986fa9f746462d870fdf8a65dc1f90e061e50260801c986132a3565b986fd097f3bdfd2022b8845ad8f792aa58250260801c98613299565b986fe7159475a2c29b7443b29c7fa6e889d90260801c9861328f565b986ff3392b0822b70005940c7a398e4b70f30260801c98613285565b986ff987a7253ac413176f2b074cf7815e540260801c9861327b565b986ffcbe86c7900a88aedcffc83b479aa3a40260801c98613271565b986ffe5dee046a99a2a811c461f1969c30530260801c98613267565b986fff2ea16466c96a3843ec78b326b528610260801c9861325e565b986fff973b41fa98c081472e6896dfb254c00260801c98613255565b986fffcb9843d60f6159c9db58835c9266440260801c9861324c565b986fffe5caca7e10e4e61c3624eaa0941cd00260801c98613243565b986ffff2e50f5f656932ef12357cf3c7fdcc0260801c9861323a565b986ffff97272373d413259a46990580e213a0260801c98613231565b7f8b86327a000000000000000000000000000000000000000000000000000000008b5260045260248afd5b50620d89e76131df565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276196131d0565b1660020b9060020b017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008112627fffff821317156131a45760248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008114613b6a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190613162565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b0760060b151590505f8061315b565b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b90503d808d833e613c3e8183612486565b8101604082820312613d6b57815167ffffffffffffffff8111613d425782019181601f84011215613d42578251613c74816142ba565b93613c826040519586612486565b81855260208086019260051b82010190848211613d6657602001915b818310613d465750505060208101519067ffffffffffffffff8211613d3e57019080601f83011215613d4257815191602080613cd9856142ba565b613ce66040519182612486565b858152019360051b820101918211613d3e57602001915b818310613d0d575050505f61309d565b825173ffffffffffffffffffffffffffffffffffffffff81168103613d3a57815260209283019201613cfd565b8f80fd5b8e80fd5b8d80fd5b82518060060b8103613d6057815260209283019201613c9e565b50508f80fd5b508f80fd5b8c80fd5b6040513d8e823e3d90fd5b9250925060208060019263ffffffff87511681520194019101928f9285929461307d565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b15613e4657898d916004604051809481937fd0e30db00000000000000000000000000000000000000000000000000000000083525af18015613e3b57908a91613e22575b5050612fb8565b81613e2c91612486565b613e3757885f613e1b565b8880fd5b6040513d8c823e3d90fd5b8980fd5b612fb1565b81613e5991612486565b613e3757885f612f87565b613e719199505f90612486565b5f975f612f19565b9350505050613e9891925060e03d60e011610a3257610a1b8183612486565b5093959493919250905f612eab565b7ff655705d000000000000000000000000000000000000000000000000000000005f5260045ffd5b909173ffffffffffffffffffffffffffffffffffffffff8216805f525f60205260405f2060ff85165f5260205260405f2054801561412c576040517f36fec44900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909416600485015260ff8516602485015260e0848060448101038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa938415611c61575f94614101575b50602090825f526005825260405f2060ff87165f52825260405f209460405195613fcd87612421565b549160ff67ffffffffffffffff84169384895260401c161596871594859101521080159582151591826140e8575b50506140e15750507f7fdd81aff9eb8dcf5090ae0dfa3c3d47c51ac934ce248e42881eb897276017d9604067ffffffffffffffff421695815161403d81612421565b878152602081019087151591828152865f526005602052845f2060ff85165f5260205267ffffffffffffffff80865f20935116167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008354161782555115157fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff68ff0000000000000000835492871b16911617905560ff8351921682526020820152a2565b9450925050565b849250906140f9575b505f80613ffb565b90505f6140f1565b602091945061411e9060e03d60e011610a3257610a1b8183612486565b955050505050509390613fa4565b7f175c1aea000000000000000000000000000000000000000000000000000000005f5260045ffd5b9081602091031261129b575190565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6141af5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff90939293165f525f60205260ff60405f2091165f5260205260405f205482600a0290600a82048403611e8057818082109118021891821061422957565b7fbfe5f33e000000000000000000000000000000000000000000000000000000005f5260045ffd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff9290921660248301526044808301939093529181526142b8916142b3606483612486565b61430c565b565b67ffffffffffffffff811161243d5760051b60200190565b8051156142df5760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b905f602091828151910182855af115611c61575f513d61438a575073ffffffffffffffffffffffffffffffffffffffff81163b155b6143485750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415614341565b9190915f838202917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858209918380841093039280840393146144345782670de0b6b3a7640000111561442257507faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106699394670de0b6b3a7640000910990828211900360ee1b910360121c170290565b634e487b71905260116020526024601cfd5b505050670de0b6b3a7640000919250049056fea164736f6c634300081a000a000000000000000000000000b308b5df891c300a5f5a5b8fdbc30108ba8424900000000000000000000000002da68edff4588a77b55a829689c382f2acb39502000000000000000000000000477ffee27461dbba611b79c0f3f16b65a7071d3e0000000000000000000000007db0519a39f1039678522b41fb483fc7f912f7590000000000000000000000000269031ace34a7821e9d9980d087c35ce7c19eef000000000000000000000000809ff79945fffbf9b8df33bb3b62872ceb2efaf1c001a0f0ef693e7e2a545f93d33464e0d3dab5b2423165850103b5e621b94216eb5155a01731b3494ed5f2449c389cda0b8e89ab14f7d32719f74bc0f4f797a7e8d74ad1