6003805460ff191690556007805460ff60a01b1916600960a01b178155662386f26fc1000060085560c0604052608081905266434f4f4b49455360c81b60a090815262000050916009919062000153565b5060408051808201909152600780825266436f6f6b69657360c81b60209092019182526200008191600a9162000153565b503480156200008f57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600854336000818152600460209081526040808320949094556006905291909120805460ff191660011790556001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200014591815260200190565b60405180910390a362000236565b8280546200016190620001f9565b90600052602060002090601f016020900481019282620001855760008555620001d0565b82601f10620001a057805160ff1916838001178555620001d0565b82800160010185558215620001d0579182015b82811115620001d0578251825591602001919060010190620001b3565b50620001de929150620001e2565b5090565b5b80821115620001de5760008155600101620001e3565b600181811c908216806200020e57607f821691505b602082108114156200023057634e487b7160e01b600052602260045260246000fd5b50919050565b6114b280620002466000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638456cb59116100c3578063a9059cbb1161007c578063a9059cbb146102c4578063ad06227a146102d7578063b6c52324146102ea578063dd467064146102f2578063dd62ed3e14610305578063f2fde38b1461033e57600080fd5b80638456cb5914610263578063893d20e81461026b5780638da5cb5b1461029057806395d89b41146102a1578063a457c2d7146102a9578063a69df4b5146102bc57600080fd5b80633f4ba83a116101155780633f4ba83a146101f557806340c10f19146101ff5780635c975abb146102125780636fd30b1d1461021f57806370a0823114610232578063715018a61461025b57600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b0578063313ce567146101c357806339509351146101e2575b600080fd5b610165610351565b6040516101729190611297565b60405180910390f35b61018e610189366004611155565b6103e3565b6040519015158152602001610172565b6008545b604051908152602001610172565b61018e6101be366004611119565b6103f9565b600754600160a01b900460ff1660405160ff9091168152602001610172565b61018e6101f0366004611155565b61053d565b6101fd610573565b005b61018e61020d366004611155565b6105e1565b60035461018e9060ff1681565b6101fd61022d3660046111bc565b6106a1565b6101a26102403660046110cb565b6001600160a01b031660009081526004602052604090205490565b6101fd610778565b6101fd6107da565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610172565b6000546001600160a01b0316610278565b61016561084c565b61018e6102b7366004611155565b61085b565b6101fd6108d8565b61018e6102d2366004611155565b6109de565b6101fd6102e536600461117f565b6109eb565b6002546101a2565b6101fd61030036600461127e565b610a81565b6101a26103133660046110e6565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6101fd61034c3660046110cb565b610b06565b6060600a8054610360906113c4565b80601f016020809104026020016040519081016040528092919081815260200182805461038c906113c4565b80156103d95780601f106103ae576101008083540402835291602001916103d9565b820191906000526020600020905b8154815290600101906020018083116103bc57829003601f168201915b5050505050905090565b60006103f0338484610bde565b50600192915050565b60006001600160a01b0384161580159061041c57506007546001600160a01b0316155b1561043d57600780546001600160a01b0319166001600160a01b0385161790555b6007546001600160a01b03848116911614158061045e575061045e84610cec565b61049d5760405162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b60448201526064015b60405180910390fd5b6104a8848484610d29565b610533843361052e85604051806040016040528060158152602001746572726f7220696e207472616e7366657266726f6d60581b815250600560008b6001600160a01b03166001600160a01b03168152602001908152602001600020600061050d3390565b6001600160a01b031681526020810191909152604001600020549190610f96565b610bde565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103f091859061052e9086610fd0565b6000546001600160a01b0316331461059d5760405162461bcd60e51b8152600401610494906112ec565b60035460ff166105ac57600080fd5b6003805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600080546001600160a01b0316331461060c5760405162461bcd60e51b8152600401610494906112ec565b6008546106199083610fd0565b6008556001600160a01b03831660009081526004602052604090205461063f9083610fd0565b6001600160a01b0384166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106909086815260200190565b60405180910390a350600192915050565b6000546001600160a01b031633146106cb5760405162461bcd60e51b8152600401610494906112ec565b805182511461070e5760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606401610494565b60005b82518110156107735761076083828151811061072f5761072f611430565b602002602001015183838151811061074957610749611430565b6020026020010151633b9aca0061020d919061138e565b508061076b816113ff565b915050610711565b505050565b6000546001600160a01b031633146107a25760405162461bcd60e51b8152600401610494906112ec565b600080546040516001600160a01b039091169060008051602061145d833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108045760405162461bcd60e51b8152600401610494906112ec565b60035460ff161561081457600080fd5b6003805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b606060098054610360906113c4565b60006103f0338461052e856040518060400160405280601b81526020017f6572726f7220696e20646563726561736520616c6c6f77616e63650000000000815250600560006108a73390565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610f96565b6001546001600160a01b0316331461093e5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610494565b600254421161098f5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610494565b600154600080546040516001600160a01b03938416939091169160008051602061145d83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b60006103f0338484610d29565b6000546001600160a01b03163314610a155760405162461bcd60e51b8152600401610494906112ec565b60005b8151811015610a7d57600160066000848481518110610a3957610a39611430565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610a75816113ff565b915050610a18565b5050565b6000546001600160a01b03163314610aab5760405162461bcd60e51b8152600401610494906112ec565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055610ada8142611376565b600255600080546040516001600160a01b039091169060008051602061145d833981519152908390a350565b6000546001600160a01b03163314610b305760405162461bcd60e51b8152600401610494906112ec565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610494565b600080546040516001600160a01b038085169392169160008051602061145d83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c345760405162461bcd60e51b815260206004820152601a60248201527f617070726f7665206f776e6572206973203020616464726573730000000000006044820152606401610494565b6001600160a01b038216610c8a5760405162461bcd60e51b815260206004820152601c60248201527f617070726f7665207370656e64657220697320302061646472657373000000006044820152606401610494565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6007546000906001600160a01b0383811691161480610d2357506001600160a01b03821660009081526006602052604090205460ff165b92915050565b6001600160a01b038316610d8b5760405162461bcd60e51b8152602060048201526024808201527f7472616e736665722073656e64657220616464726573732069732030206164646044820152637265737360e01b6064820152608401610494565b6001600160a01b038216610df15760405162461bcd60e51b815260206004820152602760248201527f7472616e7366657220726563697069656e7420616464726573732069732030206044820152666164647265737360c81b6064820152608401610494565b60035460ff161580610e1057506000546001600160a01b038481169116145b80610e2857506000546001600160a01b038381169116145b610e5d5760405162461bcd60e51b81526020600482015260066024820152651c185d5cd95960d21b6044820152606401610494565b6007546001600160a01b038381169116141580610e7e5750610e7e83610cec565b610eb85760405162461bcd60e51b815260206004820152600b60248201526a1c1b19585cd9481dd85a5d60aa1b6044820152606401610494565b604080518082018252601881527f7472616e736665722062616c616e636520746f6f206c6f7700000000000000006020808301919091526001600160a01b038616600090815260049091529190912054610f13918390610f96565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610f429082610fd0565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cdf9085815260200190565b60008184841115610fba5760405162461bcd60e51b81526004016104949190611297565b506000610fc784866113ad565b95945050505050565b600080610fdd8385611376565b90508381101561102f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610494565b9392505050565b80356001600160a01b038116811461104d57600080fd5b919050565b600082601f83011261106357600080fd5b8135602061107861107383611352565b611321565b80838252828201915082860187848660051b890101111561109857600080fd5b60005b858110156110be576110ac82611036565b8452928401929084019060010161109b565b5090979650505050505050565b6000602082840312156110dd57600080fd5b61102f82611036565b600080604083850312156110f957600080fd5b61110283611036565b915061111060208401611036565b90509250929050565b60008060006060848603121561112e57600080fd5b61113784611036565b925061114560208501611036565b9150604084013590509250925092565b6000806040838503121561116857600080fd5b61117183611036565b946020939093013593505050565b60006020828403121561119157600080fd5b813567ffffffffffffffff8111156111a857600080fd5b6111b484828501611052565b949350505050565b600080604083850312156111cf57600080fd5b823567ffffffffffffffff808211156111e757600080fd5b6111f386838701611052565b935060209150818501358181111561120a57600080fd5b85019050601f8101861361121d57600080fd5b803561122b61107382611352565b80828252848201915084840189868560051b870101111561124b57600080fd5b600094505b8385101561126e578035835260019490940193918501918501611250565b5080955050505050509250929050565b60006020828403121561129057600080fd5b5035919050565b600060208083528351808285015260005b818110156112c4578581018301518582016040015282016112a8565b818111156112d6576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561134a5761134a611446565b604052919050565b600067ffffffffffffffff82111561136c5761136c611446565b5060051b60200190565b600082198211156113895761138961141a565b500190565b60008160001904831182151516156113a8576113a861141a565b500290565b6000828210156113bf576113bf61141a565b500390565b600181811c908216806113d857607f821691505b602082108114156113f957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156114135761141361141a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122082335c35941b6b16319b1c676d0cbd6c0aa8cc90ea0337dec4777e6c28e0976a64736f6c63430008070033