0x60806040526040516200109938038062001099833981016040819052620000269162000477565b828162000036828260006200004d565b50620000449050826200007f565b50505062000687565b6200005883620000e8565b600082511180620000665750805b156200007a576200007883836200012a565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c160008051602062001052833981519152546001600160a01b031690565b82604051620000d2929190620004fc565b60405180910390a1620000e5816200015b565b50565b620000f381620001c0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620001528383604051806060016040528060278152602001620010726027913962000212565b90505b92915050565b6001600160a01b0381166200018d5760405162461bcd60e51b8152600401620001849062000561565b60405180910390fd5b80600080516020620010528339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b620001ea5760405162461bcd60e51b81526004016200018490620005be565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6200019f565b6060600080856001600160a01b031685604051620002319190620005f5565b600060405180830381855af49150503d80600081146200026e576040519150601f19603f3d011682016040523d82523d6000602084013e62000273565b606091505b509092509050620002878683838762000293565b925050505b9392505050565b60608315620002d8578251600003620002d0576001600160a01b0385163b620002d05760405162461bcd60e51b8152600401620001849062000603565b5081620002e4565b620002e48383620002ec565b949350505050565b815115620002fd5781518083602001fd5b8060405162461bcd60e51b815260040162000184919062000674565b60006001600160a01b03821662000155565b620003368162000319565b8114620000e557600080fd5b805162000155816200032b565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156200038d576200038d6200034f565b6040525050565b6000620003a060405190565b9050620003ae828262000365565b919050565b60006001600160401b03821115620003cf57620003cf6200034f565b601f19601f83011660200192915050565b60005b83811015620003fd578181015183820152602001620003e3565b50506000910152565b60006200041d6200041784620003b3565b62000394565b9050828152602081018484840111156200043a576200043a600080fd5b62000447848285620003e0565b509392505050565b600082601f830112620004655762000465600080fd5b8151620002e484826020860162000406565b600080600060608486031215620004915762000491600080fd5b60006200049f868662000342565b9350506020620004b28682870162000342565b92505060408401516001600160401b03811115620004d357620004d3600080fd5b620004e1868287016200044f565b9150509250925092565b620004f68162000319565b82525050565b604081016200050c8285620004eb565b6200028c6020830184620004eb565b602681526000602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810162000155816200051b565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b602082015291506200055a565b60208082528101620001558162000573565b6000620005db825190565b620005eb818560208601620003e0565b9290920192915050565b60006200028c8284620005d0565b602080825281016200015581601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b60006200064a825190565b80845260208401935062000663818560208601620003e0565b601f01601f19169290920192915050565b602080825281016200015281846200063f565b6109bb80620006976000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61010c565b6001600160a01b031633036101025760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361013f565b91506100fa565b63587086bd60e11b6001600160e01b031982160161007a57610053610196565b63070d7c6960e41b6001600160e01b031982160161009a576100536101dc565b621eb96f60e61b6001600160e01b03198216016100b95761005361020d565b63a39f25e560e01b6001600160e01b03198216016100d957610053610249565b60405162461bcd60e51b81526004016100f190610566565b60405180910390fd5b815160208301f35b61010a61025d565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b606061014961026d565b600061015836600481846105d2565b8101906101659190610632565b905061018281604051806020016040528060008152506000610278565b505060408051602081019091526000815290565b60606000806101a836600481846105d2565b8101906101b5919061074e565b915091506101c582826001610278565b604051806020016040528060008152509250505090565b60606101e661026d565b60006101f536600481846105d2565b8101906102029190610632565b9050610182816102a4565b606061021761026d565b600061022161010c565b90508060405160200161023491906107b5565b60405160208183030381529060405291505090565b606061025361026d565b60006102216102f0565b61010a6102686102f0565b6102ff565b341561010a57600080fd5b61028183610323565b60008251118061028e5750805b1561029f5761029d8383610363565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102cd61010c565b826040516102dc9291906107c3565b60405180910390a16102ed81610391565b50565b60006102fa6103fb565b905090565b3660008037600080366000845af43d6000803e80801561031e573d6000f35b3d6000fd5b61032c81610423565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610388838360405180606001604052806027815260200161095f60279139610471565b90505b92915050565b6001600160a01b0381166103b75760405162461bcd60e51b81526004016100f190610824565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610130565b6001600160a01b0381163b61044a5760405162461bcd60e51b81526004016100f19061087e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103da565b6060600080856001600160a01b03168560405161048e91906108d4565b600060405180830381855af49150503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091506104df868383876104eb565b925050505b9392505050565b6060831561052a578251600003610523576001600160a01b0385163b6105235760405162461bcd60e51b81526004016100f1906108e0565b5081610534565b610534838361053c565b949350505050565b81511561054c5781518083602001fd5b8060405162461bcd60e51b81526004016100f1919061094d565b6020808252810161038b81604281527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60208201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267604082015261195d60f21b606082015260800190565b600080858511156105e5576105e5600080fd5b838611156105f5576105f5600080fd5b5050820193919092039150565b60006001600160a01b03821661038b565b61061c81610602565b81146102ed57600080fd5b803561038b81610613565b60006020828403121561064757610647600080fd5b60006105348484610627565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561068f5761068f610653565b6040525050565b60006106a160405190565b90506106ad8282610669565b919050565b600067ffffffffffffffff8211156106cc576106cc610653565b601f19601f83011660200192915050565b82818337506000910152565b60006106fc6106f7846106b2565b610696565b90508281526020810184848401111561071757610717600080fd5b6107228482856106dd565b509392505050565b600082601f83011261073e5761073e600080fd5b81356105348482602086016106e9565b6000806040838503121561076457610764600080fd5b60006107708585610627565b925050602083013567ffffffffffffffff81111561079057610790600080fd5b61079c8582860161072a565b9150509250929050565b6107af81610602565b82525050565b6020810161038b82846107a6565b604081016107d182856107a6565b6104e460208301846107a6565b602681526000602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810161038b816107de565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b6020820152915061081d565b6020808252810161038b81610834565b60005b838110156108a9578181015183820152602001610891565b50506000910152565b60006108bc825190565b6108ca81856020860161088e565b9290920192915050565b60006104e482846108b2565b6020808252810161038b81601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000610925825190565b80845260208401935061093c81856020860161088e565b601f01601f19169290920192915050565b60208082528101610388818461091b56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200f6e317f46ea5acbd4d140a75984b3c755002f95b3e87a4ff779ec3b5682eeec64736f6c63430008130033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000e473c671a204c083458ef58e00489360c1d64a56000000000000000000000000dc61579e00a1fbf891685f6941750ccec8546af7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e477a24f36000000000000000000000000330a51ca232a419c57d126a64e821365f2663c3e000000000000000000000000af80dfd9c92be754b6889a31d4923fadc5c7d53100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f9700000000000000000000000000000000000000000000000000000000