0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b414d4b611610071578063b414d4b61461031d578063d73dd62314610343578063dd62ed3e1461036f578063e724529c1461039d578063f2fde38b146103cb57610121565b806370a08231146102b35780638456cb59146102d95780638da5cb5b146102e157806395d89b41146102e9578063a9059cbb146102f157610121565b8063313ce567116100f4578063313ce567146102335780633f4ba83a14610251578063521eb2731461025b5780635c975abb1461027f578063661884631461028757610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b03813516906020013561042a565b604080519115158252519081900360200190f35b6101eb610455565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b0381358116916020810135909116906040013561045b565b61023b61048b565b6040805160ff9092168252519081900360200190f35b610259610490565b005b6102636104f8565b604080516001600160a01b039092168252519081900360200190f35b6101cf610510565b6101cf6004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610520565b6101eb600480360360208110156102c957600080fd5b50356001600160a01b0316610544565b61025961055f565b6102636105ce565b61012e6105dd565b6101cf6004803603604081101561030757600080fd5b506001600160a01b0381351690602001356105ff565b6101cf6004803603602081101561033357600080fd5b50356001600160a01b031661061d565b6101cf6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610632565b6101eb6004803603604081101561038557600080fd5b506001600160a01b0381358116916020013516610656565b610259600480360360408110156103b357600080fd5b506001600160a01b0381351690602001351515610681565b610259600480360360208110156103e157600080fd5b50356001600160a01b03166106f8565b6040518060400160405280600c81526020017f42696c61787920546f6b656e000000000000000000000000000000000000000081525081565b600354600090600160a01b900460ff161561044457600080fd5b61044e838361071b565b9392505050565b60005481565b600061046684610781565b61046f83610781565b61047833610781565b6104838484846107a7565b949350505050565b601281565b6003546001600160a01b031633146104a757600080fd5b600354600160a01b900460ff166104bd57600080fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b735dc8f934f15131d10da0e374bf7f5b03b31fea5a81565b600354600160a01b900460ff1681565b600354600090600160a01b900460ff161561053a57600080fd5b61044e83836107cc565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b0316331461057657600080fd5b600354600160a01b900460ff161561058d57600080fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b624249410281525081565b600061060a33610781565b61061383610781565b61044e83836108bb565b60046020526000908152604090205460ff1681565b600354600090600160a01b900460ff161561064c57600080fd5b61044e83836108df565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546001600160a01b0316331461069857600080fd5b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815291517f67a17b8db8ff8fa7cff69c2328bf8a35f9be2c88abeea30be900fc28eece28ed9281900390910190a25050565b6003546001600160a01b0316331461070f57600080fd5b61071881610978565b50565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6001600160a01b03811660009081526004602052604090205460ff161561071857600080fd5b600354600090600160a01b900460ff16156107c157600080fd5b6104838484846109e7565b3360009081526002602090815260408083206001600160a01b0386168452909152812054808310610820573360009081526002602090815260408083206001600160a01b0388168452909152812055610855565b610830818463ffffffff610b5e16565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600354600090600160a01b900460ff16156108d557600080fd5b61044e8383610b73565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610913908363ffffffff610c5416565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03811661098b57600080fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0383166109fc57600080fd5b6001600160a01b038416600090815260016020526040902054821115610a2157600080fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054821115610a5157600080fd5b6001600160a01b038416600090815260016020526040902054610a7a908363ffffffff610b5e16565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610aaf908363ffffffff610c5416565b6001600160a01b038085166000908152600160209081526040808320949094559187168152600282528281203382529091522054610af3908363ffffffff610b5e16565b6001600160a01b03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600082821115610b6d57600080fd5b50900390565b60006001600160a01b038316610b8857600080fd5b33600090815260016020526040902054821115610ba457600080fd5b33600090815260016020526040902054610bc4908363ffffffff610b5e16565b33600090815260016020526040808220929092556001600160a01b03851681522054610bf6908363ffffffff610c5416565b6001600160a01b0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008282018381101561044e57600080fdfea165627a7a723058208482797f8dbf238f4e143a1820f1f1ec0137ca259565e8d20d2d5c2660691aae0029
0x608060405260038054600160a01b60ff021916905534801561002057600080fd5b50600380546001600160a01b031916331790556b06765c793fa10079d00000006000818155735dc8f934f15131d10da0e374bf7f5b03b31fea5a808252600160209081527f350568ae6fdc7f54a23ff95ba23b1726276b94dd9a27c0559038026030bd6980849055604080519485525191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3610c92806100cc6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b414d4b611610071578063b414d4b61461031d578063d73dd62314610343578063dd62ed3e1461036f578063e724529c1461039d578063f2fde38b146103cb57610121565b806370a08231146102b35780638456cb59146102d95780638da5cb5b146102e157806395d89b41146102e9578063a9059cbb146102f157610121565b8063313ce567116100f4578063313ce567146102335780633f4ba83a14610251578063521eb2731461025b5780635c975abb1461027f578063661884631461028757610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6103f1565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b03813516906020013561042a565b604080519115158252519081900360200190f35b6101eb610455565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b0381358116916020810135909116906040013561045b565b61023b61048b565b6040805160ff9092168252519081900360200190f35b610259610490565b005b6102636104f8565b604080516001600160a01b039092168252519081900360200190f35b6101cf610510565b6101cf6004803603604081101561029d57600080fd5b506001600160a01b038135169060200135610520565b6101eb600480360360208110156102c957600080fd5b50356001600160a01b0316610544565b61025961055f565b6102636105ce565b61012e6105dd565b6101cf6004803603604081101561030757600080fd5b506001600160a01b0381351690602001356105ff565b6101cf6004803603602081101561033357600080fd5b50356001600160a01b031661061d565b6101cf6004803603604081101561035957600080fd5b506001600160a01b038135169060200135610632565b6101eb6004803603604081101561038557600080fd5b506001600160a01b0381358116916020013516610656565b610259600480360360408110156103b357600080fd5b506001600160a01b0381351690602001351515610681565b610259600480360360208110156103e157600080fd5b50356001600160a01b03166106f8565b6040518060400160405280600c81526020017f42696c61787920546f6b656e000000000000000000000000000000000000000081525081565b600354600090600160a01b900460ff161561044457600080fd5b61044e838361071b565b9392505050565b60005481565b600061046684610781565b61046f83610781565b61047833610781565b6104838484846107a7565b949350505050565b601281565b6003546001600160a01b031633146104a757600080fd5b600354600160a01b900460ff166104bd57600080fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b735dc8f934f15131d10da0e374bf7f5b03b31fea5a81565b600354600160a01b900460ff1681565b600354600090600160a01b900460ff161561053a57600080fd5b61044e83836107cc565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b0316331461057657600080fd5b600354600160a01b900460ff161561058d57600080fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b624249410281525081565b600061060a33610781565b61061383610781565b61044e83836108bb565b60046020526000908152604090205460ff1681565b600354600090600160a01b900460ff161561064c57600080fd5b61044e83836108df565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6003546001600160a01b0316331461069857600080fd5b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815291517f67a17b8db8ff8fa7cff69c2328bf8a35f9be2c88abeea30be900fc28eece28ed9281900390910190a25050565b6003546001600160a01b0316331461070f57600080fd5b61071881610978565b50565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6001600160a01b03811660009081526004602052604090205460ff161561071857600080fd5b600354600090600160a01b900460ff16156107c157600080fd5b6104838484846109e7565b3360009081526002602090815260408083206001600160a01b0386168452909152812054808310610820573360009081526002602090815260408083206001600160a01b0388168452909152812055610855565b610830818463ffffffff610b5e16565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600354600090600160a01b900460ff16156108d557600080fd5b61044e8383610b73565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610913908363ffffffff610c5416565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03811661098b57600080fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b0383166109fc57600080fd5b6001600160a01b038416600090815260016020526040902054821115610a2157600080fd5b6001600160a01b0384166000908152600260209081526040808320338452909152902054821115610a5157600080fd5b6001600160a01b038416600090815260016020526040902054610a7a908363ffffffff610b5e16565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610aaf908363ffffffff610c5416565b6001600160a01b038085166000908152600160209081526040808320949094559187168152600282528281203382529091522054610af3908363ffffffff610b5e16565b6001600160a01b03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600082821115610b6d57600080fd5b50900390565b60006001600160a01b038316610b8857600080fd5b33600090815260016020526040902054821115610ba457600080fd5b33600090815260016020526040902054610bc4908363ffffffff610b5e16565b33600090815260016020526040808220929092556001600160a01b03851681522054610bf6908363ffffffff610c5416565b6001600160a01b0384166000818152600160209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008282018381101561044e57600080fdfea165627a7a723058208482797f8dbf238f4e143a1820f1f1ec0137ca259565e8d20d2d5c2660691aae0029