0x6080604052600436106102295760003560e01c8063715018a611610123578063a9059cbb116100ab578063ddbf52661161006f578063ddbf5266146106aa578063e57f14e1146106ca578063ea2f0b37146106ea578063f048d4db1461070a578063f2fde38b1461072a57600080fd5b8063a9059cbb146105ea578063ad5cba111461060a578063bbc0c7421461062a578063d785d5be14610644578063dd62ed3e1461066457600080fd5b80638a8c523c116100f25780638a8c523c146105415780638da5cb5b1461055657806395d89b4114610574578063a457c2d714610589578063a73e6a30146105a957600080fd5b8063715018a6146104d0578063768dc710146104e557806378109e54146105155780637d1db4a51461052b57600080fd5b8063313ce567116101b157806349bd5a5e1161017557806349bd5a5e146104235780634a74bb02146104435780635607aaaf14610464578063590f897e1461048457806370a082311461049a57600080fd5b8063313ce5671461038b5780633343ab83146103ad57806336b1a1bc146103cd57806339509351146103ed57806340b9a54b1461040d57600080fd5b806313fad07a116101f857806313fad07a146102d25780631694505e146102f357806318160ddd1461032b578063220f66961461034a57806323b872dd1461036b57600080fd5b806306fdde031461023557806307a0d54c14610260578063095ea7b3146102825780631282a0a0146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61074a565b6040516102579190611a6b565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611aca565b6107dc565b005b34801561028e57600080fd5b506102a261029d366004611afc565b61082d565b6040519015158152602001610257565b3480156102be57600080fd5b506102806102cd366004611b28565b610844565b3480156102de57600080fd5b50601a546102a290600160b01b900460ff1681565b3480156102ff57600080fd5b50601954610313906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b34801561033757600080fd5b50600a545b604051908152602001610257565b34801561035657600080fd5b50601a546102a290600160a01b900460ff1681565b34801561037757600080fd5b506102a2610386366004611b45565b6109e9565b34801561039757600080fd5b5060095460405160ff9091168152602001610257565b3480156103b957600080fd5b506102a26103c8366004611b45565b610a52565b3480156103d957600080fd5b506102806103e8366004611b28565b610bca565b3480156103f957600080fd5b506102a2610408366004611afc565b610c16565b34801561041957600080fd5b5061033c600f5481565b34801561042f57600080fd5b50601a54610313906001600160a01b031681565b34801561044f57600080fd5b50601a546102a290600160a81b900460ff1681565b34801561047057600080fd5b5061028061047f366004611b86565b610c4c565b34801561049057600080fd5b5061033c60105481565b3480156104a657600080fd5b5061033c6104b5366004611b28565b6001600160a01b031660009081526001602052604090205490565b3480156104dc57600080fd5b50610280610ccc565b3480156104f157600080fd5b506102a2610500366004611b28565b60036020526000908152604090205460ff1681565b34801561052157600080fd5b5061033c60155481565b34801561053757600080fd5b5061033c60175481565b34801561054d57600080fd5b50610280610d40565b34801561056257600080fd5b506000546001600160a01b0316610313565b34801561058057600080fd5b5061024a610d79565b34801561059557600080fd5b506102a26105a4366004611afc565b610d88565b3480156105b557600080fd5b506102806105c4366004611ba8565b600c805460ff9092166101000261ff00199092169190911790556004805460ff19169055565b3480156105f657600080fd5b506102a2610605366004611afc565b610dd7565b34801561061657600080fd5b50610280610625366004611b28565b610de4565b34801561063657600080fd5b506011546102a29060ff1681565b34801561065057600080fd5b5061028061065f366004611b28565b610e53565b34801561067057600080fd5b5061033c61067f366004611bcb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106b657600080fd5b506102806106c5366004611c04565b610e9f565b3480156106d657600080fd5b506102806106e5366004611b28565b610f5a565b3480156106f657600080fd5b50610280610705366004611b28565b610fa8565b34801561071657600080fd5b50610280610725366004611aca565b610ff3565b34801561073657600080fd5b50610280610745366004611b28565b611075565b60606007805461075990611c1d565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611c1d565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6000546001600160a01b0316331461080f5760405162461bcd60e51b815260040161080690611c57565b60405180910390fd5b601a8054911515600160b01b0260ff60b01b19909216919091179055565b600061083a33848461115f565b5060015b92915050565b6000546001600160a01b0316331461086e5760405162461bcd60e51b815260040161080690611c57565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190611c8c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109469190611c8c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190611c8c565b601a80546001600160a01b039283166001600160a01b0319918216179091556019805493909216921691909117905550565b60006109f6848484611220565b610a488433610a4385604051806060016040528060288152602001611dfb602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611677565b61115f565b5060019392505050565b600080546001600160a01b03163314610a7d5760405162461bcd60e51b815260040161080690611c57565b306001600160a01b03851603610ad55760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e00000000006044820152606401610806565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190611ca9565b905080831115610b4e578092505b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb906044016020604051808303816000875af1158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190611cc2565b95945050505050565b6000546001600160a01b03163314610bf45760405162461bcd60e51b815260040161080690611c57565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161083a918590610a4390866116a3565b6000546001600160a01b03163314610c765760405162461bcd60e51b815260040161080690611c57565b600d54610c838284611cf5565b1115610cc45760405162461bcd60e51b815260206004820152601060248201526f46656520697320746f6f20686967682160801b6044820152606401610806565b601055600f55565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161080690611c57565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260040161080690611c57565b6011805460ff19166001179055565b60606008805461075990611c1d565b600061083a3384610a4385604051806060016040528060258152602001611e23602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611677565b600061083a338484611220565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b815260040161080690611c57565b60048054610100600160a81b0319166101006001600160a01b03938416810291909117918290559004166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610e7d5760405162461bcd60e51b815260040161080690611c57565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ec95760405162461bcd60e51b815260040161080690611c57565b601a54600160a01b900460ff1615610f235760405162461bcd60e51b815260206004820181905260248201527f43757272656e746c792070726f63657373696e672c20747279206c617465722e6044820152606401610806565b30600090815260016020526040812054906064610f408484611d08565b610f4a9190611d1f565b9050610f55816116b6565b505050565b6000546001600160a01b03163314610f845760405162461bcd60e51b815260040161080690611c57565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610fd25760405162461bcd60e51b815260040161080690611c57565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b0316331461101d5760405162461bcd60e51b815260040161080690611c57565b601a8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061106a90831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461109f5760405162461bcd60e51b815260040161080690611c57565b6001600160a01b0381166111045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610806565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061117f57506001600160a01b03821615155b6111bf5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610806565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061125157506004546001600160a01b038381166101009092041614155b801561126657506001600160a01b0382163014155b80156112805750601a546001600160a01b03838116911614155b801561129a57506005546001600160a01b03838116911614155b80156112b457506000546001600160a01b03848116911614155b1561137e576001600160a01b03821660009081526001602052604090205460115460ff166112e157600080fd5b6015546112ee8383611cf5565b111561137c5760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a401610806565b505b6000546001600160a01b038481169116148015906113aa57506000546001600160a01b03838116911614155b15611427576017548111156114275760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e0000000000006064820152608401610806565b6001600160a01b0383161580159061144757506001600160a01b03821615155b61148b5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610806565b600081116114e95760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610806565b600c5460ff6101008204811691161080159061150f5750601a54600160a01b900460ff16155b80156115295750601a546001600160a01b03848116911614155b801561153e5750601a54600160a81b900460ff165b1561157d57600c805460ff191690553060009081526001602052604090205460175481111561156c57506017545b801561157b5761157b816116b6565b505b6001600160a01b03831660009081526003602052604090205460019060ff16806115bf57506001600160a01b03831660009081526003602052604090205460ff165b806116065750601a54600160b01b900460ff1680156115ec5750601a546001600160a01b03858116911614155b80156116065750601a546001600160a01b03848116911614155b1561161357506000611665565b601a546001600160a01b039081169085160361163457600f54600e55611665565b601a546001600160a01b03908116908416036116655760045460ff16151560011461165e57600080fd5b601054600e555b61167184848484611700565b50505050565b6000818484111561169b5760405162461bcd60e51b81526004016108069190611a6b565b505050900390565b60006116af8284611cf5565b9392505050565b601a805460ff60a01b1916600160a01b1790556116d281611766565b60045447906116ef9061010090046001600160a01b0316826118c0565b5050601a805460ff60a01b19169055565b806117125761170d6118f6565b61173f565b600c805460ff1690600061172583611d41565b91906101000a81548160ff021916908360ff160217905550505b61174a84848461193b565b8061167157611671601254600e55601354600f55601454601055565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179b5761179b611d60565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118189190611c8c565b8160018151811061182b5761182b611d60565b6001600160a01b039283166020918202929092010152601954611851913091168461115f565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac9479061188a908590600090869030904290600401611d76565b600060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f55573d6000803e3d6000fd5b600e541580156119065750600f54155b80156119125750601054155b1561191957565b600f805460135560108054601455600e80546012556000928390559082905555565b60008061194783611a27565b6001600160a01b038716600090815260016020526040902054919350915061196f9084611a5f565b6001600160a01b03808716600090815260016020526040808220939093559086168152205461199e90836116a3565b6001600160a01b0385166000908152600160205260408082209290925530815220546119ca90826116a3565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b60008060006064600e5485611a3c9190611d08565b611a469190611d1f565b90506000611a548583611a5f565b959194509092505050565b60006116af8284611de7565b600060208083528351808285015260005b81811015611a9857858101830151858201604001528201611a7c565b506000604082860101526040601f19601f8301168501019250505092915050565b8015158114611ac757600080fd5b50565b600060208284031215611adc57600080fd5b81356116af81611ab9565b6001600160a01b0381168114611ac757600080fd5b60008060408385031215611b0f57600080fd5b8235611b1a81611ae7565b946020939093013593505050565b600060208284031215611b3a57600080fd5b81356116af81611ae7565b600080600060608486031215611b5a57600080fd5b8335611b6581611ae7565b92506020840135611b7581611ae7565b929592945050506040919091013590565b60008060408385031215611b9957600080fd5b50508035926020909101359150565b600060208284031215611bba57600080fd5b813560ff811681146116af57600080fd5b60008060408385031215611bde57600080fd5b8235611be981611ae7565b91506020830135611bf981611ae7565b809150509250929050565b600060208284031215611c1657600080fd5b5035919050565b600181811c90821680611c3157607f821691505b602082108103611c5157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c9e57600080fd5b81516116af81611ae7565b600060208284031215611cbb57600080fd5b5051919050565b600060208284031215611cd457600080fd5b81516116af81611ab9565b634e487b7160e01b600052601160045260246000fd5b8082018082111561083e5761083e611cdf565b808202811582820484141761083e5761083e611cdf565b600082611d3c57634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff8103611d5757611d57611cdf565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc65784516001600160a01b031683529383019391830191600101611da1565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561083e5761083e611cdf56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209537ac3a4fe0d5b3f1da0d7fdb5646a6eb68615861f7cdc29a3e490ae9aa421364736f6c63430008130033
0x600480546001600160a81b0319167464a58558bdace5ac76bfb95014ed40a0d5c6d8cf011790556005805461dead6001600160a01b03199182161790915560068054909116905560c0604052600960809081526805065706520537761760bc1b60a05260079062000071908262000535565b5060408051808201909152600880825267050455045535741560c41b6020830152906200009f908262000535565b5060098054601260ff1991821681179092556b033b2e3c9fd0803ce8000000600a819055600c805461ffff19166102001790556064600d8190556001600e819055600f8190556010819055601180549094169093559282905560138290556014919091556200011c91906200011590826200046b565b9062000482565b6015819055601655600a546200013b906064906200011590826200046b565b6017819055601855601a805461ffff60a81b191661010160a81b1790553480156200016557600080fd5b50600080546001600160a01b0319167364a58558bdace5ac76bfb95014ed40a0d5c6d8cf90811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600a5460016000620001d36000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000601565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e9919062000601565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000337573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035d919062000601565b601a80546001600160a01b03199081166001600160a01b039384161790915560198054909116918316919091179055600160036000620003a56000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004546101009004909116835291208054909216179055620004146000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200045c91815260200190565b60405180910390a3506200067c565b600062000479828462000633565b90505b92915050565b600062000479828462000659565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004bb57607f821691505b602082108103620004dc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200053057600081815260208120601f850160051c810160208610156200050b5750805b601f850160051c820191505b818110156200052c5782815560010162000517565b5050505b505050565b81516001600160401b0381111562000551576200055162000490565b6200056981620005628454620004a6565b84620004e2565b602080601f831160018114620005a15760008415620005885750858301515b600019600386901b1c1916600185901b1785556200052c565b600085815260208120601f198616915b82811015620005d257888601518255948401946001909101908401620005b1565b5085821015620005f15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200061457600080fd5b81516001600160a01b03811681146200062c57600080fd5b9392505050565b80820281158282048414176200047c57634e487b7160e01b600052601160045260246000fd5b6000826200067757634e487b7160e01b600052601260045260246000fd5b500490565b611e7d806200068c6000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063a9059cbb116100ab578063ddbf52661161006f578063ddbf5266146106aa578063e57f14e1146106ca578063ea2f0b37146106ea578063f048d4db1461070a578063f2fde38b1461072a57600080fd5b8063a9059cbb146105ea578063ad5cba111461060a578063bbc0c7421461062a578063d785d5be14610644578063dd62ed3e1461066457600080fd5b80638a8c523c116100f25780638a8c523c146105415780638da5cb5b1461055657806395d89b4114610574578063a457c2d714610589578063a73e6a30146105a957600080fd5b8063715018a6146104d0578063768dc710146104e557806378109e54146105155780637d1db4a51461052b57600080fd5b8063313ce567116101b157806349bd5a5e1161017557806349bd5a5e146104235780634a74bb02146104435780635607aaaf14610464578063590f897e1461048457806370a082311461049a57600080fd5b8063313ce5671461038b5780633343ab83146103ad57806336b1a1bc146103cd57806339509351146103ed57806340b9a54b1461040d57600080fd5b806313fad07a116101f857806313fad07a146102d25780631694505e146102f357806318160ddd1461032b578063220f66961461034a57806323b872dd1461036b57600080fd5b806306fdde031461023557806307a0d54c14610260578063095ea7b3146102825780631282a0a0146102b257600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a61074a565b6040516102579190611a6b565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611aca565b6107dc565b005b34801561028e57600080fd5b506102a261029d366004611afc565b61082d565b6040519015158152602001610257565b3480156102be57600080fd5b506102806102cd366004611b28565b610844565b3480156102de57600080fd5b50601a546102a290600160b01b900460ff1681565b3480156102ff57600080fd5b50601954610313906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b34801561033757600080fd5b50600a545b604051908152602001610257565b34801561035657600080fd5b50601a546102a290600160a01b900460ff1681565b34801561037757600080fd5b506102a2610386366004611b45565b6109e9565b34801561039757600080fd5b5060095460405160ff9091168152602001610257565b3480156103b957600080fd5b506102a26103c8366004611b45565b610a52565b3480156103d957600080fd5b506102806103e8366004611b28565b610bca565b3480156103f957600080fd5b506102a2610408366004611afc565b610c16565b34801561041957600080fd5b5061033c600f5481565b34801561042f57600080fd5b50601a54610313906001600160a01b031681565b34801561044f57600080fd5b50601a546102a290600160a81b900460ff1681565b34801561047057600080fd5b5061028061047f366004611b86565b610c4c565b34801561049057600080fd5b5061033c60105481565b3480156104a657600080fd5b5061033c6104b5366004611b28565b6001600160a01b031660009081526001602052604090205490565b3480156104dc57600080fd5b50610280610ccc565b3480156104f157600080fd5b506102a2610500366004611b28565b60036020526000908152604090205460ff1681565b34801561052157600080fd5b5061033c60155481565b34801561053757600080fd5b5061033c60175481565b34801561054d57600080fd5b50610280610d40565b34801561056257600080fd5b506000546001600160a01b0316610313565b34801561058057600080fd5b5061024a610d79565b34801561059557600080fd5b506102a26105a4366004611afc565b610d88565b3480156105b557600080fd5b506102806105c4366004611ba8565b600c805460ff9092166101000261ff00199092169190911790556004805460ff19169055565b3480156105f657600080fd5b506102a2610605366004611afc565b610dd7565b34801561061657600080fd5b50610280610625366004611b28565b610de4565b34801561063657600080fd5b506011546102a29060ff1681565b34801561065057600080fd5b5061028061065f366004611b28565b610e53565b34801561067057600080fd5b5061033c61067f366004611bcb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156106b657600080fd5b506102806106c5366004611c04565b610e9f565b3480156106d657600080fd5b506102806106e5366004611b28565b610f5a565b3480156106f657600080fd5b50610280610705366004611b28565b610fa8565b34801561071657600080fd5b50610280610725366004611aca565b610ff3565b34801561073657600080fd5b50610280610745366004611b28565b611075565b60606007805461075990611c1d565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611c1d565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6000546001600160a01b0316331461080f5760405162461bcd60e51b815260040161080690611c57565b60405180910390fd5b601a8054911515600160b01b0260ff60b01b19909216919091179055565b600061083a33848461115f565b5060015b92915050565b6000546001600160a01b0316331461086e5760405162461bcd60e51b815260040161080690611c57565b6000819050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190611c8c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109469190611c8c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610993573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b79190611c8c565b601a80546001600160a01b039283166001600160a01b0319918216179091556019805493909216921691909117905550565b60006109f6848484611220565b610a488433610a4385604051806060016040528060288152602001611dfb602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611677565b61115f565b5060019392505050565b600080546001600160a01b03163314610a7d5760405162461bcd60e51b815260040161080690611c57565b306001600160a01b03851603610ad55760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e00000000006044820152606401610806565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190611ca9565b905080831115610b4e578092505b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820185905286169063a9059cbb906044016020604051808303816000875af1158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190611cc2565b95945050505050565b6000546001600160a01b03163314610bf45760405162461bcd60e51b815260040161080690611c57565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161083a918590610a4390866116a3565b6000546001600160a01b03163314610c765760405162461bcd60e51b815260040161080690611c57565b600d54610c838284611cf5565b1115610cc45760405162461bcd60e51b815260206004820152601060248201526f46656520697320746f6f20686967682160801b6044820152606401610806565b601055600f55565b6000546001600160a01b03163314610cf65760405162461bcd60e51b815260040161080690611c57565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260040161080690611c57565b6011805460ff19166001179055565b60606008805461075990611c1d565b600061083a3384610a4385604051806060016040528060258152602001611e23602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611677565b600061083a338484611220565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b815260040161080690611c57565b60048054610100600160a81b0319166101006001600160a01b03938416810291909117918290559004166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610e7d5760405162461bcd60e51b815260040161080690611c57565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ec95760405162461bcd60e51b815260040161080690611c57565b601a54600160a01b900460ff1615610f235760405162461bcd60e51b815260206004820181905260248201527f43757272656e746c792070726f63657373696e672c20747279206c617465722e6044820152606401610806565b30600090815260016020526040812054906064610f408484611d08565b610f4a9190611d1f565b9050610f55816116b6565b505050565b6000546001600160a01b03163314610f845760405162461bcd60e51b815260040161080690611c57565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b03163314610fd25760405162461bcd60e51b815260040161080690611c57565b6001600160a01b03166000908152600360205260409020805460ff19169055565b6000546001600160a01b0316331461101d5760405162461bcd60e51b815260040161080690611c57565b601a8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061106a90831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461109f5760405162461bcd60e51b815260040161080690611c57565b6001600160a01b0381166111045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610806565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061117f57506001600160a01b03821615155b6111bf5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610806565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061125157506004546001600160a01b038381166101009092041614155b801561126657506001600160a01b0382163014155b80156112805750601a546001600160a01b03838116911614155b801561129a57506005546001600160a01b03838116911614155b80156112b457506000546001600160a01b03848116911614155b1561137e576001600160a01b03821660009081526001602052604090205460115460ff166112e157600080fd5b6015546112ee8383611cf5565b111561137c5760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a401610806565b505b6000546001600160a01b038481169116148015906113aa57506000546001600160a01b03838116911614155b15611427576017548111156114275760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e0000000000006064820152608401610806565b6001600160a01b0383161580159061144757506001600160a01b03821615155b61148b5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610806565b600081116114e95760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610806565b600c5460ff6101008204811691161080159061150f5750601a54600160a01b900460ff16155b80156115295750601a546001600160a01b03848116911614155b801561153e5750601a54600160a81b900460ff165b1561157d57600c805460ff191690553060009081526001602052604090205460175481111561156c57506017545b801561157b5761157b816116b6565b505b6001600160a01b03831660009081526003602052604090205460019060ff16806115bf57506001600160a01b03831660009081526003602052604090205460ff165b806116065750601a54600160b01b900460ff1680156115ec5750601a546001600160a01b03858116911614155b80156116065750601a546001600160a01b03848116911614155b1561161357506000611665565b601a546001600160a01b039081169085160361163457600f54600e55611665565b601a546001600160a01b03908116908416036116655760045460ff16151560011461165e57600080fd5b601054600e555b61167184848484611700565b50505050565b6000818484111561169b5760405162461bcd60e51b81526004016108069190611a6b565b505050900390565b60006116af8284611cf5565b9392505050565b601a805460ff60a01b1916600160a01b1790556116d281611766565b60045447906116ef9061010090046001600160a01b0316826118c0565b5050601a805460ff60a01b19169055565b806117125761170d6118f6565b61173f565b600c805460ff1690600061172583611d41565b91906101000a81548160ff021916908360ff160217905550505b61174a84848461193b565b8061167157611671601254600e55601354600f55601454601055565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061179b5761179b611d60565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156117f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118189190611c8c565b8160018151811061182b5761182b611d60565b6001600160a01b039283166020918202929092010152601954611851913091168461115f565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac9479061188a908590600090869030904290600401611d76565b600060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f55573d6000803e3d6000fd5b600e541580156119065750600f54155b80156119125750601054155b1561191957565b600f805460135560108054601455600e80546012556000928390559082905555565b60008061194783611a27565b6001600160a01b038716600090815260016020526040902054919350915061196f9084611a5f565b6001600160a01b03808716600090815260016020526040808220939093559086168152205461199e90836116a3565b6001600160a01b0385166000908152600160205260408082209290925530815220546119ca90826116a3565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b60008060006064600e5485611a3c9190611d08565b611a469190611d1f565b90506000611a548583611a5f565b959194509092505050565b60006116af8284611de7565b600060208083528351808285015260005b81811015611a9857858101830151858201604001528201611a7c565b506000604082860101526040601f19601f8301168501019250505092915050565b8015158114611ac757600080fd5b50565b600060208284031215611adc57600080fd5b81356116af81611ab9565b6001600160a01b0381168114611ac757600080fd5b60008060408385031215611b0f57600080fd5b8235611b1a81611ae7565b946020939093013593505050565b600060208284031215611b3a57600080fd5b81356116af81611ae7565b600080600060608486031215611b5a57600080fd5b8335611b6581611ae7565b92506020840135611b7581611ae7565b929592945050506040919091013590565b60008060408385031215611b9957600080fd5b50508035926020909101359150565b600060208284031215611bba57600080fd5b813560ff811681146116af57600080fd5b60008060408385031215611bde57600080fd5b8235611be981611ae7565b91506020830135611bf981611ae7565b809150509250929050565b600060208284031215611c1657600080fd5b5035919050565b600181811c90821680611c3157607f821691505b602082108103611c5157634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611c9e57600080fd5b81516116af81611ae7565b600060208284031215611cbb57600080fd5b5051919050565b600060208284031215611cd457600080fd5b81516116af81611ab9565b634e487b7160e01b600052601160045260246000fd5b8082018082111561083e5761083e611cdf565b808202811582820484141761083e5761083e611cdf565b600082611d3c57634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff8103611d5757611d57611cdf565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611dc65784516001600160a01b031683529383019391830191600101611da1565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561083e5761083e611cdf56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209537ac3a4fe0d5b3f1da0d7fdb5646a6eb68615861f7cdc29a3e490ae9aa421364736f6c63430008130033