60803462000598576000606082016001600160401b038082118483101762000584576040918252603684526020927f4465616662656566207820427269676874204d6f6d656e7473207c2048617368848601527f6d61726b73204d696e742050617373207c204d5044420000000000000000000083860152825192808401848110848211176200058457815260048085526326a8222160e11b868601528254336001600160a01b0319808316821786559296916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a38751978589116200057157888899600399989992620000ff84546200059d565b601f9c818e80931162000540575b50505089908c8311600114620004d9578892620004cd575b50508160011b9160001990841b1c19161781555b815191868311620004ba57908291620001538a546200059d565b8b81116200047f575b5088908b84116001146200041457879362000408575b50508260011b92600019911b1c19161786555b6001958387556daaeb6d7670e522a718067333cd4e803b62000383575b5050808697739965ccd16803432c6a0842f1d5690f32e427aedd731668f841ed817f5622a8480136b8c9ca1fd09e6c9360099998995416176009556064600a55620001ef600b546200059d565b8181116200035c575b5050606d600b90815584528684207f697066733a2f2f516d596571314e666f71455167783579545158434742326b4381557f6a43726d746d414e74336146426e5a446e696747312f0000000000000000000090870155600c805491909116919091179055835473b96e81f80b3aeef65cb6d0e280b15fd5dbe719378084526006875282842080546001600160801b03198116818816603290810189169182176001600160401b0319909316909117861c9097168701851b6fffffffffffffffff000000000000000016179055818452600590965281832080546001600160e01b0319164260a01b600160a01b600160e01b0316178717905590519590949285019084905b62000314575b5050505055612c459081620005f48239f35b156200034d575b81848087019685857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4620002fc565b8085106200031b578062000302565b60026200037b92600b6000528a600020920160051c82019101620005da565b3880620001f8565b803b1562000404578480916044865180948193633e9f1edf60e11b83523088840152733cc6cdda760b79bafa08df41ecfa224f810dceb660248401525af18015620003fa5715620001a25785819995929911620003e75783529296508086620001a2565b634e487b7160e01b825260418952602482fd5b84513d87823e3d90fd5b8480fd5b01519150388062000172565b8a88528988209350601f198516885b8b82821062000468575050908560019695949392106200044d575b50505050811b01865562000185565b01519060f884600019921b161c19169055388080806200043e565b600185978293968601518155019601930162000423565b620004a9908b89528a89208d80870160051c8201928d8810620004b0575b0160051c0190620005da565b386200015c565b925081926200049d565b634e487b7160e01b865260418952602486fd5b01519050388062000125565b8489528a89209250601f198416895b8c8282106200052957505090846001959493921062000510575b505050811b01815562000139565b015160001983861b60f8161c1916905538808062000502565b6001859682939686015181550195019301620004e8565b6200056892878c52828c209181870160051c8301938710620004b0570160051c0190620005da565b8b8a386200010d565b634e487b7160e01b855260418752602485fd5b634e487b7160e01b83526041600452602483fd5b600080fd5b90600182811c92168015620005cf575b6020831014620005b957565b634e487b7160e01b600052602260045260246000fd5b91607f1691620005ad565b818110620005e6575050565b60008155600101620005da56fe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a714610227578063020c89621461022257806306fdde031461021d578063081812fc14610218578063095ea7b31461021357806309beb0c01461020e57806318160ddd1461020957806323b872dd1461020457806341f43434146101ff57806342842e0e146101fa5780634da7b73c146101f5578063525a330e146101f05780636352211e146101eb5780636c0360eb146101e65780636d325d31146101e157806370a08231146101dc578063715018a6146101d757806386a4fd73146101d25780638da5cb5b146101cd578063950c4606146101c857806395d89b41146101c3578063a22cb465146101be578063ac1a96ec146101b9578063af426bb8146101b4578063b88d4fde146101af578063be8ca6a0146101aa578063c87b56dd146101a5578063cbf1468e146101a0578063cd27a0361461019b578063e964500314610196578063e985e9c514610191578063f2fde38b1461018c5763f77d22ff1461018757600080fd5b611cc1565b611bb3565b611b49565b611a81565b611979565b611952565b61172c565b611667565b611508565b611449565b611428565b611333565b611282565b611154565b61112d565b610d87565b610d15565b610c9d565b610ba8565b610b78565b610976565b61091a565b6107e7565b610746565b61071d565b6106ed565b61069e565b61065e565b610570565b610530565b61042d565b61035e565b61025b565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361025657565b600080fd5b346102565760206003193601126102565760207fffffffff0000000000000000000000000000000000000000000000000000000060043561029b8161022c565b167f80ac58cd000000000000000000000000000000000000000000000000000000008114908115610303575b81156102d9575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386102ce565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506102c7565b9181601f840112156102565782359167ffffffffffffffff8311610256576020808501948460051b01011161025657565b346102565760206003193601126102565760043567ffffffffffffffff81116102565761038f90369060040161032d565b90610398611cdf565b60005b8281106103a457005b806103bc6103b66103c1938686612149565b35612159565b612051565b61039b565b600091031261025657565b60005b8381106103e45750506000910152565b81810151838201526020016103d4565b90601f19601f602093610412815180928187528780880191016103d1565b0116010190565b90602061042a9281815201906103f4565b90565b346102565760008060031936011261052d576040519080600354610450816109a6565b808552916001918083169081156104e5575060011461048a575b6104868561047a81870382610a79565b60405191829182610419565b0390f35b9250600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106104cd57505050810160200161047a8261048661046a565b805460208587018101919091529093019281016104b2565b8695506104869693506020925061047a9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101929361046a565b80fd5b3461025657602060031936011261025657602061054e600435611ed5565b6001600160a01b0360405191168152f35b6001600160a01b0381160361025657565b346102565760406003193601126102565760043561058d8161055f565b60243561059982612b3e565b6001600160a01b0390816105ac82611dae565b51168092841614610634578133036105ca575b6105c89261247d565b005b8160005260086020526106056106016105fa336040600020906001600160a01b0316600052602052604060002090565b5460ff1690565b1590565b156105bf5760046040517fcfb3b942000000000000000000000000000000000000000000000000000000008152fd5b60046040517f943f7b8c000000000000000000000000000000000000000000000000000000008152fd5b346102565760008060031936011261052d57610678611cdf565b8080808047818115610695575b3390f1156106905780f35b6124f9565b506108fc610685565b346102565760006003193601126102565760206001546002549003604051908152f35b6003196060910112610256576004356106d98161055f565b906024356106e68161055f565b9060443590565b34610256576105c86106fe366106c1565b916001600160a01b038116331461263f5761071833612b3e565b61263f565b346102565760006003193601126102565760206040516daaeb6d7670e522a718067333cd4e8152f35b3461025657610754366106c1565b336001600160a01b038416141591826107d9575b6040519261077584610a5d565b600084526107cb575b61078982828661263f565b803b61079157005b61079a9361296d565b156107a157005b60046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b6107d433612b3e565b61077e565b6107e233612b3e565b610768565b34610256576020806003193601126102565767ffffffffffffffff6004358181116102565736602382011215610256578060040135918211610256576024903682848301011161025657610839611cdf565b61084d83610848600b546109a6565b6120d8565b600093601f841160011461088e5750928293600093610881575b5050506000198260011b9260031b1c191617600b55600080f35b0101359050388080610867565b91601f198416946108c1600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990565b9381905b87821061090057505084600196106108e4575b50505050811b01600b55005b60001960f88660031b161c1992010135169055388080806108d8565b8060018497868395968901013581550196019201906108c5565b34610256576020600319360112610256576001600160a01b0360043561093f8161055f565b610947611cdf565b167fffffffffffffffffffffffff00000000000000000000000000000000000000006009541617600955600080f35b346102565760206003193601126102565760206001600160a01b0361099c600435611dae565b5116604051908152f35b90600182811c921680156109ef575b60208310146109c057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109b5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610a3c57604052565b6109f9565b6060810190811067ffffffffffffffff821117610a3c57604052565b6020810190811067ffffffffffffffff821117610a3c57604052565b90601f601f19910116810190811067ffffffffffffffff821117610a3c57604052565b60405190600082600b5491610ab0836109a6565b80835292600190818116908115610b385750600114610ad9575b50610ad792500383610a79565b565b600b600090815291507f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b848310610b1d5750610ad7935050810160200138610aca565b81935090816020925483858a01015201910190918592610b04565b60209350610ad79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610aca565b3461025657600060031936011261025657610486610b94610a9c565b6040519182916020835260208301906103f4565b3461025657602060031936011261025657600435610be7610be0610bd4600c546001600160a01b031690565b6001600160a01b031690565b3314612a5f565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810182905290602082602481305afa9081156106905761048692600092610c69575b50610c4f90610c4a6001600160a01b0384161515612ad9565b612159565b6040516001600160a01b0390911681529081906020820190565b610c4f919250610c8f9060203d8111610c96575b610c878183610a79565b810190612ac4565b9190610c31565b503d610c7d565b34610256576020600319360112610256576001600160a01b03600435610cc28161055f565b168015610ceb576000526006602052602067ffffffffffffffff60406000205416604051908152f35b60046040517f8f4eb604000000000000000000000000000000000000000000000000000000008152fd5b346102565760008060031936011261052d57610d2f611cdf565b806001600160a01b0381547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b3461025657604060031936011261025657600435610da48161055f565b602435906001600160a01b0391826009541633036110a95760015460025490038181018091116110a457600a541061104657600190815493831692831561101c578115610ff257610f9a90610f3767ffffffffffffffff91610ef0838616610e79610e22846001600160a01b03166000526006602052604060002090565b610e4683610e38835467ffffffffffffffff1690565b0167ffffffffffffffff1690565b67ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b610eb0610e99846001600160a01b03166000526006602052604060002090565b91610e38835467ffffffffffffffff9060401c1690565b7fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b169116179055565b610f04886000526005602052604060002090565b906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b4216610f4d866000526005602052604060002090565b907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffff000000000000000000000000000000000000000083549260a01b169116179055565b830181805b610fad575b6105c885600155565b15610fe5575b6000828086019585837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4610f9f565b808410610fb35780610fa4565b60046040517fb562e8dd000000000000000000000000000000000000000000000000000000008152fd5b60046040517f2e076300000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d503a204d617820537570706c792052656163686564000000000000000000006044820152fd5b611f50565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f6f6e6c794d61726b6574706c6163653a20606d73672e73656e6465726020497360448201527f204e6f7420546865204d61726b6574706c61636520436f6e74726163740000006064820152fd5b346102565760006003193601126102565760206001600160a01b0360005416604051908152f35b3461025657602080600319360112610256576001600160a01b0360043561117a8161055f565b611182611cdf565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529116908281602481855afa90811561069057600092849261121f928591611255575b506111dc81151561259f565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481019190915293849283919082906044820190565b03925af180156106905761122f57005b816105c892903d1061124e575b6112468183610a79565b81019061262a565b503d61123c565b6112759150843d861161127b575b61126d8183610a79565b810190612590565b386111d0565b503d611263565b346102565760008060031936011261052d5760405190806004546112a5816109a6565b808552916001918083169081156104e557506001146112ce576104868561047a81870382610a79565b9250600483527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061131157505050810160200161047a8261048661046a565b805460208587018101919091529093019281016112f6565b8015150361025657565b34610256576040600319360112610256576004356113508161055f565b60243561135c81611329565b61136582612b3e565b6001600160a01b038216913383146113fe576113a1903360005260086020526040600020906001600160a01b0316600052602052604060002090565b901515907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60046040517fb06307db000000000000000000000000000000000000000000000000000000008152fd5b3461025657602060031936011261025657611441611cdf565b600435600a55005b34610256576020600319360112610256576001600160a01b0360043561146e8161055f565b611476611cdf565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600c541617600c55600080f35b67ffffffffffffffff8111610a3c57601f01601f191660200190565b81601f82011215610256578035906114d8826114a5565b926114e66040519485610a79565b8284526020838301011161025657816000926020809301838601378301015290565b34610256576080600319360112610256576004356115258161055f565b6024356115318161055f565b60443560643567ffffffffffffffff8111610256576115549036906004016114c1565b91336001600160a01b038516036107cb5761078982828661263f565b67ffffffffffffffff8111610a3c5760051b60200190565b81601f820112156102565780359161159f83611570565b926115ad6040519485610a79565b808452602092838086019260051b820101928311610256578301905b8282106115d7575050505090565b813581529083019083016115c9565b9080601f83011215610256578135906115fe82611570565b9261160c6040519485610a79565b828452602092838086019160051b8301019280841161025657848301915b84831061163a5750505050505090565b823567ffffffffffffffff811161025657869161165c848480948901016114c1565b81520192019161162a565b346102565760606003193601126102565767ffffffffffffffff60043581811161025657366023820112156102565780600401356116a481611570565b916116b26040519384610a79565b81835260209160248385019160051b8301019136831161025657602401905b828210611713578585602435828111610256576116f2903690600401611588565b6044359283116102565761170d6105c89336906004016115e6565b91611f7f565b83809183356117218161055f565b8152019101906116d1565b346102565760206003193601126102565760043561174981611f27565b1561192857611756610a9c565b80516000901561190e5750600091807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008181811015611900575b50506d04ee2d6d415b85acef8100000000808310156118f1575b50662386f26fc10000808310156118e2575b506305f5e100808310156118d3575b50612710808310156118c4575b5060648210156118b4575b600a809210156118aa575b6001908160216117fa828801611ea4565b96870101905b611867575b5050505061047a61182a91611859611830610486956040519586946020860190611e8d565b90611e8d565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815260050190565b03601f198101835282610a79565b600019849101917f30313233343536373839616263646566000000000000000000000000000000008282061a8353049182156118a557919082611800565b611805565b92600101926117e9565b92906064600291049101926117de565b600491949204910192386117d3565b600891949204910192386117c6565b601091949204910192386117b7565b602091949204910192386117a5565b60409550049150388061178b565b6040516104869350915061192182610a5d565b815261047a565b60046040517fa14c4b50000000000000000000000000000000000000000000000000000000008152fd5b346102565760006003193601126102565760206001600160a01b03600c5416604051908152f35b3461025657606060031936011261025657600480356119978161055f565b602435916119a48361055f565b60443567ffffffffffffffff8111610256576119c3903690830161032d565b6119ce939193611cdf565b6001600160a01b0360009216915b8181106119e557005b6119f0818387612149565b3590833b1561025657604080517f23b872dd000000000000000000000000000000000000000000000000000000008152308782019081526001600160a01b038a1660208201529182019390935260009083908190606001038183885af191821561069057611a6392611a68575b50612051565b6119dc565b80611a75611a7b92610a28565b806103c6565b38611a5d565b3461025657604060031936011261025657600435611a9e8161055f565b60243590611aaa611cdf565b81151580611b3f575b15611ae1576001600160a01b03611ade91600080809581948294165af1611ad86120a8565b50612505565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152fd5b5047821115611ab3565b3461025657604060031936011261025657602060ff611ba7600435611b6d8161055f565b6001600160a01b0360243591611b828361055f565b16600052600884526040600020906001600160a01b0316600052602052604060002090565b54166040519015158152f35b3461025657602060031936011261025657600435611bd08161055f565b611bd8611cdf565b6001600160a01b038091168015611c3d576000918254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b34610256576000600319360112610256576020600a54604051908152f35b6001600160a01b03600054163303611cf357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405190611d5e82610a41565b60006040838281528260208201520152565b90604051611d7d81610a41565b604060ff8294546001600160a01b038116845267ffffffffffffffff8160a01c16602085015260e01c161515910152565b611db6611d51565b508060019081548110611dee575b60046040517fdf2d9b42000000000000000000000000000000000000000000000000000000008152fd5b611e05611e0a916000526005602052604060002090565b611d70565b611e1a6106016040830151151590565b15611dc4576001600160a01b03611e3882516001600160a01b031690565b16611e87575090815b611e4b5780611dc4565b6000190190611e67611e05836000526005602052604060002090565b611e7b610bd482516001600160a01b031690565b611e8757509081611e41565b91505090565b90611ea0602092828151948592016103d1565b0190565b90611eae826114a5565b611ebb6040519182610a79565b828152601f19611ecb82946114a5565b0190602036910137565b611ede81611f27565b15611efd5760005260076020526001600160a01b036040600020541690565b60046040517fcf4700e4000000000000000000000000000000000000000000000000000000008152fd5b60015481109081611f36575090565b9050600052600560205260ff60406000205460e01c161590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9091611f89611cdf565b600091825b815181101561204a576001600160a01b03611fa9828461208f565b51168480611fb7848961208f565b51611fc2858861208f565b51938451916020809601915af1611fd76120a8565b5015611fec5750611fe790612051565b611f8e565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601660248201527f692068617665206661696c6564207520616e616b696e000000000000000000006044820152fd5b5050505050565b60001981146110a45760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156120a35760209160051b010190565b612060565b3d156120d3573d906120b9826114a5565b916120c76040519384610a79565b82523d6000602084013e565b606090565b601f81116120e4575050565b600090600b82527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9906020601f850160051c8301941061213f575b601f0160051c01915b82811061213457505050565b818155600101612128565b909250829061211f565b91908110156120a35760051b0190565b600061216482611dae565b80516001600160a01b03166121798185612418565b612263612199826001600160a01b03166000526006602052604060002090565b6121f76121c26121b1835467ffffffffffffffff1690565b6000190167ffffffffffffffff1690565b829067ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b805461221b9060801c67ffffffffffffffff165b60010167ffffffffffffffff1690565b7fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b6122ef61227a856000526005602052604060002090565b80547fffffff0000000000000000000000000000000000000000000000000000000000166001600160a01b038416177bffffffffffffffff00000000000000000000000000000000000000004260a01b16177c0100000000000000000000000000000000000000000000000000000000179055565b6001840191612308836000526005602052604060002090565b6001600160a01b03938461232383546001600160a01b031690565b1615612366575b505050167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610ad761236160025460010190565b600255565b60015403612375575b8061232a565b6123c56020612411936123b68685906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b015167ffffffffffffffff1690565b7fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffff000000000000000000000000000000000000000083549260a01b169116179055565b388061236f565b906001600160a01b036000918383526007602052604083207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258280a4565b9190918260005260076020526124c5816040600020906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6001600160a01b0380911691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b6040513d6000823e3d90fd5b1561250c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f556e61626c6520746f2057697468647261772c20526563697069656e74204d6160448201527f79204861766520526576657274656400000000000000000000000000000000006064820152fd5b90816020910312610256575190565b156125a657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f302045524332302042616c616e63652041742060546f6b656e4164647265737360448201527f60000000000000000000000000000000000000000000000000000000000000006064820152fd5b90816020910312610256575161042a81611329565b61264883611dae565b9061265a82516001600160a01b031690565b6001600160a01b03828116939181168490036128ff5783331480156128bd575b80156128a9575b1561287f5784169384156128555761279e9061269d8488612418565b6126d26126bd856001600160a01b03166000526006602052604060002090565b610e466121b1825467ffffffffffffffff1690565b6127076126f2826001600160a01b03166000526006602052604060002090565b610e4661220b825467ffffffffffffffff1690565b61275361271e886000526005602052604060002090565b9182906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff164260a01b7bffffffffffffffff000000000000000000000000000000000000000016179055565b60018501906127b7826000526005602052604060002090565b916127cc610bd484546001600160a01b031690565b156127fd575b505050507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b6001540361280c575b806127d2565b60206123c5916123b661284d9585906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b388080612806565b60046040517fea553b34000000000000000000000000000000000000000000000000000000008152fd5b60046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b50336128b7610bd488611ed5565b14612681565b506128fa6105fa336128e2866001600160a01b03166000526008602052604060002090565b906001600160a01b0316600052602052604060002090565b61267a565b60046040517fa1148100000000000000000000000000000000000000000000000000000000008152fd5b90816020910312610256575161042a8161022c565b909261042a94936080936001600160a01b038092168452166020830152604082015281606082015201906103f4565b926020916129b79360006001600160a01b036040518097819682957f150b7a02000000000000000000000000000000000000000000000000000000009b8c8552336004860161293e565b0393165af160009181612a2f575b50612a09576129d26120a8565b80519081612a045760046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000161490565b612a5191925060203d8111612a58575b612a498183610a79565b810190612929565b90386129c5565b503d612a3f565b15612a6657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d503a2053656e646572204973204e6f74204c697665204d696e7400000000006044820152fd5b90816020910312610256575161042a8161055f565b15612ae057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d503a20496e76616c696420526563697069656e7400000000000000000000006044820152fd5b6daaeb6d7670e522a718067333cd4e803b612b57575050565b6020604491604051928380927fc61711340000000000000000000000000000000000000000000000000000000082523060048301526001600160a01b03871660248301525afa90811561069057600091612bf1575b5015612bb55750565b6040517fede71dcc0000000000000000000000000000000000000000000000000000000081526001600160a01b03919091166004820152602490fd5b612c09915060203d811161124e576112468183610a79565b38612bac56fea2646970667358221220838a2c1ab17ac93f582322f6ea61866255ff2ba177a131a352a70c266018091564736f6c63430008130033