60a06040523480156200001157600080fd5b506040516200352a3803806200352a833981016040819052620000349162000299565b60408051602080820183526000808352835191820190935282815282546001600160a01b0319166001600160a01b038781169190911790935591841660805287918791906001620000868382620003e6565b506002620000958282620003e6565b505050620000aa8282620000fb60201b60201c565b50620000c19050620000bb6200011d565b6200012e565b600a805460ff60a01b19169055600c620000dc8582620003e6565b50620000ec600b80546001019055565b600d5550620004b29350505050565b6007620001098382620003e6565b506008620001188282620003e6565b505050565b60006200012962000180565b905090565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6080516000906001600160a01b0316331480156200019f575060143610155b15620001b2575060131936013560601c90565b503390565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001df57600080fd5b81516001600160401b0380821115620001fc57620001fc620001b7565b604051601f8301601f19908116603f01168101908282118183101715620002275762000227620001b7565b816040528381526020925086838588010111156200024457600080fd5b600091505b8382101562000268578582018301518183018401529082019062000249565b600093810190920192909252949350505050565b80516001600160a01b03811681146200029457600080fd5b919050565b60008060008060008060c08789031215620002b357600080fd5b86516001600160401b0380821115620002cb57600080fd5b620002d98a838b01620001cd565b97506020890151915080821115620002f057600080fd5b620002fe8a838b01620001cd565b965060408901519150808211156200031557600080fd5b506200032489828a01620001cd565b94505062000335606088016200027c565b925062000345608088016200027c565b915060a087015190509295509295509295565b600181811c908216806200036d57607f821691505b6020821081036200038e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011857600081815260208120601f850160051c81016020861015620003bd5750805b601f850160051c820191505b81811015620003de57828155600101620003c9565b505050505050565b81516001600160401b03811115620004025762000402620001b7565b6200041a8162000413845462000358565b8462000394565b602080601f831160018114620004525760008415620004395750858301515b600019600386901b1c1916600185901b178555620003de565b600085815260208120601f198616915b82811015620004835788860151825594840194600190910190840162000462565b5085821015620004a25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051613055620004d5600039600081816104100152611f8b01526130556000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c806370a082311161015c5780639d645a44116100ce578063c87b56dd11610087578063c87b56dd146105be578063d007af5c146105d1578063e8a3d485146105d9578063e985e9c5146105e1578063f2fde38b1461061d578063fd762d921461063057600080fd5b80639d645a4414610552578063a22cb46514610565578063a9fc664e14610578578063ad891d9e1461058b578063b88d4fde14610596578063be537f43146105a957600080fd5b80638456cb59116101205780638456cb59146105025780638da5cb5b1461050a57806390646b4a1461051b57806391ba317a1461052e57806395d89b41146105375780639d0b1a4c1461053f57600080fd5b806370a08231146104a0578063715018a6146104c157806373cc802a146104c957806375ceb341146104dc5780637e463b1e146104ef57600080fd5b80632e8da82911610200578063572b6c05116101b9578063572b6c05146104005780635c975abb146104405780635d4c1d461461045257806361347162146104725780636352211e146104855780636c3b86991461049857600080fd5b80632e8da829146103975780633f4ba83a146103aa57806340c10f19146103b257806342842e0e146103c557806342966c68146103d8578063495c8bf9146103eb57600080fd5b8063095ea7b311610252578063095ea7b314610325578063098144d414610338578063116191b6146103495780631b25b0771461035c5780631c33b3281461036f57806323b872dd1461038457600080fd5b8063014635461461028f57806301ffc9a7146102c557806302fe5305146102e857806306fdde03146102fd578063081812fc14610312575b600080fd5b6102a871721c310194ccfc01e523fc93c9cccfa2a0ac81565b6040516001600160a01b0390911681526020015b60405180910390f35b6102d86102d336600461252b565b610643565b60405190151581526020016102bc565b6102fb6102f6366004612548565b61066e565b005b610305610688565b6040516102bc919061260a565b6102a861032036600461261d565b61071a565b6102fb61033336600461264b565b610741565b6009546001600160a01b03166102a8565b6000546102a8906001600160a01b031681565b6102d861036a366004612677565b610868565b610377600181565b6040516102bc91906126e4565b6102fb6103923660046126f2565b610901565b6102d86103a5366004612733565b610939565b6102fb610a45565b6102fb6103c036600461264b565b610a57565b6102fb6103d33660046126f2565b610a83565b6102fb6103e636600461261d565b610a9e565b6103f3610ad1565b6040516102bc9190612750565b6102d861040e366004612733565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b600a54600160a01b900460ff166102d8565b61045a600181565b6040516001600160781b0390911681526020016102bc565b6102fb6104803660046127bf565b610be2565b6102a861049336600461261d565b610d4d565b6102fb610dad565b6104b36104ae366004612733565b610ea6565b6040519081526020016102bc565b6102fb610f2c565b6102fb6104d7366004612733565b610f3e565b6102fb6104ea3660046127ff565b610f4f565b6104b36104fd36600461261d565b610f96565b6102fb610ff2565b600a546001600160a01b03166102a8565b6102fb610529366004612733565b611002565b6104b3600d5481565b61030561102c565b6102fb61054d36600461261d565b61103b565b6102d8610560366004612733565b611048565b6102fb610573366004612895565b611110565b6102fb610586366004612733565b611122565b6104b3630134d70181565b6102fb6105a4366004612915565b611243565b6105b161127c565b6040516102bc91906129d9565b6103056105cc36600461261d565b611337565b6103f3611379565b610305611432565b6102d86105ef366004612a15565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6102fb61062b366004612733565b611466565b6102fb61063e366004612a43565b6114d3565b60006001600160e01b031982166337f1ef5d60e01b14806106685750610668826115d2565b92915050565b6106766115f7565b600c610683828483612b27565b505050565b60606007805461069790612a9f565b80601f01602080910402602001604051908101604052809291908181526020018280546106c390612a9f565b80156107105780601f106106e557610100808354040283529160200191610710565b820191906000526020600020905b8154815290600101906020018083116106f357829003601f168201915b5050505050905090565b6000610725826116bf565b506000908152600560205260409020546001600160a01b031690565b600061074c82610d4d565b9050806001600160a01b0316836001600160a01b0316036107be5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b03166107d061171e565b6001600160a01b031614806107ec57506107ec816105ef61171e565b61085e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107b5565b6106838383611728565b6009546000906001600160a01b0316156108f65760095460405163050bf71960e31b81526001600160a01b038681166004830152858116602483015284811660448301529091169063285fb8c89060640160006040518083038186803b1580156108d157600080fd5b505afa9250505080156108e2575060015b6108ee575060006108fa565b5060016108fa565b5060015b9392505050565b61091261090c61171e565b82611796565b61092e5760405162461bcd60e51b81526004016107b590612be7565b610683838383611815565b6009546000906001600160a01b031615610a3d57600954604051635caaa2a960e11b81523060048201526001600160a01b039091169063d72dde5e90829063b955455290602401606060405180830381865afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190612c34565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b03851660248201526044015b602060405180830381865afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106689190612ca6565b506000919050565b610a4d6115f7565b610a5561198e565b565b610a5f6115f7565b80600003610a7557610a72611000610f96565b90505b610a7f82826119e9565b5050565b61068383838360405180602001604052806000815250611243565b610aa961090c61171e565b610ac55760405162461bcd60e51b81526004016107b590612be7565b610ace81611a6e565b50565b6009546060906001600160a01b031615610bcf57600954604051635caaa2a960e11b81523060048201526001600160a01b0390911690633fe5df9990829063b955455290602401606060405180830381865afa158015610b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b599190612c34565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526024015b600060405180830381865afa158015610ba2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bca9190810190612cc3565b905090565b5060408051600081526020810190915290565b610bea611b1b565b6000610bfe6009546001600160a01b031690565b90506001600160a01b038116610c2757604051631cffe3dd60e11b815260040160405180910390fd5b604051630368065360e61b81526001600160a01b0382169063da0194c090610c559030908890600401612d75565b600060405180830381600087803b158015610c6f57600080fd5b505af1158015610c83573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0384169250632304aa029150610cb59030908790600401612d92565b600060405180830381600087803b158015610ccf57600080fd5b505af1158015610ce3573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0384169250638d7443149150610d159030908690600401612d92565b600060405180830381600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b5050505050505050565b6000818152600360205260408120546001600160a01b0316806106685760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107b5565b610db5611b1b565b610dd071721c310194ccfc01e523fc93c9cccfa2a0ac611122565b604051630368065360e61b815271721c310194ccfc01e523fc93c9cccfa2a0ac9063da0194c090610e08903090600190600401612d75565b600060405180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b5050604051631182550160e11b815271721c310194ccfc01e523fc93c9cccfa2a0ac9250632304aa029150610e72903090600190600401612d92565b600060405180830381600087803b158015610e8c57600080fd5b505af1158015610ea0573d6000803e3d6000fd5b50505050565b60006001600160a01b038216610f105760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107b5565b506001600160a01b031660009081526004602052604090205490565b610f34611b1f565b610a556000611b98565b610f46611bea565b610ace81611b98565b610f576115f7565b60005b81811015610ea057610f8484848484818110610f7857610f78612db4565b905060200201356119e9565b80610f8e81612de0565b915050610f5a565b600080610fa2600b5490565b9050610fae8382612df9565b92505b82811015610668576000818152600360205260409020546001600160a01b0316610fdb5792915050565b610fe9600b80546001019055565b50600b54610fb1565b610ffa6115f7565b610a55611c56565b61100a611bea565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60606008805461069790612a9f565b6110436115f7565b600d55565b6009546000906001600160a01b031615610a3d57600954604051635caaa2a960e11b81523060048201526001600160a01b0390911690639445f53090829063b955455290602401606060405180830381865afa1580156110ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d09190612c34565b60409081015190516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b03851660248201526044016109fc565b610a7f61111b61171e565b8383611c9a565b61112a611b1b565b60006001600160a01b0382163b156111a5576040516301ffc9a760e01b8152600060048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa92505050801561119d575060408051601f3d908101601f1916820190925261119a91810190612ca6565b60015b156111a55790505b6001600160a01b038216158015906111bb575080155b156111d9576040516332483afb60e01b815260040160405180910390fd5b600954604080516001600160a01b03928316815291841660208301527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a150600980546001600160a01b0319166001600160a01b0392909216919091179055565b61125461124e61171e565b83611796565b6112705760405162461bcd60e51b81526004016107b590612be7565b610ea084848484611d68565b60408051606081018252600080825260208201819052918101919091526009546001600160a01b03161561131657600954604051635caaa2a960e11b81523060048201526001600160a01b039091169063b955455290602401606060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bca9190612c34565b50604080516060810182526000808252602082018190529181019190915290565b6060600c611346306014611d9b565b611351846020611d9b565b60405160200161136393929190612e7f565b6040516020818303038152906040529050919050565b6009546060906001600160a01b031615610bcf57600954604051635caaa2a960e11b81523060048201526001600160a01b03909116906317e94a6c90829063b955455290602401606060405180830381865afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114019190612c34565b60409081015190516001600160e01b031960e084901b1681526001600160781b039091166004820152602401610b85565b6060600c611441306014611d9b565b604051602001611452929190612ece565b604051602081830303815290604052905090565b61146e611b1f565b6001600160a01b038116610f465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b5565b6114db611b1b565b6114e484611122565b604051630368065360e61b81526001600160a01b0385169063da0194c0906115129030908790600401612d75565b600060405180830381600087803b15801561152c57600080fd5b505af1158015611540573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0387169250632304aa0291506115729030908690600401612d92565b600060405180830381600087803b15801561158c57600080fd5b505af11580156115a0573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0387169250638d7443149150610d159030908590600401612d92565b60006001600160e01b031982166310c8aba560e31b1480610668575061066882611f37565b600061160161171e565b6000549091506001600160a01b03808316911614806116425750806001600160a01b0316611637600a546001600160a01b031690565b6001600160a01b0316145b610ace5760405162461bcd60e51b815260206004820152604260248201527f47617465776179477561726465644f776e61626c653a2063616c6c657220697360448201527f206e656974686572207468652067617465776179206e6f7220746865206f776e60648201526132b960f11b608482015260a4016107b5565b6000818152600360205260409020546001600160a01b0316610ace5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107b5565b6000610bca611f87565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061175d82610d4d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806117a283610d4d565b9050806001600160a01b0316846001600160a01b031614806117e957506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b8061180d5750836001600160a01b03166118028461071a565b6001600160a01b0316145b949350505050565b826001600160a01b031661182882610d4d565b6001600160a01b03161461184e5760405162461bcd60e51b81526004016107b590612f00565b6001600160a01b0382166118b05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b5565b6118bd8383836001611fd9565b826001600160a01b03166118d082610d4d565b6001600160a01b0316146118f65760405162461bcd60e51b81526004016107b590612f00565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46106838383836001611fed565b61199661201b565b600a805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6119cc61171e565b6040516001600160a01b03909116815260200160405180910390a1565b600d5415806119fa5750600d548111155b611a545760405162461bcd60e51b815260206004820152602560248201527f4552433732313a20696e76616c69642c20746f6b656e4964203e206d6178546f6044820152641ad95b925960da1b60648201526084016107b5565b610a7f82826040518060200160405280600081525061206b565b6000611a7982610d4d565b9050611a89816000846001611fd9565b611a9282610d4d565b600083815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526004845282852080546000190190558785526003909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4610a7f816000846001611fed565b610a555b611b2761171e565b6001600160a01b0316611b42600a546001600160a01b031690565b6001600160a01b031614610a555760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107b5565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b03163314610a555760405162461bcd60e51b815260206004820152602960248201527f47617465776179477561726465643a2063616c6c6572206973206e6f7420746860448201526865206761746577617960b81b60648201526084016107b5565b611c5e61209e565b600a805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119cc61171e565b816001600160a01b0316836001600160a01b031603611cfb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107b5565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611d73848484611815565b611d7f848484846120eb565b610ea05760405162461bcd60e51b81526004016107b590612f45565b60606000611daa836002612f97565b611db5906002612df9565b67ffffffffffffffff811115611dcd57611dcd6128ce565b6040519080825280601f01601f191660200182016040528015611df7576020820181803683370190505b509050600360fc1b81600081518110611e1257611e12612db4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611e4157611e41612db4565b60200101906001600160f81b031916908160001a9053506000611e65846002612f97565b611e70906001612df9565b90505b6001811115611ee8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611ea457611ea4612db4565b1a60f81b828281518110611eba57611eba612db4565b60200101906001600160f81b031916908160001a90535060049490941c93611ee181612fae565b9050611e73565b5083156108fa5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b5565b60006001600160e01b031982166380ac58cd60e01b1480611f6857506001600160e01b03198216635b5e139f60e01b145b8061066857506301ffc9a760e01b6001600160e01b0319831614610668565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633148015611fc2575060143610155b15611fd4575060131936013560601c90565b503390565b611fe161209e565b610ea0848484846121f3565b60005b818110156120145761200c85856120078487612df9565b61221a565b600101611ff0565b5050505050565b600a54600160a01b900460ff16610a555760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107b5565b6120758383612284565b61208260008484846120eb565b6106835760405162461bcd60e51b81526004016107b590612f45565b600a54600160a01b900460ff1615610a555760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107b5565b60006001600160a01b0384163b156121e857836001600160a01b031663150b7a0261211461171e565b8786866040518563ffffffff1660e01b81526004016121369493929190612fc5565b6020604051808303816000875af1925050508015612171575060408051601f3d908101601f1916820190925261216e91810190613002565b60015b6121ce573d80801561219f576040519150601f19603f3d011682016040523d82523d6000602084013e6121a4565b606091505b5080516000036121c65760405162461bcd60e51b81526004016107b590612f45565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061180d565b506001949350505050565b60005b8181101561201457612212858561220d8487612df9565b612427565b6001016121f6565b6001600160a01b0383811615908316158180156122345750805b1561225257604051635cbd944160e01b815260040160405180910390fd5b811561226857612263610ace61171e565b612014565b801561227957612263610ace61171e565b612014610ace61171e565b6001600160a01b0382166122da5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b5565b6000818152600360205260409020546001600160a01b03161561233f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b5565b61234d600083836001611fd9565b6000818152600360205260409020546001600160a01b0316156123b25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b5565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a7f600083836001611fed565b6001600160a01b0383811615908316158180156124415750805b1561245f57604051635cbd944160e01b815260040160405180910390fd5b811561247057612263610ace61171e565b801561248157612263610ace61171e565b61201461248c61171e565b868686346009546001600160a01b0316156120145760095460405163050bf71960e31b81526001600160a01b038781166004830152868116602483015285811660448301529091169063285fb8c89060640160006040518083038186803b1580156124f657600080fd5b505afa15801561250a573d6000803e3d6000fd5b505050505050505050565b6001600160e01b031981168114610ace57600080fd5b60006020828403121561253d57600080fd5b81356108fa81612515565b6000806020838503121561255b57600080fd5b823567ffffffffffffffff8082111561257357600080fd5b818501915085601f83011261258757600080fd5b81358181111561259657600080fd5b8660208285010111156125a857600080fd5b60209290920196919550909350505050565b60005b838110156125d55781810151838201526020016125bd565b50506000910152565b600081518084526125f68160208601602086016125ba565b601f01601f19169290920160200192915050565b6020815260006108fa60208301846125de565b60006020828403121561262f57600080fd5b5035919050565b6001600160a01b0381168114610ace57600080fd5b6000806040838503121561265e57600080fd5b823561266981612636565b946020939093013593505050565b60008060006060848603121561268c57600080fd5b833561269781612636565b925060208401356126a781612636565b915060408401356126b781612636565b809150509250925092565b600781106126e057634e487b7160e01b600052602160045260246000fd5b9052565b6020810161066882846126c2565b60008060006060848603121561270757600080fd5b833561271281612636565b9250602084013561272281612636565b929592945050506040919091013590565b60006020828403121561274557600080fd5b81356108fa81612636565b6020808252825182820181905260009190848201906040850190845b818110156127915783516001600160a01b03168352928401929184019160010161276c565b50909695505050505050565b60078110610ace57600080fd5b6001600160781b0381168114610ace57600080fd5b6000806000606084860312156127d457600080fd5b83356127df8161279d565b925060208401356127ef816127aa565b915060408401356126b7816127aa565b60008060006040848603121561281457600080fd5b833561281f81612636565b9250602084013567ffffffffffffffff8082111561283c57600080fd5b818601915086601f83011261285057600080fd5b81358181111561285f57600080fd5b8760208260051b850101111561287457600080fd5b6020830194508093505050509250925092565b8015158114610ace57600080fd5b600080604083850312156128a857600080fd5b82356128b381612636565b915060208301356128c381612887565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561290d5761290d6128ce565b604052919050565b6000806000806080858703121561292b57600080fd5b843561293681612636565b935060208581013561294781612636565b935060408601359250606086013567ffffffffffffffff8082111561296b57600080fd5b818801915088601f83011261297f57600080fd5b813581811115612991576129916128ce565b6129a3601f8201601f191685016128e4565b915080825289848285010111156129b957600080fd5b808484018584013760008482840101525080935050505092959194509250565b60006060820190506129ec8284516126c2565b60208301516001600160781b038082166020850152806040860151166040850152505092915050565b60008060408385031215612a2857600080fd5b8235612a3381612636565b915060208301356128c381612636565b60008060008060808587031215612a5957600080fd5b8435612a6481612636565b93506020850135612a748161279d565b92506040850135612a84816127aa565b91506060850135612a94816127aa565b939692955090935050565b600181811c90821680612ab357607f821691505b602082108103612ad357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561068357600081815260208120601f850160051c81016020861015612b005750805b601f850160051c820191505b81811015612b1f57828155600101612b0c565b505050505050565b67ffffffffffffffff831115612b3f57612b3f6128ce565b612b5383612b4d8354612a9f565b83612ad9565b6000601f841160018114612b875760008515612b6f5750838201355b600019600387901b1c1916600186901b178355612014565b600083815260209020601f19861690835b82811015612bb85786850135825560209485019460019092019101612b98565b5086821015612bd55760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060608284031215612c4657600080fd5b6040516060810181811067ffffffffffffffff82111715612c6957612c696128ce565b6040528251612c778161279d565b81526020830151612c87816127aa565b60208201526040830151612c9a816127aa565b60408201529392505050565b600060208284031215612cb857600080fd5b81516108fa81612887565b60006020808385031215612cd657600080fd5b825167ffffffffffffffff80821115612cee57600080fd5b818501915085601f830112612d0257600080fd5b815181811115612d1457612d146128ce565b8060051b9150612d258483016128e4565b8181529183018401918481019088841115612d3f57600080fd5b938501935b83851015612d695784519250612d5983612636565b8282529385019390850190612d44565b98975050505050505050565b6001600160a01b0383168152604081016108fa60208301846126c2565b6001600160a01b039290921682526001600160781b0316602082015260400190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612df257612df2612dca565b5060010190565b8082018082111561066857610668612dca565b60008154612e1981612a9f565b60018281168015612e315760018114612e4657612e75565b60ff1984168752821515830287019450612e75565b8560005260208060002060005b85811015612e6c5781548a820152908401908201612e53565b50505082870194505b5050505092915050565b6000612e8b8286612e0c565b602f60f81b8082528551612ea6816001850160208a016125ba565b60019201918201528351612ec18160028401602088016125ba565b0160020195945050505050565b6000612eda8285612e0c565b602f60f81b81528351612ef48160018401602088016125ba565b01600101949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b808202811582820484141761066857610668612dca565b600081612fbd57612fbd612dca565b506000190190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612ff8908301846125de565b9695505050505050565b60006020828403121561301457600080fd5b81516108fa8161251556fea2646970667358221220510c9052ae727a26854d5f5adae07eb8837fce366f0cc4173771250d23bb891764736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000038f9e50ebf26e4e01db00ae5238e725d8647b1150000000000000000000000005d3757bc0f724aa4332dca2184eda1b8a94ea0b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b5365706f6c69615f37323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e68747470733a2f2f6170692e706c61797672732e6e65742f61737365742f6e66742f6d6574612f7365706f6c6961000000000000000000000000000000000000