0x6080604052600436106101f25760003560e01c80635eee4bae1161010d57806395d89b41116100a0578063b62496f51161006f578063b62496f514610598578063d07a091c146105c8578063dd62ed3e146105e8578063e2f4560514610608578063f2fde38b1461061e57600080fd5b806395d89b41146105235780639a7a23d614610538578063a457c2d714610558578063a9059cbb1461057857600080fd5b806375f0a874116100dc57806375f0a874146104ba5780638a8c523c146104da5780638da5cb5b146104ef57806395451c291461050d57600080fd5b80635eee4bae1461043a5780637088fb7f1461045a57806370a082311461046f578063715018a6146104a557600080fd5b806323b872dd116101855780634ada218b116101545780634ada218b146103aa5780634fbee193146103cb5780635124f874146104045780635d098b381461041a57600080fd5b806323b872dd1461032e578063313ce5671461034e578063395093511461036a57806349bd5a5e1461038a57600080fd5b8063095ea7b3116101c1578063095ea7b31461029f5780631694505e146102cf57806318160ddd146102ef5780632307b4411461030e57600080fd5b806303fd2a45146101fe57806305ca5f081461023b57806306fdde031461025d57806308dfe8a51461027f57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060085461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024757600080fd5b5061025b6102563660046116bb565b61063e565b005b34801561026957600080fd5b506102726106e4565b60405161023291906116d4565b34801561028b57600080fd5b5061025b61029a366004611737565b610776565b3480156102ab57600080fd5b506102bf6102ba366004611775565b6107dd565b6040519015158152602001610232565b3480156102db57600080fd5b5060065461021e906001600160a01b031681565b3480156102fb57600080fd5b506002545b604051908152602001610232565b34801561031a57600080fd5b5061025b610329366004611877565b6107f7565b34801561033a57600080fd5b506102bf610349366004611939565b610932565b34801561035a57600080fd5b5060405160128152602001610232565b34801561037657600080fd5b506102bf610385366004611775565b610956565b34801561039657600080fd5b5060075461021e906001600160a01b031681565b3480156103b657600080fd5b506008546102bf90600160a81b900460ff1681565b3480156103d757600080fd5b506102bf6103e636600461197a565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561041057600080fd5b50610300600e5481565b34801561042657600080fd5b5061025b61043536600461197a565b610978565b34801561044657600080fd5b5061025b6104553660046116bb565b6109ed565b34801561046657600080fd5b5061025b610a0d565b34801561047b57600080fd5b5061030061048a36600461197a565b6001600160a01b031660009081526020819052604090205490565b3480156104b157600080fd5b5061025b610a48565b3480156104c657600080fd5b50600b5461021e906001600160a01b031681565b3480156104e657600080fd5b5061025b610a5c565b3480156104fb57600080fd5b506005546001600160a01b031661021e565b34801561051957600080fd5b50610300600d5481565b34801561052f57600080fd5b50610272610ab9565b34801561054457600080fd5b5061025b610553366004611737565b610ac8565b34801561056457600080fd5b506102bf610573366004611775565b610ada565b34801561058457600080fd5b506102bf610593366004611775565b610b55565b3480156105a457600080fd5b506102bf6105b336600461197a565b60106020526000908152604090205460ff1681565b3480156105d457600080fd5b5061025b6105e336600461197a565b610b63565b3480156105f457600080fd5b50610300610603366004611997565b610bd3565b34801561061457600080fd5b50610300600c5481565b34801561062a57600080fd5b5061025b61063936600461197a565b610bfe565b610646610c77565b61065881670de0b6b3a76400006119db565b90506000610673600954600a54610cd190919063ffffffff16565b9050600061069682610690600a5486610ce490919063ffffffff16565b90610cf0565b905060006106b38361069060095487610ce490919063ffffffff16565b90506106be84610cfc565b600a546106cb9083610e02565b600a556009546106db9082610e02565b60095550505050565b6060600380546106f3906119f2565b80601f016020809104026020016040519081016040528092919081815260200182805461071f906119f2565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b61077e610c77565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6000336107eb818585610e0e565b60019150505b92915050565b6107ff610c77565b80518251146108555760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d757374206265207468652073616d65206c656e677468000060448201526064015b60405180910390fd5b60c8825111156108b25760405162461bcd60e51b815260206004820152602260248201527f57616c6c657473206c697374206c656e677468206d757374206265203c3d2032604482015261030360f41b606482015260840161084c565b60005b825181101561092d5760008382815181106108d2576108d2611a2c565b6020026020010151905060008383815181106108f0576108f0611a2c565b6020026020010151670de0b6b3a764000061090b91906119db565b9050610918338383610f32565b5050808061092590611a42565b9150506108b5565b505050565b600033610940858285611102565b61094b858585611176565b506001949350505050565b6000336107eb8185856109698383610bd3565b6109739190611a5b565b610e0e565b610980610c77565b6001600160a01b0381166000818152600f6020908152604091829020805460ff19166001179055600b80546001600160a01b0319168417905590519182527faacebbe32c0dbd14817cfb53e3cc8be68c7e133928317145be50a0d86c22443391015b60405180910390a150565b6109f5610c77565b610a0781670de0b6b3a76400006119db565b600c5550565b610a15610c77565b6040514790339082156108fc029083906000818181858888f19350505050158015610a44573d6000803e3d6000fd5b5050565b610a50610c77565b610a5a60006114c3565b565b610a64610c77565b600854600160a81b900460ff1615610a7b57600080fd5b6008805460ff60a81b1916600160a81b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b6060600480546106f3906119f2565b610ad0610c77565b610a448282611515565b60003381610ae88286610bd3565b905083811015610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161084c565b61094b8286868403610e0e565b6000336107eb818585611176565b610b6b610c77565b6001600160a01b03811660008181526011602090815260408083208054600160ff199182168117909255600f84529382902080549094161790925590519182527f85d097e432d8e396fa72c83ebd34196326e1cf1694ef910cd53554b2ee7597c591016109e2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610c06610c77565b6001600160a01b038116610c6b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084c565b610c74816114c3565b50565b6005546001600160a01b03163314610a5a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084c565b6000610cdd8284611a5b565b9392505050565b6000610cdd82846119db565b6000610cdd8284611a6e565b80600003610d075750565b610d1081611569565b600e54600d54600191600091610d269190611a5b565b905060008115610d3d57610d3a4783610cf0565b90505b600081610d57600d54600e54610cd190919063ffffffff16565b610d6191906119db565b90508015610dc157600b546040516001600160a01b03909116908290600081818185875af1925050503d8060008114610db6576040519150601f19603f3d011682016040523d82523d6000602084013e610dbb565b606091505b50909450505b6040805182815285151560208201527f31ea026303a62d39c4ad14716f9621f1afe3242309c2ed761d4e241ae4bf2ea9910160405180910390a15050505050565b6000610cdd8284611a90565b6001600160a01b038316610e705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084c565b6001600160a01b038216610ed15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084c565b6001600160a01b038216610ff85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084c565b6001600160a01b038316600090815260208190526040902054818110156110705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084c565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a7908490611a5b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f391815260200190565b60405180910390a35b50505050565b600061110e8484610bd3565b905060001981146110fc57818110156111695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084c565b6110fc8484848403610e0e565b6001600160a01b0383166111db5760405162461bcd60e51b815260206004820152602660248201527f4945524332303a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161084c565b6001600160a01b03821661123d5760405162461bcd60e51b8152602060048201526024808201527f4945524332303a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161084c565b6000811161129f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161084c565b6001600160a01b03831660009081526011602052604081205460ff1661131857600854600160a81b900460ff166113185760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f7420796574206265656e20656e61626c6564604482015260640161084c565b600854600160a01b900460ff1615801561134b57506001600160a01b0384166000908152600f602052604090205460ff16155b801561137057506001600160a01b0383166000908152600f602052604090205460ff16155b156114b8576001600160a01b0380841660009081526010602052604080822054928716825290205460ff9182169116801580156113ab575081155b156113c3576113bb868686610f32565b505050505050565b81156113d357600d5492506113df565b80156113df57600e5492505b30600090815260208190526040902054600c54849190811080159081906114035750845b801561140f5750600086115b1561145b576008805460ff60a01b1916600160a01b17905530600090815260208190526040812054905061144281610cfc565b506001600a8190556009556008805460ff60a01b191690555b600061146c60646106908a87610ce4565b90506114788882610e02565b975085156114955760095461148d9082610cd1565b6009556114a6565b600a546114a29082610cd1565b600a555b6114b18a3083610f32565b5050505050505b6110fc848484610f32565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061159e5761159e611a2c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190611aa3565b8160018151811061162e5761162e611a2c565b6001600160a01b0392831660209182029290920101526006546116549130911684610e0e565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061168d908590600090869030904290600401611ac0565b600060405180830381600087803b1580156116a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b6000602082840312156116cd57600080fd5b5035919050565b600060208083528351808285015260005b81811015611701578581018301518582016040015282016116e5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c7457600080fd5b6000806040838503121561174a57600080fd5b823561175581611722565b91506020830135801515811461176a57600080fd5b809150509250929050565b6000806040838503121561178857600080fd5b823561179381611722565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117e0576117e06117a1565b604052919050565b600067ffffffffffffffff821115611802576118026117a1565b5060051b60200190565b600082601f83011261181d57600080fd5b8135602061183261182d836117e8565b6117b7565b82815260059290921b8401810191818101908684111561185157600080fd5b8286015b8481101561186c5780358352918301918301611855565b509695505050505050565b6000806040838503121561188a57600080fd5b823567ffffffffffffffff808211156118a257600080fd5b818501915085601f8301126118b657600080fd5b813560206118c661182d836117e8565b82815260059290921b840181019181810190898411156118e557600080fd5b948201945b8386101561190c5785356118fd81611722565b825294820194908201906118ea565b9650508601359250508082111561192257600080fd5b5061192f8582860161180c565b9150509250929050565b60008060006060848603121561194e57600080fd5b833561195981611722565b9250602084013561196981611722565b929592945050506040919091013590565b60006020828403121561198c57600080fd5b8135610cdd81611722565b600080604083850312156119aa57600080fd5b82356119b581611722565b9150602083013561176a81611722565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107f1576107f16119c5565b600181811c90821680611a0657607f821691505b602082108103611a2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600060018201611a5457611a546119c5565b5060010190565b808201808211156107f1576107f16119c5565b600082611a8b57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107f1576107f16119c5565b600060208284031215611ab557600080fd5b8151610cdd81611722565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b105784516001600160a01b031683529383019391830191600101611aeb565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220856103a62b0fc776a35ee3bad47d6510654b9afcc55d4d98c4eeabaf4a398c7364736f6c63430008110033
0x608060405260088054600161ff0160a01b03191661dead17905560016009819055600a553480156200003057600080fd5b506040518060400160405280600881526020016729bab832b936b0b760c11b815250604051806040016040528060048152602001630245355560e41b8152508160039081620000809190620005ab565b5060046200008f8282620005ab565b505050620000ac620000a66200037060201b60201c565b62000374565b600b8054734a7ccd75a4ce2f7bd39547e33a7e6584f55425576001600160a01b0319918216179091556002600e819055600d5560068054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156200013b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000161919062000677565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea919062000677565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000238573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025e919062000677565b600780546001600160a01b0319166001600160a01b039290921691821790556200028a906001620003c6565b306000908152600f60205260408082208054600160ff1991821681179092553384528284208054821683179055600b546001600160a01b0316845291909220805490911690911790556af8277896582678ac000000620002fd620002f66005546001600160a01b031690565b826200041a565b6200030b6103e882620006a9565b600c55600160116000620003276005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152601190925290208054909116600117905550620006f49050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038216620004755760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620004899190620006cc565b90915550506001600160a01b03821660009081526020819052604081208054839290620004b8908490620006cc565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200053257607f821691505b6020821081036200055357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200050257600081815260208120601f850160051c81016020861015620005825750805b601f850160051c820191505b81811015620005a3578281556001016200058e565b505050505050565b81516001600160401b03811115620005c757620005c762000507565b620005df81620005d884546200051d565b8462000559565b602080601f831160018114620006175760008415620005fe5750858301515b600019600386901b1c1916600185901b178555620005a3565b600085815260208120601f198616915b82811015620006485788860151825594840194600190910190840162000627565b5085821015620006675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200068a57600080fd5b81516001600160a01b0381168114620006a257600080fd5b9392505050565b600082620006c757634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620006ee57634e487b7160e01b600052601160045260246000fd5b92915050565b611b6780620007046000396000f3fe6080604052600436106101f25760003560e01c80635eee4bae1161010d57806395d89b41116100a0578063b62496f51161006f578063b62496f514610598578063d07a091c146105c8578063dd62ed3e146105e8578063e2f4560514610608578063f2fde38b1461061e57600080fd5b806395d89b41146105235780639a7a23d614610538578063a457c2d714610558578063a9059cbb1461057857600080fd5b806375f0a874116100dc57806375f0a874146104ba5780638a8c523c146104da5780638da5cb5b146104ef57806395451c291461050d57600080fd5b80635eee4bae1461043a5780637088fb7f1461045a57806370a082311461046f578063715018a6146104a557600080fd5b806323b872dd116101855780634ada218b116101545780634ada218b146103aa5780634fbee193146103cb5780635124f874146104045780635d098b381461041a57600080fd5b806323b872dd1461032e578063313ce5671461034e578063395093511461036a57806349bd5a5e1461038a57600080fd5b8063095ea7b3116101c1578063095ea7b31461029f5780631694505e146102cf57806318160ddd146102ef5780632307b4411461030e57600080fd5b806303fd2a45146101fe57806305ca5f081461023b57806306fdde031461025d57806308dfe8a51461027f57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060085461021e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024757600080fd5b5061025b6102563660046116bb565b61063e565b005b34801561026957600080fd5b506102726106e4565b60405161023291906116d4565b34801561028b57600080fd5b5061025b61029a366004611737565b610776565b3480156102ab57600080fd5b506102bf6102ba366004611775565b6107dd565b6040519015158152602001610232565b3480156102db57600080fd5b5060065461021e906001600160a01b031681565b3480156102fb57600080fd5b506002545b604051908152602001610232565b34801561031a57600080fd5b5061025b610329366004611877565b6107f7565b34801561033a57600080fd5b506102bf610349366004611939565b610932565b34801561035a57600080fd5b5060405160128152602001610232565b34801561037657600080fd5b506102bf610385366004611775565b610956565b34801561039657600080fd5b5060075461021e906001600160a01b031681565b3480156103b657600080fd5b506008546102bf90600160a81b900460ff1681565b3480156103d757600080fd5b506102bf6103e636600461197a565b6001600160a01b03166000908152600f602052604090205460ff1690565b34801561041057600080fd5b50610300600e5481565b34801561042657600080fd5b5061025b61043536600461197a565b610978565b34801561044657600080fd5b5061025b6104553660046116bb565b6109ed565b34801561046657600080fd5b5061025b610a0d565b34801561047b57600080fd5b5061030061048a36600461197a565b6001600160a01b031660009081526020819052604090205490565b3480156104b157600080fd5b5061025b610a48565b3480156104c657600080fd5b50600b5461021e906001600160a01b031681565b3480156104e657600080fd5b5061025b610a5c565b3480156104fb57600080fd5b506005546001600160a01b031661021e565b34801561051957600080fd5b50610300600d5481565b34801561052f57600080fd5b50610272610ab9565b34801561054457600080fd5b5061025b610553366004611737565b610ac8565b34801561056457600080fd5b506102bf610573366004611775565b610ada565b34801561058457600080fd5b506102bf610593366004611775565b610b55565b3480156105a457600080fd5b506102bf6105b336600461197a565b60106020526000908152604090205460ff1681565b3480156105d457600080fd5b5061025b6105e336600461197a565b610b63565b3480156105f457600080fd5b50610300610603366004611997565b610bd3565b34801561061457600080fd5b50610300600c5481565b34801561062a57600080fd5b5061025b61063936600461197a565b610bfe565b610646610c77565b61065881670de0b6b3a76400006119db565b90506000610673600954600a54610cd190919063ffffffff16565b9050600061069682610690600a5486610ce490919063ffffffff16565b90610cf0565b905060006106b38361069060095487610ce490919063ffffffff16565b90506106be84610cfc565b600a546106cb9083610e02565b600a556009546106db9082610e02565b60095550505050565b6060600380546106f3906119f2565b80601f016020809104026020016040519081016040528092919081815260200182805461071f906119f2565b801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b5050505050905090565b61077e610c77565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6000336107eb818585610e0e565b60019150505b92915050565b6107ff610c77565b80518251146108555760405162461bcd60e51b815260206004820152601e60248201527f417272617973206d757374206265207468652073616d65206c656e677468000060448201526064015b60405180910390fd5b60c8825111156108b25760405162461bcd60e51b815260206004820152602260248201527f57616c6c657473206c697374206c656e677468206d757374206265203c3d2032604482015261030360f41b606482015260840161084c565b60005b825181101561092d5760008382815181106108d2576108d2611a2c565b6020026020010151905060008383815181106108f0576108f0611a2c565b6020026020010151670de0b6b3a764000061090b91906119db565b9050610918338383610f32565b5050808061092590611a42565b9150506108b5565b505050565b600033610940858285611102565b61094b858585611176565b506001949350505050565b6000336107eb8185856109698383610bd3565b6109739190611a5b565b610e0e565b610980610c77565b6001600160a01b0381166000818152600f6020908152604091829020805460ff19166001179055600b80546001600160a01b0319168417905590519182527faacebbe32c0dbd14817cfb53e3cc8be68c7e133928317145be50a0d86c22443391015b60405180910390a150565b6109f5610c77565b610a0781670de0b6b3a76400006119db565b600c5550565b610a15610c77565b6040514790339082156108fc029083906000818181858888f19350505050158015610a44573d6000803e3d6000fd5b5050565b610a50610c77565b610a5a60006114c3565b565b610a64610c77565b600854600160a81b900460ff1615610a7b57600080fd5b6008805460ff60a81b1916600160a81b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a1565b6060600480546106f3906119f2565b610ad0610c77565b610a448282611515565b60003381610ae88286610bd3565b905083811015610b485760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161084c565b61094b8286868403610e0e565b6000336107eb818585611176565b610b6b610c77565b6001600160a01b03811660008181526011602090815260408083208054600160ff199182168117909255600f84529382902080549094161790925590519182527f85d097e432d8e396fa72c83ebd34196326e1cf1694ef910cd53554b2ee7597c591016109e2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610c06610c77565b6001600160a01b038116610c6b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161084c565b610c74816114c3565b50565b6005546001600160a01b03163314610a5a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161084c565b6000610cdd8284611a5b565b9392505050565b6000610cdd82846119db565b6000610cdd8284611a6e565b80600003610d075750565b610d1081611569565b600e54600d54600191600091610d269190611a5b565b905060008115610d3d57610d3a4783610cf0565b90505b600081610d57600d54600e54610cd190919063ffffffff16565b610d6191906119db565b90508015610dc157600b546040516001600160a01b03909116908290600081818185875af1925050503d8060008114610db6576040519150601f19603f3d011682016040523d82523d6000602084013e610dbb565b606091505b50909450505b6040805182815285151560208201527f31ea026303a62d39c4ad14716f9621f1afe3242309c2ed761d4e241ae4bf2ea9910160405180910390a15050505050565b6000610cdd8284611a90565b6001600160a01b038316610e705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161084c565b6001600160a01b038216610ed15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161084c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161084c565b6001600160a01b038216610ff85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161084c565b6001600160a01b038316600090815260208190526040902054818110156110705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161084c565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906110a7908490611a5b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f391815260200190565b60405180910390a35b50505050565b600061110e8484610bd3565b905060001981146110fc57818110156111695760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161084c565b6110fc8484848403610e0e565b6001600160a01b0383166111db5760405162461bcd60e51b815260206004820152602660248201527f4945524332303a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161084c565b6001600160a01b03821661123d5760405162461bcd60e51b8152602060048201526024808201527f4945524332303a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161084c565b6000811161129f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161084c565b6001600160a01b03831660009081526011602052604081205460ff1661131857600854600160a81b900460ff166113185760405162461bcd60e51b815260206004820181905260248201527f54726164696e6720686173206e6f7420796574206265656e20656e61626c6564604482015260640161084c565b600854600160a01b900460ff1615801561134b57506001600160a01b0384166000908152600f602052604090205460ff16155b801561137057506001600160a01b0383166000908152600f602052604090205460ff16155b156114b8576001600160a01b0380841660009081526010602052604080822054928716825290205460ff9182169116801580156113ab575081155b156113c3576113bb868686610f32565b505050505050565b81156113d357600d5492506113df565b80156113df57600e5492505b30600090815260208190526040902054600c54849190811080159081906114035750845b801561140f5750600086115b1561145b576008805460ff60a01b1916600160a01b17905530600090815260208190526040812054905061144281610cfc565b506001600a8190556009556008805460ff60a01b191690555b600061146c60646106908a87610ce4565b90506114788882610e02565b975085156114955760095461148d9082610cd1565b6009556114a6565b600a546114a29082610cd1565b600a555b6114b18a3083610f32565b5050505050505b6110fc848484610f32565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061159e5761159e611a2c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190611aa3565b8160018151811061162e5761162e611a2c565b6001600160a01b0392831660209182029290920101526006546116549130911684610e0e565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061168d908590600090869030904290600401611ac0565b600060405180830381600087803b1580156116a757600080fd5b505af11580156113bb573d6000803e3d6000fd5b6000602082840312156116cd57600080fd5b5035919050565b600060208083528351808285015260005b81811015611701578581018301518582016040015282016116e5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c7457600080fd5b6000806040838503121561174a57600080fd5b823561175581611722565b91506020830135801515811461176a57600080fd5b809150509250929050565b6000806040838503121561178857600080fd5b823561179381611722565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117e0576117e06117a1565b604052919050565b600067ffffffffffffffff821115611802576118026117a1565b5060051b60200190565b600082601f83011261181d57600080fd5b8135602061183261182d836117e8565b6117b7565b82815260059290921b8401810191818101908684111561185157600080fd5b8286015b8481101561186c5780358352918301918301611855565b509695505050505050565b6000806040838503121561188a57600080fd5b823567ffffffffffffffff808211156118a257600080fd5b818501915085601f8301126118b657600080fd5b813560206118c661182d836117e8565b82815260059290921b840181019181810190898411156118e557600080fd5b948201945b8386101561190c5785356118fd81611722565b825294820194908201906118ea565b9650508601359250508082111561192257600080fd5b5061192f8582860161180c565b9150509250929050565b60008060006060848603121561194e57600080fd5b833561195981611722565b9250602084013561196981611722565b929592945050506040919091013590565b60006020828403121561198c57600080fd5b8135610cdd81611722565b600080604083850312156119aa57600080fd5b82356119b581611722565b9150602083013561176a81611722565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107f1576107f16119c5565b600181811c90821680611a0657607f821691505b602082108103611a2657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600060018201611a5457611a546119c5565b5060010190565b808201808211156107f1576107f16119c5565b600082611a8b57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107f1576107f16119c5565b600060208284031215611ab557600080fd5b8151610cdd81611722565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b105784516001600160a01b031683529383019391830191600101611aeb565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220856103a62b0fc776a35ee3bad47d6510654b9afcc55d4d98c4eeabaf4a398c7364736f6c63430008110033