0x60c06040526019600b55600c805460ff19908116909155610e10600d55610708600f556011805462ffffff19166001908117909155601380548316821790556000601455602380549092161790553480156200005a57600080fd5b50604080518082018252600c81526b2d37b63cbab6902a37b5b2b760a11b6020808301918252835180850190945260068452655a6f6c79756d60d01b908401528151919291620000ad916003916200077d565b508051620000c39060049060208401906200077d565b5050506000620000d86200049d60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d62000148816001620004a1565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200018e57600080fd5b505afa158015620001a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c9919062000823565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021257600080fd5b505afa15801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000823565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029657600080fd5b505af1158015620002ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d1919062000823565b6001600160a01b031660a0819052620002ec906001620004a1565b60a051620002fc9060016200051b565b60056002818082816c0c9f2c9cd04674edea400000006103e86200032282600a62000864565b6200032e919062000886565b6008556103e86200034182601462000864565b6200034d919062000886565b600a556127106200036082600562000864565b6200036c919062000886565b600955601687905560178690556018859055846200038b8789620008a9565b620003979190620008a9565b601555601a849055601b839055601c82905581620003b68486620008a9565b620003c29190620008a9565b601955600680546001600160a01b03199081167310c63a41d9bdd22c5ef9af4f404db3c0012bfda71790915560078054909116730d4cfb39798c661f61a4bbbb71a2d20ae0e4a0751790556200042c620004246005546001600160a01b031690565b60016200056f565b620004393060016200056f565b6200044861dead60016200056f565b620004676200045f6005546001600160a01b031690565b6001620004a1565b62000474306001620004a1565b6200048361dead6001620004a1565b6200048f338262000617565b505050505050505062000901565b3390565b6005546001600160a01b03163314620004f05760405162461bcd60e51b815260206004820181905260248201526000805160206200423983398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152602160205260409020805460ff1916911515919091179055565b6001600160a01b038216600081815260226020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314620005ba5760405162461bcd60e51b81526020600482018190526024820152600080516020620042398339815191526044820152606401620004e7565b6001600160a01b03821660008181526020808052604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166200066f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004e7565b6200068b816002546200071360201b62001d691790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620006be91839062001d6962000713821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080620007228385620008a9565b905083811015620007765760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620004e7565b9392505050565b8280546200078b90620008c4565b90600052602060002090601f016020900481019282620007af5760008555620007fa565b82601f10620007ca57805160ff1916838001178555620007fa565b82800160010185558215620007fa579182015b82811115620007fa578251825591602001919060010190620007dd565b50620008089291506200080c565b5090565b5b808211156200080857600081556001016200080d565b6000602082840312156200083657600080fd5b81516001600160a01b03811681146200077657600080fd5b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156200088157620008816200084e565b500290565b600082620008a457634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620008bf57620008bf6200084e565b500190565b600181811c90821680620008d957607f821691505b60208210811415620008fb57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a0516138b062000989600039600081816105eb0152818161138f01528181611beb01528181611c9501528181611cc10152818161220401528181612f0f01528181612fc00152612fec01526000818161045a015281816121c60152818161315a0152818161322201528181613277015281816132f1015261331801526138b06000f3fe6080604052600436106103b15760003560e01c80638ea5220f116101e7578063c02466681161010d578063e2f45605116100a0578063f2fde38b1161006f578063f2fde38b14610acd578063f637434214610aed578063f8b45b0514610b03578063fe72b27a14610b1957600080fd5b8063e2f4560514610a72578063e5aa3d5814610a88578063e884f26014610aa2578063f11a24d314610ab757600080fd5b8063c8c8ebe4116100dc578063c8c8ebe4146109e0578063d257b34f146109f6578063d85ba06314610a16578063dd62ed3e14610a2c57600080fd5b8063c024666814610966578063c17b5b8c14610986578063c18bc195146109a6578063c876d0b9146109c657600080fd5b80639fccce3211610185578063a9059cbb11610154578063a9059cbb146108d7578063b62496f5146108f7578063b7b6687014610927578063bbc0c7421461094757600080fd5b80639fccce3214610875578063a0d82dc51461088b578063a457c2d7146108a1578063a4c82a00146108c157600080fd5b806395d89b41116101c157806395d89b41146108145780639a7a23d6146108295780639c3b4fdc146108495780639ec22c0e1461085f57600080fd5b80638ea5220f146107be57806392136913146107de578063924de9b7146107f457600080fd5b806339509351116102d7578063730c18881161026a5780637bce5a04116102395780637bce5a04146107555780638095d5641461076b5780638a8c523c1461078b5780638da5cb5b146107a057600080fd5b8063730c1888146106e0578063751039fc146107005780637571336a1461071557806375f0a8741461073557600080fd5b80636a486a8e116102a65780636a486a8e1461065f5780636ddd17131461067557806370a0823114610695578063715018a6146106cb57600080fd5b806339509351146105b957806349bd5a5e146105d95780634a62bb651461060d5780634fbee1931461062757600080fd5b8063199ffc721161034f57806323b872dd1161031e57806323b872dd1461054d5780632c3e486c1461056d5780632e82f1a014610583578063313ce5671461059d57600080fd5b8063199ffc72146104eb5780631a8145bb146105015780631f3fed8f14610517578063203e727e1461052d57600080fd5b80631694505e1161038b5780631694505e1461044857806318160ddd146104945780631816467f146104b3578063184c16c5146104d557600080fd5b806306fdde03146103bd578063095ea7b3146103e857806310d5de531461041857600080fd5b366103b857005b600080fd5b3480156103c957600080fd5b506103d2610b39565b6040516103df9190613418565b60405180910390f35b3480156103f457600080fd5b506104086104033660046134a0565b610bcb565b60405190151581526020016103df565b34801561042457600080fd5b506104086104333660046134cc565b60216020526000908152604090205460ff1681565b34801561045457600080fd5b5061047c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103df565b3480156104a057600080fd5b506002545b6040519081526020016103df565b3480156104bf57600080fd5b506104d36104ce3660046134cc565b610be2565b005b3480156104e157600080fd5b506104a5600f5481565b3480156104f757600080fd5b506104a5600b5481565b34801561050d57600080fd5b506104a5601e5481565b34801561052357600080fd5b506104a5601d5481565b34801561053957600080fd5b506104d36105483660046134e9565b610cb6565b34801561055957600080fd5b50610408610568366004613502565b610dc6565b34801561057957600080fd5b506104a5600d5481565b34801561058f57600080fd5b50600c546104089060ff1681565b3480156105a957600080fd5b50604051601281526020016103df565b3480156105c557600080fd5b506104086105d43660046134a0565b610e2f565b3480156105e557600080fd5b5061047c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561061957600080fd5b506011546104089060ff1681565b34801561063357600080fd5b506104086106423660046134cc565b6001600160a01b0316600090815260208052604090205460ff1690565b34801561066b57600080fd5b506104a560195481565b34801561068157600080fd5b506011546104089062010000900460ff1681565b3480156106a157600080fd5b506104a56106b03660046134cc565b6001600160a01b031660009081526020819052604090205490565b3480156106d757600080fd5b506104d3610e65565b3480156106ec57600080fd5b506104d36106fb366004613553565b610ecb565b34801561070c57600080fd5b5061040861103b565b34801561072157600080fd5b506104d3610730366004613588565b6110a8565b34801561074157600080fd5b5060065461047c906001600160a01b031681565b34801561076157600080fd5b506104a560165481565b34801561077757600080fd5b506104d36107863660046135bd565b61112d565b34801561079757600080fd5b506104d3611205565b3480156107ac57600080fd5b506005546001600160a01b031661047c565b3480156107ca57600080fd5b5060075461047c906001600160a01b031681565b3480156107ea57600080fd5b506104a5601a5481565b34801561080057600080fd5b506104d361080f3660046135e9565b611292565b34801561082057600080fd5b506103d2611324565b34801561083557600080fd5b506104d3610844366004613588565b611333565b34801561085557600080fd5b506104a560185481565b34801561086b57600080fd5b506104a560105481565b34801561088157600080fd5b506104a5601f5481565b34801561089757600080fd5b506104a5601c5481565b3480156108ad57600080fd5b506104086108bc3660046134a0565b611443565b3480156108cd57600080fd5b506104a5600e5481565b3480156108e357600080fd5b506104086108f23660046134a0565b611492565b34801561090357600080fd5b506104086109123660046134cc565b60226020526000908152604090205460ff1681565b34801561093357600080fd5b506104d3610942366004613502565b61149f565b34801561095357600080fd5b5060115461040890610100900460ff1681565b34801561097257600080fd5b506104d3610981366004613588565b6115a4565b34801561099257600080fd5b506104d36109a13660046135bd565b61165b565b3480156109b257600080fd5b506104d36109c13660046134e9565b61172c565b3480156109d257600080fd5b506013546104089060ff1681565b3480156109ec57600080fd5b506104a560085481565b348015610a0257600080fd5b50610408610a113660046134e9565b611847565b348015610a2257600080fd5b506104a560155481565b348015610a3857600080fd5b506104a5610a47366004613604565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a7e57600080fd5b506104a560095481565b348015610a9457600080fd5b506023546104089060ff1681565b348015610aae57600080fd5b50610408611949565b348015610ac357600080fd5b506104a560175481565b348015610ad957600080fd5b506104d3610ae83660046134cc565b6119b6565b348015610af957600080fd5b506104a5601b5481565b348015610b0f57600080fd5b506104a5600a5481565b348015610b2557600080fd5b50610408610b343660046134e9565b611a84565b606060038054610b489061363d565b80601f0160208091040260200160405190810160405280929190818152602001828054610b749061363d565b8015610bc15780601f10610b9657610100808354040283529160200191610bc1565b820191906000526020600020905b815481529060010190602001808311610ba457829003601f168201915b5050505050905090565b6000610bd8338484611dcf565b5060015b92915050565b6005546001600160a01b03163314610c415760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610d105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b670de0b6b3a7640000620f4240610d2660025490565b610d3190600161368e565b610d3b91906136cb565b610d4591906136cb565b811015610dba5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201527f6c6f776572207468616e20302e312500000000000000000000000000000000006064820152608401610c38565b610dc381611f28565b50565b6000610dd3848484611f82565b610e258433610e208560405180606001604052806028815260200161382e602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190612981565b611dcf565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610bd8918590610e209086611d69565b6005546001600160a01b03163314610ebf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b610ec960006119b6565b565b6005546001600160a01b03163314610f255760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b610258831015610f9d5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e20746860448201527f616e206576657279203130206d696e75746573000000000000000000000000006064820152608401610c38565b6103e88211158015610fad575060015b61101f5760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201527f747765656e20302520616e6420313025000000000000000000000000000000006064820152608401610c38565b600d92909255600b55600c805460ff1916911515919091179055565b6005546000906001600160a01b031633146110985760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b506011805460ff19169055600190565b6005546001600160a01b031633146111025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b6001600160a01b03919091166000908152602160205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146111875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b601683905560178290556018819055806111a183856136ed565b6111ab91906136ed565b6015819055601410156112005760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610c38565b505050565b6005546001600160a01b0316331461125f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b601180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff166201010017905542600e55565b6005546001600160a01b031633146112ec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b6011805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055565b606060048054610b489061363d565b6005546001600160a01b0316331461138d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614156114355760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c38565b61143f82826129bb565b5050565b6000610bd83384610e2085604051806060016040528060258152602001613856602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190612981565b6000610bd8338484611f82565b6005546001600160a01b031633146114f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b6006546040516001600160a01b03918216918516907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a36001600160a01b0382166000908152602081905260409020546115579082611d69565b6001600160a01b0392831660009081526020819052604090205550600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001692909116919091179055565b6005546001600160a01b031633146115fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b6001600160a01b03821660008181526020808052604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146116b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b601a839055601b829055601c819055806116cf83856136ed565b6116d991906136ed565b601981815510156112005760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610c38565b6005546001600160a01b031633146117865760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b670de0b6b3a7640000620f424061179c60025490565b6117a790600161368e565b6117b191906136cb565b6117bb91906136cb565b81101561182f5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060448201527f302e3525000000000000000000000000000000000000000000000000000000006064820152608401610c38565b61184181670de0b6b3a764000061368e565b600a5550565b6005546000906001600160a01b031633146118a45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b620186a06118b160025490565b6118bc90600161368e565b6118c691906136cb565b82101561193b5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527f20302e3030312520746f74616c20737570706c792e00000000000000000000006064820152608401610c38565b50600981905560015b919050565b6005546000906001600160a01b031633146119a65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b506013805460ff19169055600190565b6005546001600160a01b03163314611a105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6005546000906001600160a01b03163314611ae15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c38565b600f54601054611af191906136ed565b4211611b3f5760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610c38565b6103e8821115611bb75760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201527f6b656e7320696e204c50000000000000000000000000000000000000000000006064820152608401610c38565b426010556040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482015260009030906370a082319060240160206040518083038186803b158015611c3657600080fd5b505afa158015611c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6e9190613705565b90506000611c88612710611c828487612a0f565b90612aaa565b90508015611cbd57611cbd7f000000000000000000000000000000000000000000000000000000000000000061dead83612aec565b60007f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611d1d57600080fd5b505af1158015611d31573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1506001949350505050565b600080611d7683856136ed565b905083811015611dc85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c38565b9392505050565b6001600160a01b038316611e4a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610c38565b6001600160a01b038216611ec65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610c38565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600254611f3d82670de0b6b3a764000061368e565b10611f6a57611f5481670de0b6b3a764000061368e565b6014556023805460ff19811660ff909116151790555b611f7c81670de0b6b3a764000061368e565b60085550565b6001600160a01b038316611ffe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c38565b6001600160a01b03821661207a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c38565b8061208b5761120083836000612aec565b60115460ff1615612592576005546001600160a01b038481169116148015906120c257506005546001600160a01b03838116911614155b80156120d657506001600160a01b03821615155b80156120ed57506001600160a01b03821661dead14155b80156121035750600554600160a01b900460ff16155b1561259257601154610100900460ff166121a0576001600160a01b038316600090815260208052604090205460ff168061215457506001600160a01b038216600090815260208052604090205460ff165b6121a05760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610c38565b60135460ff16156122fb576005546001600160a01b038381169116148015906121fb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561223957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b156122fb573260009081526012602052604090205443116122e85760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60648201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000608482015260a401610c38565b3260009081526012602052604090204390555b6001600160a01b03831660009081526022602052604090205460ff16801561233c57506001600160a01b03821660009081526021602052604090205460ff16155b15612432576008548111156123b95760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d61785472616e73616374696f6e416d6f756e742e00000000000000000000006064820152608401610c38565b600a546001600160a01b0383166000908152602081905260409020546123df90836136ed565b111561242d5760405162461bcd60e51b815260206004820152601360248201527f4d61782077616c6c6574206578636565646564000000000000000000000000006044820152606401610c38565b612592565b6001600160a01b03821660009081526022602052604090205460ff16801561247357506001600160a01b03831660009081526021602052604090205460ff16155b156124fe57600854811115801561248c575060235460ff165b61242d5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d61785472616e73616374696f6e416d6f756e742e000000000000000000006064820152608401610c38565b6001600160a01b03821660009081526021602052604090205460ff1661259257600a546001600160a01b03831660009081526020819052604090205461254490836136ed565b11156125925760405162461bcd60e51b815260206004820152601360248201527f4d61782077616c6c6574206578636565646564000000000000000000000000006044820152606401610c38565b30600090815260208190526040902054600954811080159081906125be575060115462010000900460ff165b80156125d45750600554600160a01b900460ff16155b80156125f957506001600160a01b03851660009081526022602052604090205460ff16155b801561261d57506001600160a01b038516600090815260208052604090205460ff16155b801561264157506001600160a01b038416600090815260208052604090205460ff16155b156126a557600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b17905561267c612ca1565b600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555b600554600160a01b900460ff161580156126d757506001600160a01b03841660009081526022602052604090205460ff165b80156126e55750600c5460ff165b80156127005750600d54600e546126fc91906136ed565b4210155b801561272457506001600160a01b038516600090815260208052604090205460ff16155b1561273357612731612edb565b505b6005546001600160a01b038616600090815260208052604090205460ff600160a01b90920482161591168061277f57506001600160a01b038516600090815260208052604090205460ff165b15612788575060005b6000811561296d576001600160a01b03861660009081526022602052604090205460ff1680156127ba57506000601954115b15612872576127d96064611c8260195488612a0f90919063ffffffff16565b9050601954601b54826127ec919061368e565b6127f691906136cb565b601e600082825461280791906136ed565b9091555050601954601c5461281c908361368e565b61282691906136cb565b601f600082825461283791906136ed565b9091555050601954601a5461284c908361368e565b61285691906136cb565b601d600082825461286791906136ed565b9091555061294f9050565b6001600160a01b03871660009081526022602052604090205460ff16801561289c57506000601554115b1561294f576128bb6064611c8260155488612a0f90919063ffffffff16565b9050601554601754826128ce919061368e565b6128d891906136cb565b601e60008282546128e991906136ed565b90915550506015546018546128fe908361368e565b61290891906136cb565b601f600082825461291991906136ed565b909155505060155460165461292e908361368e565b61293891906136cb565b601d600082825461294991906136ed565b90915550505b801561296057612960873083612aec565b61296a818661371e565b94505b612978878787612aec565b50505050505050565b600081848411156129a55760405162461bcd60e51b8152600401610c389190613418565b5060006129b2848661371e565b95945050505050565b6001600160a01b038216600081815260226020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600082612a1e57506000610bdc565b6000612a2a838561368e565b905082612a3785836136cb565b14611dc85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152608401610c38565b6000611dc883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613093565b6001600160a01b038316612b685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610c38565b6001600160a01b038216612be45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610c38565b612c2181604051806060016040528060268152602001613808602691396001600160a01b0386166000908152602081905260409020549190612981565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612c509082611d69565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611f1b565b3060009081526020819052604081205490506000601f54601d54601e54612cc891906136ed565b612cd291906136ed565b90506000821580612ce1575081155b15612ceb57505050565b600954612cf990601461368e565b831115612d1157600954612d0e90601461368e565b92505b6000600283601e5486612d24919061368e565b612d2e91906136cb565b612d3891906136cb565b90506000612d4685836130c1565b905047612d5282613103565b6000612d5e47836130c1565b90506000612d7b87611c82601d5485612a0f90919063ffffffff16565b90506000612d9888611c82601f5486612a0f90919063ffffffff16565b9050600081612da7848661371e565b612db1919061371e565b6000601e819055601d819055601f8190556007546040519293506001600160a01b031691849181818185875af1925050503d8060008114612e0e576040519150601f19603f3d011682016040523d82523d6000602084013e612e13565b606091505b50909850508615801590612e275750600081115b15612e7a57612e3687826132eb565b601e54604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b03909116904790600081818185875af1925050503d8060008114612ec7576040519150601f19603f3d011682016040523d82523d6000602084013e612ecc565b606091505b50505050505050505050505050565b42600e556040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819030906370a082319060240160206040518083038186803b158015612f5c57600080fd5b505afa158015612f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f949190613705565b90506000612fb3612710611c82600b5485612a0f90919063ffffffff16565b90508015612fe857612fe87f000000000000000000000000000000000000000000000000000000000000000061dead83612aec565b60007f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561304857600080fd5b505af115801561305c573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b600081836130b45760405162461bcd60e51b8152600401610c389190613418565b5060006129b284866136cb565b6000611dc883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612981565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061313857613138613735565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156131b157600080fd5b505afa1580156131c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e9919061374b565b816001815181106131fc576131fc613735565b60200260200101906001600160a01b031690816001600160a01b031681525050613247307f000000000000000000000000000000000000000000000000000000000000000084611dcf565b6040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906132b5908590600090869030904290600401613768565b600060405180830381600087803b1580156132cf57600080fd5b505af11580156132e3573d6000803e3d6000fd5b505050505050565b613316307f000000000000000000000000000000000000000000000000000000000000000084611dcf565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d71982308560008061335d6005546001600160a01b031690565b60405160e088901b7fffffffff000000000000000000000000000000000000000000000000000000001681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156133d857600080fd5b505af11580156133ec573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061341191906137d9565b5050505050565b600060208083528351808285015260005b8181101561344557858101830151858201604001528201613429565b81811115613457576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6001600160a01b0381168114610dc357600080fd5b600080604083850312156134b357600080fd5b82356134be8161348b565b946020939093013593505050565b6000602082840312156134de57600080fd5b8135611dc88161348b565b6000602082840312156134fb57600080fd5b5035919050565b60008060006060848603121561351757600080fd5b83356135228161348b565b925060208401356135328161348b565b929592945050506040919091013590565b8035801515811461194457600080fd5b60008060006060848603121561356857600080fd5b833592506020840135915061357f60408501613543565b90509250925092565b6000806040838503121561359b57600080fd5b82356135a68161348b565b91506135b460208401613543565b90509250929050565b6000806000606084860312156135d257600080fd5b505081359360208301359350604090920135919050565b6000602082840312156135fb57600080fd5b611dc882613543565b6000806040838503121561361757600080fd5b82356136228161348b565b915060208301356136328161348b565b809150509250929050565b600181811c9082168061365157607f821691505b6020821081141561367257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136c6576136c6613678565b500290565b6000826136e857634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561370057613700613678565b500190565b60006020828403121561371757600080fd5b5051919050565b60008282101561373057613730613678565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561375d57600080fd5b8151611dc88161348b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156137b85784516001600160a01b031683529383019391830191600101613793565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156137ee57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122014392766726f2879396a45608a67b90b12656e979d82acf14233cc37f8cea2e964736f6c634300080900334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572