60a0604052600060809081526008906200001a9082620003e0565b50604080518082019091526005815264173539b7b760d91b6020820152600990620000469082620003e0565b506010805461ffff19166001179055601580546001600160a01b03191661dead1790553480156200007657600080fd5b50604051620038563803806200385683398101604081905262000099916200055b565b733cc6cdda760b79bafa08df41ecfa224f810dceb6600185856000620000c08382620003e0565b506001620000cf8282620003e0565b505050620000ec620000e66200025960201b60201c565b6200025d565b60016007556daaeb6d7670e522a718067333cd4e3b15620002365780156200018457604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b1580156200016557600080fd5b505af11580156200017a573d6000803e3d6000fd5b5050505062000236565b6001600160a01b03821615620001d55760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af2903906044016200014a565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b1580156200021c57600080fd5b505af115801562000231573d6000803e3d6000fd5b505050505b5062000244905082620002af565b6200024f81620002be565b50505050620005f6565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620002b9620002da565b600f55565b620002c8620002da565b600a620002d68282620003e0565b5050565b6006546001600160a01b03163314620003395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200036657607f821691505b6020821081036200038757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003db57600081815260208120601f850160051c81016020861015620003b65750805b601f850160051c820191505b81811015620003d757828155600101620003c2565b5050505b505050565b81516001600160401b03811115620003fc57620003fc6200033b565b62000414816200040d845462000351565b846200038d565b602080601f8311600181146200044c5760008415620004335750858301515b600019600386901b1c1916600185901b178555620003d7565b600085815260208120601f198616915b828110156200047d578886015182559484019460019091019084016200045c565b50858210156200049c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112620004be57600080fd5b81516001600160401b0380821115620004db57620004db6200033b565b604051601f8301601f19908116603f011681019082821181831017156200050657620005066200033b565b816040528381526020925086838588010111156200052357600080fd5b600091505b8382101562000547578582018301518183018401529082019062000528565b600093810190920192909252949350505050565b600080600080608085870312156200057257600080fd5b84516001600160401b03808211156200058a57600080fd5b6200059888838901620004ac565b95506020870151915080821115620005af57600080fd5b620005bd88838901620004ac565b9450604087015193506060870151915080821115620005db57600080fd5b50620005ea87828801620004ac565b91505092959194509250565b61325080620006066000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c8063715018a611610151578063b88d4fde116100c3578063cf4b7a6711610087578063cf4b7a6714610547578063d27cadc31461055a578063d322a21b1461056d578063e0a8085314610580578063e985e9c514610593578063f2fde38b146105cf57600080fd5b8063b88d4fde146104d8578063c052b86f146104eb578063c18609e6146104fe578063c4c1262114610521578063c87b56dd1461053457600080fd5b80638da5cb5b116101155780638da5cb5b1461048857806394354fd01461049957806395d89b41146104a2578063a22cb465146104aa578063a45ba8e7146104bd578063b071401b146104c557600080fd5b8063715018a614610434578063718637441461043c5780637ec4a6591461044f57806387a021e4146104625780638ccd0bc71461047557600080fd5b806340130ccc116101ea5780635503a0e8116101ae5780635503a0e8146103d05780635c975abb146103d85780635dc3282d146103e557806362b99ad4146103f85780636352211e1461040057806370a082311461041357600080fd5b806340130ccc1461037057806341f434341461038357806342842e0e146103985780634fdd43cb146103ab57806351830227146103be57600080fd5b806316ba10e01161023c57806316ba10e01461030957806316c38b3c1461031c57806323b872dd1461032f57806330374f7e1461034257806336689a89146103555780633ccfd60b1461036857600080fd5b806301ffc9a71461027957806306fdde03146102a1578063081812fc146102b6578063095ea7b3146102e15780630e21d479146102f6575b600080fd5b61028c610287366004612703565b6105e2565b60405190151581526020015b60405180910390f35b6102a9610634565b6040516102989190612770565b6102c96102c4366004612783565b6106c6565b6040516001600160a01b039091168152602001610298565b6102f46102ef3660046127b1565b6106ed565b005b600d546102c9906001600160a01b031681565b6102f46103173660046128a2565b610706565b6102f461032a3660046128f8565b61071e565b6102f461033d366004612915565b610739565b6102f4610350366004612956565b610764565b6102f4610363366004612973565b610798565b6102f4610a8b565b600c546102c9906001600160a01b031681565b6102c96daaeb6d7670e522a718067333cd4e81565b6102f46103a6366004612915565b610b19565b6102f46103b93660046128a2565b610b3e565b60105461028c90610100900460ff1681565b6102a9610b52565b60105461028c9060ff1681565b6102f46103f3366004612a1d565b610be0565b6102a9610caf565b6102c961040e366004612783565b610cbc565b610426610421366004612956565b610d1c565b604051908152602001610298565b6102f4610da2565b6102f461044a366004612956565b610db4565b6102f461045d3660046128a2565b610dfa565b6102f4610470366004612956565b610e0e565b6102f4610483366004612973565b610e42565b6006546001600160a01b03166102c9565b610426600f5481565b6102a96112e4565b6102f46104b8366004612ac7565b6112f3565b6102a9611307565b6102f46104d3366004612783565b611314565b6102f46104e6366004612b00565b611321565b600b546102c9906001600160a01b031681565b61028c61050c366004612783565b60146020526000908152604090205460ff1681565b600e546102c9906001600160a01b031681565b6102a9610542366004612783565b61134e565b6102f4610555366004612956565b6114c2565b61028c6105683660046127b1565b6114f6565b6102f461057b366004612973565b6115f1565b6102f461058e3660046128f8565b611a94565b61028c6105a1366004612b7f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102f46105dd366004612956565b611ab6565b60006001600160e01b031982166380ac58cd60e01b148061061357506001600160e01b03198216635b5e139f60e01b145b8061062e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461064390612bad565b80601f016020809104026020016040519081016040528092919081815260200182805461066f90612bad565b80156106bc5780601f10610691576101008083540402835291602001916106bc565b820191906000526020600020905b81548152906001019060200180831161069f57829003601f168201915b5050505050905090565b60006106d182611b2f565b506000908152600460205260409020546001600160a01b031690565b816106f781611b7f565b6107018383611c38565b505050565b61070e611d48565b600961071a8282612c35565b5050565b610726611d48565b6010805460ff1916911515919091179055565b826001600160a01b03811633146107535761075333611b7f565b61075e848484611da2565b50505050565b61076c611d48565b600e80546001600160a01b039092166001600160a01b0319928316811790915560138054909216179055565b601054819060ff16156107c65760405162461bcd60e51b81526004016107bd90612cf4565b60405180910390fd5b6000811180156107d85750600f548111155b6107f45760405162461bcd60e51b81526004016107bd90612d2b565b336000836001600160401b0381111561080f5761080f6127dd565b604051908082528060200260200182016040528015610838578160200160208202803683370190505b50905060005b84811015610a4057600086868381811061085a5761085a612d59565b90506020020135905061086c81611dd3565b15801561088a575061088861088361271083612d85565b611dd3565b155b80156108a257506108a0610883614e2083612d85565b155b6108be5760405162461bcd60e51b81526004016107bd90612d98565b8715610974576010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109399190612ddb565b6001600160a01b03161480610953575061095384826114f6565b61096f5760405162461bcd60e51b81526004016107bd90612df8565b610a0f565b6010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa1580156109c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e99190612ddb565b6001600160a01b031614610a0f5760405162461bcd60e51b81526004016107bd90612e55565b80838381518110610a2257610a22612d59565b60209081029190910101525080610a3881612e97565b91505061083e565b5060005b8151811015610a8257610a7083838381518110610a6357610a63612d59565b6020026020010151611df0565b80610a7a81612e97565b915050610a44565b50505050505050565b610a93611d48565b610a9b611e0a565b6000610aaf6006546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610af9576040519150601f19603f3d011682016040523d82523d6000602084013e610afe565b606091505b5050905080610b0c57600080fd5b50610b176001600755565b565b826001600160a01b0381163314610b3357610b3333611b7f565b61075e848484611e63565b610b46611d48565b600a61071a8282612c35565b60098054610b5f90612bad565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8b90612bad565b8015610bd85780601f10610bad57610100808354040283529160200191610bd8565b820191906000526020600020905b815481529060010190602001808311610bbb57829003601f168201915b505050505081565b610be8611d48565b60005b815181101561070157610c16828281518110610c0957610c09612d59565b6020026020010151611dd3565b158015610c4a5750610c48612710838381518110610c3657610c36612d59565b60200260200101516108839190612d85565b155b8015610c6b5750610c69614e20838381518110610c3657610c36612d59565b155b610c875760405162461bcd60e51b81526004016107bd90612d98565b610c9d83838381518110610a6357610a63612d59565b80610ca781612e97565b915050610beb565b60088054610b5f90612bad565b6000818152600260205260408120546001600160a01b03168061062e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bd565b60006001600160a01b038216610d865760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107bd565b506001600160a01b031660009081526003602052604090205490565b610daa611d48565b610b176000611e7e565b610dbc611d48565b600b80546001600160a01b0319166001600160a01b039290921691821790556010805462010000600160b01b03191662010000909202919091179055565b610e02611d48565b600861071a8282612c35565b610e16611d48565b600d80546001600160a01b039092166001600160a01b0319928316811790915560118054909216179055565b601054819060ff1615610e675760405162461bcd60e51b81526004016107bd90612cf4565b600081118015610e795750600f548111155b610e955760405162461bcd60e51b81526004016107bd90612d2b565b601154604051630d63d4af60e41b81523360048201819052916000916001600160a01b039091169063d63d4af090602401600060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f0b9190810190612eb0565b8051909150841115610f6d5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420757365206d6f72652047616d65204361726473207468616e206044820152641bdddb995960da1b60648201526084016107bd565b60115460405163e985e9c560e01b81526001600160a01b0384811660048301523060248301529091169063e985e9c590604401602060405180830381865afa158015610fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe19190612f40565b6110485760405162461bcd60e51b815260206004820152603260248201527f506c6561736520617070726f766520636f6e747261637420746f206d616e616760448201527132903cb7bab91033b0b6b29031b0b932399760711b60648201526084016107bd565b60005b84811015610a8257600086868381811061106757611067612d59565b90506020020135905061107981611dd3565b158015611092575061109061088361271083612d85565b155b80156110aa57506110a8610883614e2083612d85565b155b6110c65760405162461bcd60e51b81526004016107bd90612d98565b871561117c576010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa15801561111d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111419190612ddb565b6001600160a01b0316148061115b575061115b84826114f6565b6111775760405162461bcd60e51b81526004016107bd90612df8565b611217565b6010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa1580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f19190612ddb565b6001600160a01b0316146112175760405162461bcd60e51b81526004016107bd90612e55565b60115460155484516001600160a01b03928316926342842e0e92889291169087908790811061124857611248612d59565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156112a257600080fd5b505af11580156112b6573d6000803e3d6000fd5b505050506112d184612710836112cc9190612d85565b611df0565b50806112dc81612e97565b91505061104b565b60606001805461064390612bad565b816112fd81611b7f565b6107018383611ed0565b600a8054610b5f90612bad565b61131c611d48565b600f55565b836001600160a01b038116331461133b5761133b33611b7f565b61134785858585611edb565b5050505050565b606061135982611dd3565b6113bd5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107bd565b601054610100900460ff16151560000361146357600a80546113de90612bad565b80601f016020809104026020016040519081016040528092919081815260200182805461140a90612bad565b80156114575780601f1061142c57610100808354040283529160200191611457565b820191906000526020600020905b81548152906001019060200180831161143a57829003601f168201915b50505050509050919050565b600061146d611f0d565b9050600081511161148d57604051806020016040528060008152506114bb565b8061149784611f1c565b60096040516020016114ab93929190612f5d565b6040516020818303038152906040525b9392505050565b6114ca611d48565b600c80546001600160a01b039092166001600160a01b0319928316811790915560128054909216179055565b601354604051630f74de8b60e31b81526001600160a01b0384811660048301526000928392911690637ba6f45890602401600060405180830381865afa158015611544573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261156c9190810190612ffd565b905060005b81518110156115e6578382828151811061158d5761158d612d59565b6020026020010151602001511480156115c457508181815181106115b3576115b3612d59565b602002602001015160400151600014155b156115d45760019250505061062e565b806115de81612e97565b915050611571565b506000949350505050565b601054819060ff16156116165760405162461bcd60e51b81526004016107bd90612cf4565b6000811180156116285750600f548111155b6116445760405162461bcd60e51b81526004016107bd90612d2b565b61164d33611fae565b8211156116aa5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420757365206d6f726520476f6c64204361726473207468616e206044820152641bdddb995960da1b60648201526084016107bd565b336000836001600160401b038111156116c5576116c56127dd565b6040519080825280602002602001820160405280156116ee578160200160208202803683370190505b50905060005b848110156118ff57600086868381811061171057611710612d59565b90506020020135905061172281611dd3565b15801561173b575061173961088361271083612d85565b155b80156117535750611751610883614e2083612d85565b155b61176f5760405162461bcd60e51b81526004016107bd90612d98565b8715611825576010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa1580156117c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ea9190612ddb565b6001600160a01b03161480611804575061180484826114f6565b6118205760405162461bcd60e51b81526004016107bd90612df8565b6118c0565b6010546040516331a9108f60e11b8152600481018390526001600160a01b03868116926201000090041690636352211e90602401602060405180830381865afa158015611876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189a9190612ddb565b6001600160a01b0316146118c05760405162461bcd60e51b81526004016107bd90612e55565b6118cc614e2082612d85565b9050808383815181106118e1576118e1612d59565b602090810291909101015250806118f781612e97565b9150506116f4565b5060125460405163e985e9c560e01b81526001600160a01b0384811660048301523060248301529091169063e985e9c590604401602060405180830381865afa158015611950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119749190612f40565b6119db5760405162461bcd60e51b815260206004820152603260248201527f506c6561736520617070726f766520636f6e747261637420746f206d616e616760448201527132903cb7bab91033b7b6321031b0b932399760711b60648201526084016107bd565b601254601554604051637921219560e11b81526001600160a01b0385811660048301529182166024820152600160448201526064810187905260a06084820152600060a482015291169063f242432a9060c401600060405180830381600087803b158015611a4857600080fd5b505af1158015611a5c573d6000803e3d6000fd5b5050505060005b8151811015610a8257611a8283838381518110610a6357610a63612d59565b80611a8c81612e97565b915050611a63565b611a9c611d48565b601080549115156101000261ff0019909216919091179055565b611abe611d48565b6001600160a01b038116611b235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bd565b611b2c81611e7e565b50565b611b3881611dd3565b611b2c5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107bd565b6daaeb6d7670e522a718067333cd4e3b15611b2c57604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c109190612f40565b611b2c57604051633b79c77360e21b81526001600160a01b03821660048201526024016107bd565b6000611c4382610cbc565b9050806001600160a01b0316836001600160a01b031603611cb05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107bd565b336001600160a01b0382161480611ccc5750611ccc81336105a1565b611d3e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107bd565b6107018383612022565b6006546001600160a01b03163314610b175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bd565b611dac3382612090565b611dc85760405162461bcd60e51b81526004016107bd906130c3565b61070183838361210f565b6000908152600260205260409020546001600160a01b0316151590565b61071a828260405180602001604052806000815250612273565b600260075403611e5c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107bd565b6002600755565b61070183838360405180602001604052806000815250611321565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61071a3383836122a6565b611ee53383612090565b611f015760405162461bcd60e51b81526004016107bd906130c3565b61075e84848484612374565b60606008805461064390612bad565b60606000611f29836123a7565b60010190506000816001600160401b03811115611f4857611f486127dd565b6040519080825280601f01601f191660200182016040528015611f72576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611f7c57509392505050565b601254604051627eeac760e11b81526001600160a01b03838116600483015260016024830152600092169062fdd58e90604401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062e9190613110565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061205782610cbc565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061209c83610cbc565b9050806001600160a01b0316846001600160a01b031614806120e357506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806121075750836001600160a01b03166120fc846106c6565b6001600160a01b0316145b949350505050565b826001600160a01b031661212282610cbc565b6001600160a01b0316146121485760405162461bcd60e51b81526004016107bd90613129565b6001600160a01b0382166121aa5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107bd565b826001600160a01b03166121bd82610cbc565b6001600160a01b0316146121e35760405162461bcd60e51b81526004016107bd90613129565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61227d838361247f565b61228a60008484846125ec565b6107015760405162461bcd60e51b81526004016107bd9061316e565b816001600160a01b0316836001600160a01b0316036123075760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107bd565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61237f84848461210f565b61238b848484846125ec565b61075e5760405162461bcd60e51b81526004016107bd9061316e565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106123e65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612412576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061243057662386f26fc10000830492506010015b6305f5e1008310612448576305f5e100830492506008015b612710831061245c57612710830492506004015b6064831061246e576064830492506002015b600a831061062e5760010192915050565b6001600160a01b0382166124d55760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107bd565b6124de81611dd3565b1561252b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bd565b61253481611dd3565b156125815760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107bd565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b156126e257604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906126309033908990889088906004016131c0565b6020604051808303816000875af192505050801561266b575060408051601f3d908101601f19168201909252612668918101906131fd565b60015b6126c8573d808015612699576040519150601f19603f3d011682016040523d82523d6000602084013e61269e565b606091505b5080516000036126c05760405162461bcd60e51b81526004016107bd9061316e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612107565b506001949350505050565b6001600160e01b031981168114611b2c57600080fd5b60006020828403121561271557600080fd5b81356114bb816126ed565b60005b8381101561273b578181015183820152602001612723565b50506000910152565b6000815180845261275c816020860160208601612720565b601f01601f19169290920160200192915050565b6020815260006114bb6020830184612744565b60006020828403121561279557600080fd5b5035919050565b6001600160a01b0381168114611b2c57600080fd5b600080604083850312156127c457600080fd5b82356127cf8161279c565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715612815576128156127dd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612843576128436127dd565b604052919050565b60006001600160401b03831115612864576128646127dd565b612877601f8401601f191660200161281b565b905082815283838301111561288b57600080fd5b828260208301376000602084830101529392505050565b6000602082840312156128b457600080fd5b81356001600160401b038111156128ca57600080fd5b8201601f810184136128db57600080fd5b6121078482356020840161284b565b8015158114611b2c57600080fd5b60006020828403121561290a57600080fd5b81356114bb816128ea565b60008060006060848603121561292a57600080fd5b83356129358161279c565b925060208401356129458161279c565b929592945050506040919091013590565b60006020828403121561296857600080fd5b81356114bb8161279c565b60008060006040848603121561298857600080fd5b8335612993816128ea565b925060208401356001600160401b03808211156129af57600080fd5b818601915086601f8301126129c357600080fd5b8135818111156129d257600080fd5b8760208260051b85010111156129e757600080fd5b6020830194508093505050509250925092565b60006001600160401b03821115612a1357612a136127dd565b5060051b60200190565b60008060408385031215612a3057600080fd5b8235612a3b8161279c565b91506020838101356001600160401b03811115612a5757600080fd5b8401601f81018613612a6857600080fd5b8035612a7b612a76826129fa565b61281b565b81815260059190911b82018301908381019088831115612a9a57600080fd5b928401925b82841015612ab857833582529284019290840190612a9f565b80955050505050509250929050565b60008060408385031215612ada57600080fd5b8235612ae58161279c565b91506020830135612af5816128ea565b809150509250929050565b60008060008060808587031215612b1657600080fd5b8435612b218161279c565b93506020850135612b318161279c565b92506040850135915060608501356001600160401b03811115612b5357600080fd5b8501601f81018713612b6457600080fd5b612b738782356020840161284b565b91505092959194509250565b60008060408385031215612b9257600080fd5b8235612b9d8161279c565b91506020830135612af58161279c565b600181811c90821680612bc157607f821691505b602082108103612be157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070157600081815260208120601f850160051c81016020861015612c0e5750805b601f850160051c820191505b81811015612c2d57828155600101612c1a565b505050505050565b81516001600160401b03811115612c4e57612c4e6127dd565b612c6281612c5c8454612bad565b84612be7565b602080601f831160018114612c975760008415612c7f5750858301515b600019600386901b1c1916600185901b178555612c2d565b600085815260208120601f198616915b82811015612cc657888601518255948401946001909101908401612ca7565b5085821015612ce45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526017908201527f54686520636f6e74726163742069732070617573656421000000000000000000604082015260600190565b602080825260149082015273496e76616c6964206d696e7420616d6f756e742160601b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561062e5761062e612d6f565b60208082526023908201527f41206d6f727068206f662074686973204e465420616c7265616479206578697360408201526274732160e81b606082015260800190565b600060208284031215612ded57600080fd5b81516114bb8161279c565b60208082526038908201527f43616e2774206d6f72706820697420696620796f7520646f6e2774206f776e2060408201527f6974206f722068617665206e6f74207374616b65642069740000000000000000606082015260800190565b60208082526022908201527f43616e2774206d6f72706820697420696620796f7520646f6e2774206f776e206040820152611a5d60f21b606082015260800190565b600060018201612ea957612ea9612d6f565b5060010190565b60006020808385031215612ec357600080fd5b82516001600160401b03811115612ed957600080fd5b8301601f81018513612eea57600080fd5b8051612ef8612a76826129fa565b81815260059190911b82018301908381019087831115612f1757600080fd5b928401925b82841015612f3557835182529284019290840190612f1c565b979650505050505050565b600060208284031215612f5257600080fd5b81516114bb816128ea565b600084516020612f708285838a01612720565b855191840191612f838184848a01612720565b8554920191600090612f9481612bad565b60018281168015612fac5760018114612fc157612fed565b60ff1984168752821515830287019450612fed565b896000528560002060005b84811015612fe557815489820152908301908701612fcc565b505082870194505b50929a9950505050505050505050565b6000602080838503121561301057600080fd5b82516001600160401b0381111561302657600080fd5b8301601f8101851361303757600080fd5b8051613045612a76826129fa565b8181526060918202830184019184820191908884111561306457600080fd5b938501935b838510156130b75780858a0312156130815760008081fd5b6130896127f3565b85516130948161279c565b815285870151878201526040808701519082015283529384019391850191613069565b50979650505050505050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60006020828403121561312257600080fd5b5051919050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906131f390830184612744565b9695505050505050565b60006020828403121561320f57600080fd5b81516114bb816126ed56fea2646970667358221220b3c78ae294882acf2bdbae571d69b541508cd3e3ba2e7d94f2a1d9e1f54c247864736f6c63430008120033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001243756265584f6666696369616c546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003434f5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f516d644a5a4455465141517351596e61515752685862717438734e74434d4c6664464368713352376f62754d57522f756e72657665616c2e6a736f6e0000000000000000000000000000000000000000000000000000000000