0x6080604052600436106101f15760003560e01c8063702509fd1161010d578063a9059cbb116100a0578063d99274481161006f578063d9927448146105aa578063dd62ed3e146105ca578063e2f4560514610610578063f2fde38b14610626578063f9d0831a1461064657600080fd5b8063a9059cbb1461052a578063ad29ffde1461054a578063afa4f3b21461056a578063c02466681461058a57600080fd5b80638da5cb5b116100dc5780638da5cb5b146104b757806395d89b41146104d5578063988be118146104ea578063a457c2d71461050a57600080fd5b8063702509fd1461043657806370a082311461044c578063715018a6146104825780638b4cee081461049757600080fd5b80632b14ca5611610185578063488eb37f11610154578063488eb37f146103a257806349bd5a5e146103bc5780634ada218b146103dc5780634fbee193146103fd57600080fd5b80632b14ca561461033a578063313ce56714610350578063395093511461036c578063470624021461038c57600080fd5b806318160ddd116101c157806318160ddd146102b257806323b872dd146102d15780632535a3eb146102f157806327c8f8351461030657600080fd5b80625bc23c146101fd57806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d6102183660046117c8565b610666565b005b34801561022b57600080fd5b506102346106a9565b6040516102419190611809565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611857565b61073b565b6040519015158152602001610241565b34801561028657600080fd5b5060065461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b506002545b604051908152602001610241565b3480156102dd57600080fd5b5061026a6102ec3660046117c8565b610752565b3480156102fd57600080fd5b5061021d610803565b34801561031257600080fd5b5061029a7f000000000000000000000000000000000000000000000000000000000000dead81565b34801561034657600080fd5b506102c3600a5481565b34801561035c57600080fd5b5060405160128152602001610241565b34801561037857600080fd5b5061026a610387366004611857565b61083f565b34801561039857600080fd5b506102c360095481565b3480156103ae57600080fd5b50600f5461026a9060ff1681565b3480156103c857600080fd5b5060075461029a906001600160a01b031681565b3480156103e857600080fd5b50600d5461026a90600160a01b900460ff1681565b34801561040957600080fd5b5061026a610418366004611883565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561044257600080fd5b506102c3600c5481565b34801561045857600080fd5b506102c3610467366004611883565b6001600160a01b031660009081526020819052604090205490565b34801561048e57600080fd5b5061021d61087b565b3480156104a357600080fd5b5061021d6104b23660046118a7565b6108ef565b3480156104c357600080fd5b506005546001600160a01b031661029a565b3480156104e157600080fd5b50610234610955565b3480156104f657600080fd5b5061021d6105053660046118ce565b610964565b34801561051657600080fd5b5061026a610525366004611857565b6109d5565b34801561053657600080fd5b5061026a610545366004611857565b610a6e565b34801561055657600080fd5b5061021d6105653660046118eb565b610a7b565b34801561057657600080fd5b5061021d6105853660046118a7565b610b90565b34801561059657600080fd5b5061021d6105a5366004611971565b610c7a565b3480156105b657600080fd5b5061021d6105c5366004611883565b610d43565b3480156105d657600080fd5b506102c36105e53660046119aa565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561061c57600080fd5b506102c3600e5481565b34801561063257600080fd5b5061021d610641366004611883565b610e2d565b34801561065257600080fd5b5061021d610661366004611883565b610f18565b6005546001600160a01b031633146106995760405162461bcd60e51b8152600401610690906119d8565b60405180910390fd5b6106a48383836110b8565b505050565b6060600380546106b890611a0d565b80601f01602080910402602001604051908101604052809291908181526020018280546106e490611a0d565b80156107315780601f1061070657610100808354040283529160200191610731565b820191906000526020600020905b81548152906001019060200180831161071457829003601f168201915b5050505050905090565b6000610748338484611375565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146107ed57828110156107e05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610690565b6107ed8533858403611375565b6107f88585856110b8565b506001949350505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561083c573d6000803e3d6000fd5b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610748918590610876908690611a5d565b611375565b6005546001600160a01b031633146108a55760405162461bcd60e51b8152600401610690906119d8565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146109195760405162461bcd60e51b8152600401610690906119d8565b600a8190556040518181527f495ee53ee22006979ebc689a00ed737d7c13b6419142f82dcaea4ed95ac1e780906020015b60405180910390a150565b6060600480546106b890611a0d565b6005546001600160a01b0316331461098e5760405162461bcd60e51b8152600401610690906119d8565b600f805460ff191682151590811790915560405160ff909116151581527f94da5f18dc9529c37f2af4ffa1921f49d8bb14b6e5fe22b0d6ddc94f102f92329060200161094a565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610a575760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610690565b610a643385858403611375565b5060019392505050565b60006107483384846110b8565b6005546001600160a01b03163314610aa55760405162461bcd60e51b8152600401610690906119d8565b60005b82811015610b8a576000848483818110610ac457610ac4611a70565b9050602002016020810190610ad99190611883565b6001600160a01b03811660009081526008602052604090205490915083151560ff909116151503610b1c5760405162461bcd60e51b815260040161069090611a86565b6001600160a01b038116600081815260086020908152604091829020805460ff191687151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25080610b8281611ad0565b915050610aa8565b50505050565b6005546001600160a01b03163314610bba5760405162461bcd60e51b8152600401610690906119d8565b620f4240610bc760025490565b610bd19190611ae9565b8111610c455760405162461bcd60e51b815260206004820152603f60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c79006064820152608401610690565b600e8190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200161094a565b6005546001600160a01b03163314610ca45760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b03821660009081526008602052604090205481151560ff909116151503610ce45760405162461bcd60e51b815260040161069090611a86565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b600d546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dba9190611b0b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e299190611b24565b5050565b6005546001600160a01b03163314610e575760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b038116610ebc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610690565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f425760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b038116610fd757604051600090339047908381818185875af1925050503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b5050905080610e295760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610690565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190611b0b565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611094573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8a9190611b24565b6001600160a01b0383166110de5760405162461bcd60e51b815260040161069090611b41565b6001600160a01b0382166111045760405162461bcd60e51b815260040161069090611b86565b600d54600160a01b900460ff168061113457506001600160a01b03831660009081526008602052604090205460ff165b8061115757506001600160a01b03821660009081526008602052604090205460ff165b6111a35760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610690565b6001600160a01b03831660009081526008602052604090205460ff161580156111e357506001600160a01b03831660009081526020819052604090205481145b156111f6576111f3600182611bc9565b90505b8060000361120a576106a483836000611499565b30600090815260208190526040902054600e54811080159081906112365750600f54610100900460ff16155b801561124f57506007546001600160a01b038581169116145b1561128857600f805461ff001981166101001790915560ff161561127357600e5491505b61127c826115ed565b600f805461ff00191690555b6001600160a01b03851660009081526008602052604081205460ff16806112c757506001600160a01b03851660009081526008602052604090205460ff165b806112d95750600f54610100900460ff165b156112e657506000611329565b6007546001600160a01b03908116908716036113055750600954611329565b6007546001600160a01b03908116908616036113245750600a54611329565b50600c545b8015611362576000606461133d8387611bdc565b6113479190611ae9565b90506113538186611bc9565b9450611360873083611499565b505b61136d868686611499565b505050505050565b6001600160a01b0383166113d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610690565b6001600160a01b0382166114385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610690565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114bf5760405162461bcd60e51b815260040161069090611b41565b6001600160a01b0382166114e55760405162461bcd60e51b815260040161069090611b86565b6001600160a01b0383166000908152602081905260409020548181101561155d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610690565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611594908490611a5d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115e091815260200190565b60405180910390a3610b8a565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061162657611626611a70565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a39190611bf3565b816001815181106116b6576116b6611a70565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906116fc908690600090869030904290600401611c10565b600060405180830381600087803b15801561171657600080fd5b505af115801561172a573d6000803e3d6000fd5b505050506000824761173c9190611bc9565b600d546040519192506000916001600160a01b039091169083156108fc0290849084818181858888f19350505050905080156117ac5760408051868152602081018490527f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be910160405180910390a15b5050505050565b6001600160a01b038116811461083c57600080fd5b6000806000606084860312156117dd57600080fd5b83356117e8816117b3565b925060208401356117f8816117b3565b929592945050506040919091013590565b600060208083528351808285015260005b818110156118365785810183015185820160400152820161181a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561186a57600080fd5b8235611875816117b3565b946020939093013593505050565b60006020828403121561189557600080fd5b81356118a0816117b3565b9392505050565b6000602082840312156118b957600080fd5b5035919050565b801515811461083c57600080fd5b6000602082840312156118e057600080fd5b81356118a0816118c0565b60008060006040848603121561190057600080fd5b833567ffffffffffffffff8082111561191857600080fd5b818601915086601f83011261192c57600080fd5b81358181111561193b57600080fd5b8760208260051b850101111561195057600080fd5b60209283019550935050840135611966816118c0565b809150509250925092565b6000806040838503121561198457600080fd5b823561198f816117b3565b9150602083013561199f816118c0565b809150509250929050565b600080604083850312156119bd57600080fd5b82356119c8816117b3565b9150602083013561199f816117b3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611a2157607f821691505b602082108103611a4157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561074c5761074c611a47565b634e487b7160e01b600052603260045260246000fd5b6020808252602a908201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604082015269276578636c756465642760b01b606082015260800190565b600060018201611ae257611ae2611a47565b5060010190565b600082611b0657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b1d57600080fd5b5051919050565b600060208284031215611b3657600080fd5b81516118a0816118c0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561074c5761074c611a47565b808202811582820484141761074c5761074c611a47565b600060208284031215611c0557600080fd5b81516118a0816117b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c605784516001600160a01b031683529383019391830191600101611c3b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ffa1e6409f26f20611c5bbd315fccf6d0ed290402d2bc5660f312aea1ec9e9e764736f6c63430008120033
0x60a0604052600d805461dead6080526001600160a81b0319167401586812a740ad2994c025751e12a8fa7942eb202f1790553480156200003e57600080fd5b506040518060400160405280600a8152602001695649535441205045504560b01b8152506040518060400160405280600981526020016856697374615045504560b81b815250816003908162000095919062000743565b506004620000a4828262000743565b5050506000620000b96200037760201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000906000805160206200255f833981519152908290a3503362000102816200037b565b600073eaaa41cb2a64b11fe761d41e747c032cdd60cace905060008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018791906200080f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb91906200080f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026f91906200080f565b600680546001600160a01b038086166001600160a01b031992831681179093556007805491851691909216179055909150620002b09030906000196200048d565b600060098190556064600a55600c819055600580546001600160a01b039081168352600860205260408084208054600160ff1991821681179092557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548216831790553086528286208054821683179055600d54841686529190942080549091169093179092555462000350911669d3c21bcecceda1000000620005b5565b6113886200035d60025490565b62000369919062000841565b600e55506200088c92505050565b3390565b6005546001600160a01b03163314620003db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620004425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620003d2565b6005546040516001600160a01b038084169216906000805160206200255f83398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316620004f15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620003d2565b6001600160a01b038216620005545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620003d2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166200060d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620003d2565b806002600082825462000621919062000864565b90915550506001600160a01b038216600090815260208190526040812080548392906200065090849062000864565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006ca57607f821691505b602082108103620006eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069a57600081815260208120601f850160051c810160208610156200071a5750805b601f850160051c820191505b818110156200073b5782815560010162000726565b505050505050565b81516001600160401b038111156200075f576200075f6200069f565b6200077781620007708454620006b5565b84620006f1565b602080601f831160018114620007af5760008415620007965750858301515b600019600386901b1c1916600185901b1785556200073b565b600085815260208120601f198616915b82811015620007e057888601518255948401946001909101908401620007bf565b5085821015620007ff5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200082257600080fd5b81516001600160a01b03811681146200083a57600080fd5b9392505050565b6000826200085f57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200088657634e487b7160e01b600052601160045260246000fd5b92915050565b608051611cb7620008a860003960006103180152611cb76000f3fe6080604052600436106101f15760003560e01c8063702509fd1161010d578063a9059cbb116100a0578063d99274481161006f578063d9927448146105aa578063dd62ed3e146105ca578063e2f4560514610610578063f2fde38b14610626578063f9d0831a1461064657600080fd5b8063a9059cbb1461052a578063ad29ffde1461054a578063afa4f3b21461056a578063c02466681461058a57600080fd5b80638da5cb5b116100dc5780638da5cb5b146104b757806395d89b41146104d5578063988be118146104ea578063a457c2d71461050a57600080fd5b8063702509fd1461043657806370a082311461044c578063715018a6146104825780638b4cee081461049757600080fd5b80632b14ca5611610185578063488eb37f11610154578063488eb37f146103a257806349bd5a5e146103bc5780634ada218b146103dc5780634fbee193146103fd57600080fd5b80632b14ca561461033a578063313ce56714610350578063395093511461036c578063470624021461038c57600080fd5b806318160ddd116101c157806318160ddd146102b257806323b872dd146102d15780632535a3eb146102f157806327c8f8351461030657600080fd5b80625bc23c146101fd57806306fdde031461021f578063095ea7b31461024a5780631694505e1461027a57600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d6102183660046117c8565b610666565b005b34801561022b57600080fd5b506102346106a9565b6040516102419190611809565b60405180910390f35b34801561025657600080fd5b5061026a610265366004611857565b61073b565b6040519015158152602001610241565b34801561028657600080fd5b5060065461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610241565b3480156102be57600080fd5b506002545b604051908152602001610241565b3480156102dd57600080fd5b5061026a6102ec3660046117c8565b610752565b3480156102fd57600080fd5b5061021d610803565b34801561031257600080fd5b5061029a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561034657600080fd5b506102c3600a5481565b34801561035c57600080fd5b5060405160128152602001610241565b34801561037857600080fd5b5061026a610387366004611857565b61083f565b34801561039857600080fd5b506102c360095481565b3480156103ae57600080fd5b50600f5461026a9060ff1681565b3480156103c857600080fd5b5060075461029a906001600160a01b031681565b3480156103e857600080fd5b50600d5461026a90600160a01b900460ff1681565b34801561040957600080fd5b5061026a610418366004611883565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561044257600080fd5b506102c3600c5481565b34801561045857600080fd5b506102c3610467366004611883565b6001600160a01b031660009081526020819052604090205490565b34801561048e57600080fd5b5061021d61087b565b3480156104a357600080fd5b5061021d6104b23660046118a7565b6108ef565b3480156104c357600080fd5b506005546001600160a01b031661029a565b3480156104e157600080fd5b50610234610955565b3480156104f657600080fd5b5061021d6105053660046118ce565b610964565b34801561051657600080fd5b5061026a610525366004611857565b6109d5565b34801561053657600080fd5b5061026a610545366004611857565b610a6e565b34801561055657600080fd5b5061021d6105653660046118eb565b610a7b565b34801561057657600080fd5b5061021d6105853660046118a7565b610b90565b34801561059657600080fd5b5061021d6105a5366004611971565b610c7a565b3480156105b657600080fd5b5061021d6105c5366004611883565b610d43565b3480156105d657600080fd5b506102c36105e53660046119aa565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561061c57600080fd5b506102c3600e5481565b34801561063257600080fd5b5061021d610641366004611883565b610e2d565b34801561065257600080fd5b5061021d610661366004611883565b610f18565b6005546001600160a01b031633146106995760405162461bcd60e51b8152600401610690906119d8565b60405180910390fd5b6106a48383836110b8565b505050565b6060600380546106b890611a0d565b80601f01602080910402602001604051908101604052809291908181526020018280546106e490611a0d565b80156107315780601f1061070657610100808354040283529160200191610731565b820191906000526020600020905b81548152906001019060200180831161071457829003601f168201915b5050505050905090565b6000610748338484611375565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146107ed57828110156107e05760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610690565b6107ed8533858403611375565b6107f88585856110b8565b506001949350505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561083c573d6000803e3d6000fd5b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610748918590610876908690611a5d565b611375565b6005546001600160a01b031633146108a55760405162461bcd60e51b8152600401610690906119d8565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146109195760405162461bcd60e51b8152600401610690906119d8565b600a8190556040518181527f495ee53ee22006979ebc689a00ed737d7c13b6419142f82dcaea4ed95ac1e780906020015b60405180910390a150565b6060600480546106b890611a0d565b6005546001600160a01b0316331461098e5760405162461bcd60e51b8152600401610690906119d8565b600f805460ff191682151590811790915560405160ff909116151581527f94da5f18dc9529c37f2af4ffa1921f49d8bb14b6e5fe22b0d6ddc94f102f92329060200161094a565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610a575760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610690565b610a643385858403611375565b5060019392505050565b60006107483384846110b8565b6005546001600160a01b03163314610aa55760405162461bcd60e51b8152600401610690906119d8565b60005b82811015610b8a576000848483818110610ac457610ac4611a70565b9050602002016020810190610ad99190611883565b6001600160a01b03811660009081526008602052604090205490915083151560ff909116151503610b1c5760405162461bcd60e51b815260040161069090611a86565b6001600160a01b038116600081815260086020908152604091829020805460ff191687151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25080610b8281611ad0565b915050610aa8565b50505050565b6005546001600160a01b03163314610bba5760405162461bcd60e51b8152600401610690906119d8565b620f4240610bc760025490565b610bd19190611ae9565b8111610c455760405162461bcd60e51b815260206004820152603f60248201527f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460448201527f6572207468616e20302e3030303125206f6620746f74616c20737570706c79006064820152608401610690565b600e8190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b1459060200161094a565b6005546001600160a01b03163314610ca45760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b03821660009081526008602052604090205481151560ff909116151503610ce45760405162461bcd60e51b815260040161069090611a86565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b600d546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610d96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dba9190611b0b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e299190611b24565b5050565b6005546001600160a01b03163314610e575760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b038116610ebc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610690565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f425760405162461bcd60e51b8152600401610690906119d8565b6001600160a01b038116610fd757604051600090339047908381818185875af1925050503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b5050905080610e295760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610690565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190611b0b565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611094573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8a9190611b24565b6001600160a01b0383166110de5760405162461bcd60e51b815260040161069090611b41565b6001600160a01b0382166111045760405162461bcd60e51b815260040161069090611b86565b600d54600160a01b900460ff168061113457506001600160a01b03831660009081526008602052604090205460ff165b8061115757506001600160a01b03821660009081526008602052604090205460ff165b6111a35760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610690565b6001600160a01b03831660009081526008602052604090205460ff161580156111e357506001600160a01b03831660009081526020819052604090205481145b156111f6576111f3600182611bc9565b90505b8060000361120a576106a483836000611499565b30600090815260208190526040902054600e54811080159081906112365750600f54610100900460ff16155b801561124f57506007546001600160a01b038581169116145b1561128857600f805461ff001981166101001790915560ff161561127357600e5491505b61127c826115ed565b600f805461ff00191690555b6001600160a01b03851660009081526008602052604081205460ff16806112c757506001600160a01b03851660009081526008602052604090205460ff165b806112d95750600f54610100900460ff165b156112e657506000611329565b6007546001600160a01b03908116908716036113055750600954611329565b6007546001600160a01b03908116908616036113245750600a54611329565b50600c545b8015611362576000606461133d8387611bdc565b6113479190611ae9565b90506113538186611bc9565b9450611360873083611499565b505b61136d868686611499565b505050505050565b6001600160a01b0383166113d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610690565b6001600160a01b0382166114385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610690565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114bf5760405162461bcd60e51b815260040161069090611b41565b6001600160a01b0382166114e55760405162461bcd60e51b815260040161069090611b86565b6001600160a01b0383166000908152602081905260409020548181101561155d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610690565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611594908490611a5d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115e091815260200190565b60405180910390a3610b8a565b60408051600280825260608201835247926000929190602083019080368337019050509050308160008151811061162657611626611a70565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a39190611bf3565b816001815181106116b6576116b6611a70565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac947906116fc908690600090869030904290600401611c10565b600060405180830381600087803b15801561171657600080fd5b505af115801561172a573d6000803e3d6000fd5b505050506000824761173c9190611bc9565b600d546040519192506000916001600160a01b039091169083156108fc0290849084818181858888f19350505050905080156117ac5760408051868152602081018490527f1309193d68e1a43bd32da5f04e07935cc194c20b2bd1813be5c6898b99dac4be910160405180910390a15b5050505050565b6001600160a01b038116811461083c57600080fd5b6000806000606084860312156117dd57600080fd5b83356117e8816117b3565b925060208401356117f8816117b3565b929592945050506040919091013590565b600060208083528351808285015260005b818110156118365785810183015185820160400152820161181a565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561186a57600080fd5b8235611875816117b3565b946020939093013593505050565b60006020828403121561189557600080fd5b81356118a0816117b3565b9392505050565b6000602082840312156118b957600080fd5b5035919050565b801515811461083c57600080fd5b6000602082840312156118e057600080fd5b81356118a0816118c0565b60008060006040848603121561190057600080fd5b833567ffffffffffffffff8082111561191857600080fd5b818601915086601f83011261192c57600080fd5b81358181111561193b57600080fd5b8760208260051b850101111561195057600080fd5b60209283019550935050840135611966816118c0565b809150509250925092565b6000806040838503121561198457600080fd5b823561198f816117b3565b9150602083013561199f816118c0565b809150509250929050565b600080604083850312156119bd57600080fd5b82356119c8816117b3565b9150602083013561199f816117b3565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611a2157607f821691505b602082108103611a4157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561074c5761074c611a47565b634e487b7160e01b600052603260045260246000fd5b6020808252602a908201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604082015269276578636c756465642760b01b606082015260800190565b600060018201611ae257611ae2611a47565b5060010190565b600082611b0657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611b1d57600080fd5b5051919050565b600060208284031215611b3657600080fd5b81516118a0816118c0565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561074c5761074c611a47565b808202811582820484141761074c5761074c611a47565b600060208284031215611c0557600080fd5b81516118a0816117b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c605784516001600160a01b031683529383019391830191600101611c3b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220ffa1e6409f26f20611c5bbd315fccf6d0ed290402d2bc5660f312aea1ec9e9e764736f6c634300081200338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0