0x6080604052600436106101485760003560e01c8063751039fc116100c0578063a9059cbb11610074578063c876d0b911610059578063c876d0b914610398578063c9567bf9146103b2578063dd62ed3e146103c757600080fd5b8063a9059cbb14610362578063bf474bed1461038257600080fd5b80638da5cb5b116100a55780638da5cb5b146102de5780638f9a55c01461030657806395d89b411461031c57600080fd5b8063751039fc146102b35780637d1db4a5146102c857600080fd5b806323b872dd1161011757806351bc3c85116100fc57806351bc3c851461025157806370a0823114610268578063715018a61461029e57600080fd5b806323b872dd14610215578063313ce5671461023557600080fd5b806306fdde0314610154578063095ea7b3146101ac5780630faee56f146101dc57806318160ddd1461020057600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5060408051808201909152600e81527f50726f706167617465205465737400000000000000000000000000000000000060208201525b6040516101a3919061172d565b60405180910390f35b3480156101b857600080fd5b506101cc6101c736600461179a565b61040d565b60405190151581526020016101a3565b3480156101e857600080fd5b506101f260125481565b6040519081526020016101a3565b34801561020c57600080fd5b506101f2610424565b34801561022157600080fd5b506101cc6102303660046117c6565b610445565b34801561024157600080fd5b50604051600981526020016101a3565b34801561025d57600080fd5b506102666104ae565b005b34801561027457600080fd5b506101f2610283366004611807565b6001600160a01b031660009081526001602052604090205490565b3480156102aa57600080fd5b50610266610506565b3480156102bf57600080fd5b506102666105bc565b3480156102d457600080fd5b506101f2600f5481565b3480156102ea57600080fd5b506000546040516001600160a01b0390911681526020016101a3565b34801561031257600080fd5b506101f260105481565b34801561032857600080fd5b5060408051808201909152600881527f50524f50544553540000000000000000000000000000000000000000000000006020820152610196565b34801561036e57600080fd5b506101cc61037d36600461179a565b6106a8565b34801561038e57600080fd5b506101f260115481565b3480156103a457600080fd5b506006546101cc9060ff1681565b3480156103be57600080fd5b506102666106b5565b3480156103d357600080fd5b506101f26103e2366004611824565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061041a338484610b8a565b5060015b92915050565b60006104326009600a611957565b610440906305f5e100611966565b905090565b6000610452848484610ce2565b6104a4843361049f85604051806060016040528060288152602001611ae6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611332565b610b8a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104d357600080fd5b3060009081526001602052604090205480156104f2576104f28161136c565b4780156105025761050281611527565b5050565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146106165760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055c565b6106226009600a611957565b610630906305f5e100611966565b600f5561063f6009600a611957565b61064d906305f5e100611966565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106876009600a611957565b610695906305f5e100611966565b60405190815260200160405180910390a1565b600061041a338484610ce2565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055c565b60145474010000000000000000000000000000000000000000900460ff161561077a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161055c565b6013805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d09030906107c26009600a611957565b61049f906305f5e100611966565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611985565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb9190611985565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611985565b601480546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199091161790556013541663f305d71947306109d8816001600160a01b031660009081526001602052604090205490565b6000806109ed6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aa191906119a2565b50506014546013546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b0e57600080fd5b505af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906119d0565b50601480547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff16760100010000000000000000000000000000000000000000179055565b6001600160a01b038316610c055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b038216610c815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b038216610dda5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161055c565b60008111610e505760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161055c565b600080546001600160a01b03858116911614801590610e7d57506000546001600160a01b03848116911614155b156111ef57610eae6064610ea8600b54600e5411610e9d57600754610ea1565b6009545b8590611565565b90611607565b60065490915060ff1615610faa576013546001600160a01b03848116911614801590610ee857506014546001600160a01b03848116911614155b15610faa57326000908152600560205260409020544311610f975760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60648201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000608482015260a40161055c565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610fd557506013546001600160a01b03848116911614155b8015610ffa57506001600160a01b03831660009081526003602052604090205460ff16155b156110e257600f548211156110515760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161055c565b60105482611074856001600160a01b031660009081526001602052604090205490565b61107e91906119f2565b11156110cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161055c565b600e80549060006110dc83611a0a565b91905055505b6014546001600160a01b03848116911614801561110857506001600160a01b0384163014155b15611135576111326064610ea8600c54600e541161112857600854610ea1565b600a548590611565565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561116c57506014546001600160a01b038581169116145b80156111945750601454760100000000000000000000000000000000000000000000900460ff165b80156111a1575060115481115b80156111b05750600d54600e54115b156111ed576111d26111cd846111c884601254611649565b611649565b61136c565b4766b1a2bc2ec500008111156111eb576111eb47611527565b505b505b8015611269573060009081526001602052604090205461120f908261165e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112609085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461128c90836116bd565b6001600160a01b0385166000908152600160205260409020556112d16112b283836116bd565b6001600160a01b0385166000908152600160205260409020549061165e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61131b85856116bd565b60405190815260200160405180910390a350505050565b600081848411156113565760405162461bcd60e51b815260040161055c919061172d565b5060006113638486611a25565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113b4576113b4611a3c565b6001600160a01b03928316602091820292909201810191909152601354604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561142157600080fd5b505afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114599190611985565b8160018151811061146c5761146c611a3c565b6001600160a01b0392831660209182029290920101526013546114929130911684610b8a565b6013546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906114e4908590600090869030904290600401611a52565b600060405180830381600087803b1580156114fe57600080fd5b505af1158015611512573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610502573d6000803e3d6000fd5b6000826115745750600061041e565b60006115808385611966565b90508261158d8583611ac3565b146116005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161055c565b9392505050565b600061160083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ff565b60008183116116585782611600565b50919050565b60008061166b83856119f2565b9050838110156116005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161055c565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611332565b600081836117205760405162461bcd60e51b815260040161055c919061172d565b5060006113638486611ac3565b600060208083528351808285015260005b8181101561175a5785810183015185820160400152820161173e565b8181111561176c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461179757600080fd5b50565b600080604083850312156117ad57600080fd5b82356117b881611782565b946020939093013593505050565b6000806000606084860312156117db57600080fd5b83356117e681611782565b925060208401356117f681611782565b929592945050506040919091013590565b60006020828403121561181957600080fd5b813561160081611782565b6000806040838503121561183757600080fd5b823561184281611782565b9150602083013561185281611782565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ae5781600019048211156118945761189461185d565b808516156118a157918102915b93841c9390800290611878565b509250929050565b6000826118c55750600161041e565b816118d25750600061041e565b81600181146118e857600281146118f25761190e565b600191505061041e565b60ff8411156119035761190361185d565b50506001821b61041e565b5060208310610133831016604e8410600b8410161715611931575081810a61041e565b61193b8383611873565b806000190482111561194f5761194f61185d565b029392505050565b600061160060ff8416836118b6565b60008160001904831182151516156119805761198061185d565b500290565b60006020828403121561199757600080fd5b815161160081611782565b6000806000606084860312156119b757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119e257600080fd5b8151801515811461160057600080fd5b60008219821115611a0557611a0561185d565b500190565b6000600019821415611a1e57611a1e61185d565b5060010190565b600082821015611a3757611a3761185d565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa25784516001600160a01b031683529383019391830191600101611a7d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ae057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e53fceaf8cbc0cceb8351332295758dd155474c3c44cfb97df0940c7a3edf84b64736f6c63430008090033
0x60806040526006805460ff1916600117905560146007819055600881905560026009818155600a918255600f600b55600c929092556019600d556000600e556200004a919062000353565b6200005990621e84806200036b565b600f556200006a6009600a62000353565b6200007990621e84806200036b565b6010556200008a6009600a62000353565b62000099906216e3606200036b565b601155620000aa6009600a62000353565b620000b9906216e3606200036b565b6012556014805461ffff60a81b19169055348015620000d757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200013e6009600a62000353565b6200014e906305f5e1006200036b565b336000908152600160208190526040822092909255600390620001796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001dd3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002176009600a62000353565b62000227906305f5e1006200036b565b60405190815260200160405180910390a36200038d565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002955781600019048211156200027957620002796200023e565b808516156200028757918102915b93841c939080029062000259565b509250929050565b600082620002ae575060016200034d565b81620002bd575060006200034d565b8160018114620002d65760028114620002e15762000301565b60019150506200034d565b60ff841115620002f557620002f56200023e565b50506001821b6200034d565b5060208310610133831016604e8410600b841016171562000326575081810a6200034d565b62000332838362000254565b80600019048211156200034957620003496200023e565b0290505b92915050565b60006200036460ff8416836200029d565b9392505050565b60008160001904831182151516156200038857620003886200023e565b500290565b611b43806200039d6000396000f3fe6080604052600436106101485760003560e01c8063751039fc116100c0578063a9059cbb11610074578063c876d0b911610059578063c876d0b914610398578063c9567bf9146103b2578063dd62ed3e146103c757600080fd5b8063a9059cbb14610362578063bf474bed1461038257600080fd5b80638da5cb5b116100a55780638da5cb5b146102de5780638f9a55c01461030657806395d89b411461031c57600080fd5b8063751039fc146102b35780637d1db4a5146102c857600080fd5b806323b872dd1161011757806351bc3c85116100fc57806351bc3c851461025157806370a0823114610268578063715018a61461029e57600080fd5b806323b872dd14610215578063313ce5671461023557600080fd5b806306fdde0314610154578063095ea7b3146101ac5780630faee56f146101dc57806318160ddd1461020057600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5060408051808201909152600e81527f50726f706167617465205465737400000000000000000000000000000000000060208201525b6040516101a3919061172d565b60405180910390f35b3480156101b857600080fd5b506101cc6101c736600461179a565b61040d565b60405190151581526020016101a3565b3480156101e857600080fd5b506101f260125481565b6040519081526020016101a3565b34801561020c57600080fd5b506101f2610424565b34801561022157600080fd5b506101cc6102303660046117c6565b610445565b34801561024157600080fd5b50604051600981526020016101a3565b34801561025d57600080fd5b506102666104ae565b005b34801561027457600080fd5b506101f2610283366004611807565b6001600160a01b031660009081526001602052604090205490565b3480156102aa57600080fd5b50610266610506565b3480156102bf57600080fd5b506102666105bc565b3480156102d457600080fd5b506101f2600f5481565b3480156102ea57600080fd5b506000546040516001600160a01b0390911681526020016101a3565b34801561031257600080fd5b506101f260105481565b34801561032857600080fd5b5060408051808201909152600881527f50524f50544553540000000000000000000000000000000000000000000000006020820152610196565b34801561036e57600080fd5b506101cc61037d36600461179a565b6106a8565b34801561038e57600080fd5b506101f260115481565b3480156103a457600080fd5b506006546101cc9060ff1681565b3480156103be57600080fd5b506102666106b5565b3480156103d357600080fd5b506101f26103e2366004611824565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061041a338484610b8a565b5060015b92915050565b60006104326009600a611957565b610440906305f5e100611966565b905090565b6000610452848484610ce2565b6104a4843361049f85604051806060016040528060288152602001611ae6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611332565b610b8a565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b0316146104d357600080fd5b3060009081526001602052604090205480156104f2576104f28161136c565b4780156105025761050281611527565b5050565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146106165760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055c565b6106226009600a611957565b610630906305f5e100611966565b600f5561063f6009600a611957565b61064d906305f5e100611966565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106876009600a611957565b610695906305f5e100611966565b60405190815260200160405180910390a1565b600061041a338484610ce2565b6000546001600160a01b0316331461070f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161055c565b60145474010000000000000000000000000000000000000000900460ff161561077a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161055c565b6013805473ffffffffffffffffffffffffffffffffffffffff1916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107d09030906107c26009600a611957565b61049f906305f5e100611966565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611985565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b357600080fd5b505afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb9190611985565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561094b57600080fd5b505af115801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611985565b601480546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199091161790556013541663f305d71947306109d8816001600160a01b031660009081526001602052604090205490565b6000806109ed6000546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a6857600080fd5b505af1158015610a7c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aa191906119a2565b50506014546013546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610b0e57600080fd5b505af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906119d0565b50601480547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff16760100010000000000000000000000000000000000000000179055565b6001600160a01b038316610c055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b038216610c815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d5e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161055c565b6001600160a01b038216610dda5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161055c565b60008111610e505760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161055c565b600080546001600160a01b03858116911614801590610e7d57506000546001600160a01b03848116911614155b156111ef57610eae6064610ea8600b54600e5411610e9d57600754610ea1565b6009545b8590611565565b90611607565b60065490915060ff1615610faa576013546001600160a01b03848116911614801590610ee857506014546001600160a01b03848116911614155b15610faa57326000908152600560205260409020544311610f975760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60648201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000608482015260a40161055c565b3260009081526005602052604090204390555b6014546001600160a01b038581169116148015610fd557506013546001600160a01b03848116911614155b8015610ffa57506001600160a01b03831660009081526003602052604090205460ff16155b156110e257600f548211156110515760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161055c565b60105482611074856001600160a01b031660009081526001602052604090205490565b61107e91906119f2565b11156110cc5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161055c565b600e80549060006110dc83611a0a565b91905055505b6014546001600160a01b03848116911614801561110857506001600160a01b0384163014155b15611135576111326064610ea8600c54600e541161112857600854610ea1565b600a548590611565565b90505b30600090815260016020526040902054601454600160a81b900460ff1615801561116c57506014546001600160a01b038581169116145b80156111945750601454760100000000000000000000000000000000000000000000900460ff165b80156111a1575060115481115b80156111b05750600d54600e54115b156111ed576111d26111cd846111c884601254611649565b611649565b61136c565b4766b1a2bc2ec500008111156111eb576111eb47611527565b505b505b8015611269573060009081526001602052604090205461120f908261165e565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112609085815260200190565b60405180910390a35b6001600160a01b03841660009081526001602052604090205461128c90836116bd565b6001600160a01b0385166000908152600160205260409020556112d16112b283836116bd565b6001600160a01b0385166000908152600160205260409020549061165e565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61131b85856116bd565b60405190815260200160405180910390a350505050565b600081848411156113565760405162461bcd60e51b815260040161055c919061172d565b5060006113638486611a25565b95945050505050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113b4576113b4611a3c565b6001600160a01b03928316602091820292909201810191909152601354604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561142157600080fd5b505afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114599190611985565b8160018151811061146c5761146c611a3c565b6001600160a01b0392831660209182029290920101526013546114929130911684610b8a565b6013546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906114e4908590600090869030904290600401611a52565b600060405180830381600087803b1580156114fe57600080fd5b505af1158015611512573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f19350505050158015610502573d6000803e3d6000fd5b6000826115745750600061041e565b60006115808385611966565b90508261158d8583611ac3565b146116005760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161055c565b9392505050565b600061160083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ff565b60008183116116585782611600565b50919050565b60008061166b83856119f2565b9050838110156116005760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161055c565b600061160083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611332565b600081836117205760405162461bcd60e51b815260040161055c919061172d565b5060006113638486611ac3565b600060208083528351808285015260005b8181101561175a5785810183015185820160400152820161173e565b8181111561176c576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461179757600080fd5b50565b600080604083850312156117ad57600080fd5b82356117b881611782565b946020939093013593505050565b6000806000606084860312156117db57600080fd5b83356117e681611782565b925060208401356117f681611782565b929592945050506040919091013590565b60006020828403121561181957600080fd5b813561160081611782565b6000806040838503121561183757600080fd5b823561184281611782565b9150602083013561185281611782565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118ae5781600019048211156118945761189461185d565b808516156118a157918102915b93841c9390800290611878565b509250929050565b6000826118c55750600161041e565b816118d25750600061041e565b81600181146118e857600281146118f25761190e565b600191505061041e565b60ff8411156119035761190361185d565b50506001821b61041e565b5060208310610133831016604e8410600b8410161715611931575081810a61041e565b61193b8383611873565b806000190482111561194f5761194f61185d565b029392505050565b600061160060ff8416836118b6565b60008160001904831182151516156119805761198061185d565b500290565b60006020828403121561199757600080fd5b815161160081611782565b6000806000606084860312156119b757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119e257600080fd5b8151801515811461160057600080fd5b60008219821115611a0557611a0561185d565b500190565b6000600019821415611a1e57611a1e61185d565b5060010190565b600082821015611a3757611a3761185d565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611aa25784516001600160a01b031683529383019391830191600101611a7d565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ae057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e53fceaf8cbc0cceb8351332295758dd155474c3c44cfb97df0940c7a3edf84b64736f6c63430008090033