6101806040523480156200001257600080fd5b50604051620031f5380380620031f5833981016040819052620000359162000b06565b604080518082018252600580825264105b9d9a5b60da1b60208084018290528451808601865260018152603160f81b818301528551808701875293845283820192909252845180860190955260048552631053959360e21b9085015291926003620000a1838262000be6565b506004620000b0828262000be6565b50620000c291508390506005620001ae565b61012052620000d3816006620001ae565b61014052815160208084019190912060e052815190820120610100524660a0526200016160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b03821661016052620001848282620001e7565b620001a633826200019462000229565b620001a0919062000cc8565b620001e7565b505062000f1d565b6000602083511015620001ce57620001c6836200024f565b9050620001e1565b81620001db848262000be6565b5060ff90505b92915050565b6001600160a01b038216620002175760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b620002256000838362000292565b5050565b6000620002396012600a62000ddb565b6200024a9064174876e80062000de9565b905090565b600080829050601f815111156200027d578260405163305a27a960e01b81526004016200020e919062000e03565b80516200028a8262000e53565b179392505050565b6200029f8383836200030c565b6001600160a01b038316620002fa576000620002ba60025490565b90506000620002c862000229565b905080821115620002f757604051630e58ae9360e11b815260048101839052602481018290526044016200020e565b50505b620003078383836200043f565b505050565b6001600160a01b0383166200033b5780600260008282546200032f919062000e78565b90915550620003af9050565b6001600160a01b03831660009081526020819052604090205481811015620003905760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016200020e565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620003cd57600280548290039055620003ec565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200043291815260200190565b60405180910390a3505050565b610160516001600160a01b038082169085160362000491576200048b838262000480826001600160a01b039081166000908152600860205260409020541690565b8560016000620004e0565b620004da565b620004da84620004b9816001600160a01b039081166000908152600860205260409020541690565b6001600160a01b038087166000908152600860205260409020541662000480565b50505050565b6001600160a01b0386166000908152600b60205260408120546101605190918085156200056f57826001600160a01b0316896001600160a01b0316148015620005295750600084115b156200055a576200053b878562000cc8565b6001600160a01b038b166000908152600b6020526040902055620005e1565b5085620005678162000e8e565b9150620005e1565b876001600160a01b0316896001600160a01b031603620005a157846200059757600062000599565b835b9050620005e1565b620005ad848862000e78565b905084620005d35786620005c18562000e8e565b620005cd919062000ead565b620005de565b620005de8762000e8e565b91505b6001600160a01b03891615801590620005f957508115155b8015620006185750826001600160a01b0316896001600160a01b031614155b1562000757576000821215620006ca576001600160a01b0389166000908152600960209081526040822082916200067091906200082d901b6200090c176200066a620006648862000e8e565b62000842565b6200087c565b6001600160d01b031691506001600160d01b031691508a6001600160a01b0316600080516020620031d58339815191528383604051620006ba929190918252602082015260400190565b60405180910390a2505062000757565b6001600160a01b038916600090815260096020908152604082208291620007029190620008b9901b62000918176200066a8762000842565b6001600160d01b031691506001600160d01b031691508a6001600160a01b0316600080516020620031d583398151915283836040516200074c929190918252602082015260400190565b60405180910390a250505b6001600160a01b038816158015906200076f57508015155b80156200078e5750826001600160a01b0316886001600160a01b031614155b1562000821576001600160a01b038816600090815260096020908152604082208291620007cc9190620008b9901b62000918176200066a8662000842565b6001600160d01b031691506001600160d01b03169150896001600160a01b0316600080516020620031d5833981519152838360405162000816929190918252602082015260400190565b60405180910390a250505b50505050505050505050565b60006200083b828462000ed7565b9392505050565b60006001600160d01b0382111562000878576040516306dfcc6560e41b815260d06004820152602481018390526044016200020e565b5090565b600080620008ac6200088d620008c7565b620008a36200089c88620008d3565b868860201c565b87919062000922565b915091505b935093915050565b60006200083b828462000efa565b60006200024a62000932565b805460009080156200091957620008ff83620008f160018462000cc8565b600091825260209091200190565b54660100000000000090046001600160d01b03166200083b565b60009392505050565b600080620008ac8585856200093f565b60006200024a4362000ad1565b82546000908190801562000a725760006200096187620008f160018562000cc8565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b031660208401529192509087161015620009b957604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff80881691160362000a0d5784620009e088620008f160018662000cc8565b80546001600160d01b039290921666010000000000000265ffffffffffff90921691909117905562000a61565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b602001519250839150620008b19050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081620008b1565b600065ffffffffffff82111562000878576040516306dfcc6560e41b815260306004820152602481018390526044016200020e565b6000806040838503121562000b1a57600080fd5b82516001600160a01b038116811462000b3257600080fd5b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062000b6d57607f821691505b60208210810362000b8e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030757600081815260208120601f850160051c8101602086101562000bbd5750805b601f850160051c820191505b8181101562000bde5782815560010162000bc9565b505050505050565b81516001600160401b0381111562000c025762000c0262000b42565b62000c1a8162000c13845462000b58565b8462000b94565b602080601f83116001811462000c52576000841562000c395750858301515b600019600386901b1c1916600185901b17855562000bde565b600085815260208120601f198616915b8281101562000c835788860151825594840194600190910190840162000c62565b508582101562000ca25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b81810381811115620001e157620001e162000cb2565b600181815b8085111562000d1f57816000190482111562000d035762000d0362000cb2565b8085161562000d1157918102915b93841c939080029062000ce3565b509250929050565b60008262000d3857506001620001e1565b8162000d4757506000620001e1565b816001811462000d60576002811462000d6b5762000d8b565b6001915050620001e1565b60ff84111562000d7f5762000d7f62000cb2565b50506001821b620001e1565b5060208310610133831016604e8410600b841016171562000db0575081810a620001e1565b62000dbc838362000cde565b806000190482111562000dd35762000dd362000cb2565b029392505050565b60006200083b838362000d27565b8082028115828204841417620001e157620001e162000cb2565b600060208083528351808285015260005b8181101562000e325785810183015185820160400152820162000e14565b506000604082860101526040601f19601f8301168501019250505092915050565b8051602080830151919081101562000b8e5760001960209190910360031b1b16919050565b80820180821115620001e157620001e162000cb2565b6000600160ff1b820162000ea65762000ea662000cb2565b5060000390565b818103600083128015838313168383128216171562000ed05762000ed062000cb2565b5092915050565b6001600160d01b0382811682821603908082111562000ed05762000ed062000cb2565b6001600160d01b0381811683821601908082111562000ed05762000ed062000cb2565b60805160a05160c05160e0516101005161012051610140516101605161223d62000f986000396000818161028b01528181610850015281816113da015261185501526000610b6d01526000610b40015260006111750152600061114d015260006110a8015260006110d2015260006110fc015261223d6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80637ecebe00116100e3578063a79507981161008c578063dd62ed3e11610066578063dd62ed3e146103d5578063f1127ed81461040e578063f92709651461044d57600080fd5b8063a79507981461038f578063a9059cbb146103af578063c3cda520146103c257600080fd5b806391ddadf4116100bd57806391ddadf41461035557806395d89b41146103745780639ab24eb01461037c57600080fd5b80637ecebe00146102fe57806384b0196e146103275780638e539e8c1461034257600080fd5b80634bf5d7e91161014557806366345da41161011f57806366345da4146102865780636fcfff45146102ad57806370a08231146102d557600080fd5b80634bf5d7e914610225578063587cde1e1461022d5780635c19a95c1461027157600080fd5b806323b872dd1161017657806323b872dd146101f0578063313ce567146102035780633a46b1a81461021257600080fd5b806306fdde031461019d578063095ea7b3146101bb57806318160ddd146101de575b600080fd5b6101a5610460565b6040516101b29190611c65565b60405180910390f35b6101ce6101c9366004611c94565b6104f2565b60405190151581526020016101b2565b6002545b6040519081526020016101b2565b6101ce6101fe366004611cbe565b61050c565b604051601281526020016101b2565b6101e2610220366004611c94565b610530565b6101a56105b6565b61025961023b366004611cfa565b6001600160a01b039081166000908152600860205260409020541690565b6040516001600160a01b0390911681526020016101b2565b61028461027f366004611cfa565b61062e565b005b6102597f000000000000000000000000000000000000000000000000000000000000000081565b6102c06102bb366004611cfa565b61063d565b60405163ffffffff90911681526020016101b2565b6101e26102e3366004611cfa565b6001600160a01b031660009081526020819052604090205490565b6101e261030c366004611cfa565b6001600160a01b031660009081526007602052604090205490565b61032f610648565b6040516101b29796959493929190611d15565b6101e2610350366004611dab565b61068e565b61035d6106f8565b60405165ffffffffffff90911681526020016101b2565b6101a5610707565b6101e261038a366004611cfa565b610716565b6101e261039d366004611cfa565b600b6020526000908152604090205481565b6101ce6103bd366004611c94565b610746565b6102846103d0366004611dc4565b610754565b6101e26103e3366004611e24565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61042161041c366004611e57565b610811565b60408051825165ffffffffffff1681526020928301516001600160d01b031692810192909252016101b2565b61028461045b366004611e97565b610836565b60606003805461046f90611f21565b80601f016020809104026020016040519081016040528092919081815260200182805461049b90611f21565b80156104e85780601f106104bd576101008083540402835291602001916104e8565b820191906000526020600020905b8154815290600101906020018083116104cb57829003601f168201915b5050505050905090565b600033610500818585610924565b60019150505b92915050565b60003361051a858285610936565b6105258585856109b4565b506001949350505050565b60008061053b6106f8565b90508065ffffffffffff16831061057b57604051637669fc0f60e11b81526004810184905265ffffffffffff821660248201526044015b60405180910390fd5b6105a561058784610a13565b6001600160a01b038616600090815260096020526040902090610a4a565b6001600160d01b0316949350505050565b60606105c0610b00565b65ffffffffffff166105d06106f8565b65ffffffffffff16146105f6576040516301bfc1c560e61b815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b336106398183610b0b565b5050565b600061050682610b17565b60006060806000806000606061065c610b39565b610664610b66565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000806106996106f8565b90508065ffffffffffff1683106106d457604051637669fc0f60e11b81526004810184905265ffffffffffff82166024820152604401610572565b6106e86106e084610a13565b600a90610a4a565b6001600160d01b03169392505050565b6000610702610b00565b905090565b60606004805461046f90611f21565b6001600160a01b038116600090815260096020526040812061073790610b93565b6001600160d01b031692915050565b6000336105008185856109b4565b8342111561077857604051632341d78760e11b815260048101859052602401610572565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906107f2906107ea9060a00160405160208183030381529060405280519060200120610bcc565b858585610bf9565b90506107fe8187610c27565b6108088188610b0b565b50505050505050565b604080518082019091526000808252602082015261082f8383610c7a565b9392505050565b60405163d03dd46760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d03dd4679061088b903390889088908890600401611f5b565b6020604051808303816000875af11580156108aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ce9190611fc4565b905080156108f957336000818152600b602052604090208590556108f490866001610cb0565b610905565b61090533866000610cb0565b5050505050565b600061082f8284611ff3565b600061082f828461201a565b6109318383836001610d35565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146109ae578181101561099f57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610572565b6109ae84848484036000610d35565b50505050565b6001600160a01b0383166109de57604051634b637e8f60e11b815260006004820152602401610572565b6001600160a01b038216610a085760405163ec442f0560e01b815260006004820152602401610572565b610931838383610e0a565b600065ffffffffffff821115610a46576040516306dfcc6560e41b81526030600482015260248101839052604401610572565b5090565b815460009081816005811115610aa9576000610a6584610e75565b610a6f908561203a565b60008881526020902090915081015465ffffffffffff9081169087161015610a9957809150610aa7565b610aa481600161204d565b92505b505b6000610ab787878585610f5d565b90508015610af257610adc87610ace60018461203a565b600091825260209091200190565b54600160301b90046001600160d01b0316610af5565b60005b979650505050505050565b600061070243610a13565b61063982826000610cb0565b6001600160a01b03811660009081526009602052604081205461050690610fbf565b60606107027f00000000000000000000000000000000000000000000000000000000000000006005610ff0565b60606107027f00000000000000000000000000000000000000000000000000000000000000006006610ff0565b80546000908015610bc357610bad83610ace60018461203a565b54600160301b90046001600160d01b031661082f565b60009392505050565b6000610506610bd961109b565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610c0b888888886111c6565b925092509250610c1b8282611295565b50909695505050505050565b6001600160a01b0382166000908152600760205260409020805460018101909155818114610931576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610572565b60408051808201909152600080825260208201526001600160a01b038316600090815260096020526040902061082f908361134e565b6001600160a01b03838116600081815260208181526040808320546008909252808320805488871673ffffffffffffffffffffffffffffffffffffffff1982168117909255915192959190911693909284927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610905858286856000886113be565b6001600160a01b038416610d5f5760405163e602df0560e01b815260006004820152602401610572565b6001600160a01b038316610d8957604051634a1406b160e11b815260006004820152602401610572565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156109ae57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610dfc91815260200190565b60405180910390a350505050565b610e1583838361170c565b6001600160a01b038316610e6a576000610e2e60025490565b90506000610e3a611836565b905080821115610e6757604051630e58ae9360e11b81526004810183905260248101829052604401610572565b50505b610931838383611853565b600081600003610e8757506000919050565b60006001610e9484611903565b901c6001901b90506001818481610ead57610ead612060565b048201901c90506001818481610ec557610ec5612060565b048201901c90506001818481610edd57610edd612060565b048201901c90506001818481610ef557610ef5612060565b048201901c90506001818481610f0d57610f0d612060565b048201901c90506001818481610f2557610f25612060565b048201901c90506001818481610f3d57610f3d612060565b048201901c905061082f81828581610f5757610f57612060565b04611997565b60005b81831015610fb7576000610f7484846119ad565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610fa357809250610fb1565b610fae81600161204d565b93505b50610f60565b509392505050565b600063ffffffff821115610a46576040516306dfcc6560e41b81526020600482015260248101839052604401610572565b606060ff831461100a57611003836119c8565b9050610506565b81805461101690611f21565b80601f016020809104026020016040519081016040528092919081815260200182805461104290611f21565b801561108f5780601f106110645761010080835404028352916020019161108f565b820191906000526020600020905b81548152906001019060200180831161107257829003601f168201915b50505050509050610506565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156110f457507f000000000000000000000000000000000000000000000000000000000000000046145b1561111e57507f000000000000000000000000000000000000000000000000000000000000000090565b610702604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115611201575060009150600390508261128b565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611255573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112815750600092506001915082905061128b565b9250600091508190505b9450945094915050565b60008260038111156112a9576112a9612076565b036112b2575050565b60018260038111156112c6576112c6612076565b036112e45760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156112f8576112f8612076565b036113195760405163fce698f760e01b815260048101829052602401610572565b600382600381111561132d5761132d612076565b03610639576040516335e2f38360e21b815260048101829052602401610572565b6040805180820190915260008082526020820152826000018263ffffffff168154811061137d5761137d61208c565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b6001600160a01b0386166000908152600b6020526040812054907f00000000000000000000000000000000000000000000000000000000000000009080851561146157826001600160a01b0316896001600160a01b03161480156114225750600084115b1561144f57611431878561203a565b6001600160a01b038b166000908152600b60205260409020556114c5565b508561145a816120a2565b91506114c5565b876001600160a01b0316896001600160a01b03160361148f5784611486576000611488565b835b90506114c5565b611499848861204d565b9050846114b957866114aa856120a2565b6114b491906120be565b6114c2565b6114c2876120a2565b91505b6001600160a01b038916158015906114dc57508115155b80156114fa5750826001600160a01b0316896001600160a01b031614155b156116375760008212156115a8576001600160a01b0389166000908152600960205260408120819061153f9061090c61153a611535886120a2565b611a07565b611a3b565b6001600160d01b031691506001600160d01b031691508a6001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611599929190918252602082015260400190565b60405180910390a25050611637565b6001600160a01b038916600090815260096020526040812081906115d29061091861153a87611a07565b6001600160d01b031691506001600160d01b031691508a6001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161162c929190918252602082015260400190565b60405180910390a250505b6001600160a01b0388161580159061164e57508015155b801561166c5750826001600160a01b0316886001600160a01b031614155b15611700576001600160a01b0388166000908152600960205260408120819061169b9061091861153a86611a07565b6001600160d01b031691506001600160d01b03169150896001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516116f5929190918252602082015260400190565b60405180910390a250505b50505050505050505050565b6001600160a01b03831661173757806002600082825461172c919061204d565b909155506117a99050565b6001600160a01b0383166000908152602081905260409020548181101561178a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610572565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166117c5576002805482900390556117e4565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161182991815260200190565b60405180910390a3505050565b60006118446012600a6121c2565b6107029064174876e8006121ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03808216908516036118bd576118b883826118ae866001600160a01b039081166000908152600860205260409020541690565b85600160006113be565b6109ae565b6109ae846118e3866001600160a01b039081166000908152600860205260409020541690565b6001600160a01b03808716600090815260086020526040902054166118ae565b600080608083901c1561191857608092831c92015b604083901c1561192a57604092831c92015b602083901c1561193c57602092831c92015b601083901c1561194e57601092831c92015b600883901c1561196057600892831c92015b600483901c1561197257600492831c92015b600283901c1561198457600292831c92015b600183901c156105065760010192915050565b60008183106119a6578161082f565b5090919050565b60006119bc60028484186121e5565b61082f9084841661204d565b606060006119d583611a74565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160d01b03821115610a46576040516306dfcc6560e41b815260d0600482015260248101839052604401610572565b600080611a67611a496106f8565b611a5f611a5588610b93565b868863ffffffff16565b879190611a9c565b915091505b935093915050565b600060ff8216601f81111561050657604051632cd44ac360e21b815260040160405180910390fd5b600080611a67858585825460009081908015611bc4576000611ac387610ace60018561203a565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b031660208401529192509087161015611b1757604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611b635784611b3a88610ace60018661203a565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611bb4565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150611a6c9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081611a6c565b6000815180845260005b81811015611c4557602081850181015186830182015201611c29565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061082f6020830184611c1f565b80356001600160a01b0381168114611c8f57600080fd5b919050565b60008060408385031215611ca757600080fd5b611cb083611c78565b946020939093013593505050565b600080600060608486031215611cd357600080fd5b611cdc84611c78565b9250611cea60208501611c78565b9150604084013590509250925092565b600060208284031215611d0c57600080fd5b61082f82611c78565b60ff60f81b881681526000602060e081840152611d3560e084018a611c1f565b8381036040850152611d47818a611c1f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611d9957835183529284019291840191600101611d7d565b50909c9b505050505050505050505050565b600060208284031215611dbd57600080fd5b5035919050565b60008060008060008060c08789031215611ddd57600080fd5b611de687611c78565b95506020870135945060408701359350606087013560ff81168114611e0a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215611e3757600080fd5b611e4083611c78565b9150611e4e60208401611c78565b90509250929050565b60008060408385031215611e6a57600080fd5b611e7383611c78565b9150602083013563ffffffff81168114611e8c57600080fd5b809150509250929050565b60008060008060608587031215611ead57600080fd5b611eb685611c78565b935060208501359250604085013567ffffffffffffffff80821115611eda57600080fd5b818701915087601f830112611eee57600080fd5b813581811115611efd57600080fd5b8860208260051b8501011115611f1257600080fd5b95989497505060200194505050565b600181811c90821680611f3557607f821691505b602082108103611f5557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03851681528360208201526060604082015281606082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611fa957600080fd5b8260051b808560808501379190910160800195945050505050565b600060208284031215611fd657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b0382811682821603908082111561201357612013611fdd565b5092915050565b6001600160d01b0381811683821601908082111561201357612013611fdd565b8181038181111561050657610506611fdd565b8082018082111561050657610506611fdd565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600160ff1b82016120b7576120b7611fdd565b5060000390565b818103600083128015838313168383128216171561201357612013611fdd565b600181815b808511156121195781600019048211156120ff576120ff611fdd565b8085161561210c57918102915b93841c93908002906120e3565b509250929050565b60008261213057506001610506565b8161213d57506000610506565b8160018114612153576002811461215d57612179565b6001915050610506565b60ff84111561216e5761216e611fdd565b50506001821b610506565b5060208310610133831016604e8410600b841016171561219c575081810a610506565b6121a683836120de565b80600019048211156121ba576121ba611fdd565b029392505050565b600061082f8383612121565b808202811582820484141761050657610506611fdd565b60008261220257634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122038f7af449d1572ddfaf7ccf32bafdf94ac06e006e8092ec9a133c1930419b2f764736f6c63430008140033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724000000000000000000000000aa9acc6c53d1d38daebcf6ab7bae4b0d8eefc6c00000000000000000000000000000000000000000204fce5e3e25026110000000