0x608060405234801561001057600080fd5b50600436106101e45760003560e01c806357f6b8121161010f57806395d89b41116100a2578063dd62ed3e11610071578063dd62ed3e14610678578063e5225381146106a6578063f2fde38b146106ae578063f59c3708146106d4576101e4565b806395d89b4114610601578063a694fc3a14610609578063a9059cbb14610626578063af500ba314610652576101e4565b8063817b1cd2116100de578063817b1cd2146105b05780638456cb59146105b85780638da5cb5b146105c057806391c05b0b146105e4576101e4565b806357f6b812146105295780635c975abb1461057a57806370a0823114610582578063715018a6146105a8576101e4565b80632e17de78116101875780633f4ba83a116101565780633f4ba83a146104775780634000aea01461047f57806342966c68146105045780634be8b05e14610521576101e4565b80632e17de781461040e578063313ce5671461042b578063323be1c5146104495780633af32abf14610451576101e4565b8063153a1f3e116101c3578063153a1f3e146102de57806318160ddd146103a257806323b872dd146103aa578063279f7176146103e0576101e4565b806265318b146101e957806306fdde0314610221578063095ea7b31461029e575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610702565b60408051918252519081900360200190f35b61022961074a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026357818101518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ca600480360360408110156102b457600080fd5b506001600160a01b038135169060200135610776565b604080519115158252519081900360200190f35b6103a0600480360360408110156102f457600080fd5b81019060208101813564010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b91939092909160208101903564010000000081111561036157600080fd5b82018360208201111561037357600080fd5b8035906020019184602083028401116401000000008311171561039557600080fd5b509092509050610858565b005b61020f61092e565b6102ca600480360360608110156103c057600080fd5b506001600160a01b03813581169160208101359091169060400135610934565b6103a0600480360360408110156103f657600080fd5b506001600160a01b0381351690602001351515610a4d565b6103a06004803603602081101561042457600080fd5b5035610b03565b610433610b86565b6040805160ff9092168252519081900360200190f35b6102ca610b8b565b6102ca6004803603602081101561046757600080fd5b50356001600160a01b0316610b99565b6103a0610bb7565b6102ca6004803603606081101561049557600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104c557600080fd5b8201836020820111156104d757600080fd5b803590602001918460018302840111640100000000831117156104f957600080fd5b509092509050610c5d565b6103a06004803603602081101561051a57600080fd5b5035610dc1565b6103a0610efc565b61054f6004803603602081101561053f57600080fd5b50356001600160a01b0316610f49565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102ca610f8e565b61020f6004803603602081101561059857600080fd5b50356001600160a01b0316610f97565b6103a0610fc7565b61020f611026565b6103a061102c565b6105c861110c565b604080516001600160a01b039092168252519081900360200190f35b6103a0600480360360208110156105fa57600080fd5b503561111b565b6102296111c1565b6103a06004803603602081101561061f57600080fd5b50356111e1565b6102ca6004803603604081101561063c57600080fd5b506001600160a01b038135169060200135611261565b61020f6004803603602081101561066857600080fd5b50356001600160a01b03166112f0565b61020f6004803603604081101561068e57600080fd5b506001600160a01b038135811691602001351661130e565b61020f61133a565b6103a0600480360360208110156106c457600080fd5b50356001600160a01b0316611471565b6103a0600480360360408110156106ea57600080fd5b506001600160a01b03813516906020013515156114f6565b6001600160a01b0381166000908152600360205260408120600480820154600290920154905461074492600160401b92909161073d916115a4565b0390611604565b92915050565b6040518060400160405280601081526020016f088caccd2c2dcc6ca40a0d0decadcd2f60831b81525081565b60065460009060ff16158061079557506000546001600160a01b031633145b806107b4575033600090815260036020526040902054610100900460ff165b6107f0576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b3360008181526003602081815260408084206001600160a01b0389168086529301825292839020869055825186815292519193927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60065460ff16158061087457506000546001600160a01b031633145b80610893575033600090815260036020526040902054610100900460ff165b6108cf576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b8281146108db57600080fd5b60005b838110156109275761091e338686848181106108f657fe5b905060200201356001600160a01b031685858581811061091257fe5b90506020020135611646565b506001016108de565b5050505050565b60015490565b60065460009060ff16158061095357506000546001600160a01b031633145b80610972575033600090815260036020526040902054610100900460ff165b6109ae576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6001600160a01b038416600090815260036020818152604080842033855290920190529020548211156109e057600080fd5b6001600160a01b03841660009081526003602081815260408084203385529092019052902054610a10818461186c565b6001600160a01b03861660009081526003602081815260408084203385529092019052902055610a41858585611646565b50600195945050505050565b6005546001600160a01b03163314610a9b576040805162461bcd60e51b815260206004820152600c60248201526b6f6e6c792061646d696e2e2160a01b604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805461ff00191661010086151590810291909117909155825190815291517f98970095ca49ea76125d950289e4accb06720056271360a2168f6c2aba273cae9281900390910190a25050565b60065460ff161580610b1f57506000546001600160a01b031633145b80610b3e575033600090815260036020526040902054610100900460ff165b610b7a576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b610b83816118ae565b50565b601281565b600654610100900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b6000546001600160a01b03163314610bce57600080fd5b60065460ff16610c14576040805162461bcd60e51b815260206004820152600c60248201526b6e6f74207061757365642e2160a01b604482015290519081900360640190fd5b60065460ff161515600114610c2857600080fd5b6006805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60065460009060ff161580610c7c57506000546001600160a01b031633145b80610c9b575033600090815260036020526040902054610100900460ff165b610cd7576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6000610ce4338787611646565b9050853b63ffffffff811615610db457866001600160a01b0316636be32e73338488886040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b505050506040513d6020811015610da957600080fd5b5051610db457600080fd5b5060019695505050505050565b6005546001600160a01b0316331415610dd957600080fd5b80610de333610f97565b1015610dee57600080fd5b33600090815260036020526040902060010154610e0b818361186c565b33600090815260036020526040902060010155600254829015610e8e57610e33816002611604565b600254909150600090610e5490610e4e84600160401b6115a4565b90611604565b600454909150610e6490826119f2565b60045560408051838152905130913391600080516020611c6c8339815191529181900360200190a3505b600154610e9b908261186c565b6001556040805182815290516000913391600080516020611c6c8339815191529181900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a1505050565b6000546001600160a01b03163314610f1357600080fd5b6006805461ffff191690556040517faff39f66825d4448497d384dee3f4a3adf00a622960add00806503ae4ccee01c90600090a1565b6000806000806000610f5961092e565b610f61611026565b610f6a88610f97565b610f73896112f0565b610f7c8a610702565b939a9299509097509550909350915050565b60065460ff1681565b6000610744610fa5836112f0565b6001600160a01b0384166000908152600360205260409020600101549061186c565b6000546001600160a01b03163314610fde57600080fd5b600080546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a2600080546001600160a01b0319169055565b60025490565b6000546001600160a01b0316331461104357600080fd5b60065460ff16158061105f57506000546001600160a01b031633145b8061107e575033600090815260036020526040902054610100900460ff165b6110ba576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b60065460ff6101009091041615156001146110d457600080fd5b6006805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b60025461112757600080fd5b8061113133610f97565b101561113c57600080fd5b33600090815260036020526040902060010154611159818361186c565b3360009081526003602052604081206001019190915560025461118490610e4e85600160401b6115a4565b60045490915061119490826119f2565b60045560408051848152905130913391600080516020611c6c8339815191529181900360200190a3505050565b604051806040016040528060048152602001630888aa0960e31b81525081565b60065460ff1615806111fd57506000546001600160a01b031633145b8061121c575033600090815260036020526040902054610100900460ff165b611258576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b610b8381611a4c565b60065460009060ff16158061128057506000546001600160a01b031633145b8061129f575033600090815260036020526040902054610100900460ff165b6112db576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6112e6338484611646565b5060019392505050565b6001600160a01b031660009081526003602052604090206002015490565b6001600160a01b0391821660009081526003602081815260408084209490951683529201909152205490565b60065460009060ff16158061135957506000546001600160a01b031633145b80611378575033600090815260036020526040902054610100900460ff165b6113b4576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b60006113bf33610702565b90506113cf81600160401b6115a4565b336000908152600360205260409020600481018054909201909155600101546113f881836119f2565b33600081815260036020908152604091829020600101939093558051858152905191923092600080516020611c6c8339815191529281900390910190a360408051838152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a250905090565b6000546001600160a01b0316331461148857600080fd5b6001600160a01b03811661149b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611544576040805162461bcd60e51b815260206004820152600c60248201526b6f6e6c792061646d696e2e2160a01b604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b6000826115b357506000610744565b828202828482816115c057fe5b04146115fd5760405162461bcd60e51b8152600401808060200182810382526021815260200180611c4b6021913960400191505060405180910390fd5b9392505050565b60006115fd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b4e565b60008161165285610f97565b101561165d57600080fd5b6001600160a01b038416600090815260036020526040902060010154611683818461186c565b6001600160a01b0386166000908152600360205260408120600101919091556116b26064610e4e8660026115a4565b90506116cf6064610e4e6a02fa54641bae8aaa000000600a6115a4565b6116e1826116db61092e565b9061186c565b10806116f157506116f186610b99565b156116fa575060005b6000611706858361186c565b6001600160a01b03871660009081526003602052604090206001015490915061172f81836119f2565b6001600160a01b0380891660008181526003602090815260409182902060010194909455805186815290519193928c1692600080516020611c6c83398151915292918290030190a3821561186157600254156117ee57611790836002611604565b6002549093506000906117ab90610e4e86600160401b6115a4565b6004549091506117bb90826119f2565b60045560408051858152905130916001600160a01b038c1691600080516020611c6c8339815191529181900360200190a3505b6001546117fb908461186c565b6001556040805184815290516000916001600160a01b038b1691600080516020611c6c8339815191529181900360200190a36040805184815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b509695505050505050565b60006115fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf0565b806118b8336112f0565b10156118c357600080fd5b60006118d56064610e4e8460026115a4565b6002549091506118fa906118f190610e4e84600160401b6115a4565b600454906119f2565b60045560025461190a908361186c565b6002553360009081526003602052604090206001015461192a818361186c565b33600090815260036020526040902060018101919091556002015461194f818561186c565b336000908152600360205260409020600201556004546119709085906115a4565b33600081815260036020526040902060040180549290920390915530600080516020611c6c8339815191526119a5878761186c565b60408051918252519081900360200190a360408051858152905133917f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd919081900360200190a250505050565b6000828201838110156115fd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80611a5633610f97565b1015611a6157600080fd5b683635c9adc5dea00000611a7e82611a78336112f0565b906119f2565b1015611a8957600080fd5b600254611a9690826119f2565b60029081553360009081526003602052604090200154611ab681836119f2565b33600090815260036020526040902060020155600454611ad79083906115a4565b336000818152600360209081526040918290206004018054909401909355805185815290513093600080516020611c6c833981519152928290030190a360408051838152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050565b60008183611bda5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b9f578181015183820152602001611b87565b50505050905090810190601f168015611bcc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611be657fe5b0495945050505050565b60008184841115611c425760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b9f578181015183820152602001611b87565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205a1a4213c9904258f99713ae5c5bf12368500c0bb558b3aa1b3d7fd19d936bd264736f6c634300060c0033
0x60806040526006805461ffff191661010017905534801561001f57600080fd5b5060008054336001600160a01b0319918216811783556005805490921681179091556a02fa54641bae8aaa0000006001818155828452600360209081526040808620909201839055815192835290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36100a63360016100b8565b6006805460ff19166001179055610166565b6005546001600160a01b03163314610106576040805162461bcd60e51b815260206004820152600c60248201526b6f6e6c792061646d696e2e2160a01b604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b611cc1806101756000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806357f6b8121161010f57806395d89b41116100a2578063dd62ed3e11610071578063dd62ed3e14610678578063e5225381146106a6578063f2fde38b146106ae578063f59c3708146106d4576101e4565b806395d89b4114610601578063a694fc3a14610609578063a9059cbb14610626578063af500ba314610652576101e4565b8063817b1cd2116100de578063817b1cd2146105b05780638456cb59146105b85780638da5cb5b146105c057806391c05b0b146105e4576101e4565b806357f6b812146105295780635c975abb1461057a57806370a0823114610582578063715018a6146105a8576101e4565b80632e17de78116101875780633f4ba83a116101565780633f4ba83a146104775780634000aea01461047f57806342966c68146105045780634be8b05e14610521576101e4565b80632e17de781461040e578063313ce5671461042b578063323be1c5146104495780633af32abf14610451576101e4565b8063153a1f3e116101c3578063153a1f3e146102de57806318160ddd146103a257806323b872dd146103aa578063279f7176146103e0576101e4565b806265318b146101e957806306fdde0314610221578063095ea7b31461029e575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610702565b60408051918252519081900360200190f35b61022961074a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026357818101518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ca600480360360408110156102b457600080fd5b506001600160a01b038135169060200135610776565b604080519115158252519081900360200190f35b6103a0600480360360408110156102f457600080fd5b81019060208101813564010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184602083028401116401000000008311171561034357600080fd5b91939092909160208101903564010000000081111561036157600080fd5b82018360208201111561037357600080fd5b8035906020019184602083028401116401000000008311171561039557600080fd5b509092509050610858565b005b61020f61092e565b6102ca600480360360608110156103c057600080fd5b506001600160a01b03813581169160208101359091169060400135610934565b6103a0600480360360408110156103f657600080fd5b506001600160a01b0381351690602001351515610a4d565b6103a06004803603602081101561042457600080fd5b5035610b03565b610433610b86565b6040805160ff9092168252519081900360200190f35b6102ca610b8b565b6102ca6004803603602081101561046757600080fd5b50356001600160a01b0316610b99565b6103a0610bb7565b6102ca6004803603606081101561049557600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156104c557600080fd5b8201836020820111156104d757600080fd5b803590602001918460018302840111640100000000831117156104f957600080fd5b509092509050610c5d565b6103a06004803603602081101561051a57600080fd5b5035610dc1565b6103a0610efc565b61054f6004803603602081101561053f57600080fd5b50356001600160a01b0316610f49565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102ca610f8e565b61020f6004803603602081101561059857600080fd5b50356001600160a01b0316610f97565b6103a0610fc7565b61020f611026565b6103a061102c565b6105c861110c565b604080516001600160a01b039092168252519081900360200190f35b6103a0600480360360208110156105fa57600080fd5b503561111b565b6102296111c1565b6103a06004803603602081101561061f57600080fd5b50356111e1565b6102ca6004803603604081101561063c57600080fd5b506001600160a01b038135169060200135611261565b61020f6004803603602081101561066857600080fd5b50356001600160a01b03166112f0565b61020f6004803603604081101561068e57600080fd5b506001600160a01b038135811691602001351661130e565b61020f61133a565b6103a0600480360360208110156106c457600080fd5b50356001600160a01b0316611471565b6103a0600480360360408110156106ea57600080fd5b506001600160a01b03813516906020013515156114f6565b6001600160a01b0381166000908152600360205260408120600480820154600290920154905461074492600160401b92909161073d916115a4565b0390611604565b92915050565b6040518060400160405280601081526020016f088caccd2c2dcc6ca40a0d0decadcd2f60831b81525081565b60065460009060ff16158061079557506000546001600160a01b031633145b806107b4575033600090815260036020526040902054610100900460ff165b6107f0576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b3360008181526003602081815260408084206001600160a01b0389168086529301825292839020869055825186815292519193927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60065460ff16158061087457506000546001600160a01b031633145b80610893575033600090815260036020526040902054610100900460ff165b6108cf576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b8281146108db57600080fd5b60005b838110156109275761091e338686848181106108f657fe5b905060200201356001600160a01b031685858581811061091257fe5b90506020020135611646565b506001016108de565b5050505050565b60015490565b60065460009060ff16158061095357506000546001600160a01b031633145b80610972575033600090815260036020526040902054610100900460ff165b6109ae576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6001600160a01b038416600090815260036020818152604080842033855290920190529020548211156109e057600080fd5b6001600160a01b03841660009081526003602081815260408084203385529092019052902054610a10818461186c565b6001600160a01b03861660009081526003602081815260408084203385529092019052902055610a41858585611646565b50600195945050505050565b6005546001600160a01b03163314610a9b576040805162461bcd60e51b815260206004820152600c60248201526b6f6e6c792061646d696e2e2160a01b604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805461ff00191661010086151590810291909117909155825190815291517f98970095ca49ea76125d950289e4accb06720056271360a2168f6c2aba273cae9281900390910190a25050565b60065460ff161580610b1f57506000546001600160a01b031633145b80610b3e575033600090815260036020526040902054610100900460ff165b610b7a576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b610b83816118ae565b50565b601281565b600654610100900460ff1681565b6001600160a01b031660009081526003602052604090205460ff1690565b6000546001600160a01b03163314610bce57600080fd5b60065460ff16610c14576040805162461bcd60e51b815260206004820152600c60248201526b6e6f74207061757365642e2160a01b604482015290519081900360640190fd5b60065460ff161515600114610c2857600080fd5b6006805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60065460009060ff161580610c7c57506000546001600160a01b031633145b80610c9b575033600090815260036020526040902054610100900460ff165b610cd7576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6000610ce4338787611646565b9050853b63ffffffff811615610db457866001600160a01b0316636be32e73338488886040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b505050506040513d6020811015610da957600080fd5b5051610db457600080fd5b5060019695505050505050565b6005546001600160a01b0316331415610dd957600080fd5b80610de333610f97565b1015610dee57600080fd5b33600090815260036020526040902060010154610e0b818361186c565b33600090815260036020526040902060010155600254829015610e8e57610e33816002611604565b600254909150600090610e5490610e4e84600160401b6115a4565b90611604565b600454909150610e6490826119f2565b60045560408051838152905130913391600080516020611c6c8339815191529181900360200190a3505b600154610e9b908261186c565b6001556040805182815290516000913391600080516020611c6c8339815191529181900360200190a36040805182815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a1505050565b6000546001600160a01b03163314610f1357600080fd5b6006805461ffff191690556040517faff39f66825d4448497d384dee3f4a3adf00a622960add00806503ae4ccee01c90600090a1565b6000806000806000610f5961092e565b610f61611026565b610f6a88610f97565b610f73896112f0565b610f7c8a610702565b939a9299509097509550909350915050565b60065460ff1681565b6000610744610fa5836112f0565b6001600160a01b0384166000908152600360205260409020600101549061186c565b6000546001600160a01b03163314610fde57600080fd5b600080546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a2600080546001600160a01b0319169055565b60025490565b6000546001600160a01b0316331461104357600080fd5b60065460ff16158061105f57506000546001600160a01b031633145b8061107e575033600090815260036020526040902054610100900460ff165b6110ba576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b60065460ff6101009091041615156001146110d457600080fd5b6006805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b60025461112757600080fd5b8061113133610f97565b101561113c57600080fd5b33600090815260036020526040902060010154611159818361186c565b3360009081526003602052604081206001019190915560025461118490610e4e85600160401b6115a4565b60045490915061119490826119f2565b60045560408051848152905130913391600080516020611c6c8339815191529181900360200190a3505050565b604051806040016040528060048152602001630888aa0960e31b81525081565b60065460ff1615806111fd57506000546001600160a01b031633145b8061121c575033600090815260036020526040902054610100900460ff165b611258576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b610b8381611a4c565b60065460009060ff16158061128057506000546001600160a01b031633145b8061129f575033600090815260036020526040902054610100900460ff165b6112db576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b6112e6338484611646565b5060019392505050565b6001600160a01b031660009081526003602052604090206002015490565b6001600160a01b0391821660009081526003602081815260408084209490951683529201909152205490565b60065460009060ff16158061135957506000546001600160a01b031633145b80611378575033600090815260036020526040902054610100900460ff165b6113b4576040805162461bcd60e51b81526020600482015260086024820152677061757365642e2160c01b604482015290519081900360640190fd5b60006113bf33610702565b90506113cf81600160401b6115a4565b336000908152600360205260409020600481018054909201909155600101546113f881836119f2565b33600081815260036020908152604091829020600101939093558051858152905191923092600080516020611c6c8339815191529281900390910190a360408051838152905133917f4256a058fa2b123d727576d3d31e3a272db98ee5fe264e229610ce43dc849999919081900360200190a250905090565b6000546001600160a01b0316331461148857600080fd5b6001600160a01b03811661149b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611544576040805162461bcd60e51b815260206004820152600c60248201526b6f6e6c792061646d696e2e2160a01b604482015290519081900360640190fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b6000826115b357506000610744565b828202828482816115c057fe5b04146115fd5760405162461bcd60e51b8152600401808060200182810382526021815260200180611c4b6021913960400191505060405180910390fd5b9392505050565b60006115fd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b4e565b60008161165285610f97565b101561165d57600080fd5b6001600160a01b038416600090815260036020526040902060010154611683818461186c565b6001600160a01b0386166000908152600360205260408120600101919091556116b26064610e4e8660026115a4565b90506116cf6064610e4e6a02fa54641bae8aaa000000600a6115a4565b6116e1826116db61092e565b9061186c565b10806116f157506116f186610b99565b156116fa575060005b6000611706858361186c565b6001600160a01b03871660009081526003602052604090206001015490915061172f81836119f2565b6001600160a01b0380891660008181526003602090815260409182902060010194909455805186815290519193928c1692600080516020611c6c83398151915292918290030190a3821561186157600254156117ee57611790836002611604565b6002549093506000906117ab90610e4e86600160401b6115a4565b6004549091506117bb90826119f2565b60045560408051858152905130916001600160a01b038c1691600080516020611c6c8339815191529181900360200190a3505b6001546117fb908461186c565b6001556040805184815290516000916001600160a01b038b1691600080516020611c6c8339815191529181900360200190a36040805184815290517fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9181900360200190a15b509695505050505050565b60006115fd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bf0565b806118b8336112f0565b10156118c357600080fd5b60006118d56064610e4e8460026115a4565b6002549091506118fa906118f190610e4e84600160401b6115a4565b600454906119f2565b60045560025461190a908361186c565b6002553360009081526003602052604090206001015461192a818361186c565b33600090815260036020526040902060018101919091556002015461194f818561186c565b336000908152600360205260409020600201556004546119709085906115a4565b33600081815260036020526040902060040180549290920390915530600080516020611c6c8339815191526119a5878761186c565b60408051918252519081900360200190a360408051858152905133917f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd919081900360200190a250505050565b6000828201838110156115fd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80611a5633610f97565b1015611a6157600080fd5b683635c9adc5dea00000611a7e82611a78336112f0565b906119f2565b1015611a8957600080fd5b600254611a9690826119f2565b60029081553360009081526003602052604090200154611ab681836119f2565b33600090815260036020526040902060020155600454611ad79083906115a4565b336000818152600360209081526040918290206004018054909401909355805185815290513093600080516020611c6c833981519152928290030190a360408051838152905133917febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a919081900360200190a25050565b60008183611bda5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b9f578181015183820152602001611b87565b50505050905090810190601f168015611bcc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611be657fe5b0495945050505050565b60008184841115611c425760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b9f578181015183820152602001611b87565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205a1a4213c9904258f99713ae5c5bf12368500c0bb558b3aa1b3d7fd19d936bd264736f6c634300060c0033