0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b85780639ace38c21161007c5780639ace38c2146103e9578063a457c2d7146104a2578063a9059cbb146104ce578063dd62ed3e146104fa578063e46adf6214610528578063f2fde38b1461054e57610142565b806370a08231146103875780638da5cb5b146103ad5780638f32d59b146103d157806391d4ec18146103d957806395d89b41146103e157610142565b806318160ddd1161010a57806318160ddd146102bd57806323b872dd146102c5578063313ce567146102fb578063395093511461031957806346c3bd1f146103455780636e9dde991461036257610142565b80630577c02b1461014757806306fdde0314610151578063095ea7b3146101ce5780630ab114f91461020e578063126e19be1461023d575b600080fd5b61014f610574565b005b6101596105d8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019357818101518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa600480360360408110156101e457600080fd5b506001600160a01b03813516906020013561066f565b604080519115158252519081900360200190f35b61022b6004803603602081101561022457600080fd5b50356106d6565b60408051918252519081900360200190f35b61014f6004803603604081101561025357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b509092509050610a0b565b61022b610aeb565b6101fa600480360360608110156102db57600080fd5b506001600160a01b03813581169160208101359091169060400135610af1565b610303610c50565b6040805160ff9092168252519081900360200190f35b6101fa6004803603604081101561032f57600080fd5b506001600160a01b038135169060200135610c59565b61014f6004803603602081101561035b57600080fd5b5035610cf2565b61014f6004803603604081101561037857600080fd5b50803590602001351515610e17565b61022b6004803603602081101561039d57600080fd5b50356001600160a01b0316610e99565b6103b5610ec7565b604080516001600160a01b039092168252519081900360200190f35b6101fa610ed6565b61022b610ee7565b610159610eed565b610406600480360360208110156103ff57600080fd5b5035610f4e565b6040518084151515158152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561046557818101518382015260200161044d565b50505050905090810190601f1680156104925780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6101fa600480360360408110156104b857600080fd5b506001600160a01b038135169060200135611013565b6101fa600480360360408110156104e457600080fd5b506001600160a01b038135169060200135611102565b61022b6004803603604081101561051057600080fd5b506001600160a01b03813581169160200135166111fa565b61014f6004803603602081101561053e57600080fd5b50356001600160a01b0316611225565b61014f6004803603602081101561056457600080fd5b50356001600160a01b0316611258565b61057c610ed6565b61058557600080fd5b6034541561059257600080fd5b603354604080516001600160a01b039092168252517f88edfb4ea96673000ad101b18d1c7dbd727c5d92217c8d0b9966f2aaf77e93f49181900360200190a16001603455565b60678054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106645780601f1061063957610100808354040283529160200191610664565b820191906000526020600020905b81548152906001019060200180831161064757829003601f168201915b505050505090505b90565b33600081815260a2602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60a0546000906001600160a01b031633146106f057600080fd5b609d5461070490600163ffffffff61127516565b609d558161074d57609d54609e5460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250609e54610a06565b600082121561077957610771610762836112d6565b609e549063ffffffff6112fe16565b609e55610790565b609e5461078c908363ffffffff61127516565b609e555b609e546001600160801b0310156107ad576001600160801b03609e555b609e546107c7906a098b933fc4a4a1c77fffff1990611340565b609f55609d54609e5460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a260005b609c54811015610a00576000609c828154811061081e57fe5b60009182526020909120600290910201805490915060ff16156109f75780546001808301805460408051602060026101009685161587026000190190941693909304601f81018490048402820184019092528181526000956108e69590046001600160a01b03169390929091908301828280156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050611382565b9050806109f55781546040805185815260208101828152600180870180546002610100938216158402600019019091160494840185905294046001600160a01b0316937f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c2639388939192906060830190849080156109a45780601f10610979576101008083540402835291602001916109a4565b820191906000526020600020905b81548152906001019060200180831161098757829003601f168201915b5050935050505060405180910390a26040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b505b50600101610805565b5050609e545b919050565b610a13610ed6565b610a1c57600080fd5b609c6040518060600160405280600115158152602001856001600160a01b0316815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250508354600181810180875595835260209283902085516002909302018054848701516001600160a01b031661010002610100600160a81b031994151560ff19909216919091179390931692909217825560408501518051929450610ae29391850192910190611576565b50505050505050565b609e5490565b6000826001600160a01b038116610b0757600080fd5b6001600160a01b038116301415610b1d57600080fd5b6001600160a01b038516600090815260a260209081526040808320338452909152902054610b51908463ffffffff6112fe16565b6001600160a01b038616600090815260a260209081526040808320338452909152812091909155609f54610b8c90859063ffffffff6113a516565b6001600160a01b038716600090815260a16020526040902054909150610bb8908263ffffffff6112fe16565b6001600160a01b03808816600090815260a160205260408082209390935590871681522054610bed908263ffffffff61127516565b6001600160a01b03808716600081815260a1602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b60695460ff1690565b33600090815260a2602090815260408083206001600160a01b0386168452909152812054610c8d908363ffffffff61127516565b33600081815260a2602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b610cfa610ed6565b610d0357600080fd5b609c548110610d4f576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b609c5460001901811015610e0057609c80546000198101908110610d6f57fe5b9060005260206000209060020201609c8281548110610d8a57fe5b6000918252602090912082546002928302909101805460ff191660ff9092161515919091178082558354610100600160a81b0319909116610100918290046001600160a01b03168202178255600180850180549394610dfc9483870194929381161590920260001901909116046115f4565b5050505b609c805490610e13906000198301611669565b5050565b610e1f610ed6565b610e2857600080fd5b609c548210610e685760405162461bcd60e51b81526004018080602001828103825260288152602001806118c76028913960400191505060405180910390fd5b80609c8381548110610e7657fe5b60009182526020909120600290910201805460ff19169115159190911790555050565b609f546001600160a01b038216600090815260a1602052604081205490916106d0919063ffffffff61134016565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b609c5490565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106645780601f1061063957610100808354040283529160200191610664565b609c8181548110610f5b57fe5b6000918252602091829020600291820201805460018083018054604080516101009483161585026000190190921696909604601f810188900488028201880190965285815260ff84169750919092046001600160a01b031694929390928301828280156110095780601f10610fde57610100808354040283529160200191611009565b820191906000526020600020905b815481529060010190602001808311610fec57829003601f168201915b5050505050905083565b33600090815260a2602090815260408083206001600160a01b03861684529091528120548083106110675733600090815260a2602090815260408083206001600160a01b038816845290915281205561109c565b611077818463ffffffff6112fe16565b33600090815260a2602090815260408083206001600160a01b03891684529091529020555b33600081815260a2602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b03811661111857600080fd5b6001600160a01b03811630141561112e57600080fd5b6000611145609f54856113a590919063ffffffff16565b33600090815260a16020526040902054909150611168908263ffffffff6112fe16565b33600090815260a16020526040808220929092556001600160a01b0387168152205461119a908263ffffffff61127516565b6001600160a01b038616600081815260a160209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001949350505050565b6001600160a01b03918216600090815260a26020908152604080832093909416825291909152205490565b61122d610ed6565b61123657600080fd5b60a080546001600160a01b0319166001600160a01b0392909216919091179055565b611260610ed6565b61126957600080fd5b611272816113fe565b50565b6000828201838110156112cf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000600160ff1b8214156112e957600080fd5b600082126112f757816106d0565b5060000390565b60006112cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061147a565b60006112cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b6000806040516020840160008286518360008a6187965a03f19695505050505050565b6000826113b4575060006106d0565b828202828482816113c157fe5b04146112cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118ef6021913960400191505060405180910390fd5b6034541561140b57600080fd5b6001600160a01b03811661141e57600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b600081848411156115095760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114ce5781810151838201526020016114b6565b50505050905090810190601f1680156114fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115605760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114ce5781810151838201526020016114b6565b50600083858161156c57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115b757805160ff19168380011785556115e4565b828001600101855582156115e4579182015b828111156115e45782518255916020019190600101906115c9565b506115f092915061169a565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061162d57805485556115e4565b828001600101855582156115e457600052602060002091601f016020900482015b828111156115e457825482559160010191906001019061164e565b8154818355818111156116955760020281600202836000526020600020918201910161169591906116b4565b505050565b61066c91905b808211156115f057600081556001016116a0565b61066c91905b808211156115f05780546001600160a81b031916815560006116df60018301826116e8565b506002016116ba565b50805460018160011615610100020316600290046000825580601f1061170e5750611272565b601f016020900490600052602060002090810190611272919061169a565b600054610100900460ff168061174557506117456118c0565b80611753575060005460ff16155b61178e5760405162461bcd60e51b815260040180806020018281038252602e815260200180611910602e913960400191505060405180910390fd5b60008054603380546001600160a01b0319166001600160a01b039490941693909317909255603481905561ff001980831661010090811760ff19166001179091169281900460ff16151502919091179055565b600054610100900460ff16806117fa57506117fa6118c0565b80611808575060005460ff16155b6118435760405162461bcd60e51b815260040180806020018281038252602e815260200180611910602e913960400191505060405180910390fd5b60008054600161010061ff00198316811760ff191691909117909255845191900460ff1690611879906067906020870190611576565b50825161188d906068906020860190611576565b506069805460ff90931660ff1990931692909217909155600080549115156101000261ff00199092169190911790555050565b303b159056fe696e646578206d75737420626520696e2072616e6765206f662073746f726564207478206c697374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820f293d988e4028b6a58d93e478b2e4f9bdc4a28ea7aab8c0d7a5d4293903dfdde64736f6c63430005110032
0x60806040523480156200001157600080fd5b5062000028336200011360201b6200172c1760201c565b620000856040518060400160405280601081526020016f15985b5c1a5c9948141c9bdd1bd8dbdb60821b81525060405180604001604052806004815260200163056414d560e41b8152506012620001d760201b620017e11760201c565b6a0b5facfe5b81c365c00000609e90815533600090815260a1602090815260409091206a098b933fc4a4a1c77fffff19908190559154620000d0929162001340620002c9821b17901c565b609f55609e54604080519182525133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36200046a565b600054610100900460ff1680620001385750620001386001600160e01b036200031a16565b8062000147575060005460ff16155b620001845760405162461bcd60e51b815260040180806020018281038252602e81526020018062001dec602e913960400191505060405180910390fd5b60008054603380546001600160a01b0319166001600160a01b039490941693909317909255603481905561ff001980831661010090811760ff19166001179091169281900460ff16151502919091179055565b600054610100900460ff1680620001fc5750620001fc6001600160e01b036200031a16565b806200020b575060005460ff16155b620002485760405162461bcd60e51b815260040180806020018281038252602e81526020018062001dec602e913960400191505060405180910390fd5b60008054600161010061ff00198316811760ff191691909117909255845191900460ff169062000280906067906020870190620003c8565b50825162000296906068906020860190620003c8565b506069805460ff90931660ff1990931692909217909155600080549115156101000261ff00199092169190911790555050565b60006200031383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200032160201b60201c565b9392505050565b303b155b90565b60008183620003b15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620003755781810151838201526020016200035b565b50505050905090810190601f168015620003a35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620003be57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200040b57805160ff19168380011785556200043b565b828001600101855582156200043b579182015b828111156200043b5782518255916020019190600101906200041e565b50620004499291506200044d565b5090565b6200031e91905b8082111562000449576000815560010162000454565b611972806200047a6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b85780639ace38c21161007c5780639ace38c2146103e9578063a457c2d7146104a2578063a9059cbb146104ce578063dd62ed3e146104fa578063e46adf6214610528578063f2fde38b1461054e57610142565b806370a08231146103875780638da5cb5b146103ad5780638f32d59b146103d157806391d4ec18146103d957806395d89b41146103e157610142565b806318160ddd1161010a57806318160ddd146102bd57806323b872dd146102c5578063313ce567146102fb578063395093511461031957806346c3bd1f146103455780636e9dde991461036257610142565b80630577c02b1461014757806306fdde0314610151578063095ea7b3146101ce5780630ab114f91461020e578063126e19be1461023d575b600080fd5b61014f610574565b005b6101596105d8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019357818101518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fa600480360360408110156101e457600080fd5b506001600160a01b03813516906020013561066f565b604080519115158252519081900360200190f35b61022b6004803603602081101561022457600080fd5b50356106d6565b60408051918252519081900360200190f35b61014f6004803603604081101561025357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460018302840111640100000000831117156102b257600080fd5b509092509050610a0b565b61022b610aeb565b6101fa600480360360608110156102db57600080fd5b506001600160a01b03813581169160208101359091169060400135610af1565b610303610c50565b6040805160ff9092168252519081900360200190f35b6101fa6004803603604081101561032f57600080fd5b506001600160a01b038135169060200135610c59565b61014f6004803603602081101561035b57600080fd5b5035610cf2565b61014f6004803603604081101561037857600080fd5b50803590602001351515610e17565b61022b6004803603602081101561039d57600080fd5b50356001600160a01b0316610e99565b6103b5610ec7565b604080516001600160a01b039092168252519081900360200190f35b6101fa610ed6565b61022b610ee7565b610159610eed565b610406600480360360208110156103ff57600080fd5b5035610f4e565b6040518084151515158152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561046557818101518382015260200161044d565b50505050905090810190601f1680156104925780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b6101fa600480360360408110156104b857600080fd5b506001600160a01b038135169060200135611013565b6101fa600480360360408110156104e457600080fd5b506001600160a01b038135169060200135611102565b61022b6004803603604081101561051057600080fd5b506001600160a01b03813581169160200135166111fa565b61014f6004803603602081101561053e57600080fd5b50356001600160a01b0316611225565b61014f6004803603602081101561056457600080fd5b50356001600160a01b0316611258565b61057c610ed6565b61058557600080fd5b6034541561059257600080fd5b603354604080516001600160a01b039092168252517f88edfb4ea96673000ad101b18d1c7dbd727c5d92217c8d0b9966f2aaf77e93f49181900360200190a16001603455565b60678054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106645780601f1061063957610100808354040283529160200191610664565b820191906000526020600020905b81548152906001019060200180831161064757829003601f168201915b505050505090505b90565b33600081815260a2602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60a0546000906001600160a01b031633146106f057600080fd5b609d5461070490600163ffffffff61127516565b609d558161074d57609d54609e5460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250609e54610a06565b600082121561077957610771610762836112d6565b609e549063ffffffff6112fe16565b609e55610790565b609e5461078c908363ffffffff61127516565b609e555b609e546001600160801b0310156107ad576001600160801b03609e555b609e546107c7906a098b933fc4a4a1c77fffff1990611340565b609f55609d54609e5460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a260005b609c54811015610a00576000609c828154811061081e57fe5b60009182526020909120600290910201805490915060ff16156109f75780546001808301805460408051602060026101009685161587026000190190941693909304601f81018490048402820184019092528181526000956108e69590046001600160a01b03169390929091908301828280156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050611382565b9050806109f55781546040805185815260208101828152600180870180546002610100938216158402600019019091160494840185905294046001600160a01b0316937f8091ecaaa54ebb82e02d36c2c336528e0fcb9b3430fc1291ac88295032b9c2639388939192906060830190849080156109a45780601f10610979576101008083540402835291602001916109a4565b820191906000526020600020905b81548152906001019060200180831161098757829003601f168201915b5050935050505060405180910390a26040805162461bcd60e51b8152602060048201526012602482015271151c985b9cd858dd1a5bdb8811985a5b195960721b604482015290519081900360640190fd5b505b50600101610805565b5050609e545b919050565b610a13610ed6565b610a1c57600080fd5b609c6040518060600160405280600115158152602001856001600160a01b0316815260200184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250508354600181810180875595835260209283902085516002909302018054848701516001600160a01b031661010002610100600160a81b031994151560ff19909216919091179390931692909217825560408501518051929450610ae29391850192910190611576565b50505050505050565b609e5490565b6000826001600160a01b038116610b0757600080fd5b6001600160a01b038116301415610b1d57600080fd5b6001600160a01b038516600090815260a260209081526040808320338452909152902054610b51908463ffffffff6112fe16565b6001600160a01b038616600090815260a260209081526040808320338452909152812091909155609f54610b8c90859063ffffffff6113a516565b6001600160a01b038716600090815260a16020526040902054909150610bb8908263ffffffff6112fe16565b6001600160a01b03808816600090815260a160205260408082209390935590871681522054610bed908263ffffffff61127516565b6001600160a01b03808716600081815260a1602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b60695460ff1690565b33600090815260a2602090815260408083206001600160a01b0386168452909152812054610c8d908363ffffffff61127516565b33600081815260a2602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b610cfa610ed6565b610d0357600080fd5b609c548110610d4f576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b609c5460001901811015610e0057609c80546000198101908110610d6f57fe5b9060005260206000209060020201609c8281548110610d8a57fe5b6000918252602090912082546002928302909101805460ff191660ff9092161515919091178082558354610100600160a81b0319909116610100918290046001600160a01b03168202178255600180850180549394610dfc9483870194929381161590920260001901909116046115f4565b5050505b609c805490610e13906000198301611669565b5050565b610e1f610ed6565b610e2857600080fd5b609c548210610e685760405162461bcd60e51b81526004018080602001828103825260288152602001806118c76028913960400191505060405180910390fd5b80609c8381548110610e7657fe5b60009182526020909120600290910201805460ff19169115159190911790555050565b609f546001600160a01b038216600090815260a1602052604081205490916106d0919063ffffffff61134016565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b609c5490565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106645780601f1061063957610100808354040283529160200191610664565b609c8181548110610f5b57fe5b6000918252602091829020600291820201805460018083018054604080516101009483161585026000190190921696909604601f810188900488028201880190965285815260ff84169750919092046001600160a01b031694929390928301828280156110095780601f10610fde57610100808354040283529160200191611009565b820191906000526020600020905b815481529060010190602001808311610fec57829003601f168201915b5050505050905083565b33600090815260a2602090815260408083206001600160a01b03861684529091528120548083106110675733600090815260a2602090815260408083206001600160a01b038816845290915281205561109c565b611077818463ffffffff6112fe16565b33600090815260a2602090815260408083206001600160a01b03891684529091529020555b33600081815260a2602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b03811661111857600080fd5b6001600160a01b03811630141561112e57600080fd5b6000611145609f54856113a590919063ffffffff16565b33600090815260a16020526040902054909150611168908263ffffffff6112fe16565b33600090815260a16020526040808220929092556001600160a01b0387168152205461119a908263ffffffff61127516565b6001600160a01b038616600081815260a160209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001949350505050565b6001600160a01b03918216600090815260a26020908152604080832093909416825291909152205490565b61122d610ed6565b61123657600080fd5b60a080546001600160a01b0319166001600160a01b0392909216919091179055565b611260610ed6565b61126957600080fd5b611272816113fe565b50565b6000828201838110156112cf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000600160ff1b8214156112e957600080fd5b600082126112f757816106d0565b5060000390565b60006112cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061147a565b60006112cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b6000806040516020840160008286518360008a6187965a03f19695505050505050565b6000826113b4575060006106d0565b828202828482816113c157fe5b04146112cf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118ef6021913960400191505060405180910390fd5b6034541561140b57600080fd5b6001600160a01b03811661141e57600080fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b600081848411156115095760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114ce5781810151838201526020016114b6565b50505050905090810190601f1680156114fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836115605760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114ce5781810151838201526020016114b6565b50600083858161156c57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115b757805160ff19168380011785556115e4565b828001600101855582156115e4579182015b828111156115e45782518255916020019190600101906115c9565b506115f092915061169a565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061162d57805485556115e4565b828001600101855582156115e457600052602060002091601f016020900482015b828111156115e457825482559160010191906001019061164e565b8154818355818111156116955760020281600202836000526020600020918201910161169591906116b4565b505050565b61066c91905b808211156115f057600081556001016116a0565b61066c91905b808211156115f05780546001600160a81b031916815560006116df60018301826116e8565b506002016116ba565b50805460018160011615610100020316600290046000825580601f1061170e5750611272565b601f016020900490600052602060002090810190611272919061169a565b600054610100900460ff168061174557506117456118c0565b80611753575060005460ff16155b61178e5760405162461bcd60e51b815260040180806020018281038252602e815260200180611910602e913960400191505060405180910390fd5b60008054603380546001600160a01b0319166001600160a01b039490941693909317909255603481905561ff001980831661010090811760ff19166001179091169281900460ff16151502919091179055565b600054610100900460ff16806117fa57506117fa6118c0565b80611808575060005460ff16155b6118435760405162461bcd60e51b815260040180806020018281038252602e815260200180611910602e913960400191505060405180910390fd5b60008054600161010061ff00198316811760ff191691909117909255845191900460ff1690611879906067906020870190611576565b50825161188d906068906020860190611576565b506069805460ff90931660ff1990931692909217909155600080549115156101000261ff00199092169190911790555050565b303b159056fe696e646578206d75737420626520696e2072616e6765206f662073746f726564207478206c697374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a72315820f293d988e4028b6a58d93e478b2e4f9bdc4a28ea7aab8c0d7a5d4293903dfdde64736f6c63430005110032436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564