0x6080604052600436106101445760003560e01c80638129fc1c116100b6578063aa4bde281161006f578063aa4bde28146103c9578063c9567bf9146103de578063dd62ed3e146103f3578063f1f5cd9114610439578063f318bbfe1461044e578063f8d982b21461046e57600080fd5b80638129fc1c146103005780638da5cb5b1461031557806395d89b411461033d5780639686d322146103695780639c0db5f314610389578063a9059cbb146103a957600080fd5b806323b872dd1161010857806323b872dd146102295780633049b58014610249578063313ce5671461026957806370a0823114610285578063715018a6146102bb57806374378132146102d057600080fd5b806306fdde0314610150578063095ea7b31461019457806309fb5639146101c45780630b78f9c0146101e657806318160ddd1461020657600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506040805180820190915260098152682cb2b2902a37b5b2b760b91b60208201525b60405161018b9190611709565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611773565b61048e565b604051901515815260200161018b565b3480156101d057600080fd5b506101e46101df3660046117ad565b6104a5565b005b3480156101f257600080fd5b506101e46102013660046117c8565b6104f6565b34801561021257600080fd5b5061021b610583565b60405190815260200161018b565b34801561023557600080fd5b506101b46102443660046117ea565b6105a4565b34801561025557600080fd5b506101e4610264366004611826565b610678565b34801561027557600080fd5b506040516009815260200161018b565b34801561029157600080fd5b5061021b6102a036600461183f565b6001600160a01b031660009081526001602052604090205490565b3480156102c757600080fd5b506101e4610734565b3480156102dc57600080fd5b506007546008546102eb919082565b6040805192835260208301919091520161018b565b34801561030c57600080fd5b506101e46107a8565b34801561032157600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561034957600080fd5b5060408051808201909152600381526259656560e81b602082015261017e565b34801561037557600080fd5b506101e461038436600461185a565b6107f4565b34801561039557600080fd5b506101e46103a43660046118d9565b61085e565b3480156103b557600080fd5b506101b46103c4366004611773565b6109ee565b3480156103d557600080fd5b5061021b6109fb565b3480156103ea57600080fd5b506101e4610a18565b3480156103ff57600080fd5b5061021b61040e36600461192d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044557600080fd5b5061021b603181565b34801561045a57600080fd5b506101e4610469366004611957565b610ac9565b34801561047a57600080fd5b506101e4610489366004611826565b610b51565b600061049b338484610c3f565b5060015b92915050565b336001600160a01b037f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f316146104da57600080fd5b60098054911515620100000262ff000019909216919091179055565b336001600160a01b037f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f3161461052b57600080fd5b6007548211156105565760405162461bcd60e51b815260040161054d906119a3565b60405180910390fd5b6008548111156105785760405162461bcd60e51b815260040161054d906119a3565b600791909155600855565b60006105916009600a611ae0565b61059f90633b9aca00611aef565b905090565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106285760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161054d565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461066391869161065e908690611b06565b610c3f565b61066e848484610d63565b5060019392505050565b336001600160a01b037f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f316146106ad57600080fd5b6000811180156106bd5750600481105b61072f5760405162461bcd60e51b815260206004820152603c60248201527f546f6b656e3a206f6e6c7920747261646520636f6f6c646f776e2076616c756560448201527f7320696e2072616e67652028302c3429207065726d69737369626c6500000000606482015260840161054d565b600655565b6000546001600160a01b0316331461075e5760405162461bcd60e51b815260040161054d90611b19565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161054d90611b19565b600b805460029160006107e483611b4e565b91905055106107f257600080fd5b565b6000546001600160a01b0316331461081e5760405162461bcd60e51b815260040161054d90611b19565b306001600160a01b0383160361083357600080fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108885760405162461bcd60e51b815260040161054d90611b19565b60005b828110156109e8577f000000000000000000000000bc7ce7b6b5437d7d715fbb1cc7b4ec12399c55166001600160a01b03168484838181106108cf576108cf611b67565b90506020020160208101906108e4919061183f565b6001600160a01b03161415801561093e5750737a250d5630b4cf539739df2c5dacb4c659f2488d84848381811061091d5761091d611b67565b9050602002016020810190610932919061183f565b6001600160a01b031614155b801561097957503084848381811061095857610958611b67565b905060200201602081019061096d919061183f565b6001600160a01b031614155b61098257600080fd5b816003600086868581811061099957610999611b67565b90506020020160208101906109ae919061183f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109e081611b4e565b91505061088b565b50505050565b600061049b338484610d63565b610a076009600a611ae0565b610a15906301312d00611aef565b81565b6000546001600160a01b03163314610a425760405162461bcd60e51b815260040161054d90611b19565b600b546002148015610a57575060095460ff16155b610aa35760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e0000000000604482015260640161054d565b43600a6000828254610ab59190611b7d565b90915550506009805460ff19166001179055565b6000546001600160a01b03163314610af35760405162461bcd60e51b815260040161054d90611b19565b6002600b54108015610b1457506002600b546001610b119190611b7d565b10155b610b2057610b20611b90565b600b8054906000610b3083611b4e565b919050555080600a6000828254610b479190611b7d565b9091555050505050565b336001600160a01b037f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f31614610b8657600080fd5b806000108015610b97575060648111155b610c095760405162461bcd60e51b815260206004820152603760248201527f546f6b656e3a206f6e6c792070657263656e742076616c75657320696e20726160448201527f6e67652028302c3130305d207065726d69737369626c65000000000000000000606482015260840161054d565b30600090815260016020526040812054606490610c269084611aef565b610c309190611ba6565b9050610c3b816112a4565b5050565b6001600160a01b038316610ca15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054d565b6001600160a01b038216610d025760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600954839060ff1680610da757507f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f36001600160a01b0316816001600160a01b0316145b80610dce57506001600160a01b03811673a4284d255f078fc65548602b2e479eaa97dd58f3145b610dd757600080fd5b6001600160a01b038416610e3b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054d565b6001600160a01b038316610e9d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054d565b60008211610f065760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161054d565b6001600160a01b03841660009081526001602052604081208054849290610f2e908490611b06565b90915550506001600160a01b0384163014801590610f6957506001600160a01b03841673a4284d255f078fc65548602b2e479eaa97dd58f314155b8015610f9257506001600160a01b03831673a4284d255f078fc65548602b2e479eaa97dd58f314155b8015610fd057507f000000000000000000000000a4284d255f078fc65548602b2e479eaa97dd58f36001600160a01b0316836001600160a01b031614155b156112225760095462010000900460ff16801561100657506001600160a01b03841660009081526005602052604090205460ff16155b801561102b57506001600160a01b03831660009081526005602052604090205460ff16155b1561106257600061103c8585611497565b9050611047816114c4565b6001600160a01b031660009081526004602052604090204390555b7f000000000000000000000000bc7ce7b6b5437d7d715fbb1cc7b4ec12399c55166001600160a01b0316846001600160a01b03161480156110c057506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b1561116f576110d16009600a611ae0565b6110df906301312d00611aef565b826110ff856001600160a01b031660009081526001602052604090205490565b6111099190611b7d565b111561116f5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e3a207472616e7366657220696d706c6965732076696f6c6174696f60448201526e1b881bd9881b585e081dd85b1b195d608a1b606482015260840161054d565b306000908152600160205260409020546111898582611566565b1561119757611197816112a4565b60006111a386856115f7565b9050801561121f576111b58185611b06565b306000908152600160205260408120805492965083929091906111d9908490611b7d565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505b6001600160a01b0383166000908152600160205260408120805484929061124a908490611b7d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129691815260200190565b60405180910390a350505050565b6009805461ff0019166101001790556112bc816116af565b306000908152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156113285761132830737a250d5630b4cf539739df2c5dacb4c659f2488d61131a6009600a611ae0565b61065e90633b9aca00611aef565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061135d5761135d611b67565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106113b1576113b1611b67565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611409908590600090869030904290600401611bc8565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5047925050811590506114875760405173a4284d255f078fc65548602b2e479eaa97dd58f39082156108fc029083906000818181858888f19350505050158015611485573d6000803e3d6000fd5b505b50506009805461ff001916905550565b6000823b15806114a65750813b155b6114af57600080fd5b823b156114bd57508061049f565b508161049f565b6001600160a01b038116600090815260046020526040812054158061151757506114ef436001611b7d565b6006546001600160a01b0384166000908152600460205260409020546115159190611b7d565b105b905080610c3b5760405162461bcd60e51b815260206004820152601a60248201527f4d6178207478206672657175656e637920657863656564656421000000000000604482015260640161054d565b600954600090610100900460ff161580156115b357507f000000000000000000000000bc7ce7b6b5437d7d715fbb1cc7b4ec12399c55166001600160a01b0316836001600160a01b031614155b80156115d657506115c66009600a611ae0565b6115d390624c4b40611aef565b82115b80156115f0575043600a5460016115ed9190611b7d565b11155b9392505050565b6001600160a01b03821660009081526003602052604081205460ff16806116205750600a544311155b15611643576064611632603184611aef565b61163c9190611ba6565b905061049f565b6064600a54600014611698577f000000000000000000000000bc7ce7b6b5437d7d715fbb1cc7b4ec12399c55166001600160a01b0316846001600160a01b0316146116905760085461169b565b60075461169b565b60195b6116a59084611aef565b6115f09190611ba6565b60006116bd6009600a611ae0565b6116cb906301312d00611aef565b82116116ef576116dd6009600a611ae0565b6116ea90624c4b40611aef565b61049f565b6116fb6009600a611ae0565b61049f906301312d00611aef565b600060208083528351808285015260005b818110156117365785810183015185820160400152820161171a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461176e57600080fd5b919050565b6000806040838503121561178657600080fd5b61178f83611757565b946020939093013593505050565b8035801515811461176e57600080fd5b6000602082840312156117bf57600080fd5b6115f08261179d565b600080604083850312156117db57600080fd5b50508035926020909101359150565b6000806000606084860312156117ff57600080fd5b61180884611757565b925061181660208501611757565b9150604084013590509250925092565b60006020828403121561183857600080fd5b5035919050565b60006020828403121561185157600080fd5b6115f082611757565b6000806040838503121561186d57600080fd5b61187683611757565b91506118846020840161179d565b90509250929050565b60008083601f84011261189f57600080fd5b50813567ffffffffffffffff8111156118b757600080fd5b6020830191508360208260051b85010111156118d257600080fd5b9250929050565b6000806000604084860312156118ee57600080fd5b833567ffffffffffffffff81111561190557600080fd5b6119118682870161188d565b909450925061192490506020850161179d565b90509250925092565b6000806040838503121561194057600080fd5b61194983611757565b915061188460208401611757565b60008060006040848603121561196c57600080fd5b833567ffffffffffffffff81111561198357600080fd5b61198f8682870161188d565b909790965060209590950135949350505050565b60208082526023908201527f546f6b656e3a206f6e6c792066656520726564756374696f6e207065726d69746040820152621d195960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a37578160001904821115611a1d57611a1d6119e6565b80851615611a2a57918102915b93841c9390800290611a01565b509250929050565b600082611a4e5750600161049f565b81611a5b5750600061049f565b8160018114611a715760028114611a7b57611a97565b600191505061049f565b60ff841115611a8c57611a8c6119e6565b50506001821b61049f565b5060208310610133831016604e8410600b8410161715611aba575081810a61049f565b611ac483836119fc565b8060001904821115611ad857611ad86119e6565b029392505050565b60006115f060ff841683611a3f565b808202811582820484141761049f5761049f6119e6565b8181038181111561049f5761049f6119e6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060018201611b6057611b606119e6565b5060010190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561049f5761049f6119e6565b634e487b7160e01b600052600160045260246000fd5b600082611bc357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c185784516001600160a01b031683529383019391830191600101611bf3565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201ab51783a1a6c7d35c0939666edbacc3f38208a35228055d898ddeea2d15b31064736f6c63430008130033
0x60016006556101206040819052601960e081905261010081905260078190556008556315ab88c960e31b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063ad5c46489061012490602090600481865afa15801562000066573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200008c91906200029b565b6001600160a01b03166080523360c0526009805462ffffff191662010000179055348015620000ba57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017591906200029b565b6080516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001c7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ed91906200029b565b6001600160a01b031660a052306000908152600560205260409020805460ff19166001179055620002216009600a620003e2565b6200023190633b9aca00620003f3565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002746009600a620003e2565b6200028490633b9aca00620003f3565b60405190815260200160405180910390a36200040d565b600060208284031215620002ae57600080fd5b81516001600160a01b0381168114620002c657600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000324578160001904821115620003085762000308620002cd565b808516156200031657918102915b93841c9390800290620002e8565b509250929050565b6000826200033d57506001620003dc565b816200034c57506000620003dc565b8160018114620003655760028114620003705762000390565b6001915050620003dc565b60ff841115620003845762000384620002cd565b50506001821b620003dc565b5060208310610133831016604e8410600b8410161715620003b5575081810a620003dc565b620003c18383620002e3565b8060001904821115620003d857620003d8620002cd565b0290505b92915050565b6000620002c660ff8416836200032c565b8082028115828204841417620003dc57620003dc620002cd565b60805160a05160c051611c6f62000475600039600081816104b0015281816105010152818161068301528181610b5c01528181610d730152610f9b015260008181610895015281816110640152818161157e01526116510152600061137f0152611c6f6000f3fe6080604052600436106101445760003560e01c80638129fc1c116100b6578063aa4bde281161006f578063aa4bde28146103c9578063c9567bf9146103de578063dd62ed3e146103f3578063f1f5cd9114610439578063f318bbfe1461044e578063f8d982b21461046e57600080fd5b80638129fc1c146103005780638da5cb5b1461031557806395d89b411461033d5780639686d322146103695780639c0db5f314610389578063a9059cbb146103a957600080fd5b806323b872dd1161010857806323b872dd146102295780633049b58014610249578063313ce5671461026957806370a0823114610285578063715018a6146102bb57806374378132146102d057600080fd5b806306fdde0314610150578063095ea7b31461019457806309fb5639146101c45780630b78f9c0146101e657806318160ddd1461020657600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506040805180820190915260098152682cb2b2902a37b5b2b760b91b60208201525b60405161018b9190611709565b60405180910390f35b3480156101a057600080fd5b506101b46101af366004611773565b61048e565b604051901515815260200161018b565b3480156101d057600080fd5b506101e46101df3660046117ad565b6104a5565b005b3480156101f257600080fd5b506101e46102013660046117c8565b6104f6565b34801561021257600080fd5b5061021b610583565b60405190815260200161018b565b34801561023557600080fd5b506101b46102443660046117ea565b6105a4565b34801561025557600080fd5b506101e4610264366004611826565b610678565b34801561027557600080fd5b506040516009815260200161018b565b34801561029157600080fd5b5061021b6102a036600461183f565b6001600160a01b031660009081526001602052604090205490565b3480156102c757600080fd5b506101e4610734565b3480156102dc57600080fd5b506007546008546102eb919082565b6040805192835260208301919091520161018b565b34801561030c57600080fd5b506101e46107a8565b34801561032157600080fd5b506000546040516001600160a01b03909116815260200161018b565b34801561034957600080fd5b5060408051808201909152600381526259656560e81b602082015261017e565b34801561037557600080fd5b506101e461038436600461185a565b6107f4565b34801561039557600080fd5b506101e46103a43660046118d9565b61085e565b3480156103b557600080fd5b506101b46103c4366004611773565b6109ee565b3480156103d557600080fd5b5061021b6109fb565b3480156103ea57600080fd5b506101e4610a18565b3480156103ff57600080fd5b5061021b61040e36600461192d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044557600080fd5b5061021b603181565b34801561045a57600080fd5b506101e4610469366004611957565b610ac9565b34801561047a57600080fd5b506101e4610489366004611826565b610b51565b600061049b338484610c3f565b5060015b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104da57600080fd5b60098054911515620100000262ff000019909216919091179055565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461052b57600080fd5b6007548211156105565760405162461bcd60e51b815260040161054d906119a3565b60405180910390fd5b6008548111156105785760405162461bcd60e51b815260040161054d906119a3565b600791909155600855565b60006105916009600a611ae0565b61059f90633b9aca00611aef565b905090565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156106285760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161054d565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461066391869161065e908690611b06565b610c3f565b61066e848484610d63565b5060019392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106ad57600080fd5b6000811180156106bd5750600481105b61072f5760405162461bcd60e51b815260206004820152603c60248201527f546f6b656e3a206f6e6c7920747261646520636f6f6c646f776e2076616c756560448201527f7320696e2072616e67652028302c3429207065726d69737369626c6500000000606482015260840161054d565b600655565b6000546001600160a01b0316331461075e5760405162461bcd60e51b815260040161054d90611b19565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161054d90611b19565b600b805460029160006107e483611b4e565b91905055106107f257600080fd5b565b6000546001600160a01b0316331461081e5760405162461bcd60e51b815260040161054d90611b19565b306001600160a01b0383160361083357600080fd5b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146108885760405162461bcd60e51b815260040161054d90611b19565b60005b828110156109e8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168484838181106108cf576108cf611b67565b90506020020160208101906108e4919061183f565b6001600160a01b03161415801561093e5750737a250d5630b4cf539739df2c5dacb4c659f2488d84848381811061091d5761091d611b67565b9050602002016020810190610932919061183f565b6001600160a01b031614155b801561097957503084848381811061095857610958611b67565b905060200201602081019061096d919061183f565b6001600160a01b031614155b61098257600080fd5b816003600086868581811061099957610999611b67565b90506020020160208101906109ae919061183f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109e081611b4e565b91505061088b565b50505050565b600061049b338484610d63565b610a076009600a611ae0565b610a15906301312d00611aef565b81565b6000546001600160a01b03163314610a425760405162461bcd60e51b815260040161054d90611b19565b600b546002148015610a57575060095460ff16155b610aa35760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e0000000000604482015260640161054d565b43600a6000828254610ab59190611b7d565b90915550506009805460ff19166001179055565b6000546001600160a01b03163314610af35760405162461bcd60e51b815260040161054d90611b19565b6002600b54108015610b1457506002600b546001610b119190611b7d565b10155b610b2057610b20611b90565b600b8054906000610b3083611b4e565b919050555080600a6000828254610b479190611b7d565b9091555050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b8657600080fd5b806000108015610b97575060648111155b610c095760405162461bcd60e51b815260206004820152603760248201527f546f6b656e3a206f6e6c792070657263656e742076616c75657320696e20726160448201527f6e67652028302c3130305d207065726d69737369626c65000000000000000000606482015260840161054d565b30600090815260016020526040812054606490610c269084611aef565b610c309190611ba6565b9050610c3b816112a4565b5050565b6001600160a01b038316610ca15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054d565b6001600160a01b038216610d025760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600954839060ff1680610da757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b80610dce57506001600160a01b03811673a4284d255f078fc65548602b2e479eaa97dd58f3145b610dd757600080fd5b6001600160a01b038416610e3b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054d565b6001600160a01b038316610e9d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054d565b60008211610f065760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b606482015260840161054d565b6001600160a01b03841660009081526001602052604081208054849290610f2e908490611b06565b90915550506001600160a01b0384163014801590610f6957506001600160a01b03841673a4284d255f078fc65548602b2e479eaa97dd58f314155b8015610f9257506001600160a01b03831673a4284d255f078fc65548602b2e479eaa97dd58f314155b8015610fd057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156112225760095462010000900460ff16801561100657506001600160a01b03841660009081526005602052604090205460ff16155b801561102b57506001600160a01b03831660009081526005602052604090205460ff16155b1561106257600061103c8585611497565b9050611047816114c4565b6001600160a01b031660009081526004602052604090204390555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161480156110c057506001600160a01b038316737a250d5630b4cf539739df2c5dacb4c659f2488d14155b1561116f576110d16009600a611ae0565b6110df906301312d00611aef565b826110ff856001600160a01b031660009081526001602052604090205490565b6111099190611b7d565b111561116f5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e3a207472616e7366657220696d706c6965732076696f6c6174696f60448201526e1b881bd9881b585e081dd85b1b195d608a1b606482015260840161054d565b306000908152600160205260409020546111898582611566565b1561119757611197816112a4565b60006111a386856115f7565b9050801561121f576111b58185611b06565b306000908152600160205260408120805492965083929091906111d9908490611b7d565b909155505060405181815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b50505b6001600160a01b0383166000908152600160205260408120805484929061124a908490611b7d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161129691815260200190565b60405180910390a350505050565b6009805461ff0019166101001790556112bc816116af565b306000908152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156113285761132830737a250d5630b4cf539739df2c5dacb4c659f2488d61131a6009600a611ae0565b61065e90633b9aca00611aef565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061135d5761135d611b67565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106113b1576113b1611b67565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac94790611409908590600090869030904290600401611bc8565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5047925050811590506114875760405173a4284d255f078fc65548602b2e479eaa97dd58f39082156108fc029083906000818181858888f19350505050158015611485573d6000803e3d6000fd5b505b50506009805461ff001916905550565b6000823b15806114a65750813b155b6114af57600080fd5b823b156114bd57508061049f565b508161049f565b6001600160a01b038116600090815260046020526040812054158061151757506114ef436001611b7d565b6006546001600160a01b0384166000908152600460205260409020546115159190611b7d565b105b905080610c3b5760405162461bcd60e51b815260206004820152601a60248201527f4d6178207478206672657175656e637920657863656564656421000000000000604482015260640161054d565b600954600090610100900460ff161580156115b357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b80156115d657506115c66009600a611ae0565b6115d390624c4b40611aef565b82115b80156115f0575043600a5460016115ed9190611b7d565b11155b9392505050565b6001600160a01b03821660009081526003602052604081205460ff16806116205750600a544311155b15611643576064611632603184611aef565b61163c9190611ba6565b905061049f565b6064600a54600014611698577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146116905760085461169b565b60075461169b565b60195b6116a59084611aef565b6115f09190611ba6565b60006116bd6009600a611ae0565b6116cb906301312d00611aef565b82116116ef576116dd6009600a611ae0565b6116ea90624c4b40611aef565b61049f565b6116fb6009600a611ae0565b61049f906301312d00611aef565b600060208083528351808285015260005b818110156117365785810183015185820160400152820161171a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461176e57600080fd5b919050565b6000806040838503121561178657600080fd5b61178f83611757565b946020939093013593505050565b8035801515811461176e57600080fd5b6000602082840312156117bf57600080fd5b6115f08261179d565b600080604083850312156117db57600080fd5b50508035926020909101359150565b6000806000606084860312156117ff57600080fd5b61180884611757565b925061181660208501611757565b9150604084013590509250925092565b60006020828403121561183857600080fd5b5035919050565b60006020828403121561185157600080fd5b6115f082611757565b6000806040838503121561186d57600080fd5b61187683611757565b91506118846020840161179d565b90509250929050565b60008083601f84011261189f57600080fd5b50813567ffffffffffffffff8111156118b757600080fd5b6020830191508360208260051b85010111156118d257600080fd5b9250929050565b6000806000604084860312156118ee57600080fd5b833567ffffffffffffffff81111561190557600080fd5b6119118682870161188d565b909450925061192490506020850161179d565b90509250925092565b6000806040838503121561194057600080fd5b61194983611757565b915061188460208401611757565b60008060006040848603121561196c57600080fd5b833567ffffffffffffffff81111561198357600080fd5b61198f8682870161188d565b909790965060209590950135949350505050565b60208082526023908201527f546f6b656e3a206f6e6c792066656520726564756374696f6e207065726d69746040820152621d195960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611a37578160001904821115611a1d57611a1d6119e6565b80851615611a2a57918102915b93841c9390800290611a01565b509250929050565b600082611a4e5750600161049f565b81611a5b5750600061049f565b8160018114611a715760028114611a7b57611a97565b600191505061049f565b60ff841115611a8c57611a8c6119e6565b50506001821b61049f565b5060208310610133831016604e8410600b8410161715611aba575081810a61049f565b611ac483836119fc565b8060001904821115611ad857611ad86119e6565b029392505050565b60006115f060ff841683611a3f565b808202811582820484141761049f5761049f6119e6565b8181038181111561049f5761049f6119e6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060018201611b6057611b606119e6565b5060010190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561049f5761049f6119e6565b634e487b7160e01b600052600160045260246000fd5b600082611bc357634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c185784516001600160a01b031683529383019391830191600101611bf3565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201ab51783a1a6c7d35c0939666edbacc3f38208a35228055d898ddeea2d15b31064736f6c63430008130033