60806040523480156200001157600080fd5b50604051620010ad380380620010ad83398101604081905262000034916200048b565b8282828281620000478282600062000061565b506200005590508262000093565b5050505050506200069b565b6200006c83620000fc565b6000825111806200007a5750805b156200008e576200008c83836200013e565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000d560008051602062001066833981519152546001600160a01b031690565b82604051620000e692919062000510565b60405180910390a1620000f9816200016f565b50565b6200010781620001d4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620001668383604051806060016040528060278152602001620010866027913962000226565b90505b92915050565b6001600160a01b038116620001a15760405162461bcd60e51b8152600401620001989062000575565b60405180910390fd5b80600080516020620010668339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b620001fe5760405162461bcd60e51b81526004016200019890620005d2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc620001b3565b6060600080856001600160a01b03168560405162000245919062000609565b600060405180830381855af49150503d806000811462000282576040519150601f19603f3d011682016040523d82523d6000602084013e62000287565b606091505b5090925090506200029b86838387620002a7565b925050505b9392505050565b60608315620002ec578251600003620002e4576001600160a01b0385163b620002e45760405162461bcd60e51b8152600401620001989062000617565b5081620002f8565b620002f8838362000300565b949350505050565b815115620003115781518083602001fd5b8060405162461bcd60e51b815260040162000198919062000688565b60006001600160a01b03821662000169565b6200034a816200032d565b8114620000f957600080fd5b805162000169816200033f565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715620003a157620003a162000363565b6040525050565b6000620003b460405190565b9050620003c2828262000379565b919050565b60006001600160401b03821115620003e357620003e362000363565b601f19601f83011660200192915050565b60005b8381101562000411578181015183820152602001620003f7565b50506000910152565b6000620004316200042b84620003c7565b620003a8565b9050828152602081018484840111156200044e576200044e600080fd5b6200045b848285620003f4565b509392505050565b600082601f830112620004795762000479600080fd5b8151620002f88482602086016200041a565b600080600060608486031215620004a557620004a5600080fd5b6000620004b3868662000356565b9350506020620004c68682870162000356565b92505060408401516001600160401b03811115620004e757620004e7600080fd5b620004f58682870162000463565b9150509250925092565b6200050a816200032d565b82525050565b60408101620005208285620004ff565b620002a06020830184620004ff565b602681526000602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810162000169816200052f565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b602082015291506200056e565b60208082528101620001698162000587565b6000620005ef825190565b620005ff818560208601620003f4565b9290920192915050565b6000620002a08284620005e4565b602080825281016200016981601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b60006200065e825190565b80845260208401935062000677818560208601620003f4565b601f01601f19169290920192915050565b6020808252810162000166818462000653565b6109bb80620006ab6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61010c565b6001600160a01b031633036101025760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361013f565b91506100fa565b63587086bd60e11b6001600160e01b031982160161007a57610053610196565b63070d7c6960e41b6001600160e01b031982160161009a576100536101dc565b621eb96f60e61b6001600160e01b03198216016100b95761005361020d565b63a39f25e560e01b6001600160e01b03198216016100d957610053610249565b60405162461bcd60e51b81526004016100f190610566565b60405180910390fd5b815160208301f35b61010a61025d565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b606061014961026d565b600061015836600481846105d2565b8101906101659190610632565b905061018281604051806020016040528060008152506000610278565b505060408051602081019091526000815290565b60606000806101a836600481846105d2565b8101906101b5919061074e565b915091506101c582826001610278565b604051806020016040528060008152509250505090565b60606101e661026d565b60006101f536600481846105d2565b8101906102029190610632565b9050610182816102a4565b606061021761026d565b600061022161010c565b90508060405160200161023491906107b5565b60405160208183030381529060405291505090565b606061025361026d565b60006102216102f0565b61010a6102686102f0565b6102ff565b341561010a57600080fd5b61028183610323565b60008251118061028e5750805b1561029f5761029d8383610363565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6102cd61010c565b826040516102dc9291906107c3565b60405180910390a16102ed81610391565b50565b60006102fa6103fb565b905090565b3660008037600080366000845af43d6000803e80801561031e573d6000f35b3d6000fd5b61032c81610423565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610388838360405180606001604052806027815260200161095f60279139610471565b90505b92915050565b6001600160a01b0381166103b75760405162461bcd60e51b81526004016100f190610824565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610130565b6001600160a01b0381163b61044a5760405162461bcd60e51b81526004016100f19061087e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103da565b6060600080856001600160a01b03168560405161048e91906108d4565b600060405180830381855af49150503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091506104df868383876104eb565b925050505b9392505050565b6060831561052a578251600003610523576001600160a01b0385163b6105235760405162461bcd60e51b81526004016100f1906108e0565b5081610534565b610534838361053c565b949350505050565b81511561054c5781518083602001fd5b8060405162461bcd60e51b81526004016100f1919061094d565b6020808252810161038b81604281527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60208201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267604082015261195d60f21b606082015260800190565b600080858511156105e5576105e5600080fd5b838611156105f5576105f5600080fd5b5050820193919092039150565b60006001600160a01b03821661038b565b61061c81610602565b81146102ed57600080fd5b803561038b81610613565b60006020828403121561064757610647600080fd5b60006105348484610627565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff8211171561068f5761068f610653565b6040525050565b60006106a160405190565b90506106ad8282610669565b919050565b600067ffffffffffffffff8211156106cc576106cc610653565b601f19601f83011660200192915050565b82818337506000910152565b60006106fc6106f7846106b2565b610696565b90508281526020810184848401111561071757610717600080fd5b6107228482856106dd565b509392505050565b600082601f83011261073e5761073e600080fd5b81356105348482602086016106e9565b6000806040838503121561076457610764600080fd5b60006107708585610627565b925050602083013567ffffffffffffffff81111561079057610790600080fd5b61079c8582860161072a565b9150509250929050565b6107af81610602565b82525050565b6020810161038b82846107a6565b604081016107d182856107a6565b6104e460208301846107a6565b602681526000602082017f455243313936373a206e65772061646d696e20697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b6020808252810161038b816107de565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b6020820152915061081d565b6020808252810161038b81610834565b60005b838110156108a9578181015183820152602001610891565b50506000910152565b60006108bc825190565b6108ca81856020860161088e565b9290920192915050565b60006104e482846108b2565b6020808252810161038b81601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000610925825190565b80845260208401935061093c81856020860161088e565b601f01601f19169290920192915050565b60208082528101610388818461091b56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b007d92b9739db531421419922d0999fe95aa6f37f7e1a5e91b3cc7dbc3b339464736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000ccb21f68b7d102c27499739c4b00fb755ef485eb00000000000000000000000096cd3290b641e190ab5a0f4fc56b04d59e5ece6b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001845ffc30c20000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000027100000000000000000000000002e0d90197ad37c5adfe1502a992531239f4784d10000000000000000000000000000000000000000000000000000000065f6db400000000000000000000000000000000000000000000000000000000000000011436f64654d6f6e6b6573204176617461720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006417661746172000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000