60806040526005805460ff60b01b1960ff60a81b19909116600160a81b1716600160b01b179055612710600e556064600f819055601081905560966011819055601281905561012c6013819055610320601481905560158490556016939093556017829055601891909155601955601a55601b80546001600160a01b031990811673751986a472cb8c53efabee439730bf30a64f979517909155601c8054821673d0eeed12c41d35a958ed2e51137a0bbc20106235179055601d805490911673fc6fa595674b067f7e1802a226eb8b6535e8a341179055348015620000e357600080fd5b506040516200394938038062003949833981810160405260608110156200010957600080fd5b5080516020808301516040938401518451808601865260068082526539b0b4b637b960d11b8286018181528851808a019099529188529487019490945280519495929491939092916200015f916003916200082c565b508051620001759060049060208401906200082c565b50506005805460ff1916601217905550600062000191620003ee565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601e80546001600160a01b0319166001600160a01b0385161790556a52b7d2dcc80cd2e40000006001600760006200021e620003ee565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308082526007855283822080548716600190811790915533835260068652848320805488168217905590825290839020805490951617909355602280548785166001600160a01b03199091161790819055815163c45a015560e01b8152915193169263c45a015592600480840193919291829003018186803b158015620002d257600080fd5b505afa158015620002e7573d6000803e3d6000fd5b505050506040513d6020811015620002fe57600080fd5b505160218054610100600160a81b0319166101006001600160a01b0393841602179055602254604080516315ab88c960e31b81529051919092169163ad5c4648916004808301926020929190829003018186803b1580156200035f57600080fd5b505afa15801562000374573d6000803e3d6000fd5b505050506040513d60208110156200038b57600080fd5b5051602380546001600160a01b0319166001600160a01b03909216919091179055620003c1620003ba620003ee565b82620003f2565b620003d08260098302620003f2565b620003da62000501565b620003e46200067c565b50505050620008c8565b3390565b6001600160a01b0382166200044e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200045c6000838362000737565b62000478816002546200073c60201b62001a2a1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620004ab91839062001a2a6200073c821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6200050b620003ee565b6001600160a01b03166200051e620007a0565b6001600160a01b03161462000569576040805162461bcd60e51b8152602060048201819052602482015260008051602062003929833981519152604482015290519081900360640190fd5b60215460ff1615620005c2576040805162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b602154602354604080516364e329cb60e11b81526001600160a01b039283166004820152306024820152905160009361010090049092169163c9c653969160448082019260209290919082900301818787803b1580156200062257600080fd5b505af115801562000637573d6000803e3d6000fd5b505050506040513d60208110156200064e57600080fd5b505190506200066b602482620007b4602090811b62001a8417901c565b50506021805460ff19166001179055565b62000686620003ee565b6001600160a01b031662000699620007a0565b6001600160a01b031614620006e4576040805162461bcd60e51b8152602060048201819052602482015260008051602062003929833981519152604482015290519081900360640190fd5b601f54156200072d576040805162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015290519081900360640190fd5b43601f5542602055565b505050565b60008282018381101562000797576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60055461010090046001600160a01b031690565b600062000797836001600160a01b0384166000620007d3838362000814565b6200080b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200079a565b5060006200079a565b60009081526001919091016020526040902054151590565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200086f57805160ff19168380011785556200089f565b828001600101855582156200089f579182015b828111156200089f57825182559160200191906001019062000882565b50620008ad929150620008b1565b5090565b5b80821115620008ad5760008155600101620008b2565b61305180620008d86000396000f3fe6080604052600436106102605760003560e01c80638601394011610144578063bdf391cc116100b6578063c6d2577d1161007a578063c6d2577d1461089f578063d8306786146108b4578063dd62ed3e146108c9578063e5e31b1314610904578063f2fde38b14610937578063fb5f27fb1461096a57610267565b8063bdf391cc146107d6578063bf56b37114610800578063bfa382b514610815578063c1cf53c41461082a578063c2b7bbb61461086c57610267565b8063a457c2d711610108578063a457c2d71461069e578063a4b45c00146106d7578063a5bc508514610712578063a9059cbb14610745578063aac46c951461077e578063b8c61130146107aa57610267565b80638601394014610619578063861faf5f1461062e5780638da5cb5b1461065f5780638fbbd7501461067457806395d89b411461068957610267565b806339509351116101dd57806353148416116101a15780635314841614610539578063658d4b7f1461054e5780636ddd17131461058957806370a082311461059e578063715018a6146105d15780638072250b146105e657610267565b806339509351146104435780633f4218e01461047c5780634460d3cf146104af57806347a28b79146104e25780634fab9e4c1461052457610267565b806318160ddd1161022457806318160ddd1461039657806323b872dd146103ab5780632b112e49146103ee578063313ce56714610403578063364333f41461042e57610267565b806301339c211461026c5780630323aac71461028357806306fdde03146102aa578063095ea7b314610334578063180b0d7e1461038157610267565b3661026757005b600080fd5b34801561027857600080fd5b5061028161097f565b005b34801561028f57600080fd5b50610298610a33565b60408051918252519081900360200190f35b3480156102b657600080fd5b506102bf610a44565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f95781810151838201526020016102e1565b50505050905090810190601f1680156103265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561034057600080fd5b5061036d6004803603604081101561035757600080fd5b506001600160a01b038135169060200135610ada565b604080519115158252519081900360200190f35b34801561038d57600080fd5b50610298610af8565b3480156103a257600080fd5b50610298610afe565b3480156103b757600080fd5b5061036d600480360360608110156103ce57600080fd5b506001600160a01b03813581169160208101359091169060400135610b04565b3480156103fa57600080fd5b50610298610b61565b34801561040f57600080fd5b50610418610b87565b6040805160ff9092168252519081900360200190f35b34801561043a57600080fd5b50610281610b8c565b34801561044f57600080fd5b5061036d6004803603604081101561046657600080fd5b506001600160a01b038135169060200135610cfb565b34801561048857600080fd5b5061036d6004803603602081101561049f57600080fd5b50356001600160a01b0316610d49565b3480156104bb57600080fd5b50610281600480360360208110156104d257600080fd5b50356001600160a01b0316610d5e565b3480156104ee57600080fd5b50610281600480360360a081101561050557600080fd5b5080359060208101359060408101359060608101359060800135610e51565b34801561053057600080fd5b50610281610eda565b34801561054557600080fd5b50610298611033565b34801561055a57600080fd5b506102816004803603604081101561057157600080fd5b506001600160a01b0381351690602001351515611039565b34801561059557600080fd5b5061036d6110c6565b3480156105aa57600080fd5b50610298600480360360208110156105c157600080fd5b50356001600160a01b03166110d6565b3480156105dd57600080fd5b506102816110f1565b3480156105f257600080fd5b5061036d6004803603602081101561060957600080fd5b50356001600160a01b03166111a3565b34801561062557600080fd5b5061036d6111b8565b34801561063a57600080fd5b506106436111c8565b604080516001600160a01b039092168252519081900360200190f35b34801561066b57600080fd5b506106436111d7565b34801561068057600080fd5b506102816111eb565b34801561069557600080fd5b506102bf611257565b3480156106aa57600080fd5b5061036d600480360360408110156106c157600080fd5b506001600160a01b0381351690602001356112b8565b3480156106e357600080fd5b50610281600480360360408110156106fa57600080fd5b506001600160a01b0381358116916020013516611320565b34801561071e57600080fd5b5061036d6004803603602081101561073557600080fd5b50356001600160a01b03166113b0565b34801561075157600080fd5b5061036d6004803603604081101561076857600080fd5b506001600160a01b03813516906020013561147a565b34801561078a57600080fd5b50610281600480360360208110156107a157600080fd5b5035151561148e565b3480156107b657600080fd5b50610281600480360360208110156107cd57600080fd5b5035151561150e565b3480156107e257600080fd5b50610643600480360360208110156107f957600080fd5b503561158e565b34801561080c57600080fd5b506102986115fc565b34801561082157600080fd5b50610281611602565b34801561083657600080fd5b50610281600480360360a081101561084d57600080fd5b5080359060208101359060408101359060608101359060800135611775565b34801561087857600080fd5b5061036d6004803603602081101561088f57600080fd5b50356001600160a01b03166117fe565b3480156108ab57600080fd5b506102986118c8565b3480156108c057600080fd5b5061036d6118ce565b3480156108d557600080fd5b50610298600480360360408110156108ec57600080fd5b506001600160a01b03813581169160200135166118de565b34801561091057600080fd5b5061036d6004803603602081101561092757600080fd5b50356001600160a01b0316611909565b34801561094357600080fd5b506102816004803603602081101561095a57600080fd5b50356001600160a01b0316611916565b34801561097657600080fd5b50610298611a24565b610987611a99565b6001600160a01b03166109986111d7565b6001600160a01b0316146109e1576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b601f5415610a29576040805162461bcd60e51b815260206004820152601060248201526f105b1c9958591e481b185d5b98da195960821b604482015290519081900360640190fd5b43601f5542602055565b6000610a3f6024611a9d565b905090565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ad05780601f10610aa557610100808354040283529160200191610ad0565b820191906000526020600020905b815481529060010190602001808311610ab357829003601f168201915b5050505050905090565b6000610aee610ae7611a99565b8484611aa8565b5060015b92915050565b600e5481565b60025490565b6000610b4c84610b12611a99565b610b4785604051806060016040528060298152602001612f8060299139610b408a610b3b611a99565b6118de565b9190611b94565b611aa8565b610b57848484611c2b565b90505b9392505050565b6000610b6d60006110d6565b610b7861dead6110d6565b610b80610afe565b0303905090565b601290565b610b94611a99565b6001600160a01b0316610ba56111d7565b6001600160a01b031614610bee576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b601e546001600160a01b031663a9059cbb610c07611a99565b601e54604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d6020811015610c7c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b5050565b6000610aee610d08611a99565b84610b478560016000610d19611a99565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611a2a565b60066020526000908152604090205460ff1681565b610d66611a99565b6001600160a01b0316610d776111d7565b6001600160a01b031614610dc0576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b610e4e33826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1157600080fd5b505afa158015610e25573d6000803e3d6000fd5b505050506040513d6020811015610e3b57600080fd5b50516001600160a01b0384169190611e1a565b50565b610e59611a99565b6001600160a01b0316610e6a6111d7565b6001600160a01b031614610eb3576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b600f8590556010849055601183905560128290556013819055929093010190910101601455565b610ee2611a99565b6001600160a01b0316610ef36111d7565b6001600160a01b031614610f3c576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b60215460ff1615610f8a576040805162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015290519081900360640190fd5b602154602354604080516364e329cb60e11b81526001600160a01b039283166004820152306024820152905160009361010090049092169163c9c653969160448082019260209290919082900301818787803b158015610fe957600080fd5b505af1158015610ffd573d6000803e3d6000fd5b505050506040513d602081101561101357600080fd5b50519050611022602482611a84565b50506021805460ff19166001179055565b601a5481565b611041611a99565b6001600160a01b03166110526111d7565b6001600160a01b03161461109b576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b600554600160a81b900460ff1681565b6001600160a01b031660009081526020819052604090205490565b6110f9611a99565b6001600160a01b031661110a6111d7565b6001600160a01b031614611153576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60076020526000908152604090205460ff1681565b600554600160b01b900460ff1681565b601e546001600160a01b031681565b60055461010090046001600160a01b031690565b6111f3611a99565b6001600160a01b03166112046111d7565b6001600160a01b03161461124d576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b611255611e71565b565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ad05780601f10610aa557610100808354040283529160200191610ad0565b6000610aee6112c5611a99565b84610b4785604051806060016040528060258152602001612ff760259139600160006112ef611a99565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611b94565b611328611a99565b6001600160a01b03166113396111d7565b6001600160a01b031614611382576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b601b80546001600160a01b039384166001600160a01b031991821617909155601c8054929093169116179055565b60006113ba611a99565b6001600160a01b03166113cb6111d7565b6001600160a01b031614611414576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b6001600160a01b03821661146f576040805162461bcd60e51b815260206004820181905260248201527f5361696c6f723a207061697220697320746865207a65726f2061646472657373604482015290519081900360640190fd5b610af2602483612308565b6000610b5a611487611a99565b8484611c2b565b611496611a99565b6001600160a01b03166114a76111d7565b6001600160a01b0316146114f0576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b60058054911515600160b01b0260ff60b01b19909216919091179055565b611516611a99565b6001600160a01b03166115276111d7565b6001600160a01b031614611570576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b60058054911515600160a81b0260ff60a81b19909216919091179055565b6000600161159c6024611a9d565b038211156115f1576040805162461bcd60e51b815260206004820152601b60248201527f5361696c6f723a20696e646578206f7574206f6620626f756e64730000000000604482015290519081900360640190fd5b610af260248361231d565b601f5481565b61160a611a99565b6001600160a01b031661161b6111d7565b6001600160a01b031614611664576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b47600061166f611a99565b6040805160008152602081019182905280516001600160a01b039390931692859290819081908082805b602083106116b85780518252601f199092019160209182019101611699565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461171a576040519150601f19603f3d011682016040523d82523d6000602084013e61171f565b606091505b5050905080610cf7576040805162461bcd60e51b815260206004820152601b60248201527f5361696c6f723a204554485f5452414e534645525f4641494c45440000000000604482015290519081900360640190fd5b61177d611a99565b6001600160a01b031661178e6111d7565b6001600160a01b0316146117d7576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b60158590556016849055601783905560188290556019819055929093010190910101601a55565b6000611808611a99565b6001600160a01b03166118196111d7565b6001600160a01b031614611862576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b6001600160a01b0382166118bd576040805162461bcd60e51b815260206004820181905260248201527f5361696c6f723a207061697220697320746865207a65726f2061646472657373604482015290519081900360640190fd5b610af2602483611a84565b60205481565b600554600160b81b900460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000610af2602483612329565b61191e611a99565b6001600160a01b031661192f6111d7565b6001600160a01b031614611978576040805162461bcd60e51b81526020600482018190526024820152600080516020612f3b833981519152604482015290519081900360640190fd5b6001600160a01b0381166119bd5760405162461bcd60e51b8152600401808060200182810382526026815260200180612e866026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60145481565b600082820183811015610b5a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b5a836001600160a01b03841661233e565b3390565b6000610af282612388565b6001600160a01b038316611aed5760405162461bcd60e51b8152600401808060200182810382526024815260200180612fa96024913960400191505060405180910390fd5b6001600160a01b038216611b325760405162461bcd60e51b8152600401808060200182810382526022815260200180612eac6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60008184841115611c235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be8578181015183820152602001611bd0565b50505050905090810190601f168015611c155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600554600090600160b81b900460ff1615611c5357611c4b84848461238c565b506001610b5a565b6001600160a01b03841660009081526007602052604090205460ff16611cc357611c7b6124e7565b611cc3576040805162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015290519081900360640190fd5b6001600160a01b03841660009081526006602052604081205460ff16158015611d0557506001600160a01b03841660009081526006602052604090205460ff16155b8015611d145750611d146124e7565b905060008585611d2382611909565b15611d3e57611d306124ef565b506001915085905086611d62565b611d4787611909565b15611d5d57611d54612515565b60029250611d62565b600093505b611d6a61253b565b15611d7757611d77611e71565b600084611d845786611d8e565b611d8e89886125a1565b9050611d9b89898361238c565b8315611e0b577fe6f814da7244d1ae6c61b54b5684858ba39cad7b9a91884be10060664987d75483838987611dce610b61565b604080516001600160a01b03968716815294909516602085015283850192909252606083015260808201524260a082015290519081900360c00190a15b50600198975050505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611e6c9084906125ca565b505050565b6005805460ff60b81b1916600160b81b1790556000611e8f306110d6565b602254909150611eaa9030906001600160a01b031683611aa8565b6000611ecd600d54611ec7600a548561267b90919063ffffffff16565b906126d4565b9050611edc3061dead8361238c565b6000611ef9600d54611ec7600c548661267b90919063ffffffff16565b60408051600380825260808201909252919250606091906020820183803683370190505090503081600081518110611f2d57fe5b6001600160a01b039283166020918202929092010152602354825191169082906001908110611f5857fe5b6001600160a01b039283166020918202929092010152601e54825191169082906002908110611f8357fe5b6001600160a01b03928316602091820292909201810191909152602254601d54604051635c11d79560e01b81526004810187815260006024830181905292861660648301819052426084840181905260a060448501908152895160a4860152895195989690961696635c11d795968b968a968c969360c49091019187820191028083838b5b83811015612020578181015183820152602001612008565b505050509050019650505050505050600060405180830381600087803b15801561204957600080fd5b505af192505050801561205a575060015b61214157602254601d5460405163561c49dd60e11b8152600481018681526000602483018190526001600160a01b0393841660648401819052608484018290524260a4850181905260c060448601908152895160c48701528951969097169663ac3893ba968b9694958b95879493919260e49091019060208089019102808383895b838110156120f45781810151838201526020016120dc565b50505050905001975050505050505050600060405180830381600087803b15801561211e57600080fd5b505af192505050801561212f575060015b6121385761213c565b5060015b612145565b5060015b806121545750505050506122f9565b6000612171600d54611ec7600b548961267b90919063ffffffff16565b905061217d868661273b565b9550612189868561273b565b9550612195868261273b565b9550476121a187612798565b6121b157505050505050506122f9565b476121bc818361273b565b905060008082156122805760006121e0600954600854611a2a90919063ffffffff16565b90506121fb81611ec76008548761267b90919063ffffffff16565b9250612207848461273b565b601b546040519193506001600160a01b03169084156108fc029085906000818181858888f19350505050158015612242573d6000803e3d6000fd5b50601c546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561227d573d6000803e3d6000fd5b50505b600554600160b01b900460ff161561229a5761229a6129bb565b604080518a8152602081018a905280820187905260608101849052608081018390524260a082015290517ffc18969df35ccba802c14035d6d6273bf5bb4d8b9de8faa7aba1044c813b13009181900360c00190a1505050505050505050505b6005805460ff60b81b19169055565b6000610b5a836001600160a01b038416612a1b565b6000610b5a8383612ae1565b6000610b5a836001600160a01b038416612b45565b600061234a8383612b45565b61238057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610af2565b506000610af2565b5490565b6001600160a01b0383166123d15760405162461bcd60e51b8152600401808060200182810382526025815260200180612f5b6025913960400191505060405180910390fd5b6001600160a01b0382166124165760405162461bcd60e51b8152600401808060200182810382526023815260200180612e636023913960400191505060405180910390fd5b612421838383611e6c565b61245e81604051806060016040528060268152602001612ece602691396001600160a01b0386166000908152602081905260409020549190611b94565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461248d9082611a2a565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b601f54151590565b600f54600855601054600955601154600a55601254600b55601354600c55601454600d55565b601554600855601654600955601754600a55601854600b55601954600c55601a54600d55565b600554600090600160b81b900460ff161580156125615750600554600160a81b900460ff165b801561257057506125706124e7565b801561258457506000612582306110d6565b115b8015610a3f575061259b612596611a99565b611909565b15905090565b600080600e54600d548402816125b357fe5b0490506125c184308361238c565b90910392915050565b606061261f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b5d9092919063ffffffff16565b805190915015611e6c5780806020019051602081101561263e57600080fd5b5051611e6c5760405162461bcd60e51b815260040180806020018281038252602a815260200180612fcd602a913960400191505060405180910390fd5b60008261268a57506000610af2565b8282028284828161269757fe5b0414610b5a5760405162461bcd60e51b8152600401808060200182810382526021815260200180612f1a6021913960400191505060405180910390fd5b600080821161272a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161273357fe5b049392505050565b600082821115612792576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516002808252606080830184526000939092919060208301908036833701905050905030816000815181106127cc57fe5b6001600160a01b0392831660209182029290920101526023548251911690829060019081106127f757fe5b6001600160a01b0392831660209182029290920181019190915260225460405163791ac94760e01b8152600481018781526000602483018190523060648401819052426084850181905260a060448601908152895160a487015289519398969096169663791ac947968c968a968c96909360c49092019187810191028083838b5b83811015612890578181015183820152602001612878565b505050509050019650505050505050600060405180830381600087803b1580156128b957600080fd5b505af19250505080156128ca575060015b6129ad57602254604051632955261160e11b8152600481018681526000602483018190523060648401819052608484018290524260a4850181905260c060448601908152885160c487015288516001600160a01b03909716966352aa4c22968c968b9594879490939192909160e49091019060208089019102808383895b83811015612960578181015183820152602001612948565b50505050905001975050505050505050600060405180830381600087803b15801561298a57600080fd5b505af192505050801561299b575060015b6129a4576129a8565b5060015b6129b1565b5060015b5060019392505050565b60006129c6306110d6565b905060006129d58260026126d4565b90506103e88110156129e8575050611255565b476129f282612798565b6129fe57505050611255565b47612a09818361273b565b9050612a158382612b6c565b50505050565b60008181526001830160205260408120548015612ad75783546000198083019190810190600090879083908110612a4e57fe5b9060005260206000200154905080876000018481548110612a6b57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080612a9b57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610af2565b6000915050610af2565b81546000908210612b235760405162461bcd60e51b8152600401808060200182810382526022815260200180612e416022913960400191505060405180910390fd5b826000018281548110612b3257fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060610b578484600085612c78565b602254612b849030906001600160a01b031684611aa8565b6022546040805163f305d71960e01b8152306004820152602481018590526000604482018190526064820181905260848201524260a482015290516001600160a01b039092169163f305d71991849160c480830192606092919082900301818588803b158015612bf357600080fd5b505af193505050508015612c2857506040513d6060811015612c1457600080fd5b508051602082015160409092015190919060015b612c3157610cf7565b50506040805184815260208101849052428183015290517ff75993dbe1645872cbbea6395e1feebee76b435baf0e4d62d7eac269c6f57b2492509081900360600190a15050565b606082471015612cb95760405162461bcd60e51b8152600401808060200182810382526026815260200180612ef46026913960400191505060405180910390fd5b612cc285612dd4565b612d13576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310612d525780518252601f199092019160209182019101612d33565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612db4576040519150601f19603f3d011682016040523d82523d6000602084013e612db9565b606091505b5091509150612dc9828286612dda565b979650505050505050565b3b151590565b60608315612de9575081610b5a565b825115612df95782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611be8578181015183820152602001611bd056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735361696c6f723a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a5fb127c31922bb23f1e4a8c3319bb1e4b8f2c02799e664da68cf73813f3088a64736f6c634300060c00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572000000000000000000000000ed394335f22e6a5f7202d3a39d4bb7c0671cf2290000000000000000000000006b54d0628517180f83b830b4e29d12ec7e24e0c900000000000000000000000000d0dd898abc6be8a50305efe82cf28773ceae5b