0x6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e1461058f578063e2aa6cae146105d5578063ea1644d5146105f5578063f2fde38b1461061557600080fd5b8063bdd795ef146104fa578063bfd792841461052a578063c3c8cd801461055a578063c492f0461461056f57600080fd5b806398a5c315116100d157806398a5c3151461047a578063a2a957bb1461049a578063a9059cbb146104ba578063b5a65223146104da57600080fd5b80637f2feddc146103ed5780638da5cb5b1461041a5780638f9a55c01461043857806395d89b411461044e57600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610382578063715018a6146103a257806374010ece146103b75780637d1db4a5146103d757600080fd5b806349bd5a5e1461031857806357e871e7146103385780636d8aa8f81461034b5780636fc3eaec1461036d57600080fd5b806318160ddd116101b657806318160ddd146102a157806323b872dd146102c65780632fd689e3146102e6578063313ce567146102fc57600080fd5b806306fdde03146101e8578063095ea7b3146102395780631694505e1461026957600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506040805180820190915260168152750accae4f24082cecee4cae6e6d2ecca408ee4deeee8d60531b60208201525b60405161023091906119bd565b60405180910390f35b34801561024557600080fd5b50610259610254366004611a30565b610635565b6040519015158152602001610230565b34801561027557600080fd5b50601654610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5067016345785d8a00005b604051908152602001610230565b3480156102d257600080fd5b506102596102e1366004611a5c565b61064c565b3480156102f257600080fd5b506102b8601a5481565b34801561030857600080fd5b5060405160098152602001610230565b34801561032457600080fd5b50601754610289906001600160a01b031681565b34801561034457600080fd5b50436102b8565b34801561035757600080fd5b5061036b610366366004611aad565b6106b5565b005b34801561037957600080fd5b5061036b610706565b34801561038e57600080fd5b506102b861039d366004611ac8565b610751565b3480156103ae57600080fd5b5061036b610773565b3480156103c357600080fd5b5061036b6103d2366004611ae5565b6107e7565b3480156103e357600080fd5b506102b860185481565b3480156103f957600080fd5b506102b8610408366004611ac8565b60126020526000908152604090205481565b34801561042657600080fd5b506000546001600160a01b0316610289565b34801561044457600080fd5b506102b860195481565b34801561045a57600080fd5b5060408051808201909152600381526256414760e81b6020820152610223565b34801561048657600080fd5b5061036b610495366004611ae5565b610816565b3480156104a657600080fd5b5061036b6104b5366004611afe565b610845565b3480156104c657600080fd5b506102596104d5366004611a30565b610883565b3480156104e657600080fd5b5061036b6104f5366004611b46565b610890565b34801561050657600080fd5b50610259610515366004611ac8565b60136020526000908152604090205460ff1681565b34801561053657600080fd5b50610259610545366004611ac8565b60116020526000908152604090205460ff1681565b34801561056657600080fd5b5061036b610926565b34801561057b57600080fd5b5061036b61058a366004611c0b565b61097a565b34801561059b57600080fd5b506102b86105aa366004611c8f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e157600080fd5b5061036b6105f0366004611cc8565b610a1b565b34801561060157600080fd5b5061036b610610366004611ae5565b610a66565b34801561062157600080fd5b5061036b610630366004611ac8565b610a95565b6000610642338484610b7f565b5060015b92915050565b6000610659848484610ca3565b6106ab84336106a685604051806060016040528060288152602001611e4c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611292565b610b7f565b5060019392505050565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016106df90611ce4565b60405180910390fd5b60178054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b0316148061073b57506015546001600160a01b0316336001600160a01b0316145b61074457600080fd5b4761074e816112cc565b50565b6001600160a01b03811660009081526002602052604081205461064690611306565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106df90611ce4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108115760405162461bcd60e51b81526004016106df90611ce4565b601855565b6000546001600160a01b031633146108405760405162461bcd60e51b81526004016106df90611ce4565b601a55565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106df90611ce4565b600893909355600a91909155600955600b55565b6000610642338484610ca3565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016106df90611ce4565b60005b8151811015610922576001601360008484815181106108de576108de611d19565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091a81611d45565b9150506108bd565b5050565b6014546001600160a01b0316336001600160a01b0316148061095b57506015546001600160a01b0316336001600160a01b0316145b61096457600080fd5b600061096f30610751565b905061074e8161138a565b6000546001600160a01b031633146109a45760405162461bcd60e51b81526004016106df90611ce4565b60005b82811015610a155781600560008686858181106109c6576109c6611d19565b90506020020160208101906109db9190611ac8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0d81611d45565b9150506109a7565b50505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016106df90611ce4565b60105560178054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016106df90611ce4565b601955565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016106df90611ce4565b6001600160a01b038116610b245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106df565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106df565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106df565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106df565b60008111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106df565b6000546001600160a01b03848116911614801590610df757506000546001600160a01b03838116911614155b8015610e1c57506001600160a01b03831660009081526013602052604090205460ff16155b8015610e4157506001600160a01b03821660009081526013602052604090205460ff16155b1561118b57601754600160a01b900460ff16610ee5576001600160a01b03831660009081526013602052604090205460ff16610ee55760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106df565b601854811115610f375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106df565b6001600160a01b03831660009081526011602052604090205460ff16158015610f7957506001600160a01b03821660009081526011602052604090205460ff16155b610fd15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106df565b60105443101561102f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b60648201526084016106df565b6017546001600160a01b038381169116146110b4576019548161105184610751565b61105b9190611d5e565b106110b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106df565b60006110bf30610751565b601a546018549192508210159082106110d85760185491505b8080156110ef5750601754600160a81b900460ff16155b801561110957506017546001600160a01b03868116911614155b801561111e5750601754600160b01b900460ff165b801561114357506001600160a01b03851660009081526005602052604090205460ff16155b801561116857506001600160a01b03841660009081526005602052604090205460ff16155b15611188576111768261138a565b47801561118657611186476112cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806111cd57506001600160a01b03831660009081526005602052604090205460ff165b806111ff57506017546001600160a01b038581169116148015906111ff57506017546001600160a01b03848116911614155b1561120c57506000611286565b6017546001600160a01b03858116911614801561123757506016546001600160a01b03848116911614155b1561124957600854600c55600954600d555b6017546001600160a01b03848116911614801561127457506016546001600160a01b03858116911614155b1561128657600a54600c55600b54600d555b610a1584848484611504565b600081848411156112b65760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611d71565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610922573d6000803e3d6000fd5b600060065482111561136d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106df565b6000611377611532565b90506113838382611555565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d2576113d2611d19565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144f9190611d84565b8160018151811061146257611462611d19565b6001600160a01b0392831660209182029290920101526016546114889130911684610b7f565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c1908590600090869030904290600401611da1565b600060405180830381600087803b1580156114db57600080fd5b505af11580156114ef573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b8061151157611511611597565b61151c8484846115c5565b80610a1557610a15600e54600c55600f54600d55565b600080600061153f6116bc565b909250905061154e8282611555565b9250505090565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116fc565b600c541580156115a75750600d54155b156115ae57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115d78761172a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116099087611787565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461163890866117c9565b6001600160a01b03891660009081526002602052604090205561165a81611828565b6116648483611872565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116a991815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006116d78282611555565b8210156116f35750506006549267016345785d8a000092509050565b90939092509050565b6000818361171d5760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611e12565b60008060008060008060008060006117478a600c54600d54611896565b9250925092506000611757611532565b9050600080600061176a8e8787876118eb565b919e509c509a509598509396509194505050505091939550919395565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611292565b6000806117d68385611d5e565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106df565b6000611832611532565b90506000611840838361193b565b3060009081526002602052604090205490915061185d90826117c9565b30600090815260026020526040902055505050565b60065461187f9083611787565b60065560075461188f90826117c9565b6007555050565b60008080806118b060646118aa898961193b565b90611555565b905060006118c360646118aa8a8961193b565b905060006118db826118d58b86611787565b90611787565b9992985090965090945050505050565b60008080806118fa888661193b565b90506000611908888761193b565b90506000611916888861193b565b90506000611928826118d58686611787565b939b939a50919850919650505050505050565b60008260000361194d57506000610646565b60006119598385611e34565b9050826119668583611e12565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106df565b600060208083528351808285015260005b818110156119ea578581018301518582016040015282016119ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461074e57600080fd5b8035611a2b81611a0b565b919050565b60008060408385031215611a4357600080fd5b8235611a4e81611a0b565b946020939093013593505050565b600080600060608486031215611a7157600080fd5b8335611a7c81611a0b565b92506020840135611a8c81611a0b565b929592945050506040919091013590565b80358015158114611a2b57600080fd5b600060208284031215611abf57600080fd5b61138382611a9d565b600060208284031215611ada57600080fd5b813561138381611a0b565b600060208284031215611af757600080fd5b5035919050565b60008060008060808587031215611b1457600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b5957600080fd5b823567ffffffffffffffff80821115611b7157600080fd5b818501915085601f830112611b8557600080fd5b813581811115611b9757611b97611b30565b8060051b604051601f19603f83011681018181108582111715611bbc57611bbc611b30565b604052918252848201925083810185019188831115611bda57600080fd5b938501935b82851015611bff57611bf085611a20565b84529385019392850192611bdf565b98975050505050505050565b600080600060408486031215611c2057600080fd5b833567ffffffffffffffff80821115611c3857600080fd5b818601915086601f830112611c4c57600080fd5b813581811115611c5b57600080fd5b8760208260051b8501011115611c7057600080fd5b602092830195509350611c869186019050611a9d565b90509250925092565b60008060408385031215611ca257600080fd5b8235611cad81611a0b565b91506020830135611cbd81611a0b565b809150509250929050565b60008060408385031215611cdb57600080fd5b611a4e83611a9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611d5757611d57611d2f565b5060010190565b8082018082111561064657610646611d2f565b8181038181111561064657610646611d2f565b600060208284031215611d9657600080fd5b815161138381611a0b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611df15784516001600160a01b031683529383019391830191600101611dcc565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e2f57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064657610646611d2f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c2c273a45539e0461bd3431ab48e49ba01395d5e0bdc06140436fc1faf5213864736f6c63430008130033
0x60806040526200001a67016345785d8a000060001962000479565b6200002890600019620004b2565b60065560006008819055600a60098190558190556014600b819055600c829055600d819055600e91909155600f81905580546001600160a01b03199081167368c8de87f4a9054f6b900b72f6a276009becacd317909155601580549091167380477f000b4f3f5cbf83f60cb6d01277eadbf9001790556017805461ffff60a81b1916600160b01b17905566038d7ea4c680006018819055601955652d79883d2000601a55348015620000d957600080fd5b50604051620024f1380380620024f1833981016040819052620000fc9162000501565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200014881620003a7565b6006543360009081526002602090815260409182902092909255601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea9190620005e1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000238573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025e9190620005e1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d29190620005e1565b601780546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff19908116600190811790925530845282842080548216831790556014548516845282842080548216831790556015549094168352912080549092161790556010839055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a00006040516200039691815260200190565b60405180910390a350505062000638565b6000546001600160a01b03163314620004065760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b60005b815181101562000475576001601360008484815181106200042e576200042e62000606565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806200046c816200061c565b91505062000409565b5050565b6000826200049757634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004c857620004c86200049c565b92915050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004fc57600080fd5b919050565b600080604083850312156200051557600080fd5b8251602080850151919350906001600160401b03808211156200053757600080fd5b818601915086601f8301126200054c57600080fd5b815181811115620005615762000561620004ce565b8060051b604051601f19603f83011681018181108582111715620005895762000589620004ce565b604052918252848201925083810185019189831115620005a857600080fd5b938501935b82851015620005d157620005c185620004e4565b84529385019392850192620005ad565b8096505050505050509250929050565b600060208284031215620005f457600080fd5b620005ff82620004e4565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200063157620006316200049c565b5060010190565b611ea980620006486000396000f3fe6080604052600436106101dc5760003560e01c80637f2feddc11610102578063bdd795ef11610095578063dd62ed3e11610064578063dd62ed3e1461058f578063e2aa6cae146105d5578063ea1644d5146105f5578063f2fde38b1461061557600080fd5b8063bdd795ef146104fa578063bfd792841461052a578063c3c8cd801461055a578063c492f0461461056f57600080fd5b806398a5c315116100d157806398a5c3151461047a578063a2a957bb1461049a578063a9059cbb146104ba578063b5a65223146104da57600080fd5b80637f2feddc146103ed5780638da5cb5b1461041a5780638f9a55c01461043857806395d89b411461044e57600080fd5b806349bd5a5e1161017a57806370a082311161014957806370a0823114610382578063715018a6146103a257806374010ece146103b75780637d1db4a5146103d757600080fd5b806349bd5a5e1461031857806357e871e7146103385780636d8aa8f81461034b5780636fc3eaec1461036d57600080fd5b806318160ddd116101b657806318160ddd146102a157806323b872dd146102c65780632fd689e3146102e6578063313ce567146102fc57600080fd5b806306fdde03146101e8578063095ea7b3146102395780631694505e1461026957600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506040805180820190915260168152750accae4f24082cecee4cae6e6d2ecca408ee4deeee8d60531b60208201525b60405161023091906119bd565b60405180910390f35b34801561024557600080fd5b50610259610254366004611a30565b610635565b6040519015158152602001610230565b34801561027557600080fd5b50601654610289906001600160a01b031681565b6040516001600160a01b039091168152602001610230565b3480156102ad57600080fd5b5067016345785d8a00005b604051908152602001610230565b3480156102d257600080fd5b506102596102e1366004611a5c565b61064c565b3480156102f257600080fd5b506102b8601a5481565b34801561030857600080fd5b5060405160098152602001610230565b34801561032457600080fd5b50601754610289906001600160a01b031681565b34801561034457600080fd5b50436102b8565b34801561035757600080fd5b5061036b610366366004611aad565b6106b5565b005b34801561037957600080fd5b5061036b610706565b34801561038e57600080fd5b506102b861039d366004611ac8565b610751565b3480156103ae57600080fd5b5061036b610773565b3480156103c357600080fd5b5061036b6103d2366004611ae5565b6107e7565b3480156103e357600080fd5b506102b860185481565b3480156103f957600080fd5b506102b8610408366004611ac8565b60126020526000908152604090205481565b34801561042657600080fd5b506000546001600160a01b0316610289565b34801561044457600080fd5b506102b860195481565b34801561045a57600080fd5b5060408051808201909152600381526256414760e81b6020820152610223565b34801561048657600080fd5b5061036b610495366004611ae5565b610816565b3480156104a657600080fd5b5061036b6104b5366004611afe565b610845565b3480156104c657600080fd5b506102596104d5366004611a30565b610883565b3480156104e657600080fd5b5061036b6104f5366004611b46565b610890565b34801561050657600080fd5b50610259610515366004611ac8565b60136020526000908152604090205460ff1681565b34801561053657600080fd5b50610259610545366004611ac8565b60116020526000908152604090205460ff1681565b34801561056657600080fd5b5061036b610926565b34801561057b57600080fd5b5061036b61058a366004611c0b565b61097a565b34801561059b57600080fd5b506102b86105aa366004611c8f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105e157600080fd5b5061036b6105f0366004611cc8565b610a1b565b34801561060157600080fd5b5061036b610610366004611ae5565b610a66565b34801561062157600080fd5b5061036b610630366004611ac8565b610a95565b6000610642338484610b7f565b5060015b92915050565b6000610659848484610ca3565b6106ab84336106a685604051806060016040528060288152602001611e4c602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611292565b610b7f565b5060019392505050565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016106df90611ce4565b60405180910390fd5b60178054911515600160b01b0260ff60b01b19909216919091179055565b6014546001600160a01b0316336001600160a01b0316148061073b57506015546001600160a01b0316336001600160a01b0316145b61074457600080fd5b4761074e816112cc565b50565b6001600160a01b03811660009081526002602052604081205461064690611306565b6000546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106df90611ce4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108115760405162461bcd60e51b81526004016106df90611ce4565b601855565b6000546001600160a01b031633146108405760405162461bcd60e51b81526004016106df90611ce4565b601a55565b6000546001600160a01b0316331461086f5760405162461bcd60e51b81526004016106df90611ce4565b600893909355600a91909155600955600b55565b6000610642338484610ca3565b6000546001600160a01b031633146108ba5760405162461bcd60e51b81526004016106df90611ce4565b60005b8151811015610922576001601360008484815181106108de576108de611d19565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061091a81611d45565b9150506108bd565b5050565b6014546001600160a01b0316336001600160a01b0316148061095b57506015546001600160a01b0316336001600160a01b0316145b61096457600080fd5b600061096f30610751565b905061074e8161138a565b6000546001600160a01b031633146109a45760405162461bcd60e51b81526004016106df90611ce4565b60005b82811015610a155781600560008686858181106109c6576109c6611d19565b90506020020160208101906109db9190611ac8565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610a0d81611d45565b9150506109a7565b50505050565b6000546001600160a01b03163314610a455760405162461bcd60e51b81526004016106df90611ce4565b60105560178054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a905760405162461bcd60e51b81526004016106df90611ce4565b601955565b6000546001600160a01b03163314610abf5760405162461bcd60e51b81526004016106df90611ce4565b6001600160a01b038116610b245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106df565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106df565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106df565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106df565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106df565b60008111610dcb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106df565b6000546001600160a01b03848116911614801590610df757506000546001600160a01b03838116911614155b8015610e1c57506001600160a01b03831660009081526013602052604090205460ff16155b8015610e4157506001600160a01b03821660009081526013602052604090205460ff16155b1561118b57601754600160a01b900460ff16610ee5576001600160a01b03831660009081526013602052604090205460ff16610ee55760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106df565b601854811115610f375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106df565b6001600160a01b03831660009081526011602052604090205460ff16158015610f7957506001600160a01b03821660009081526011602052604090205460ff16155b610fd15760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106df565b60105443101561102f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b60648201526084016106df565b6017546001600160a01b038381169116146110b4576019548161105184610751565b61105b9190611d5e565b106110b45760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106df565b60006110bf30610751565b601a546018549192508210159082106110d85760185491505b8080156110ef5750601754600160a81b900460ff16155b801561110957506017546001600160a01b03868116911614155b801561111e5750601754600160b01b900460ff165b801561114357506001600160a01b03851660009081526005602052604090205460ff16155b801561116857506001600160a01b03841660009081526005602052604090205460ff16155b15611188576111768261138a565b47801561118657611186476112cc565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806111cd57506001600160a01b03831660009081526005602052604090205460ff165b806111ff57506017546001600160a01b038581169116148015906111ff57506017546001600160a01b03848116911614155b1561120c57506000611286565b6017546001600160a01b03858116911614801561123757506016546001600160a01b03848116911614155b1561124957600854600c55600954600d555b6017546001600160a01b03848116911614801561127457506016546001600160a01b03858116911614155b1561128657600a54600c55600b54600d555b610a1584848484611504565b600081848411156112b65760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611d71565b95945050505050565b6015546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610922573d6000803e3d6000fd5b600060065482111561136d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106df565b6000611377611532565b90506113838382611555565b9392505050565b6017805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d2576113d2611d19565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144f9190611d84565b8160018151811061146257611462611d19565b6001600160a01b0392831660209182029290920101526016546114889130911684610b7f565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c1908590600090869030904290600401611da1565b600060405180830381600087803b1580156114db57600080fd5b505af11580156114ef573d6000803e3d6000fd5b50506017805460ff60a81b1916905550505050565b8061151157611511611597565b61151c8484846115c5565b80610a1557610a15600e54600c55600f54600d55565b600080600061153f6116bc565b909250905061154e8282611555565b9250505090565b600061138383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116fc565b600c541580156115a75750600d54155b156115ae57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115d78761172a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506116099087611787565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461163890866117c9565b6001600160a01b03891660009081526002602052604090205561165a81611828565b6116648483611872565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516116a991815260200190565b60405180910390a3505050505050505050565b600654600090819067016345785d8a00006116d78282611555565b8210156116f35750506006549267016345785d8a000092509050565b90939092509050565b6000818361171d5760405162461bcd60e51b81526004016106df91906119bd565b5060006112c38486611e12565b60008060008060008060008060006117478a600c54600d54611896565b9250925092506000611757611532565b9050600080600061176a8e8787876118eb565b919e509c509a509598509396509194505050505091939550919395565b600061138383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611292565b6000806117d68385611d5e565b9050838110156113835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106df565b6000611832611532565b90506000611840838361193b565b3060009081526002602052604090205490915061185d90826117c9565b30600090815260026020526040902055505050565b60065461187f9083611787565b60065560075461188f90826117c9565b6007555050565b60008080806118b060646118aa898961193b565b90611555565b905060006118c360646118aa8a8961193b565b905060006118db826118d58b86611787565b90611787565b9992985090965090945050505050565b60008080806118fa888661193b565b90506000611908888761193b565b90506000611916888861193b565b90506000611928826118d58686611787565b939b939a50919850919650505050505050565b60008260000361194d57506000610646565b60006119598385611e34565b9050826119668583611e12565b146113835760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106df565b600060208083528351808285015260005b818110156119ea578581018301518582016040015282016119ce565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461074e57600080fd5b8035611a2b81611a0b565b919050565b60008060408385031215611a4357600080fd5b8235611a4e81611a0b565b946020939093013593505050565b600080600060608486031215611a7157600080fd5b8335611a7c81611a0b565b92506020840135611a8c81611a0b565b929592945050506040919091013590565b80358015158114611a2b57600080fd5b600060208284031215611abf57600080fd5b61138382611a9d565b600060208284031215611ada57600080fd5b813561138381611a0b565b600060208284031215611af757600080fd5b5035919050565b60008060008060808587031215611b1457600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b5957600080fd5b823567ffffffffffffffff80821115611b7157600080fd5b818501915085601f830112611b8557600080fd5b813581811115611b9757611b97611b30565b8060051b604051601f19603f83011681018181108582111715611bbc57611bbc611b30565b604052918252848201925083810185019188831115611bda57600080fd5b938501935b82851015611bff57611bf085611a20565b84529385019392850192611bdf565b98975050505050505050565b600080600060408486031215611c2057600080fd5b833567ffffffffffffffff80821115611c3857600080fd5b818601915086601f830112611c4c57600080fd5b813581811115611c5b57600080fd5b8760208260051b8501011115611c7057600080fd5b602092830195509350611c869186019050611a9d565b90509250925092565b60008060408385031215611ca257600080fd5b8235611cad81611a0b565b91506020830135611cbd81611a0b565b809150509250929050565b60008060408385031215611cdb57600080fd5b611a4e83611a9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611d5757611d57611d2f565b5060010190565b8082018082111561064657610646611d2f565b8181038181111561064657610646611d2f565b600060208284031215611d9657600080fd5b815161138381611a0b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611df15784516001600160a01b031683529383019391830191600101611dcc565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611e2f57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761064657610646611d2f56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205c2c273a45539e0461bd3431ab48e49ba01395d5e0bdc06140436fc1faf5213864736f6c634300081300330000000000000000000000000000000000000000000000000000000001088e2d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000050890aa4f2c52c8a7b6caef1e14ee382471003250000000000000000000000007ec9cd033238c89713d47790161182c571a139e70000000000000000000000004363c9c844496b16cff09bad852b18a5502fe1ff00000000000000000000000074e6d0f68d253bfbe37e8efbe801b726700c9b8c0000000000000000000000005061a10de13d8e9a589d05396c7b19a0ba20cdfe000000000000000000000000d882892984e302f0d19f697144d0d9f9a9d58b22000000000000000000000000b7100a72e4697be87be455da5fad0acfd33cf2840000000000000000000000002c1ad8e9841b1468db8ab17ad428ff8a2f25152b0000000000000000000000004d0e3de91ae3d868838c4e54ef849d25b562dc7f00000000000000000000000076b3a2c579462b268b68ef627503370e27b62a930000000000000000000000004a6e2a84f98deb6b8eb60cae717268d83d868afb00000000000000000000000016e21f0126080ab64d5c26556970b1850f118eaf000000000000000000000000d3f8d9bfe4a3a69f4df28cec2b6e06e0fecc8800000000000000000000000000556b0b97bc50882c80206f1ff961c19ffda1f1d5000000000000000000000000f6276a76cbe8bed333460569863544eab14e53500000000000000000000000007bacd353d15ca783f12774586dd0dd1f7dfc30810000000000000000000000003a7e612d0b05a9b3cd3af7a57c1e8713111e9a47000000000000000000000000c8a71dcb57dada8df4390371552f59a06870337800000000000000000000000087cd40fc08098bbc5092aface8a148d62e4175060000000000000000000000005c6c26093c7b2276e8713ab813a7584c84bac8ae000000000000000000000000c68eed5ab3a421ca4578cae3bdf652cd446b10010000000000000000000000006dc52c830e32d1a756cda84677fbda2c9cc1ec28000000000000000000000000e5c53b41e0e1de0e29a4f92f05bc6f8c8e54efd300000000000000000000000022a5034475a730ed16bf603e3e7ce05762a43bfb0000000000000000000000005a8d3d2acb3929e17d0b851c6e52bac38a6d4a86000000000000000000000000181389c03f85148ecd1f5bd50107c3a060a1be90000000000000000000000000b3cb97403a02de7fb2c2bfd4e7883579b7129f190000000000000000000000004ec65b091ebd792346ca3c6b75ee9ef29c52bbf80000000000000000000000006a3dfdee0c182db1948a673517a86799a4c9952e00000000000000000000000095a8c444cd38094961939136c08c9126ae4d78d6