úÎ!Éh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgNone7 )u2fDGeneric request for old version of protocol. Probably want to remove0u2f$Bluetooth Classic (Bluetooth BR/EDR)1u2f&Bluetooth Low Energy (Bluetooth Smart)2u2fNear-Field Communications3u2f USB HID (Human Interface Device)@    $#"!%&(')*.-+,/32104?>=<;:98765@4?>=<;:98765/3210)*.-+,%&(' $#"!   None7¿ hu2fHThe U2F Spec (currently) exclusively supports use of the SEC p256r Curve`u2f*Parses Registration or Signin Request JSONau2f!Parses Registration response JSONbu2f9Parses base64-encoded bytestring in Registration responsecu2f=Verifies that Registration is a valid response to the Requestdu2fParses Signin response JSONeu2fCParses base64-encoded client data bytestring inside Signin responsefu2f|Verifies that Signin response is valid given saved pubkey bytestring, request. Warning!: Expects uncompressed public key.gu2fEURL-friendly base64 encoding may or may not contain padding. (https:/tools.ietf.org0html/rfc4648#section-3.2). We remove it here.`abcdefg`abcdefgi       !""#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd"u2f-0.1.0.2-Ca4t7X9j6IGJduo5uSifb6 U2F.TypesU2F SignatureDatasignatureData_userPresenceFlagsignatureData_countersignatureData_signature ClientDataclientData_typclientData_challengeclientData_originclientData_cid_pubkeySigninsignin_keyHandlesignin_clientDatasignin_signatureDataRegistrationDataregistrationData_reservedregistrationData_publicKeyregistrationData_keyHandleregistrationData_certificateregistrationData_signature Registrationregistration_registrationDataregistration_challengeregistration_versionregistration_appIdregistration_clientDataregistration_sessionID RegisteredKeyregisteredKey_versionregisteredKey_keyHandleregisteredKey_transportsregisteredKey_appIdRegisterRequestregisterRequest_versionregisterRequest_challengeRequestappIdversion challenge keyHandle TransportBTBLENFCUSBU2FErrorRegistrationParseErrorRegistrationDataParseError!RegistrationCertificateParseErrorPubKeyParsingErrorSignatureParseErrorChallengeMismatchErrorFailedVerificationErrorSigninParseErrorClientDataParseErrorRequestParseErrorRegisterRequestParseError$fToJSONRequest$fFromJSONRequest$fFromJSONRegisterRequest$fToJSONRegisterRequest$fFromJSONRegistration$fToJSONRegistration$fFromJSONSignin$fFromJSONClientData$fShowU2FError $fEqU2FError$fShowTransport $fEqTransport $fShowRequest$fGenericRequest $fEqRequest$fShowRegisterRequest$fGenericRegisterRequest$fShowRegisteredKey$fGenericRegisteredKey$fEqRegisteredKey$fShowRegistration$fGenericRegistration$fShowRegistrationData$fGenericRegistrationData $fShowSignin$fGenericSignin $fEqSignin$fShowClientData$fGenericClientData$fEqClientData$fShowSignatureData$fGenericSignatureData parseRequestparseRegistrationparseRegistrationDataverifyRegistration parseSigninparseClientData verifySigninformatOutputBase64ourCurve