5f600e556013805463ffffffff191663010000011790556015805460ff19166001179055600460808181526350696e7560e01b60a05261010060405260c09182526350494e5560e01b60e052906003610058838261088d565b506004610065828261088d565b5050505f6100776104ad60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f80516020614185833981519152908290a350600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051339291829163c45a0155916004808201926020929091908290030181865afa158015610118573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013c9190610947565b6001600160a01b031663c9c653963060095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bf9190610947565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610209573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022d9190610947565b600a80546001600160a01b0319166001600160a01b039290921691821790556102579060016104b1565b600a5461026e906001600160a01b03166001610513565b6c054f529ca52576bc68920000006064610289826002610988565b61029391906109a5565b60065560646102a3826002610988565b6102ad91906109a5565b60075560646102bd826002610988565b6102c791906109a5565b6008556127106102d8826005610988565b6102e291906109a5565b600b555f60178190556018819055601460198190559061030290806109c4565b61030c91906109c4565b6016555f601b819055601c8190556014601d8190559061032c90806109c4565b61033691906109c4565b601a55600c8054735bad3565f203e406e96b9c3ed63471c944ac42436001600160a01b03199182168117909255600d8054909116909117905561037a8360016104b1565b6103853060016104b1565b61039261dead60016104b1565b600c546103a9906001600160a01b031660016104b1565b600d546103c0906001600160a01b031660016104b1565b6009546103d7906001600160a01b031660016104b1565b6103f6735bad3565f203e406e96b9c3ed63471c944ac424360016104b1565b61040183600161057b565b61040c30600161057b565b61041961dead600161057b565b600c54610430906001600160a01b0316600161057b565b600d54610447906001600160a01b0316600161057b565b60095461045e906001600160a01b0316600161057b565b61047d735bad3565f203e406e96b9c3ed63471c944ac4243600161057b565b61049c83606461048d8482610988565b61049791906109a5565b610625565b6104a583610701565b5050506109d7565b3390565b6001600160a01b0382165f81815260226020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382165f908152602360205260409020805460ff191682151517905561054082826104b1565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b6005546001600160a01b031633146105c75760405162461bcd60e51b815260206004820181905260248201525f8051602061416583398151915260448201526064015b60405180910390fd5b6001600160a01b0382165f81815260216020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b03821661067b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105be565b8060025f82825461068c91906109c4565b90915550506001600160a01b0382165f90815260208190526040812080548392906106b89084906109c4565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146107485760405162461bcd60e51b815260206004820181905260248201525f8051602061416583398151915260448201526064016105be565b6001600160a01b0381166107ad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105be565b6005546040516001600160a01b038084169216905f80516020614185833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061081d57607f821691505b60208210810361083b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561088857805f5260205f20601f840160051c810160208510156108665750805b601f840160051c820191505b81811015610885575f8155600101610872565b50505b505050565b81516001600160401b038111156108a6576108a66107f5565b6108ba816108b48454610809565b84610841565b6020601f8211600181146108ec575f83156108d55750848201515b5f19600385901b1c1916600184901b178455610885565b5f84815260208120601f198516915b8281101561091b57878501518255602094850194600190920191016108fb565b508482101561093857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610957575f80fd5b81516001600160a01b038116811461096d575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761099f5761099f610974565b92915050565b5f826109bf57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561099f5761099f610974565b613781806109e45f395ff3fe6080604052600436106103ed575f3560e01c8063751039fc1161020a578063a9523a351161011e578063d5dd9b17116100a8578063e10611c811610078578063e10611c814610b6e578063e2f4560514610b83578063e884f26014610b98578063f2fde38b14610bac578063f5648a4f14610bcb575f80fd5b8063d5dd9b1714610ae1578063d85ba06314610af6578063dc3f0d0f14610b0b578063dd62ed3e14610b2a575f80fd5b8063c17b5b8c116100ee578063c17b5b8c14610a56578063c18bc19514610a75578063c1aea0c314610a94578063c876d0b914610aa9578063d257b34f14610ac2575f80fd5b8063a9523a35146109df578063aa4bde28146109fe578063b62496f514610a13578063b6cf8ce614610a41575f80fd5b806385ecfd281161019f5780638fb1d3231161016f5780638fb1d3231461094f57806395d89b411461096e5780639a7a23d614610982578063a457c2d7146109a1578063a9059cbb146109c0575f80fd5b806385ecfd28146108d057806388e765ff146108fe5780638d13c133146109135780638da5cb5b14610932575f80fd5b80637e926b4b116101da5780637e926b4b146108545780638095d5641461087357806382aa7c681461089257806383fc8816146108b1575f80fd5b8063751039fc146107de5780637571336a146107f257806375eb682d1461081157806378dd7d411461083f575f80fd5b8063452ed4f1116103015780636317dbb3116102965780636b0a894c116102665780636b0a894c146107425780636b58da54146107575780636ddd17131461076c57806370a082311461078b5780637460887d146107bf575f80fd5b80636317dbb3146106ee578063659ffb9c1461070357806366d602ae146107185780636a486a8e1461072d575f80fd5b806351f205e4116102d157806351f205e41461067b578063542b777e1461068f5780635726df22146106ae57806360ac6e03146106cf575f80fd5b8063452ed4f1146106055780634884780a146106245780634a62bb65146106435780634b7d35381461065c575f80fd5b806323b872dd11610382578063313ce56711610352578063313ce567146105785780633605375d1461059357806339509351146105b25780633a918332146105d1578063432e5786146105f0575f80fd5b806323b872dd1461050e578063281828c71461052d5780632be32b61146105435780632dd9a82314610564575f80fd5b806309c8b910116103bd57806309c8b910146104a45780630d0c3291146104c75780631693e8d4146104dc57806318160ddd146104fa575f80fd5b806301e0beaf146103f857806306fdde031461042d5780630758d9241461044e578063095ea7b314610485575f80fd5b366103f457005b5f80fd5b348015610403575f80fd5b50601354610418906301000000900460ff1681565b60405190151581526020015b60405180910390f35b348015610438575f80fd5b50610441610bdf565b6040516104249190613329565b348015610459575f80fd5b5060095461046d906001600160a01b031681565b6040516001600160a01b039091168152602001610424565b348015610490575f80fd5b5061041861049f366004613375565b610c6f565b3480156104af575f80fd5b506104b9600e5481565b604051908152602001610424565b3480156104d2575f80fd5b506104b9601d5481565b3480156104e7575f80fd5b5060135461041890610100900460ff1681565b348015610505575f80fd5b506002546104b9565b348015610519575f80fd5b5061041861052836600461339f565b610c85565b348015610538575f80fd5b50600f544310610418565b34801561054e575f80fd5b5061056261055d3660046133dd565b610d32565b005b34801561056f575f80fd5b50610562610e3c565b348015610583575f80fd5b5060405160128152602001610424565b34801561059e575f80fd5b506105626105ad366004613401565b610ee8565b3480156105bd575f80fd5b506104186105cc366004613375565b610fba565b3480156105dc575f80fd5b50600d5461046d906001600160a01b031681565b3480156105fb575f80fd5b506104b9600f5481565b348015610610575f80fd5b50600a5461046d906001600160a01b031681565b34801561062f575f80fd5b5061041861063e366004613438565b610ff5565b34801561064e575f80fd5b506013546104189060ff1681565b348015610667575f80fd5b50610562610676366004613464565b611228565b348015610686575f80fd5b506105626112c3565b34801561069a575f80fd5b50600c5461046d906001600160a01b031681565b3480156106b9575f80fd5b506106c26113d2565b60405161042491906134c9565b3480156106da575f80fd5b506105626106e9366004613401565b611431565b3480156106f9575f80fd5b506104b960205481565b34801561070e575f80fd5b506104b9601b5481565b348015610723575f80fd5b506104b960075481565b348015610738575f80fd5b506104b9601a5481565b34801561074d575f80fd5b506104b960125481565b348015610762575f80fd5b506104b960195481565b348015610777575f80fd5b506013546104189062010000900460ff1681565b348015610796575f80fd5b506104b96107a5366004613464565b6001600160a01b03165f9081526020819052604090205490565b3480156107ca575f80fd5b506105626107d93660046133dd565b6114b9565b3480156107e9575f80fd5b5061056261152a565b3480156107fd575f80fd5b5061056261080c366004613401565b611560565b34801561081c575f80fd5b5061041861082b366004613464565b60226020525f908152604090205460ff1681565b34801561084a575f80fd5b506104b960175481565b34801561085f575f80fd5b5061056261086e3660046134db565b611627565b34801561087e575f80fd5b5061056261088d3660046134f6565b6116e8565b34801561089d575f80fd5b506105626108ac3660046133dd565b611761565b3480156108bc575f80fd5b506105626108cb366004613464565b611894565b3480156108db575f80fd5b506104186108ea366004613464565b60106020525f908152604090205460ff1681565b348015610909575f80fd5b506104b960065481565b34801561091e575f80fd5b5061046d61092d3660046133dd565b611945565b34801561093d575f80fd5b506005546001600160a01b031661046d565b34801561095a575f80fd5b50610562610969366004613464565b61196d565b348015610979575f80fd5b50610441611a95565b34801561098d575f80fd5b5061056261099c366004613401565b611aa4565b3480156109ac575f80fd5b506104186109bb366004613375565b611b97565b3480156109cb575f80fd5b506104186109da366004613375565b611c2f565b3480156109ea575f80fd5b506105626109f9366004613464565b611c3b565b348015610a09575f80fd5b506104b960085481565b348015610a1e575f80fd5b50610418610a2d366004613464565b60236020525f908152604090205460ff1681565b348015610a4c575f80fd5b506104b9601c5481565b348015610a61575f80fd5b50610562610a703660046134f6565b611cd6565b348015610a80575f80fd5b50610562610a8f3660046133dd565b611d4f565b348015610a9f575f80fd5b506104b960185481565b348015610ab4575f80fd5b506015546104189060ff1681565b348015610acd575f80fd5b50610562610adc3660046133dd565b611e52565b348015610aec575f80fd5b506104b9601e5481565b348015610b01575f80fd5b506104b960165481565b348015610b16575f80fd5b50610562610b253660046133dd565b611f15565b348015610b35575f80fd5b506104b9610b44366004613438565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610b79575f80fd5b506104b9601f5481565b348015610b8e575f80fd5b506104b9600b5481565b348015610ba3575f80fd5b50610562611fd1565b348015610bb7575f80fd5b50610562610bc6366004613464565b612007565b348015610bd6575f80fd5b506105626120f1565b606060038054610bee9061351f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a9061351f565b8015610c655780601f10610c3c57610100808354040283529160200191610c65565b820191905f5260205f20905b815481529060010190602001808311610c4857829003601f168201915b5050505050905090565b5f610c7b338484612165565b5060015b92915050565b5f610c91848484612288565b6001600160a01b0384165f90815260016020908152604080832033845290915290205482811015610d1a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610d278533858403612165565b506001949350505050565b6005546001600160a01b03163314610d5c5760405162461bcd60e51b8152600401610d1190613557565b670de0b6b3a76400006103e8610d7160025490565b610d7c9060056135a0565b610d8691906135b7565b610d9091906135b7565b81101580610dd05750670de0b6b3a76400006064610dad60025490565b610db89060026135a0565b610dc291906135b7565b610dcc91906135b7565b8111155b15610dee5760405163011333e360e71b815260040160405180910390fd5b610e0081670de0b6b3a76400006135a0565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009906020015b60405180910390a150565b6005546001600160a01b03163314610e665760405162461bcd60e51b8152600401610d1190613557565b6013546301000000900460ff16610ed95760405162461bcd60e51b815260206004820152603160248201527f4d61726b20626f742066756e6374696f6e616c69747920616c72656164792064604482015270697361626c656420666f7265766572212160781b6064820152608401610d11565b6013805463ff00000019169055565b6005546001600160a01b03163314610f125760405162461bcd60e51b8152600401610d1190613557565b601354610100900460ff1615610f7c5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f74207570646174652061667465722074726164696e6720697320666044820152681d5b98dd1a5bdb985b60ba1b6064820152608401610d11565b600980546001600160a01b039093166001600160a01b03199093169290921790915560138054911515620100000262ff000019909216919091179055565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610c7b918590610ff09086906135d6565b612165565b6005545f906001600160a01b031633146110215760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b0383166110775760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610d11565b6001600160a01b038316301415806110975750601354610100900460ff16155b6111005760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b6064820152608401610d11565b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa158015611144573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116891906135e9565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303815f875af11580156111b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111dc9190613600565b604080516001600160a01b0387168152602081018490529193507f56b65395e149a5ebbd528f66949d6a17c7a3040ec86fb945a71d574c66ea9584910160405180910390a15092915050565b6005546001600160a01b031633146112525760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b0381161561127a57604051635963709b60e01b815260040160405180910390fd5b600c80546001600160a01b0319166001600160a01b0383169081179091556040517fdc1d7aaa4422c1a2f3966b3887c85a36b5a020821d939610591dc87edf4cb1ba905f90a250565b6005546001600160a01b031633146112ed5760405162461bcd60e51b8152600401610d1190613557565b600b54305f908152602081905260409020541015611375576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610d11565b600a805460ff60a01b1916600160a01b179055611390612d3d565b600a805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b60606011805480602002602001604051908101604052809291908181526020018280548015610c6557602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161140a575050505050905090565b6005546001600160a01b0316331461145b5760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b0382165f81815260216020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146114e35760405162461bcd60e51b8152600401610d1190613557565b6114f581670de0b6b3a76400006135a0565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610e31565b6005546001600160a01b031633146115545760405162461bcd60e51b8152600401610d1190613557565b6013805460ff19169055565b6005546001600160a01b0316331461158a5760405162461bcd60e51b8152600401610d1190613557565b806115fd57600a546001600160a01b03908116908316036115fd5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610d11565b6001600160a01b03919091165f908152602260205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146116515760405162461bcd60e51b8152600401610d1190613557565b8061169e5760405162461bcd60e51b815260206004820152601860248201527f506c6561736520636f6e6669726d2072656e6f756e63652100000000000000006044820152606401610d11565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350600580546001600160a01b0319169055565b6005546001600160a01b031633146117125760405162461bcd60e51b8152600401610d1190613557565b6014601654116117355760405163acba29dd60e01b815260040160405180910390fd5b6017839055601882905560198190558061174f83856135d6565b61175991906135d6565b601655505050565b6005546001600160a01b0316331461178b5760405162461bcd60e51b8152600401610d1190613557565b601354610100900460ff16156117e35760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610d11565b600c8111156118445760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206d616b652070656e616c747920626c6f636b73206d6f72652060448201526607468616e2031360cc1b6064820152608401610d11565b6013805462ffff0019166201010017905543600e8190556118669082906135d6565b600f556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a150565b6005546001600160a01b031633146118be5760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b0381165f9081526010602052604090205460ff166119255760405162461bcd60e51b815260206004820152601e60248201527f57616c6c657420697320616c7265616479206e6f7420666c61676765642e00006044820152606401610d11565b6001600160a01b03165f908152601060205260409020805460ff19169055565b60118181548110611954575f80fd5b5f918252602090912001546001600160a01b0316905081565b6005546001600160a01b031633146119975760405162461bcd60e51b8152600401610d1190613557565b6013546301000000900460ff16611a0a5760405162461bcd60e51b815260206004820152603160248201527f4d61726b20626f742066756e6374696f6e616c69747920686173206265656e2060448201527064697361626c656420666f72657665722160781b6064820152608401610d11565b6001600160a01b0381165f9081526010602052604090205460ff1615611a725760405162461bcd60e51b815260206004820152601a60248201527f57616c6c657420697320616c726561647920666c61676765642e0000000000006044820152606401610d11565b6001600160a01b03165f908152601060205260409020805460ff19166001179055565b606060048054610bee9061351f565b6005546001600160a01b03163314611ace5760405162461bcd60e51b8152600401610d1190613557565b600a546001600160a01b0390811690831603611b525760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610d11565b611b5c8282612f48565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab905f90a35050565b335f9081526001602090815260408083206001600160a01b038616845290915281205482811015611c185760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610d11565b611c253385858403612165565b5060019392505050565b5f610c7b338484612288565b6005546001600160a01b03163314611c655760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b03811615611c8d57604051635963709b60e01b815260040160405180910390fd5b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f847d32250a26cc1c07d046aa98385fe214019f0f16d5a2697ed3632f9fbb0e80905f90a250565b6005546001600160a01b03163314611d005760405162461bcd60e51b8152600401610d1190613557565b6014601a5411611d2357604051636bde639160e01b815260040160405180910390fd5b601b839055601c829055601d81905580611d3d83856135d6565b611d4791906135d6565b601a55505050565b6005546001600160a01b03163314611d795760405162461bcd60e51b8152600401610d1190613557565b670de0b6b3a76400006103e8611d8e60025490565b611d999060056135a0565b611da391906135b7565b611dad91906135b7565b81101580611ded5750670de0b6b3a76400006064611dca60025490565b611dd59060056135a0565b611ddf91906135b7565b611de991906135b7565b8111155b15611e0b5760405163f838589d60e01b815260040160405180910390fd5b611e1d81670de0b6b3a76400006135a0565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc90602001610e31565b6005546001600160a01b03163314611e7c5760405162461bcd60e51b8152600401610d1190613557565b670de0b6b3a7640000620186a0611e9260025490565b611e9d9060016135a0565b611ea791906135b7565b611eb191906135b7565b81101580611ef25750670de0b6b3a76400006103e8611ecf60025490565b611eda9060016135a0565b611ee491906135b7565b611eee91906135b7565b8111155b15611f10576040516355e7799f60e01b815260040160405180910390fd5b600b55565b6005546001600160a01b03163314611f3f5760405162461bcd60e51b8152600401610d1190613557565b670de0b6b3a76400006103e8611f5460025490565b611f5f9060056135a0565b611f6991906135b7565b611f7391906135b7565b81101580611fb35750670de0b6b3a76400006064611f9060025490565b611f9b9060026135a0565b611fa591906135b7565b611faf91906135b7565b8111155b156114e3576040516327c6f4a560e01b815260040160405180910390fd5b6005546001600160a01b03163314611ffb5760405162461bcd60e51b8152600401610d1190613557565b6015805460ff19169055565b6005546001600160a01b031633146120315760405162461bcd60e51b8152600401610d1190613557565b6001600160a01b0381166120965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d11565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461211b5760405162461bcd60e51b8152600401610d1190613557565b6040515f90339047908381818185875af1925050503d805f811461215a576040519150601f19603f3d011682016040523d82523d5f602084013e61215f565b606091505b50505050565b6001600160a01b0383166121c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610d11565b6001600160a01b0382166122285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610d11565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166122ae5760405162461bcd60e51b8152600401610d119061361b565b6001600160a01b0382166122d45760405162461bcd60e51b8152600401610d1190613660565b5f81116123235760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610d11565b601354610100900460ff166123b4576001600160a01b0383165f9081526021602052604090205460ff168061236f57506001600160a01b0382165f9081526021602052604090205460ff165b6123b45760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610d11565b600f5443101580156123cd5750601354610100900460ff165b1561249c576001600160a01b0383165f9081526010602052604090205460ff16158061240657506005546001600160a01b038381169116145b8061241b57506001600160a01b03821661dead145b61249c5760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610d11565b60135460ff161561288e576005546001600160a01b038481169116148015906124d357506005546001600160a01b03838116911614155b80156124ea57506001600160a01b03821661dead14155b801561250e57506001600160a01b0383165f9081526021602052604090205460ff16155b801561253257506001600160a01b0382165f9081526021602052604090205460ff16155b1561288e5760155460ff1615612648576009546001600160a01b0383811691161480159061256e5750600a546001600160a01b03838116911614155b156126485761257e6002436136a3565b325f908152601460205260409020541080156125ba57506125a06002436136a3565b6001600160a01b0383165f90815260146020526040902054105b6126245760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610d11565b325f9081526014602052604080822043908190556001600160a01b03851683529120555b6001600160a01b0383165f9081526023602052604090205460ff16801561268757506001600160a01b0382165f9081526022602052604090205460ff16155b1561275d576006548111156126ef5760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610d11565b6008546001600160a01b0383165f9081526020819052604090205461271490836135d6565b11156127585760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610d11565b61288e565b6001600160a01b0382165f9081526023602052604090205460ff16801561279c57506001600160a01b0383165f9081526022602052604090205460ff16155b15612806576007548111156127585760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610d11565b6001600160a01b0382165f9081526022602052604090205460ff1661288e576008546001600160a01b0383165f9081526020819052604090205461284a90836135d6565b111561288e5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610d11565b305f90815260208190526040902054600b54811080159081906128b9575060135462010000900460ff165b80156128cf5750600a54600160a01b900460ff16155b80156128f257506001600160a01b0384165f9081526023602052604090205460ff165b1561292057600a805460ff60a01b1916600160a01b179055612912612d3d565b600a805460ff60a01b191690555b6001600160a01b0385165f9081526021602052604090205460019060ff168061296057506001600160a01b0385165f9081526021602052604090205460ff165b1561296857505f5b5f8115612d2957600f544310801561299757506001600160a01b0387165f9081526023602052604090205460ff165b80156129bb57506001600160a01b0386165f9081526023602052604090205460ff16155b80156129df57506001600160a01b0386165f9081526021602052604090205460ff16155b80156129ec57505f601654115b15612b7b576001600160a01b0386165f9081526010602052604090205460ff16612ace576001600160a01b0386165f908152601060205260408120805460ff191660019081179091556012805491929091612a489084906135d6565b9091555050601180546001810182555f919091527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180546001600160a01b0319166001600160a01b0388169081179091556040519081527fe6d87a7136763cfaf05e7906bfe30079dfc11c4af7a01c3a05819986f6600f9d9060200160405180910390a15b6064612adb8660506135a0565b612ae591906135b7565b905060165460185482612af891906135a0565b612b0291906135b7565b601f5f828254612b1291906135d6565b9091555050601654601754612b2790836135a0565b612b3191906135b7565b601e5f828254612b4191906135d6565b9091555050601654601954612b5690836135a0565b612b6091906135b7565b60205f828254612b7091906135d6565b90915550612d0b9050565b6001600160a01b0386165f9081526023602052604090205460ff168015612ba357505f601a54115b15612c33576064601a5486612bb891906135a0565b612bc291906135b7565b9050601a54601c5482612bd591906135a0565b612bdf91906135b7565b601f5f828254612bef91906135d6565b9091555050601a54601b54612c0490836135a0565b612c0e91906135b7565b601e5f828254612c1e91906135d6565b9091555050601a54601d54612b5690836135a0565b6001600160a01b0387165f9081526023602052604090205460ff168015612c5b57505f601654115b15612d0b57606460165486612c7091906135a0565b612c7a91906135b7565b905060165460185482612c8d91906135a0565b612c9791906135b7565b601f5f828254612ca791906135d6565b9091555050601654601754612cbc90836135a0565b612cc691906135b7565b601e5f828254612cd691906135d6565b9091555050601654601954612ceb90836135a0565b612cf591906135b7565b60205f828254612d0591906135d6565b90915550505b8015612d1c57612d1c873083612f75565b612d2681866136a3565b94505b612d34878787612f75565b50505050505050565b305f9081526020819052604081205490505f602054601e54601f54612d6291906135d6565b612d6c91906135d6565b90505f818310612d7c5781612d7e565b825b9050805f03612d8c57505050565b600b54612d9a90601e6135a0565b811115612db257600b54612daf90601e6135a0565b90505b5f80600284601f5485612dc591906135a0565b612dcf91906135b7565b612dd991906135b7565b9050612ded612de882856136a3565b6130c8565b601f54479081905f90612e02906002906135b7565b612e0c90886136a3565b601e54612e1990856135a0565b612e2391906135b7565b90505f6002601f54612e3591906135b7565b612e3f90896136a3565b602054612e4c90866135a0565b612e5691906135b7565b9050612e6281836135d6565b612e6c90846136a3565b5f601f819055601e81905560205592508415801590612e8a57505f83115b15612e9957612e998584613218565b600d546040516001600160a01b039091169082905f81818185875af1925050503d805f8114612ee3576040519150601f19603f3d011682016040523d82523d5f602084013e612ee8565b606091505b5050600c546040519197506001600160a01b03169047905f81818185875af1925050503d805f8114612f35576040519150601f19603f3d011682016040523d82523d5f602084013e612f3a565b606091505b505050505050505050505050565b6001600160a01b0382165f908152602360205260409020805460ff1916821515179055611b5c82826132c7565b6001600160a01b038316612f9b5760405162461bcd60e51b8152600401610d119061361b565b6001600160a01b038216612fc15760405162461bcd60e51b8152600401610d1190613660565b6001600160a01b0383165f90815260208190526040902054818110156130385760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610d11565b6001600160a01b038085165f9081526020819052604080822085850390559185168152908120805484929061306e9084906135d6565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516130ba91815260200190565b60405180910390a350505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106130fb576130fb6136b6565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015613152573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061317691906136ca565b81600181518110613189576131896136b6565b6001600160a01b0392831660209182029290920101526009546131af9130911684612165565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906131e79085905f908690309042906004016136e5565b5f604051808303815f87803b1580156131fe575f80fd5b505af1158015613210573d5f803e3d5ffd5b505050505050565b6009546132309030906001600160a01b031684612165565b60095460405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561329b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906132c09190613720565b5050505050565b6001600160a01b0382165f81815260226020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114613372575f80fd5b50565b5f8060408385031215613386575f80fd5b82356133918161335e565b946020939093013593505050565b5f805f606084860312156133b1575f80fd5b83356133bc8161335e565b925060208401356133cc8161335e565b929592945050506040919091013590565b5f602082840312156133ed575f80fd5b5035919050565b8015158114613372575f80fd5b5f8060408385031215613412575f80fd5b823561341d8161335e565b9150602083013561342d816133f4565b809150509250929050565b5f8060408385031215613449575f80fd5b82356134548161335e565b9150602083013561342d8161335e565b5f60208284031215613474575f80fd5b813561347f8161335e565b9392505050565b5f8151808452602084019350602083015f5b828110156134bf5781516001600160a01b0316865260209586019590910190600101613498565b5093949350505050565b602081525f61347f6020830184613486565b5f602082840312156134eb575f80fd5b813561347f816133f4565b5f805f60608486031215613508575f80fd5b505081359360208301359350604090920135919050565b600181811c9082168061353357607f821691505b60208210810361355157634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610c7f57610c7f61358c565b5f826135d157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610c7f57610c7f61358c565b5f602082840312156135f9575f80fd5b5051919050565b5f60208284031215613610575f80fd5b815161347f816133f4565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c7f57610c7f61358c565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156136da575f80fd5b815161347f8161335e565b85815284602082015260a060408201525f61370360a0830186613486565b6001600160a01b0394909416606083015250608001529392505050565b5f805f60608486031215613732575f80fd5b505081516020830151604090930151909492935091905056fea264697066735822122012053ef921f3b8c50e3c6a850a185a10dfde4b97f885fb6a6758bced1a9fba8f64736f6c634300081a00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0