60a06040523480156200001157600080fd5b5060405162003c2838038062003c288339810160408190526200003491620002ee565b8181600362000044838262000441565b50600462000053828262000441565b50506001600555506001600160a01b038616620000c75760405162461bcd60e51b815260206004820152602760248201527f4173736574546f6b656e3a206173736574546f6b656e446174612069732061646044820152660647265737320360cc1b60648201526084015b60405180910390fd5b60008511620001255760405162461bcd60e51b8152602060048201526024808201527f4173736574546f6b656e3a20737461746550657263656e74206d7573742062656044820152630203e20360e41b6064820152608401620000be565b670de0b6b3a7640000851115620001935760405162461bcd60e51b815260206004820152602b60248201527f4173736574546f6b656e3a20737461746550657263656e74203c3d2048554e4460448201526a14915117d4115490d1539560aa1b6064820152608401620000be565b6003845111620001e65760405162461bcd60e51b815260206004820181905260248201527f4173736574546f6b656e3a20696e636f7272656374206b7961207061737365646044820152606401620000be565b6012608052600680546001600160a01b0319166001600160a01b038816179055600e859055600f62000219858262000441565b505050601055506200050d915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200025157600080fd5b81516001600160401b03808211156200026e576200026e62000229565b604051601f8301601f19908116603f0116810190828211818310171562000299576200029962000229565b81604052838152602092508683858801011115620002b657600080fd5b600091505b83821015620002da5785820183015181830184015290820190620002bb565b600093810190920192909252949350505050565b60008060008060008060c087890312156200030857600080fd5b86516001600160a01b03811681146200032057600080fd5b6020880151604089015191975095506001600160401b03808211156200034557600080fd5b620003538a838b016200023f565b95506060890151945060808901519150808211156200037157600080fd5b6200037f8a838b016200023f565b935060a08901519150808211156200039657600080fd5b50620003a589828a016200023f565b9150509295509295509295565b600181811c90821680620003c757607f821691505b602082108103620003e857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200043c57600081815260208120601f850160051c81016020861015620004175750805b601f850160051c820191505b81811015620004385782815560010162000423565b5050505b505050565b81516001600160401b038111156200045d576200045d62000229565b62000475816200046e8454620003b2565b84620003ee565b602080601f831160018114620004ad5760008415620004945750858301515b600019600386901b1c1916600185901b17855562000438565b600085815260208120601f198616915b82811015620004de57888601518255948401946001909101908401620004bd565b5085821015620004fd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6080516136ff6200052960003960006102fb01526136ff6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c8063793f255c1161013b578063dc174960116100b8578063ee7611891161007c578063ee761189146104ec578063f15965d9146104ff578063f4917dd314610512578063f634d4e81461051a578063ff322ba11461053a57600080fd5b8063dc1749601461048d578063dd62ed3e146104a0578063e0f486ef146104b3578063e1a0cc6f146104bc578063ea4a1d5c146104e357600080fd5b8063a457c2d7116100ff578063a457c2d71461044d578063a584a9b514610460578063a9059cbb14610468578063bad9d0e41461047b578063bf9befb11461048457600080fd5b8063793f255c146103e157806386511595146103f45780638660970c1461040757806395d89b411461043257806398d9423e1461043a57600080fd5b8063377a1a62116101c957806349733d041161018d57806349733d041461037f5780634ef1ccd1146103925780635605a998146103a55780636ed93dd0146102e557806370a08231146103b857600080fd5b8063377a1a6214610325578063395093511461032e5780633fc7293a14610341578063424e65751461034957806342966c681461036c57600080fd5b8063189d1e0b11610210578063189d1e0b146102aa5780631d0b56af146102b257806323b872dd146102d25780632e0f2625146102e5578063313ce567146102f457600080fd5b806306fdde0314610242578063095ea7b3146102605780630ac7f4e61461028357806318160ddd14610298575b600080fd5b61024a61054d565b6040516102579190612fc8565b60405180910390f35b61027361026e366004612ff0565b6105df565b6040519015158152602001610257565b61029661029136600461301c565b6105f9565b005b6002545b604051908152602001610257565b6102966106c9565b61029c6102c036600461301c565b600c6020526000908152604090205481565b6102736102e0366004613039565b6106e4565b61029c670de0b6b3a764000081565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610257565b61029c60085481565b61027361033c366004612ff0565b610708565b61024a61072a565b61035c61035736600461307a565b6107b8565b6040516102579493929190613093565b61029661037a36600461307a565b610876565b61029c61038d36600461307a565b6108b8565b6102966103a036600461307a565b6108c4565b6102966103b336600461307a565b610908565b61029c6103c636600461301c565b6001600160a01b031660009081526020819052604090205490565b6102966103ef366004613116565b610911565b61029c610402366004613178565b610cd0565b60065461041a906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b61024a611257565b610296610448366004613233565b611266565b61027361045b366004612ff0565b611310565b61029661138b565b610273610476366004612ff0565b611506565b61029c600e5481565b61029c600d5481565b61029661049b366004613178565b611514565b61029c6104ae366004613275565b6117ab565b61029c60105481565b6104cf6104ca36600461307a565b6117d6565b6040516102579897969594939291906132ae565b61029c600a5481565b6102966104fa366004613178565b611944565b61029661050d366004613178565b611c4f565b610296611f35565b61029c61052836600461301c565b600b6020526000908152604090205481565b61029c61054836600461331d565b6120ba565b60606003805461055c90613342565b80601f016020809104026020016040519081016040528092919081815260200182805461058890613342565b80156105d55780601f106105aa576101008083540402835291602001916105d5565b820191906000526020600020905b8154815290600101906020018083116105b857829003601f168201915b5050505050905090565b6000336105ed8185856120cd565b60019150505b92915050565b610603600a6121f1565b6001600160a01b03811661066a5760405162461bcd60e51b815260206004820152602360248201527f4173736574546f6b656e3a206e6577416464726573732069732061646472657360448201526207320360ec1b60648201526084015b60405180910390fd5b60065460405133916001600160a01b03848116929116907f1bd2f11f284e6391695ec5dc02786a2f817560fab3a4c6ecebf1f483204f966890600090a4600680546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600c60205260409020546106e29061246d565b565b6000336106f28582856125eb565b6106fd85858561265f565b506001949350505050565b6000336105ed81858561071b83836117ab565b6107259190613392565b6120cd565b600f805461073790613342565b80601f016020809104026020016040519081016040528092919081815260200182805461076390613342565b80156107b05780601f10610785576101008083540402835291602001916107b0565b820191906000526020600020905b81548152906001019060200180831161079357829003601f168201915b505050505081565b6007602052600090815260409020805460018201546002830180546001600160a01b039093169391926107ea90613342565b80601f016020809104026020016040519081016040528092919081815260200182805461081690613342565b80156108635780601f1061083857610100808354040283529160200191610863565b820191906000526020600020905b81548152906001019060200180831161084657829003601f168201915b5050506003909301549192505060ff1684565b60405181815233907f33631bcd0a4d34a7e2c240ab0753d5adfb7284d8ac89dab6876ec785c0cfa0e69060200160405180910390a26108b5338261280e565b50565b60006105f3823361294c565b6108ce600a6121f1565b60405181815233907fc30bbd22b0c6378065c37f72e8e5e352368ad2c72d3d107ec28e11c61d16a05e9060200160405180910390a2601055565b6108b58161246d565b610919612b5b565b61092360016121f1565b8261092d336103c6565b101561094b5760405162461bcd60e51b8152600401610661906133a5565b336000908152600c6020526040902054610966908490613392565b336000908152600c6020526040902055600d54610984908490613392565b600d55600061099260025490565b670de0b6b3a7640000600d546109a891906133ee565b6109b29190613405565b600654600e549192506001600160a01b0316908210610a8f57604051632c0edf6560e11b81523060048201526001600160a01b0382169063581dbeca906024016020604051808303816000875af1158015610a11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a359190613427565b610a8f5760405162461bcd60e51b815260206004820152602560248201527f4173736574546f6b656e3a206572726f72206f6e20736166656775617264206360448201526468616e676560d81b6064820152608401610661565b336000908152600b602052604081205490819003610c2457600a8054906000610ab783613449565b9190505550604051806101000160405280610acf3390565b6001600160a01b0316815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208083018a90526040808401839052606084018390526001608085018190528151808401835284815260a086015260c0909401839052600a54835260098252909120835181546001600160a01b0319166001600160a01b03909116178155908301519091820190610b8790826134b0565b506040820151600282015560608201516003820155608082015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905560c08201516005820190610bdf90826134b0565b5060e09190910151600690910180546001600160a01b0319166001600160a01b0390921691909117905550600a54336000908152600b60205260409020819055610c54565b600081815260096020526040902060020154610c41908790613392565b6000828152600960205260409020600201555b60008181526009602090815260409182902060028101546003909101548351918252918101919091526001818301529051339183917fa8cb3abff9d33baf50c27997f56858a870eece3044d19c6645d25719ee4eb5859181900360600190a3610cbe33308861265f565b505050610ccb6001600555565b505050565b6000610cda612b5b565b60008311610d3b5760405162461bcd60e51b815260206004820152602860248201527f4173736574546f6b656e3a206173736574546f6b656e416d6f756e74206d7573604482015267074206265203e20360c41b6064820152608401610661565b82610d45336103c6565b1015610d635760405162461bcd60e51b8152600401610661906133a5565b60065460405163fef03da360e01b81523060048201526001600160a01b0390911690600090829063fef03da390602401602060405180830381865afa158015610db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd49190613570565b604051635980ec8160e11b81523060048201529091506000906001600160a01b0384169063b301d90290602401602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e429190613570565b604051636306be8560e01b81523060048201529091506000906001600160a01b03851690636306be8590602401602060405180830381865afa158015610e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb09190613427565b905080158015610ec95750336001600160a01b03841614155b80610ee55750808015610ee55750336001600160a01b03831614155b15610f5857601054871015610f585760405162461bcd60e51b815260206004820152603360248201527f4173736574546f6b656e3a206d696e696d756d526564656d7074696f6e416d6f6044820152721d5b9d081b9bdd081c995858da1959081e595d606a1b6064820152608401610661565b604051630e0dc3b960e11b81523060048201526001600160a01b03851690631c1b877290602401600060405180830381600087803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b5050604051633739df6160e21b8152306004820152600092506001600160a01b038716915063dce77d8490602401602060405180830381865afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c919061358d565b90506000670de0b6b3a7640000611033838b6133ee565b61103d9190613405565b600a8054919250600061104f83613449565b919050555061105b3390565b600a54604080518c81526020810185905260008183015290516001600160a01b0393909316927fa8cb3abff9d33baf50c27997f56858a870eece3044d19c6645d25719ee4eb5859181900360600190a36040518061010001604052806110be3390565b6001600160a01b03908116825260208083018c905260408084018e90526060840186905260006080850181905260a085018190528151808401835281815260c086015260e0909401849052600a54845260098252909220835181546001600160a01b031916921691909117815590820151600182019061113e90826134b0565b506040820151600282015560608201516003820155608082015160048201805460a085015115156101000261ff00199315159390931661ffff199091161791909117905560c0820151600582019061119690826134b0565b5060e09190910151600690910180546001600160a01b0319166001600160a01b039092169190911790556111cb33308b61265f565b821580156111e15750336001600160a01b038616145b806111fc57508280156111fc5750336001600160a01b038516145b1561124257611242600a546040518060400160405280601b81526020017f4175746f6d61746963526564656d7074696f6e417070726f76616c0000000000815250611c4f565b600a5496505050505050506105f36001600555565b60606004805461055c90613342565b611270600a6121f1565b600381116112c05760405162461bcd60e51b815260206004820181905260248201527f4173736574546f6b656e3a20696e636f7272656374206b7961207061737365646044820152606401610661565b336001600160a01b03167fa968454fe42ca93a4780be08eb42cedc78e3f1dd75d23e0daf15c615e2594d6783836040516112fb9291906135a6565b60405180910390a2600f610ccb8284836135d5565b6000338161131e82866117ab565b90508381101561137e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610661565b6106fd82868684036120cd565b61139560086121f1565b600654604051632526693d60e11b81523060048201526001600160a01b03909116908190634a4cd27a90602401602060405180830381865afa1580156113df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114039190613427565b156114505760405162461bcd60e51b815260206004820152601e60248201527f4173736574546f6b656e3a20636f6e74726163742069732066726f7a656e00006044820152606401610661565b604051631bef0dc360e01b81523060048201526001600160a01b03821690631bef0dc3906024016020604051808303816000875af1158015611496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ba9190613427565b6108b55760405162461bcd60e51b815260206004820152601b60248201527f4173736574546f6b656e3a20667265657a696e67206661696c656400000000006044820152606401610661565b6000336105ed81858561265f565b61151c612b5b565b61152660056121f1565b6000828152600760205260409020546001600160a01b03166115965760405162461bcd60e51b8152602060048201526024808201527f4173736574546f6b656e3a2072657175657374494420646f6573206e6f7420656044820152631e1a5cdd60e21b6064820152608401610661565b60008281526007602052604090206003015460ff16156115f85760405162461bcd60e51b815260206004820181905260248201527f4173736574546f6b656e3a207265717565737420697320636f6d706c657465646044820152606401610661565b600082815260076020526040902060038101805460ff1916600117905560020161162282826134b0565b50600654604051630e0dc3b960e11b81523060048201526001600160a01b03909116908190631c1b877290602401600060405180830381600087803b15801561166a57600080fd5b505af115801561167e573d6000803e3d6000fd5b5050604051633739df6160e21b8152306004820152600092506001600160a01b038416915063dce77d8490602401602060405180830381865afa1580156116c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ed919061358d565b60008581526007602052604081206001015491925090829061171890670de0b6b3a7640000906133ee565b6117229190613405565b600086815260076020908152604091829020548251848152925193945033936001600160a01b039091169289927f293a53949964e4a793f245e9ef19f0b1134ea644f51d51df86331137bb9232c692918290030190a460008581526007602052604090205461179a906001600160a01b031682612bb4565b5050506117a76001600555565b5050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600960205260009081526040902080546001820180546001600160a01b03909216929161180290613342565b80601f016020809104026020016040519081016040528092919081815260200182805461182e90613342565b801561187b5780601f106118505761010080835404028352916020019161187b565b820191906000526020600020905b81548152906001019060200180831161185e57829003601f168201915b505050506002830154600384015460048501546005860180549596939592945060ff8083169461010090930416926118b290613342565b80601f01602080910402602001604051908101604052809291908181526020018280546118de90613342565b801561192b5780601f106119005761010080835404028352916020019161192b565b820191906000526020600020905b81548152906001019060200180831161190e57829003601f168201915b505050600690930154919250506001600160a01b031688565b6000828152600960205260409020546001600160a01b03166119ad5760405162461bcd60e51b815260206004820152602e60248201526000805160206136aa83398151915260448201526d191bd95cc81b9bdd08195e1a5cdd60921b6064820152608401610661565b6000828152600960205260409020600601546001600160a01b031615611a275760405162461bcd60e51b815260206004820152602960248201527f4173736574546f6b656e3a20726564656d7074696f6e20686173206265656e2060448201526818d85b98d95b1b195960ba1b6064820152608401610661565b60008281526009602052604090206004015460ff1615611a9a5760405162461bcd60e51b815260206004820152602860248201527f4173736574546f6b656e3a20726564656d7074696f6e20616c726561647920636044820152671bdb5c1b195d195960c21b6064820152608401610661565b600082815260096020526040902060040154610100900460ff1615611b185760405162461bcd60e51b815260206004820152602e60248201527f4173736574546f6b656e3a207374616b65642072657175657374202d20756e7360448201526d74616b6520746f2072656465656d60901b6064820152608401610661565b6006546000838152600960205260409020546001600160a01b0391821691163314611ba257604080516362d1cb6760e01b815230600482015233602482015290516001600160a01b038316916362d1cb67916044808301926000929190829003018186803b158015611b8957600080fd5b505afa158015611b9d573d6000803e3d6000fd5b505050505b60008381526009602052604090819020600281015490549151909133916001600160a01b039091169086907f31916b1311adb3f7a4a9092ec7c3d79cc1eab54bddaa4e1db9f7e1097797f92990611bfa908890612fc8565b60405180910390a460008481526009602052604081206002810182905560038101919091556006810180546001600160a01b0319163317905554611c499030906001600160a01b03168361265f565b50505050565b611c5960086121f1565b6000828152600960205260409020600601546001600160a01b031615611cca5760405162461bcd60e51b815260206004820152603260248201526000805160206136aa8339815191526044820152711a185cc81899595b8818d85b98d95b1b195960721b6064820152608401610661565b6000828152600960205260409020546001600160a01b0316611d315760405162461bcd60e51b815260206004820152602c60248201526000805160206136aa83398151915260448201526b1a5cc81a5b98dbdc9c9958dd60a21b6064820152608401610661565b60008281526009602052604090206004015460ff1615611d935760405162461bcd60e51b815260206004820152602960248201526000805160206136aa83398151915260448201526818dbdb5c1b195d195960ba1b6064820152608401610661565b600082815260096020526040902060040154610100900460ff1615611e8757600654604051636306be8560e01b81523060048201526001600160a01b03909116908190636306be8590602401602060405180830381865afa158015611dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e209190613427565b611e855760405162461bcd60e51b815260206004820152603060248201527f4173736574546f6b656e3a20636f6e747261637420697320616374697665202860448201526f6e6f74206f6e5361666567756172642960801b6064820152608401610661565b505b6000828152600960209081526040918290208054600282015460039092015484519283529282019290925233926001600160a01b039092169185917f77ac421ef93134bdf8b76efd922614ddca35f3f14e97c693dd88b4a3aa160636910160405180910390a4600082815260096020526040902060048101805460ff19166001179055600501611f1782826134b0565b506000828152600960205260409020600201546117a790309061280e565b611f3f60086121f1565b600654604051632526693d60e11b81523060048201526001600160a01b03909116908190634a4cd27a90602401602060405180830381865afa158015611f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fad9190613427565b6120045760405162461bcd60e51b815260206004820152602260248201527f4173736574546f6b656e3a20636f6e7472616374206973206e6f742066726f7a60448201526132b760f11b6064820152608401610661565b6040516370e6513b60e11b81523060048201526001600160a01b0382169063e1cca276906024016020604051808303816000875af115801561204a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206e9190613427565b6108b55760405162461bcd60e51b815260206004820152601d60248201527f4173736574546f6b656e3a20756e667265657a696e67206661696c65640000006044820152606401610661565b60006120c6838361294c565b9392505050565b6001600160a01b03831661212f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610661565b6001600160a01b0382166121905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610661565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6006546000906001600160a01b03166001831615612265576040516348f261b960e01b81523060048201526001600160a01b038216906348f261b99060240160006040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b50505050600191505b60028316156122ca576040516331e11d4160e01b81523060048201526001600160a01b038216906331e11d419060240160006040518083038186803b1580156122ad57600080fd5b505afa1580156122c1573d6000803e3d6000fd5b50505050600191505b600483161561233c576040805163d9253c7d60e01b815230600482015233602482015290516001600160a01b0383169163d9253c7d916044808301926000929190829003018186803b15801561231f57600080fd5b505afa158015612333573d6000803e3d6000fd5b50505050600191505b60088316156123ae57604080516362d1cb6760e01b815230600482015233602482015290516001600160a01b038316916362d1cb67916044808301926000929190829003018186803b15801561239157600080fd5b505afa1580156123a5573d6000803e3d6000fd5b50505050600191505b6010831615612420576040805163b14cfbb960e01b815230600482015233602482015290516001600160a01b0383169163b14cfbb9916044808301926000929190829003018186803b15801561240357600080fd5b505afa158015612417573d6000803e3d6000fd5b50505050600191505b81610ccb5760405162461bcd60e51b815260206004820152601c60248201527f4173736574546f6b656e3a20616363657373206e6f7420666f756e64000000006044820152606401610661565b61247760036121f1565b600081116124c75760405162461bcd60e51b815260206004820152601e60248201527f4173736574546f6b656e3a20616d6f756e74206d757374206265203e203000006044820152606401610661565b336000908152600c60205260409020548111156125305760405162461bcd60e51b815260206004820152602160248201527f4173736574546f6b656e3a20616d6f756e742065786365656473207374616b656044820152601960fa1b6064820152608401610661565b60405181815233907f59696ca7031c7df7a856426d8eb521fa3033d4257b16cd455de5f30590591c7e9060200160405180910390a2336000908152600c6020526040902054612580908290613696565b336000908152600c6020526040902055600d5461259e908290613696565b600d55336000908152600b60209081526040808320548084526009909252909120600201546125ce908390613696565b6000828152600960205260409020600201556117a730338461265f565b60006125f784846117ab565b90506000198114611c4957818110156126525760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610661565b611c4984848484036120cd565b6001600160a01b0383166126c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610661565b6001600160a01b0382166127255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610661565b612730838383612c7f565b6001600160a01b038316600090815260208190526040902054818110156127a85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610661565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611c49565b6001600160a01b03821661286e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610661565b61287a82600083612c7f565b6001600160a01b038216600090815260208190526040902054818110156128ee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610661565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600061295860136121f1565b600083116129a85760405162461bcd60e51b815260206004820152601e60248201527f4173736574546f6b656e3a20616d6f756e74206d757374206265203e203000006044820152606401610661565b600880549060006129b883613449565b91905055506129c43390565b6001600160a01b0316826001600160a01b03166008547fd44ca9091dc2db8840a4a2459864b4bb02cd1f06f285f304ec45aa15ec28e0ea86604051612a0b91815260200190565b60405180910390a4604080516080810182526001600160a01b0384811682526020808301878152845180830186526000808252858701918252606086018190526008548152600790935294909120835181546001600160a01b031916931692909217825551600182015591519091906002820190612a8990826134b0565b50606091909101516003909101805460ff191691151591909117905560065460405163fef03da360e01b81523060048201526001600160a01b0390911690819063fef03da390602401602060405180830381865afa158015612aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b139190613570565b6001600160a01b03163303612b5057612b506008546040518060400160405280600a815260200169125cdcdd595c935a5b9d60b21b815250611514565b505060085492915050565b600260055403612bad5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610661565b6002600555565b6001600160a01b038216612c0a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610661565b612c1660008383612c7f565b8060026000828254612c289190613392565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b612c8960026121f1565b600654604051636306be8560e01b81523060048201526001600160a01b03909116908190636306be8590602401602060405180830381865afa158015612cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf79190613427565b15612e8f576001600160a01b0383163014801590612d1e57506001600160a01b0384163014155b8015612da35750604051635980ec8160e11b81523060048201526001600160a01b0382169063b301d90290602401602060405180830381865afa158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d9190613570565b6001600160a01b0316846001600160a01b031614155b15612e8f5760405163db5f725760e01b81523060048201526001600160a01b03858116602483015282169063db5f725790604401602060405180830381865afa158015612df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e189190613427565b612e8a5760405162461bcd60e51b815260206004820152603a60248201527f4173736574546f6b656e3a206265666f7265546f6b656e5472616e736665723a60448201527f206e6f7420616c6c6f77656420286f6e536166656775617264290000000000006064820152608401610661565b611c49565b604051632325e69f60e21b81523060048201526001600160a01b038581166024830152848116604483015260648201849052821690638c979a7c906084016020604051808303816000875af1158015612eec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f109190613427565b612e8a5760405162461bcd60e51b815260206004820152603a60248201527f4173736574546f6b656e3a206265666f7265546f6b656e5472616e736665723a60448201527f206e6f7420617574686f72697a656420286f6e416374697665290000000000006064820152608401610661565b6000815180845260005b81811015612fa857602081850181015186830182015201612f8c565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006120c66020830184612f82565b6001600160a01b03811681146108b557600080fd5b6000806040838503121561300357600080fd5b823561300e81612fdb565b946020939093013593505050565b60006020828403121561302e57600080fd5b81356120c681612fdb565b60008060006060848603121561304e57600080fd5b833561305981612fdb565b9250602084013561306981612fdb565b929592945050506040919091013590565b60006020828403121561308c57600080fd5b5035919050565b60018060a01b03851681528360208201526080604082015260006130ba6080830185612f82565b9050821515606083015295945050505050565b60008083601f8401126130df57600080fd5b50813567ffffffffffffffff8111156130f757600080fd5b60208301915083602082850101111561310f57600080fd5b9250929050565b60008060006040848603121561312b57600080fd5b83359250602084013567ffffffffffffffff81111561314957600080fd5b613155868287016130cd565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561318b57600080fd5b82359150602083013567ffffffffffffffff808211156131aa57600080fd5b818501915085601f8301126131be57600080fd5b8135818111156131d0576131d0613162565b604051601f8201601f19908116603f011681019083821181831017156131f8576131f8613162565b8160405282815288602084870101111561321157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806020838503121561324657600080fd5b823567ffffffffffffffff81111561325d57600080fd5b613269858286016130cd565b90969095509350505050565b6000806040838503121561328857600080fd5b823561329381612fdb565b915060208301356132a381612fdb565b809150509250929050565b6001600160a01b038981168252610100602083018190526000916132d48483018c612f82565b9150896040850152886060850152871515608085015286151560a085015283820360c08501526133048287612f82565b925080851660e085015250509998505050505050505050565b6000806040838503121561333057600080fd5b8235915060208301356132a381612fdb565b600181811c9082168061335657607f821691505b60208210810361337657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156105f3576105f361337c565b60208082526029908201527f4173736574546f6b656e3a2063616c6c65722068617320696e73756666696369604082015268656e742066756e647360b81b606082015260800190565b80820281158282048414176105f3576105f361337c565b60008261342257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561343957600080fd5b815180151581146120c657600080fd5b60006001820161345b5761345b61337c565b5060010190565b601f821115610ccb57600081815260208120601f850160051c810160208610156134895750805b601f850160051c820191505b818110156134a857828155600101613495565b505050505050565b815167ffffffffffffffff8111156134ca576134ca613162565b6134de816134d88454613342565b84613462565b602080601f83116001811461351357600084156134fb5750858301515b600019600386901b1c1916600185901b1785556134a8565b600085815260208120601f198616915b8281101561354257888601518255948401946001909101908401613523565b50858210156135605787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561358257600080fd5b81516120c681612fdb565b60006020828403121561359f57600080fd5b5051919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b67ffffffffffffffff8311156135ed576135ed613162565b613601836135fb8354613342565b83613462565b6000601f841160018114613635576000851561361d5750838201355b600019600387901b1c1916600186901b17835561368f565b600083815260209020601f19861690835b828110156136665786850135825560209485019460019092019101613646565b50868210156136835760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b818103818111156105f3576105f361337c56fe4173736574546f6b656e3a20726564656d7074696f6e52657175657374494420a2646970667358221220989008ac89cd312bd5d6e33da341ec8e16f8718e8548ca029335a2d8644fcfa464736f6c634300081300330000000000000000000000007e928ba5db878e3973eac4ef14ee99d6a6e590f10000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000c92b9a6adc4825c0000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000a697066733a2f2f746264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009534d5820746f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534d580000000000000000000000000000000000000000000000000000000000