// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.12 // source: proto/authentication.proto package proto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type AuthenticationType int32 const ( AuthenticationType_AUTHENTICATION_USER_PASS AuthenticationType = 0 AuthenticationType_AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS AuthenticationType = 1 AuthenticationType_AUTHENTICATION_STORED_FACEBOOK_CREDENTIALS AuthenticationType = 2 AuthenticationType_AUTHENTICATION_SPOTIFY_TOKEN AuthenticationType = 3 AuthenticationType_AUTHENTICATION_FACEBOOK_TOKEN AuthenticationType = 4 ) // Enum value maps for AuthenticationType. var ( AuthenticationType_name = map[int32]string{ 0: "AUTHENTICATION_USER_PASS", 1: "AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS", 2: "AUTHENTICATION_STORED_FACEBOOK_CREDENTIALS", 3: "AUTHENTICATION_SPOTIFY_TOKEN", 4: "AUTHENTICATION_FACEBOOK_TOKEN", } AuthenticationType_value = map[string]int32{ "AUTHENTICATION_USER_PASS": 0, "AUTHENTICATION_STORED_SPOTIFY_CREDENTIALS": 1, "AUTHENTICATION_STORED_FACEBOOK_CREDENTIALS": 2, "AUTHENTICATION_SPOTIFY_TOKEN": 3, "AUTHENTICATION_FACEBOOK_TOKEN": 4, } ) func (x AuthenticationType) Enum() *AuthenticationType { p := new(AuthenticationType) *p = x return p } func (x AuthenticationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AuthenticationType) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[0].Descriptor() } func (AuthenticationType) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[0] } func (x AuthenticationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *AuthenticationType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = AuthenticationType(num) return nil } // Deprecated: Use AuthenticationType.Descriptor instead. func (AuthenticationType) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{0} } type AccountCreation int32 const ( AccountCreation_ACCOUNT_CREATION_ALWAYS_PROMPT AccountCreation = 1 AccountCreation_ACCOUNT_CREATION_ALWAYS_CREATE AccountCreation = 3 ) // Enum value maps for AccountCreation. var ( AccountCreation_name = map[int32]string{ 1: "ACCOUNT_CREATION_ALWAYS_PROMPT", 3: "ACCOUNT_CREATION_ALWAYS_CREATE", } AccountCreation_value = map[string]int32{ "ACCOUNT_CREATION_ALWAYS_PROMPT": 1, "ACCOUNT_CREATION_ALWAYS_CREATE": 3, } ) func (x AccountCreation) Enum() *AccountCreation { p := new(AccountCreation) *p = x return p } func (x AccountCreation) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AccountCreation) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[1].Descriptor() } func (AccountCreation) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[1] } func (x AccountCreation) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *AccountCreation) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = AccountCreation(num) return nil } // Deprecated: Use AccountCreation.Descriptor instead. func (AccountCreation) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{1} } type CpuFamily int32 const ( CpuFamily_CPU_UNKNOWN CpuFamily = 0 CpuFamily_CPU_X86 CpuFamily = 1 CpuFamily_CPU_X86_64 CpuFamily = 2 CpuFamily_CPU_PPC CpuFamily = 3 CpuFamily_CPU_PPC_64 CpuFamily = 4 CpuFamily_CPU_ARM CpuFamily = 5 CpuFamily_CPU_IA64 CpuFamily = 6 CpuFamily_CPU_SH CpuFamily = 7 CpuFamily_CPU_MIPS CpuFamily = 8 CpuFamily_CPU_BLACKFIN CpuFamily = 9 ) // Enum value maps for CpuFamily. var ( CpuFamily_name = map[int32]string{ 0: "CPU_UNKNOWN", 1: "CPU_X86", 2: "CPU_X86_64", 3: "CPU_PPC", 4: "CPU_PPC_64", 5: "CPU_ARM", 6: "CPU_IA64", 7: "CPU_SH", 8: "CPU_MIPS", 9: "CPU_BLACKFIN", } CpuFamily_value = map[string]int32{ "CPU_UNKNOWN": 0, "CPU_X86": 1, "CPU_X86_64": 2, "CPU_PPC": 3, "CPU_PPC_64": 4, "CPU_ARM": 5, "CPU_IA64": 6, "CPU_SH": 7, "CPU_MIPS": 8, "CPU_BLACKFIN": 9, } ) func (x CpuFamily) Enum() *CpuFamily { p := new(CpuFamily) *p = x return p } func (x CpuFamily) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CpuFamily) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[2].Descriptor() } func (CpuFamily) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[2] } func (x CpuFamily) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *CpuFamily) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = CpuFamily(num) return nil } // Deprecated: Use CpuFamily.Descriptor instead. func (CpuFamily) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{2} } type Brand int32 const ( Brand_BRAND_UNBRANDED Brand = 0 Brand_BRAND_INQ Brand = 1 Brand_BRAND_HTC Brand = 2 Brand_BRAND_NOKIA Brand = 3 ) // Enum value maps for Brand. var ( Brand_name = map[int32]string{ 0: "BRAND_UNBRANDED", 1: "BRAND_INQ", 2: "BRAND_HTC", 3: "BRAND_NOKIA", } Brand_value = map[string]int32{ "BRAND_UNBRANDED": 0, "BRAND_INQ": 1, "BRAND_HTC": 2, "BRAND_NOKIA": 3, } ) func (x Brand) Enum() *Brand { p := new(Brand) *p = x return p } func (x Brand) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Brand) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[3].Descriptor() } func (Brand) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[3] } func (x Brand) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *Brand) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = Brand(num) return nil } // Deprecated: Use Brand.Descriptor instead. func (Brand) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{3} } type Os int32 const ( Os_OS_UNKNOWN Os = 0 Os_OS_WINDOWS Os = 1 Os_OS_OSX Os = 2 Os_OS_IPHONE Os = 3 Os_OS_S60 Os = 4 Os_OS_LINUX Os = 5 Os_OS_WINDOWS_CE Os = 6 Os_OS_ANDROID Os = 7 Os_OS_PALM Os = 8 Os_OS_FREEBSD Os = 9 Os_OS_BLACKBERRY Os = 10 Os_OS_SONOS Os = 11 Os_OS_LOGITECH Os = 12 Os_OS_WP7 Os = 13 Os_OS_ONKYO Os = 14 Os_OS_PHILIPS Os = 15 Os_OS_WD Os = 16 Os_OS_VOLVO Os = 17 Os_OS_TIVO Os = 18 Os_OS_AWOX Os = 19 Os_OS_MEEGO Os = 20 Os_OS_QNXNTO Os = 21 Os_OS_BCO Os = 22 ) // Enum value maps for Os. var ( Os_name = map[int32]string{ 0: "OS_UNKNOWN", 1: "OS_WINDOWS", 2: "OS_OSX", 3: "OS_IPHONE", 4: "OS_S60", 5: "OS_LINUX", 6: "OS_WINDOWS_CE", 7: "OS_ANDROID", 8: "OS_PALM", 9: "OS_FREEBSD", 10: "OS_BLACKBERRY", 11: "OS_SONOS", 12: "OS_LOGITECH", 13: "OS_WP7", 14: "OS_ONKYO", 15: "OS_PHILIPS", 16: "OS_WD", 17: "OS_VOLVO", 18: "OS_TIVO", 19: "OS_AWOX", 20: "OS_MEEGO", 21: "OS_QNXNTO", 22: "OS_BCO", } Os_value = map[string]int32{ "OS_UNKNOWN": 0, "OS_WINDOWS": 1, "OS_OSX": 2, "OS_IPHONE": 3, "OS_S60": 4, "OS_LINUX": 5, "OS_WINDOWS_CE": 6, "OS_ANDROID": 7, "OS_PALM": 8, "OS_FREEBSD": 9, "OS_BLACKBERRY": 10, "OS_SONOS": 11, "OS_LOGITECH": 12, "OS_WP7": 13, "OS_ONKYO": 14, "OS_PHILIPS": 15, "OS_WD": 16, "OS_VOLVO": 17, "OS_TIVO": 18, "OS_AWOX": 19, "OS_MEEGO": 20, "OS_QNXNTO": 21, "OS_BCO": 22, } ) func (x Os) Enum() *Os { p := new(Os) *p = x return p } func (x Os) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Os) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[4].Descriptor() } func (Os) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[4] } func (x Os) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *Os) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = Os(num) return nil } // Deprecated: Use Os.Descriptor instead. func (Os) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{4} } type AccountType int32 const ( AccountType_Spotify AccountType = 0 AccountType_Facebook AccountType = 1 ) // Enum value maps for AccountType. var ( AccountType_name = map[int32]string{ 0: "Spotify", 1: "Facebook", } AccountType_value = map[string]int32{ "Spotify": 0, "Facebook": 1, } ) func (x AccountType) Enum() *AccountType { p := new(AccountType) *p = x return p } func (x AccountType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AccountType) Descriptor() protoreflect.EnumDescriptor { return file_proto_authentication_proto_enumTypes[5].Descriptor() } func (AccountType) Type() protoreflect.EnumType { return &file_proto_authentication_proto_enumTypes[5] } func (x AccountType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *AccountType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = AccountType(num) return nil } // Deprecated: Use AccountType.Descriptor instead. func (AccountType) EnumDescriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{5} } type ClientResponseEncrypted struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LoginCredentials *LoginCredentials `protobuf:"bytes,10,req,name=login_credentials,json=loginCredentials" json:"login_credentials,omitempty"` AccountCreation *AccountCreation `protobuf:"varint,20,opt,name=account_creation,json=accountCreation,enum=AccountCreation" json:"account_creation,omitempty"` FingerprintResponse *FingerprintResponseUnion `protobuf:"bytes,30,opt,name=fingerprint_response,json=fingerprintResponse" json:"fingerprint_response,omitempty"` PeerTicket *PeerTicketUnion `protobuf:"bytes,40,opt,name=peer_ticket,json=peerTicket" json:"peer_ticket,omitempty"` SystemInfo *SystemInfo `protobuf:"bytes,50,req,name=system_info,json=systemInfo" json:"system_info,omitempty"` PlatformModel *string `protobuf:"bytes,60,opt,name=platform_model,json=platformModel" json:"platform_model,omitempty"` VersionString *string `protobuf:"bytes,70,opt,name=version_string,json=versionString" json:"version_string,omitempty"` Appkey *LibspotifyAppKey `protobuf:"bytes,80,opt,name=appkey" json:"appkey,omitempty"` ClientInfo *ClientInfo `protobuf:"bytes,90,opt,name=client_info,json=clientInfo" json:"client_info,omitempty"` } func (x *ClientResponseEncrypted) Reset() { *x = ClientResponseEncrypted{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientResponseEncrypted) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientResponseEncrypted) ProtoMessage() {} func (x *ClientResponseEncrypted) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientResponseEncrypted.ProtoReflect.Descriptor instead. func (*ClientResponseEncrypted) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{0} } func (x *ClientResponseEncrypted) GetLoginCredentials() *LoginCredentials { if x != nil { return x.LoginCredentials } return nil } func (x *ClientResponseEncrypted) GetAccountCreation() AccountCreation { if x != nil && x.AccountCreation != nil { return *x.AccountCreation } return AccountCreation_ACCOUNT_CREATION_ALWAYS_PROMPT } func (x *ClientResponseEncrypted) GetFingerprintResponse() *FingerprintResponseUnion { if x != nil { return x.FingerprintResponse } return nil } func (x *ClientResponseEncrypted) GetPeerTicket() *PeerTicketUnion { if x != nil { return x.PeerTicket } return nil } func (x *ClientResponseEncrypted) GetSystemInfo() *SystemInfo { if x != nil { return x.SystemInfo } return nil } func (x *ClientResponseEncrypted) GetPlatformModel() string { if x != nil && x.PlatformModel != nil { return *x.PlatformModel } return "" } func (x *ClientResponseEncrypted) GetVersionString() string { if x != nil && x.VersionString != nil { return *x.VersionString } return "" } func (x *ClientResponseEncrypted) GetAppkey() *LibspotifyAppKey { if x != nil { return x.Appkey } return nil } func (x *ClientResponseEncrypted) GetClientInfo() *ClientInfo { if x != nil { return x.ClientInfo } return nil } type LoginCredentials struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Username *string `protobuf:"bytes,10,opt,name=username" json:"username,omitempty"` Typ *AuthenticationType `protobuf:"varint,20,req,name=typ,enum=AuthenticationType" json:"typ,omitempty"` AuthData []byte `protobuf:"bytes,30,opt,name=auth_data,json=authData" json:"auth_data,omitempty"` } func (x *LoginCredentials) Reset() { *x = LoginCredentials{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LoginCredentials) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginCredentials) ProtoMessage() {} func (x *LoginCredentials) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoginCredentials.ProtoReflect.Descriptor instead. func (*LoginCredentials) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{1} } func (x *LoginCredentials) GetUsername() string { if x != nil && x.Username != nil { return *x.Username } return "" } func (x *LoginCredentials) GetTyp() AuthenticationType { if x != nil && x.Typ != nil { return *x.Typ } return AuthenticationType_AUTHENTICATION_USER_PASS } func (x *LoginCredentials) GetAuthData() []byte { if x != nil { return x.AuthData } return nil } type FingerprintResponseUnion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Grain *FingerprintGrainResponse `protobuf:"bytes,10,opt,name=grain" json:"grain,omitempty"` HmacRipemd *FingerprintHmacRipemdResponse `protobuf:"bytes,20,opt,name=hmac_ripemd,json=hmacRipemd" json:"hmac_ripemd,omitempty"` } func (x *FingerprintResponseUnion) Reset() { *x = FingerprintResponseUnion{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FingerprintResponseUnion) String() string { return protoimpl.X.MessageStringOf(x) } func (*FingerprintResponseUnion) ProtoMessage() {} func (x *FingerprintResponseUnion) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FingerprintResponseUnion.ProtoReflect.Descriptor instead. func (*FingerprintResponseUnion) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{2} } func (x *FingerprintResponseUnion) GetGrain() *FingerprintGrainResponse { if x != nil { return x.Grain } return nil } func (x *FingerprintResponseUnion) GetHmacRipemd() *FingerprintHmacRipemdResponse { if x != nil { return x.HmacRipemd } return nil } type FingerprintGrainResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EncryptedKey []byte `protobuf:"bytes,10,req,name=encrypted_key,json=encryptedKey" json:"encrypted_key,omitempty"` } func (x *FingerprintGrainResponse) Reset() { *x = FingerprintGrainResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FingerprintGrainResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FingerprintGrainResponse) ProtoMessage() {} func (x *FingerprintGrainResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FingerprintGrainResponse.ProtoReflect.Descriptor instead. func (*FingerprintGrainResponse) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{3} } func (x *FingerprintGrainResponse) GetEncryptedKey() []byte { if x != nil { return x.EncryptedKey } return nil } type FingerprintHmacRipemdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Hmac []byte `protobuf:"bytes,10,req,name=hmac" json:"hmac,omitempty"` } func (x *FingerprintHmacRipemdResponse) Reset() { *x = FingerprintHmacRipemdResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FingerprintHmacRipemdResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FingerprintHmacRipemdResponse) ProtoMessage() {} func (x *FingerprintHmacRipemdResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FingerprintHmacRipemdResponse.ProtoReflect.Descriptor instead. func (*FingerprintHmacRipemdResponse) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{4} } func (x *FingerprintHmacRipemdResponse) GetHmac() []byte { if x != nil { return x.Hmac } return nil } type PeerTicketUnion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PublicKey *PeerTicketPublicKey `protobuf:"bytes,10,opt,name=public_key,json=publicKey" json:"public_key,omitempty"` OldTicket *PeerTicketOld `protobuf:"bytes,20,opt,name=old_ticket,json=oldTicket" json:"old_ticket,omitempty"` } func (x *PeerTicketUnion) Reset() { *x = PeerTicketUnion{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PeerTicketUnion) String() string { return protoimpl.X.MessageStringOf(x) } func (*PeerTicketUnion) ProtoMessage() {} func (x *PeerTicketUnion) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PeerTicketUnion.ProtoReflect.Descriptor instead. func (*PeerTicketUnion) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{5} } func (x *PeerTicketUnion) GetPublicKey() *PeerTicketPublicKey { if x != nil { return x.PublicKey } return nil } func (x *PeerTicketUnion) GetOldTicket() *PeerTicketOld { if x != nil { return x.OldTicket } return nil } type PeerTicketPublicKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PublicKey []byte `protobuf:"bytes,10,req,name=public_key,json=publicKey" json:"public_key,omitempty"` } func (x *PeerTicketPublicKey) Reset() { *x = PeerTicketPublicKey{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PeerTicketPublicKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*PeerTicketPublicKey) ProtoMessage() {} func (x *PeerTicketPublicKey) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PeerTicketPublicKey.ProtoReflect.Descriptor instead. func (*PeerTicketPublicKey) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{6} } func (x *PeerTicketPublicKey) GetPublicKey() []byte { if x != nil { return x.PublicKey } return nil } type PeerTicketOld struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PeerTicket []byte `protobuf:"bytes,10,req,name=peer_ticket,json=peerTicket" json:"peer_ticket,omitempty"` PeerTicketSignature []byte `protobuf:"bytes,20,req,name=peer_ticket_signature,json=peerTicketSignature" json:"peer_ticket_signature,omitempty"` } func (x *PeerTicketOld) Reset() { *x = PeerTicketOld{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PeerTicketOld) String() string { return protoimpl.X.MessageStringOf(x) } func (*PeerTicketOld) ProtoMessage() {} func (x *PeerTicketOld) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PeerTicketOld.ProtoReflect.Descriptor instead. func (*PeerTicketOld) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{7} } func (x *PeerTicketOld) GetPeerTicket() []byte { if x != nil { return x.PeerTicket } return nil } func (x *PeerTicketOld) GetPeerTicketSignature() []byte { if x != nil { return x.PeerTicketSignature } return nil } type SystemInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CpuFamily *CpuFamily `protobuf:"varint,10,req,name=cpu_family,json=cpuFamily,enum=CpuFamily" json:"cpu_family,omitempty"` CpuSubtype *uint32 `protobuf:"varint,20,opt,name=cpu_subtype,json=cpuSubtype" json:"cpu_subtype,omitempty"` CpuExt *uint32 `protobuf:"varint,30,opt,name=cpu_ext,json=cpuExt" json:"cpu_ext,omitempty"` Brand *Brand `protobuf:"varint,40,opt,name=brand,enum=Brand" json:"brand,omitempty"` BrandFlags *uint32 `protobuf:"varint,50,opt,name=brand_flags,json=brandFlags" json:"brand_flags,omitempty"` Os *Os `protobuf:"varint,60,req,name=os,enum=Os" json:"os,omitempty"` OsVersion *uint32 `protobuf:"varint,70,opt,name=os_version,json=osVersion" json:"os_version,omitempty"` OsExt *uint32 `protobuf:"varint,80,opt,name=os_ext,json=osExt" json:"os_ext,omitempty"` SystemInformationString *string `protobuf:"bytes,90,opt,name=system_information_string,json=systemInformationString" json:"system_information_string,omitempty"` DeviceId *string `protobuf:"bytes,100,opt,name=device_id,json=deviceId" json:"device_id,omitempty"` } func (x *SystemInfo) Reset() { *x = SystemInfo{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SystemInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SystemInfo) ProtoMessage() {} func (x *SystemInfo) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SystemInfo.ProtoReflect.Descriptor instead. func (*SystemInfo) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{8} } func (x *SystemInfo) GetCpuFamily() CpuFamily { if x != nil && x.CpuFamily != nil { return *x.CpuFamily } return CpuFamily_CPU_UNKNOWN } func (x *SystemInfo) GetCpuSubtype() uint32 { if x != nil && x.CpuSubtype != nil { return *x.CpuSubtype } return 0 } func (x *SystemInfo) GetCpuExt() uint32 { if x != nil && x.CpuExt != nil { return *x.CpuExt } return 0 } func (x *SystemInfo) GetBrand() Brand { if x != nil && x.Brand != nil { return *x.Brand } return Brand_BRAND_UNBRANDED } func (x *SystemInfo) GetBrandFlags() uint32 { if x != nil && x.BrandFlags != nil { return *x.BrandFlags } return 0 } func (x *SystemInfo) GetOs() Os { if x != nil && x.Os != nil { return *x.Os } return Os_OS_UNKNOWN } func (x *SystemInfo) GetOsVersion() uint32 { if x != nil && x.OsVersion != nil { return *x.OsVersion } return 0 } func (x *SystemInfo) GetOsExt() uint32 { if x != nil && x.OsExt != nil { return *x.OsExt } return 0 } func (x *SystemInfo) GetSystemInformationString() string { if x != nil && x.SystemInformationString != nil { return *x.SystemInformationString } return "" } func (x *SystemInfo) GetDeviceId() string { if x != nil && x.DeviceId != nil { return *x.DeviceId } return "" } type LibspotifyAppKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version *uint32 `protobuf:"varint,1,req,name=version" json:"version,omitempty"` Devkey []byte `protobuf:"bytes,2,req,name=devkey" json:"devkey,omitempty"` Signature []byte `protobuf:"bytes,3,req,name=signature" json:"signature,omitempty"` Useragent *string `protobuf:"bytes,4,req,name=useragent" json:"useragent,omitempty"` CallbackHash []byte `protobuf:"bytes,5,req,name=callback_hash,json=callbackHash" json:"callback_hash,omitempty"` } func (x *LibspotifyAppKey) Reset() { *x = LibspotifyAppKey{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LibspotifyAppKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*LibspotifyAppKey) ProtoMessage() {} func (x *LibspotifyAppKey) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LibspotifyAppKey.ProtoReflect.Descriptor instead. func (*LibspotifyAppKey) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{9} } func (x *LibspotifyAppKey) GetVersion() uint32 { if x != nil && x.Version != nil { return *x.Version } return 0 } func (x *LibspotifyAppKey) GetDevkey() []byte { if x != nil { return x.Devkey } return nil } func (x *LibspotifyAppKey) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *LibspotifyAppKey) GetUseragent() string { if x != nil && x.Useragent != nil { return *x.Useragent } return "" } func (x *LibspotifyAppKey) GetCallbackHash() []byte { if x != nil { return x.CallbackHash } return nil } type ClientInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Limited *bool `protobuf:"varint,1,opt,name=limited" json:"limited,omitempty"` Fb *ClientInfoFacebook `protobuf:"bytes,2,opt,name=fb" json:"fb,omitempty"` Language *string `protobuf:"bytes,3,opt,name=language" json:"language,omitempty"` } func (x *ClientInfo) Reset() { *x = ClientInfo{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInfo) ProtoMessage() {} func (x *ClientInfo) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead. func (*ClientInfo) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{10} } func (x *ClientInfo) GetLimited() bool { if x != nil && x.Limited != nil { return *x.Limited } return false } func (x *ClientInfo) GetFb() *ClientInfoFacebook { if x != nil { return x.Fb } return nil } func (x *ClientInfo) GetLanguage() string { if x != nil && x.Language != nil { return *x.Language } return "" } type ClientInfoFacebook struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MachineId *string `protobuf:"bytes,1,opt,name=machine_id,json=machineId" json:"machine_id,omitempty"` } func (x *ClientInfoFacebook) Reset() { *x = ClientInfoFacebook{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientInfoFacebook) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientInfoFacebook) ProtoMessage() {} func (x *ClientInfoFacebook) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientInfoFacebook.ProtoReflect.Descriptor instead. func (*ClientInfoFacebook) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{11} } func (x *ClientInfoFacebook) GetMachineId() string { if x != nil && x.MachineId != nil { return *x.MachineId } return "" } type APWelcome struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CanonicalUsername *string `protobuf:"bytes,10,req,name=canonical_username,json=canonicalUsername" json:"canonical_username,omitempty"` AccountTypeLoggedIn *AccountType `protobuf:"varint,20,req,name=account_type_logged_in,json=accountTypeLoggedIn,enum=AccountType" json:"account_type_logged_in,omitempty"` CredentialsTypeLoggedIn *AccountType `protobuf:"varint,25,req,name=credentials_type_logged_in,json=credentialsTypeLoggedIn,enum=AccountType" json:"credentials_type_logged_in,omitempty"` ReusableAuthCredentialsType *AuthenticationType `protobuf:"varint,30,req,name=reusable_auth_credentials_type,json=reusableAuthCredentialsType,enum=AuthenticationType" json:"reusable_auth_credentials_type,omitempty"` ReusableAuthCredentials []byte `protobuf:"bytes,40,req,name=reusable_auth_credentials,json=reusableAuthCredentials" json:"reusable_auth_credentials,omitempty"` LfsSecret []byte `protobuf:"bytes,50,opt,name=lfs_secret,json=lfsSecret" json:"lfs_secret,omitempty"` AccountInfo *AccountInfo `protobuf:"bytes,60,opt,name=account_info,json=accountInfo" json:"account_info,omitempty"` Fb *AccountInfoFacebook `protobuf:"bytes,70,opt,name=fb" json:"fb,omitempty"` } func (x *APWelcome) Reset() { *x = APWelcome{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *APWelcome) String() string { return protoimpl.X.MessageStringOf(x) } func (*APWelcome) ProtoMessage() {} func (x *APWelcome) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use APWelcome.ProtoReflect.Descriptor instead. func (*APWelcome) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{12} } func (x *APWelcome) GetCanonicalUsername() string { if x != nil && x.CanonicalUsername != nil { return *x.CanonicalUsername } return "" } func (x *APWelcome) GetAccountTypeLoggedIn() AccountType { if x != nil && x.AccountTypeLoggedIn != nil { return *x.AccountTypeLoggedIn } return AccountType_Spotify } func (x *APWelcome) GetCredentialsTypeLoggedIn() AccountType { if x != nil && x.CredentialsTypeLoggedIn != nil { return *x.CredentialsTypeLoggedIn } return AccountType_Spotify } func (x *APWelcome) GetReusableAuthCredentialsType() AuthenticationType { if x != nil && x.ReusableAuthCredentialsType != nil { return *x.ReusableAuthCredentialsType } return AuthenticationType_AUTHENTICATION_USER_PASS } func (x *APWelcome) GetReusableAuthCredentials() []byte { if x != nil { return x.ReusableAuthCredentials } return nil } func (x *APWelcome) GetLfsSecret() []byte { if x != nil { return x.LfsSecret } return nil } func (x *APWelcome) GetAccountInfo() *AccountInfo { if x != nil { return x.AccountInfo } return nil } func (x *APWelcome) GetFb() *AccountInfoFacebook { if x != nil { return x.Fb } return nil } type AccountInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Spotify *AccountInfoSpotify `protobuf:"bytes,1,opt,name=spotify" json:"spotify,omitempty"` Facebook *AccountInfoFacebook `protobuf:"bytes,2,opt,name=facebook" json:"facebook,omitempty"` } func (x *AccountInfo) Reset() { *x = AccountInfo{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountInfo) ProtoMessage() {} func (x *AccountInfo) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead. func (*AccountInfo) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{13} } func (x *AccountInfo) GetSpotify() *AccountInfoSpotify { if x != nil { return x.Spotify } return nil } func (x *AccountInfo) GetFacebook() *AccountInfoFacebook { if x != nil { return x.Facebook } return nil } type AccountInfoSpotify struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *AccountInfoSpotify) Reset() { *x = AccountInfoSpotify{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountInfoSpotify) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountInfoSpotify) ProtoMessage() {} func (x *AccountInfoSpotify) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountInfoSpotify.ProtoReflect.Descriptor instead. func (*AccountInfoSpotify) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{14} } type AccountInfoFacebook struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AccessToken *string `protobuf:"bytes,1,opt,name=access_token,json=accessToken" json:"access_token,omitempty"` MachineId *string `protobuf:"bytes,2,opt,name=machine_id,json=machineId" json:"machine_id,omitempty"` } func (x *AccountInfoFacebook) Reset() { *x = AccountInfoFacebook{} if protoimpl.UnsafeEnabled { mi := &file_proto_authentication_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountInfoFacebook) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountInfoFacebook) ProtoMessage() {} func (x *AccountInfoFacebook) ProtoReflect() protoreflect.Message { mi := &file_proto_authentication_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountInfoFacebook.ProtoReflect.Descriptor instead. func (*AccountInfoFacebook) Descriptor() ([]byte, []int) { return file_proto_authentication_proto_rawDescGZIP(), []int{15} } func (x *AccountInfoFacebook) GetAccessToken() string { if x != nil && x.AccessToken != nil { return *x.AccessToken } return "" } func (x *AccountInfoFacebook) GetMachineId() string { if x != nil && x.MachineId != nil { return *x.MachineId } return "" } var File_proto_authentication_proto protoreflect.FileDescriptor var file_proto_authentication_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x03, 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x10, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x32, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x46, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x6b, 0x65, 0x79, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4c, 0x69, 0x62, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x41, 0x70, 0x70, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x61, 0x70, 0x70, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x72, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x03, 0x74, 0x79, 0x70, 0x18, 0x14, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x74, 0x79, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x67, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x0b, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x72, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x52, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x68, 0x6d, 0x61, 0x63, 0x52, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x22, 0x3f, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x22, 0x33, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x52, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6d, 0x61, 0x63, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x6d, 0x61, 0x63, 0x22, 0x75, 0x0a, 0x0f, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x6c, 0x64, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x64, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x14, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x0a, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x43, 0x70, 0x75, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x09, 0x63, 0x70, 0x75, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x70, 0x75, 0x53, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x70, 0x75, 0x45, 0x78, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x06, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x52, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x3c, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x03, 0x2e, 0x4f, 0x73, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x73, 0x45, 0x78, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x41, 0x70, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x65, 0x76, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x22, 0x67, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x02, 0x66, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x02, 0x66, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x22, 0xd4, 0x03, 0x0a, 0x09, 0x41, 0x50, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x09, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x49, 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x17, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x58, 0x0a, 0x1e, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x1b, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x28, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x17, 0x72, 0x65, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x66, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6c, 0x66, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x02, 0x66, 0x62, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x02, 0x66, 0x62, 0x22, 0x6e, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x07, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x14, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x22, 0x57, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x2a, 0xd6, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x04, 0x2a, 0x59, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x50, 0x54, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x9d, 0x01, 0x0a, 0x09, 0x43, 0x70, 0x75, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x50, 0x55, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x5f, 0x58, 0x38, 0x36, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, 0x5f, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x50, 0x43, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x50, 0x43, 0x5f, 0x36, 0x34, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x5f, 0x41, 0x52, 0x4d, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x50, 0x55, 0x5f, 0x49, 0x41, 0x36, 0x34, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x50, 0x55, 0x5f, 0x53, 0x48, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x50, 0x55, 0x5f, 0x4d, 0x49, 0x50, 0x53, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x46, 0x49, 0x4e, 0x10, 0x09, 0x2a, 0x4b, 0x0a, 0x05, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x52, 0x41, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x42, 0x52, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x52, 0x41, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x51, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x52, 0x41, 0x4e, 0x44, 0x5f, 0x48, 0x54, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x52, 0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x4b, 0x49, 0x41, 0x10, 0x03, 0x2a, 0xd1, 0x02, 0x0a, 0x02, 0x4f, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x53, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x53, 0x5f, 0x4f, 0x53, 0x58, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x53, 0x5f, 0x49, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x53, 0x5f, 0x53, 0x36, 0x30, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x53, 0x5f, 0x4c, 0x49, 0x4e, 0x55, 0x58, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x53, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x5f, 0x43, 0x45, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x53, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x53, 0x5f, 0x50, 0x41, 0x4c, 0x4d, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x53, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x42, 0x53, 0x44, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x53, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x42, 0x45, 0x52, 0x52, 0x59, 0x10, 0x0a, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x53, 0x5f, 0x53, 0x4f, 0x4e, 0x4f, 0x53, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x54, 0x45, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x53, 0x5f, 0x57, 0x50, 0x37, 0x10, 0x0d, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x53, 0x5f, 0x4f, 0x4e, 0x4b, 0x59, 0x4f, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x53, 0x5f, 0x50, 0x48, 0x49, 0x4c, 0x49, 0x50, 0x53, 0x10, 0x0f, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x53, 0x5f, 0x57, 0x44, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x53, 0x5f, 0x56, 0x4f, 0x4c, 0x56, 0x4f, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x53, 0x5f, 0x54, 0x49, 0x56, 0x4f, 0x10, 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x53, 0x5f, 0x41, 0x57, 0x4f, 0x58, 0x10, 0x13, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x53, 0x5f, 0x4d, 0x45, 0x45, 0x47, 0x4f, 0x10, 0x14, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x53, 0x5f, 0x51, 0x4e, 0x58, 0x4e, 0x54, 0x4f, 0x10, 0x15, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x53, 0x5f, 0x42, 0x43, 0x4f, 0x10, 0x16, 0x2a, 0x28, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x10, 0x01, 0x42, 0x23, 0x5a, 0x21, 0x74, 0x75, 0x78, 0x70, 0x61, 0x2e, 0x69, 0x6e, 0x2f, 0x61, 0x2f, 0x67, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x64, 0x2f, 0x6c, 0x69, 0x62, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, } var ( file_proto_authentication_proto_rawDescOnce sync.Once file_proto_authentication_proto_rawDescData = file_proto_authentication_proto_rawDesc ) func file_proto_authentication_proto_rawDescGZIP() []byte { file_proto_authentication_proto_rawDescOnce.Do(func() { file_proto_authentication_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_authentication_proto_rawDescData) }) return file_proto_authentication_proto_rawDescData } var file_proto_authentication_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_proto_authentication_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_proto_authentication_proto_goTypes = []interface{}{ (AuthenticationType)(0), // 0: AuthenticationType (AccountCreation)(0), // 1: AccountCreation (CpuFamily)(0), // 2: CpuFamily (Brand)(0), // 3: Brand (Os)(0), // 4: Os (AccountType)(0), // 5: AccountType (*ClientResponseEncrypted)(nil), // 6: ClientResponseEncrypted (*LoginCredentials)(nil), // 7: LoginCredentials (*FingerprintResponseUnion)(nil), // 8: FingerprintResponseUnion (*FingerprintGrainResponse)(nil), // 9: FingerprintGrainResponse (*FingerprintHmacRipemdResponse)(nil), // 10: FingerprintHmacRipemdResponse (*PeerTicketUnion)(nil), // 11: PeerTicketUnion (*PeerTicketPublicKey)(nil), // 12: PeerTicketPublicKey (*PeerTicketOld)(nil), // 13: PeerTicketOld (*SystemInfo)(nil), // 14: SystemInfo (*LibspotifyAppKey)(nil), // 15: LibspotifyAppKey (*ClientInfo)(nil), // 16: ClientInfo (*ClientInfoFacebook)(nil), // 17: ClientInfoFacebook (*APWelcome)(nil), // 18: APWelcome (*AccountInfo)(nil), // 19: AccountInfo (*AccountInfoSpotify)(nil), // 20: AccountInfoSpotify (*AccountInfoFacebook)(nil), // 21: AccountInfoFacebook } var file_proto_authentication_proto_depIdxs = []int32{ 7, // 0: ClientResponseEncrypted.login_credentials:type_name -> LoginCredentials 1, // 1: ClientResponseEncrypted.account_creation:type_name -> AccountCreation 8, // 2: ClientResponseEncrypted.fingerprint_response:type_name -> FingerprintResponseUnion 11, // 3: ClientResponseEncrypted.peer_ticket:type_name -> PeerTicketUnion 14, // 4: ClientResponseEncrypted.system_info:type_name -> SystemInfo 15, // 5: ClientResponseEncrypted.appkey:type_name -> LibspotifyAppKey 16, // 6: ClientResponseEncrypted.client_info:type_name -> ClientInfo 0, // 7: LoginCredentials.typ:type_name -> AuthenticationType 9, // 8: FingerprintResponseUnion.grain:type_name -> FingerprintGrainResponse 10, // 9: FingerprintResponseUnion.hmac_ripemd:type_name -> FingerprintHmacRipemdResponse 12, // 10: PeerTicketUnion.public_key:type_name -> PeerTicketPublicKey 13, // 11: PeerTicketUnion.old_ticket:type_name -> PeerTicketOld 2, // 12: SystemInfo.cpu_family:type_name -> CpuFamily 3, // 13: SystemInfo.brand:type_name -> Brand 4, // 14: SystemInfo.os:type_name -> Os 17, // 15: ClientInfo.fb:type_name -> ClientInfoFacebook 5, // 16: APWelcome.account_type_logged_in:type_name -> AccountType 5, // 17: APWelcome.credentials_type_logged_in:type_name -> AccountType 0, // 18: APWelcome.reusable_auth_credentials_type:type_name -> AuthenticationType 19, // 19: APWelcome.account_info:type_name -> AccountInfo 21, // 20: APWelcome.fb:type_name -> AccountInfoFacebook 20, // 21: AccountInfo.spotify:type_name -> AccountInfoSpotify 21, // 22: AccountInfo.facebook:type_name -> AccountInfoFacebook 23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension extendee 0, // [0:23] is the sub-list for field type_name } func init() { file_proto_authentication_proto_init() } func file_proto_authentication_proto_init() { if File_proto_authentication_proto != nil { return } if !protoimpl.UnsafeEnabled { file_proto_authentication_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientResponseEncrypted); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoginCredentials); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FingerprintResponseUnion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FingerprintGrainResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FingerprintHmacRipemdResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeerTicketUnion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeerTicketPublicKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeerTicketOld); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SystemInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LibspotifyAppKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientInfoFacebook); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*APWelcome); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountInfoSpotify); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_authentication_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountInfoFacebook); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_authentication_proto_rawDesc, NumEnums: 6, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_proto_authentication_proto_goTypes, DependencyIndexes: file_proto_authentication_proto_depIdxs, EnumInfos: file_proto_authentication_proto_enumTypes, MessageInfos: file_proto_authentication_proto_msgTypes, }.Build() File_proto_authentication_proto = out.File file_proto_authentication_proto_rawDesc = nil file_proto_authentication_proto_goTypes = nil file_proto_authentication_proto_depIdxs = nil }