60c06040526007805460ff1916601290811790915561dead6080526200002790600a620005bc565b62000038906402540be400620005d4565b60a0526007546200004e9060ff16600a620005bc565b6200005e90631dcd6500620005d4565b600855600160099081556002600a556040805180820190915281815268416d6174657261737560b81b60209091019081526200009e91600b919062000401565b5060408051808201909152600680825265e5a4a9e785a760d01b6020909201918252620000ce91600c9162000401565b50600d805460ff19169055600e805460ff60a01b191690556000600f55348015620000f857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000192573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b89190620005f6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000206573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022c9190620005f6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200027a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a09190620005f6565b600e80546001600160a01b0319166001600160a01b03928316179055600d8054610100600160a81b0319166101008484168102919091179182905560a05130600090815260056020908152604080832094909504909516815291909352908120919091556001906004906200031d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260048452828120805486166001908117909155600e549092168152600690935290822080549093161790915560a05190600390620003893390565b6001600160a01b0316815260208101919091526040016000205560a051600f55336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a051604051620003f291815260200190565b60405180910390a3506200065d565b8280546200040f9062000621565b90600052602060002090601f0160209004810192826200043357600085556200047e565b82601f106200044e57805160ff19168380011785556200047e565b828001600101855582156200047e579182015b828111156200047e57825182559160200191906001019062000461565b506200048c92915062000490565b5090565b5b808211156200048c576000815560010162000491565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004fe578160001904821115620004e257620004e2620004a7565b80851615620004f057918102915b93841c9390800290620004c2565b509250929050565b6000826200051757506001620005b6565b816200052657506000620005b6565b81600181146200053f57600281146200054a576200056a565b6001915050620005b6565b60ff8411156200055e576200055e620004a7565b50506001821b620005b6565b5060208310610133831016604e8410600b84101617156200058f575081810a620005b6565b6200059b8383620004bd565b8060001904821115620005b257620005b2620004a7565b0290505b92915050565b6000620005cd60ff84168362000506565b9392505050565b6000816000190483118215151615620005f157620005f1620004a7565b500290565b6000602082840312156200060957600080fd5b81516001600160a01b0381168114620005cd57600080fd5b600181811c908216806200063657607f821691505b6020821081036200065757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05161178a620006a6600039600081816102bc015281816103c7015261080301526000818161031c015281816107ce0152818161129f01526112e2015261178a6000f3fe6080604052600436106101e75760003560e01c80635fd8788a11610102578063a457c2d711610095578063dc1052e211610064578063dc1052e2146105d1578063dd62ed3e146105f1578063f2fde38b14610637578063f872858a1461065757600080fd5b8063a457c2d71461055b578063a9059cbb1461057b578063c816841b1461059b578063ca9ec199146105bb57600080fd5b806376f18e26116100d157806376f18e26146104f2578063807c2d9c146105125780638da5cb5b1461052857806395d89b411461054657600080fd5b80635fd8788a146104725780636c5808011461049257806370a08231146104a7578063715018a6146104dd57600080fd5b8063313ce5671161017a5780633ecad271116101495780633ecad271146103e957806342a11095146104195780635342acb41461042f578063557ed1ba1461045f57600080fd5b8063313ce5671461035357806331d5c2491461037557806339509351146103955780633eaaf86b146103b557600080fd5b806318160ddd116101b657806318160ddd146102ad57806323b872dd146102ea57806327c8f8351461030a5780632b112e491461033e57600080fd5b80630335c356146101f357806306fdde0314610215578063095ea7b3146102405780631694505e1461027057600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5061021361020e36600461147f565b610678565b005b34801561022157600080fd5b5061022a6106b0565b6040516102379190611498565b60405180910390f35b34801561024c57600080fd5b5061026061025b366004611509565b610742565b6040519015158152602001610237565b34801561027c57600080fd5b50600d546102959061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610237565b3480156102b957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b604051908152602001610237565b3480156102f657600080fd5b50610260610305366004611533565b610759565b34801561031657600080fd5b506102957f000000000000000000000000000000000000000000000000000000000000000081565b34801561034a57600080fd5b506102dc6107c4565b34801561035f57600080fd5b5060075460405160ff9091168152602001610237565b34801561038157600080fd5b5061021361039036600461157f565b61082d565b3480156103a157600080fd5b506102606103b0366004611509565b610882565b3480156103c157600080fd5b506102dc7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f557600080fd5b506102606104043660046115b2565b60066020526000908152604090205460ff1681565b34801561042557600080fd5b506102dc60095481565b34801561043b57600080fd5b5061026061044a3660046115b2565b60046020526000908152604090205460ff1681565b34801561046b57600080fd5b50426102dc565b34801561047e57600080fd5b5061021361048d3660046115cd565b6108b8565b34801561049e57600080fd5b50610213610900565b3480156104b357600080fd5b506102dc6104c23660046115b2565b6001600160a01b031660009081526003602052604090205490565b3480156104e957600080fd5b50610213610939565b3480156104fe57600080fd5b5061021361050d36600461147f565b6109b3565b34801561051e57600080fd5b506102dc60085481565b34801561053457600080fd5b506000546001600160a01b0316610295565b34801561055257600080fd5b5061022a6109e2565b34801561056757600080fd5b50610260610576366004611509565b6109f1565b34801561058757600080fd5b50610260610596366004611509565b610a40565b3480156105a757600080fd5b50600e54610295906001600160a01b031681565b3480156105c757600080fd5b506102dc600a5481565b3480156105dd57600080fd5b506102136105ec36600461147f565b610a4d565b3480156105fd57600080fd5b506102dc61060c3660046115e8565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561064357600080fd5b506102136106523660046115b2565b610a7c565b34801561066357600080fd5b50600e5461026090600160a01b900460ff1681565b6000546001600160a01b031633146106ab5760405162461bcd60e51b81526004016106a290611612565b60405180910390fd5b600855565b6060600b80546106bf90611647565b80601f01602080910402602001604051908101604052809291908181526020018280546106eb90611647565b80156107385780601f1061070d57610100808354040283529160200191610738565b820191906000526020600020905b81548152906001019060200180831161071b57829003601f168201915b5050505050905090565b600061074f338484610b66565b5060015b92915050565b6000610766848484610c8a565b506107b984336107b485604051806060016040528060288152602001611708602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190611038565b610b66565b5060015b9392505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260036020526040812054610828907f000000000000000000000000000000000000000000000000000000000000000090611072565b905090565b6000546001600160a01b031633146108575760405162461bcd60e51b81526004016106a290611612565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161074f9185906107b490866110b4565b6000546001600160a01b031633146108e25760405162461bcd60e51b81526004016106a290611612565b600e8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461092a5760405162461bcd60e51b81526004016106a290611612565b600d805460ff19166001179055565b6000546001600160a01b031633146109635760405162461bcd60e51b81526004016106a290611612565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000546001600160a01b031633146109dd5760405162461bcd60e51b81526004016106a290611612565b600a55565b6060600c80546106bf90611647565b600061074f33846107b485604051806060016040528060258152602001611730602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190611038565b60006107b9338484610c8a565b6000546001600160a01b03163314610a775760405162461bcd60e51b81526004016106a290611612565b600955565b6000546001600160a01b03163314610aa65760405162461bcd60e51b81526004016106a290611612565b6001600160a01b038116610b0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bc85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a2565b6001600160a01b038216610c295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a2565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081600f6000828254610c9e9190611697565b90915550506001600160a01b03831660009081526006602052604090205460ff16158015610cda57506000546001600160a01b03858116911614155b8015610cff57506001600160a01b03841660009081526004602052604090205460ff16155b15610d5457600d5460ff161515600003610d545760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106a2565b6001600160a01b038416610db85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a2565b6001600160a01b038316610e1a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a2565b826001600160a01b0316846001600160a01b0316148015610e5357506001600160a01b03841660009081526004602052604090205460ff165b15610e6e57610e678484600f546000611113565b90506107bd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610ec0918490611038565b6001600160a01b038516600090815260036020908152604080832093909355600490529081205460ff1680610f0d57506001600160a01b03841660009081526004602052604090205460ff165b610f2157610f1c858585611207565b610f23565b825b600e54909150600160a01b900460ff168015610f5857506001600160a01b03841660009081526006602052604090205460ff16155b8015610f7257506000546001600160a01b03858116911614155b15610fae57600854610fa382610f9d876001600160a01b031660009081526003602052604090205490565b906110b4565b1115610fae57600080fd5b6001600160a01b038416600090815260036020526040902054610fd190826110b4565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110259085815260200190565b60405180910390a3506001949350505050565b6000818484111561105c5760405162461bcd60e51b81526004016106a29190611498565b50600061106984866116af565b95945050505050565b60006107bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611038565b6000806110c18385611697565b9050838110156107bd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106a2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600390915291822054611164918490611038565b6001600160a01b03808716600090815260036020526040808220939093559086168152205461119390846110b4565b6001600160a01b038086166000818152600360205260409020929092558616146111fc57836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161102591815260200190565b506001949350505050565b6001600160a01b038316600090815260066020526040812054819060ff16156112515761124a60646112446009548661139290919063ffffffff16565b90611414565b905061128f565b6001600160a01b03841660009081526006602052604090205460ff161561128f5761128c6064611244600a548661139290919063ffffffff16565b90505b8015611388576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600360205260409020546112d890826110b4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061134c9085815260200190565b60405180910390a36040518181527fa551808c565cfbf20dfffdbcd44c549f835f9d06a82dcd546c61644b2f5ce7919060200160405180910390a15b6110698382611072565b6000826000036113a457506000610753565b60006113b083856116c6565b9050826113bd85836116e5565b146107bd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a2565b60006107bd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836114725760405162461bcd60e51b81526004016106a29190611498565b50600061106984866116e5565b60006020828403121561149157600080fd5b5035919050565b600060208083528351808285015260005b818110156114c5578581018301518582016040015282016114a9565b818111156114d7576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461150457600080fd5b919050565b6000806040838503121561151c57600080fd5b611525836114ed565b946020939093013593505050565b60008060006060848603121561154857600080fd5b611551846114ed565b925061155f602085016114ed565b9150604084013590509250925092565b8035801515811461150457600080fd5b6000806040838503121561159257600080fd5b61159b836114ed565b91506115a96020840161156f565b90509250929050565b6000602082840312156115c457600080fd5b6107bd826114ed565b6000602082840312156115df57600080fd5b6107bd8261156f565b600080604083850312156115fb57600080fd5b611604836114ed565b91506115a9602084016114ed565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061165b57607f821691505b60208210810361167b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156116aa576116aa611681565b500190565b6000828210156116c1576116c1611681565b500390565b60008160001904831182151516156116e0576116e0611681565b500290565b60008261170257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122090d1c7ab35a58f1c5de5bf487e08890e0ec565a96f9cc10758bee989316dcfdc64736f6c634300080d0033