// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.0 // protoc v3.20.1 // source: plugin.proto package libplugin 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 AuthMethod int32 const ( AuthMethod_NONE AuthMethod = 0 AuthMethod_PASSWORD AuthMethod = 1 AuthMethod_PUBLICKEY AuthMethod = 2 AuthMethod_KEYBOARD_INTERACTIVE AuthMethod = 3 ) // Enum value maps for AuthMethod. var ( AuthMethod_name = map[int32]string{ 0: "NONE", 1: "PASSWORD", 2: "PUBLICKEY", 3: "KEYBOARD_INTERACTIVE", } AuthMethod_value = map[string]int32{ "NONE": 0, "PASSWORD": 1, "PUBLICKEY": 2, "KEYBOARD_INTERACTIVE": 3, } ) func (x AuthMethod) Enum() *AuthMethod { p := new(AuthMethod) *p = x return p } func (x AuthMethod) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AuthMethod) Descriptor() protoreflect.EnumDescriptor { return file_plugin_proto_enumTypes[0].Descriptor() } func (AuthMethod) Type() protoreflect.EnumType { return &file_plugin_proto_enumTypes[0] } func (x AuthMethod) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AuthMethod.Descriptor instead. func (AuthMethod) EnumDescriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{0} } type ConnMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` FromAddr string `protobuf:"bytes,2,opt,name=from_addr,json=fromAddr,proto3" json:"from_addr,omitempty"` UniqId string `protobuf:"bytes,3,opt,name=uniq_id,json=uniqId,proto3" json:"uniq_id,omitempty"` } func (x *ConnMeta) Reset() { *x = ConnMeta{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConnMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConnMeta) ProtoMessage() {} func (x *ConnMeta) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 ConnMeta.ProtoReflect.Descriptor instead. func (*ConnMeta) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{0} } func (x *ConnMeta) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ConnMeta) GetFromAddr() string { if x != nil { return x.FromAddr } return "" } func (x *ConnMeta) GetUniqId() string { if x != nil { return x.UniqId } return "" } type Upstream struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` UserName string `protobuf:"bytes,3,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` IgnoreHostKey bool `protobuf:"varint,4,opt,name=ignore_host_key,json=ignoreHostKey,proto3" json:"ignore_host_key,omitempty"` // Types that are assignable to Auth: // *Upstream_None // *Upstream_Password // *Upstream_PrivateKey // *Upstream_RemoteSigner // *Upstream_NextPlugin Auth isUpstream_Auth `protobuf_oneof:"auth"` } func (x *Upstream) Reset() { *x = Upstream{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Upstream) String() string { return protoimpl.X.MessageStringOf(x) } func (*Upstream) ProtoMessage() {} func (x *Upstream) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 Upstream.ProtoReflect.Descriptor instead. func (*Upstream) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{1} } func (x *Upstream) GetHost() string { if x != nil { return x.Host } return "" } func (x *Upstream) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *Upstream) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *Upstream) GetIgnoreHostKey() bool { if x != nil { return x.IgnoreHostKey } return false } func (m *Upstream) GetAuth() isUpstream_Auth { if m != nil { return m.Auth } return nil } func (x *Upstream) GetNone() *UpstreamNoneAuth { if x, ok := x.GetAuth().(*Upstream_None); ok { return x.None } return nil } func (x *Upstream) GetPassword() *UpstreamPasswordAuth { if x, ok := x.GetAuth().(*Upstream_Password); ok { return x.Password } return nil } func (x *Upstream) GetPrivateKey() *UpstreamPrivateKeyAuth { if x, ok := x.GetAuth().(*Upstream_PrivateKey); ok { return x.PrivateKey } return nil } func (x *Upstream) GetRemoteSigner() *UpstreamRemoteSignerAuth { if x, ok := x.GetAuth().(*Upstream_RemoteSigner); ok { return x.RemoteSigner } return nil } func (x *Upstream) GetNextPlugin() *UpstreamNextPluginAuth { if x, ok := x.GetAuth().(*Upstream_NextPlugin); ok { return x.NextPlugin } return nil } type isUpstream_Auth interface { isUpstream_Auth() } type Upstream_None struct { None *UpstreamNoneAuth `protobuf:"bytes,100,opt,name=none,proto3,oneof"` } type Upstream_Password struct { Password *UpstreamPasswordAuth `protobuf:"bytes,101,opt,name=password,proto3,oneof"` } type Upstream_PrivateKey struct { PrivateKey *UpstreamPrivateKeyAuth `protobuf:"bytes,102,opt,name=private_key,json=privateKey,proto3,oneof"` } type Upstream_RemoteSigner struct { RemoteSigner *UpstreamRemoteSignerAuth `protobuf:"bytes,103,opt,name=remote_signer,json=remoteSigner,proto3,oneof"` } type Upstream_NextPlugin struct { NextPlugin *UpstreamNextPluginAuth `protobuf:"bytes,200,opt,name=next_plugin,json=nextPlugin,proto3,oneof"` } func (*Upstream_None) isUpstream_Auth() {} func (*Upstream_Password) isUpstream_Auth() {} func (*Upstream_PrivateKey) isUpstream_Auth() {} func (*Upstream_RemoteSigner) isUpstream_Auth() {} func (*Upstream_NextPlugin) isUpstream_Auth() {} type UpstreamNoneAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpstreamNoneAuth) Reset() { *x = UpstreamNoneAuth{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamNoneAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamNoneAuth) ProtoMessage() {} func (x *UpstreamNoneAuth) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 UpstreamNoneAuth.ProtoReflect.Descriptor instead. func (*UpstreamNoneAuth) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{2} } type UpstreamPasswordAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` } func (x *UpstreamPasswordAuth) Reset() { *x = UpstreamPasswordAuth{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamPasswordAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamPasswordAuth) ProtoMessage() {} func (x *UpstreamPasswordAuth) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 UpstreamPasswordAuth.ProtoReflect.Descriptor instead. func (*UpstreamPasswordAuth) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{3} } func (x *UpstreamPasswordAuth) GetPassword() string { if x != nil { return x.Password } return "" } type UpstreamPrivateKeyAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PrivateKey []byte `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` } func (x *UpstreamPrivateKeyAuth) Reset() { *x = UpstreamPrivateKeyAuth{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamPrivateKeyAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamPrivateKeyAuth) ProtoMessage() {} func (x *UpstreamPrivateKeyAuth) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 UpstreamPrivateKeyAuth.ProtoReflect.Descriptor instead. func (*UpstreamPrivateKeyAuth) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{4} } func (x *UpstreamPrivateKeyAuth) GetPrivateKey() []byte { if x != nil { return x.PrivateKey } return nil } type UpstreamRemoteSignerAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta string `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *UpstreamRemoteSignerAuth) Reset() { *x = UpstreamRemoteSignerAuth{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamRemoteSignerAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamRemoteSignerAuth) ProtoMessage() {} func (x *UpstreamRemoteSignerAuth) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 UpstreamRemoteSignerAuth.ProtoReflect.Descriptor instead. func (*UpstreamRemoteSignerAuth) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{5} } func (x *UpstreamRemoteSignerAuth) GetMeta() string { if x != nil { return x.Meta } return "" } type UpstreamNextPluginAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta map[string]string `protobuf:"bytes,1,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *UpstreamNextPluginAuth) Reset() { *x = UpstreamNextPluginAuth{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamNextPluginAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamNextPluginAuth) ProtoMessage() {} func (x *UpstreamNextPluginAuth) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 UpstreamNextPluginAuth.ProtoReflect.Descriptor instead. func (*UpstreamNextPluginAuth) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{6} } func (x *UpstreamNextPluginAuth) GetMeta() map[string]string { if x != nil { return x.Meta } return nil } type StartLogRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UniqId string `protobuf:"bytes,1,opt,name=uniq_id,json=uniqId,proto3" json:"uniq_id,omitempty"` Level string `protobuf:"bytes,2,opt,name=level,proto3" json:"level,omitempty"` Tty bool `protobuf:"varint,3,opt,name=tty,proto3" json:"tty,omitempty"` } func (x *StartLogRequest) Reset() { *x = StartLogRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StartLogRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StartLogRequest) ProtoMessage() {} func (x *StartLogRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 StartLogRequest.ProtoReflect.Descriptor instead. func (*StartLogRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{7} } func (x *StartLogRequest) GetUniqId() string { if x != nil { return x.UniqId } return "" } func (x *StartLogRequest) GetLevel() string { if x != nil { return x.Level } return "" } func (x *StartLogRequest) GetTty() bool { if x != nil { return x.Tty } return false } type Log struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *Log) Reset() { *x = Log{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Log) String() string { return protoimpl.X.MessageStringOf(x) } func (*Log) ProtoMessage() {} func (x *Log) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 Log.ProtoReflect.Descriptor instead. func (*Log) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{8} } func (x *Log) GetMessage() string { if x != nil { return x.Message } return "" } type ListCallbackRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ListCallbackRequest) Reset() { *x = ListCallbackRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListCallbackRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListCallbackRequest) ProtoMessage() {} func (x *ListCallbackRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 ListCallbackRequest.ProtoReflect.Descriptor instead. func (*ListCallbackRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{9} } type ListCallbackResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Callbacks []string `protobuf:"bytes,1,rep,name=callbacks,proto3" json:"callbacks,omitempty"` } func (x *ListCallbackResponse) Reset() { *x = ListCallbackResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListCallbackResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListCallbackResponse) ProtoMessage() {} func (x *ListCallbackResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 ListCallbackResponse.ProtoReflect.Descriptor instead. func (*ListCallbackResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{10} } func (x *ListCallbackResponse) GetCallbacks() []string { if x != nil { return x.Callbacks } return nil } type NewConnectionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *NewConnectionRequest) Reset() { *x = NewConnectionRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewConnectionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewConnectionRequest) ProtoMessage() {} func (x *NewConnectionRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 NewConnectionRequest.ProtoReflect.Descriptor instead. func (*NewConnectionRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{11} } func (x *NewConnectionRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type NewConnectionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *NewConnectionResponse) Reset() { *x = NewConnectionResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewConnectionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewConnectionResponse) ProtoMessage() {} func (x *NewConnectionResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 NewConnectionResponse.ProtoReflect.Descriptor instead. func (*NewConnectionResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{12} } type NextAuthMethodsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *NextAuthMethodsRequest) Reset() { *x = NextAuthMethodsRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NextAuthMethodsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NextAuthMethodsRequest) ProtoMessage() {} func (x *NextAuthMethodsRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 NextAuthMethodsRequest.ProtoReflect.Descriptor instead. func (*NextAuthMethodsRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{13} } func (x *NextAuthMethodsRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type NextAuthMethodsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Methods []AuthMethod `protobuf:"varint,1,rep,packed,name=methods,proto3,enum=libplugin.AuthMethod" json:"methods,omitempty"` } func (x *NextAuthMethodsResponse) Reset() { *x = NextAuthMethodsResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NextAuthMethodsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NextAuthMethodsResponse) ProtoMessage() {} func (x *NextAuthMethodsResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 NextAuthMethodsResponse.ProtoReflect.Descriptor instead. func (*NextAuthMethodsResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{14} } func (x *NextAuthMethodsResponse) GetMethods() []AuthMethod { if x != nil { return x.Methods } return nil } type NoneAuthRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *NoneAuthRequest) Reset() { *x = NoneAuthRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NoneAuthRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NoneAuthRequest) ProtoMessage() {} func (x *NoneAuthRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_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 NoneAuthRequest.ProtoReflect.Descriptor instead. func (*NoneAuthRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{15} } func (x *NoneAuthRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type NoneAuthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Upstream *Upstream `protobuf:"bytes,1,opt,name=upstream,proto3" json:"upstream,omitempty"` } func (x *NoneAuthResponse) Reset() { *x = NoneAuthResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NoneAuthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NoneAuthResponse) ProtoMessage() {} func (x *NoneAuthResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[16] 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 NoneAuthResponse.ProtoReflect.Descriptor instead. func (*NoneAuthResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{16} } func (x *NoneAuthResponse) GetUpstream() *Upstream { if x != nil { return x.Upstream } return nil } type PasswordAuthRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` Password []byte `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } func (x *PasswordAuthRequest) Reset() { *x = PasswordAuthRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAuthRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAuthRequest) ProtoMessage() {} func (x *PasswordAuthRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[17] 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 PasswordAuthRequest.ProtoReflect.Descriptor instead. func (*PasswordAuthRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{17} } func (x *PasswordAuthRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } func (x *PasswordAuthRequest) GetPassword() []byte { if x != nil { return x.Password } return nil } type PasswordAuthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Upstream *Upstream `protobuf:"bytes,1,opt,name=upstream,proto3" json:"upstream,omitempty"` } func (x *PasswordAuthResponse) Reset() { *x = PasswordAuthResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAuthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAuthResponse) ProtoMessage() {} func (x *PasswordAuthResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[18] 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 PasswordAuthResponse.ProtoReflect.Descriptor instead. func (*PasswordAuthResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{18} } func (x *PasswordAuthResponse) GetUpstream() *Upstream { if x != nil { return x.Upstream } return nil } type PublicKeyAuthRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` PublicKey []byte `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` } func (x *PublicKeyAuthRequest) Reset() { *x = PublicKeyAuthRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PublicKeyAuthRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublicKeyAuthRequest) ProtoMessage() {} func (x *PublicKeyAuthRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[19] 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 PublicKeyAuthRequest.ProtoReflect.Descriptor instead. func (*PublicKeyAuthRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{19} } func (x *PublicKeyAuthRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } func (x *PublicKeyAuthRequest) GetPublicKey() []byte { if x != nil { return x.PublicKey } return nil } type PublicKeyAuthResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Upstream *Upstream `protobuf:"bytes,1,opt,name=upstream,proto3" json:"upstream,omitempty"` } func (x *PublicKeyAuthResponse) Reset() { *x = PublicKeyAuthResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PublicKeyAuthResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublicKeyAuthResponse) ProtoMessage() {} func (x *PublicKeyAuthResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[20] 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 PublicKeyAuthResponse.ProtoReflect.Descriptor instead. func (*PublicKeyAuthResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{20} } func (x *PublicKeyAuthResponse) GetUpstream() *Upstream { if x != nil { return x.Upstream } return nil } type KeyboardInteractiveUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Answers []string `protobuf:"bytes,1,rep,name=answers,proto3" json:"answers,omitempty"` } func (x *KeyboardInteractiveUserResponse) Reset() { *x = KeyboardInteractiveUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractiveUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractiveUserResponse) ProtoMessage() {} func (x *KeyboardInteractiveUserResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[21] 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 KeyboardInteractiveUserResponse.ProtoReflect.Descriptor instead. func (*KeyboardInteractiveUserResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{21} } func (x *KeyboardInteractiveUserResponse) GetAnswers() []string { if x != nil { return x.Answers } return nil } type KeyboardInteractivePromptRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Instruction string `protobuf:"bytes,2,opt,name=instruction,proto3" json:"instruction,omitempty"` Questions []*KeyboardInteractivePromptRequest_Question `protobuf:"bytes,3,rep,name=questions,proto3" json:"questions,omitempty"` } func (x *KeyboardInteractivePromptRequest) Reset() { *x = KeyboardInteractivePromptRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractivePromptRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractivePromptRequest) ProtoMessage() {} func (x *KeyboardInteractivePromptRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[22] 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 KeyboardInteractivePromptRequest.ProtoReflect.Descriptor instead. func (*KeyboardInteractivePromptRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{22} } func (x *KeyboardInteractivePromptRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *KeyboardInteractivePromptRequest) GetInstruction() string { if x != nil { return x.Instruction } return "" } func (x *KeyboardInteractivePromptRequest) GetQuestions() []*KeyboardInteractivePromptRequest_Question { if x != nil { return x.Questions } return nil } type KeyboardInteractiveMetaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *KeyboardInteractiveMetaRequest) Reset() { *x = KeyboardInteractiveMetaRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractiveMetaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractiveMetaRequest) ProtoMessage() {} func (x *KeyboardInteractiveMetaRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[23] 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 KeyboardInteractiveMetaRequest.ProtoReflect.Descriptor instead. func (*KeyboardInteractiveMetaRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{23} } type KeyboardInteractiveMetaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *KeyboardInteractiveMetaResponse) Reset() { *x = KeyboardInteractiveMetaResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractiveMetaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractiveMetaResponse) ProtoMessage() {} func (x *KeyboardInteractiveMetaResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[24] 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 KeyboardInteractiveMetaResponse.ProtoReflect.Descriptor instead. func (*KeyboardInteractiveMetaResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{24} } func (x *KeyboardInteractiveMetaResponse) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type KeyboardInteractiveFinishRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Upstream *Upstream `protobuf:"bytes,1,opt,name=upstream,proto3" json:"upstream,omitempty"` } func (x *KeyboardInteractiveFinishRequest) Reset() { *x = KeyboardInteractiveFinishRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractiveFinishRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractiveFinishRequest) ProtoMessage() {} func (x *KeyboardInteractiveFinishRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[25] 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 KeyboardInteractiveFinishRequest.ProtoReflect.Descriptor instead. func (*KeyboardInteractiveFinishRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{25} } func (x *KeyboardInteractiveFinishRequest) GetUpstream() *Upstream { if x != nil { return x.Upstream } return nil } type KeyboardInteractiveAuthMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Message: // *KeyboardInteractiveAuthMessage_PromptRequest // *KeyboardInteractiveAuthMessage_UserResponse // *KeyboardInteractiveAuthMessage_MetaRequest // *KeyboardInteractiveAuthMessage_MetaResponse // *KeyboardInteractiveAuthMessage_FinishRequest Message isKeyboardInteractiveAuthMessage_Message `protobuf_oneof:"message"` } func (x *KeyboardInteractiveAuthMessage) Reset() { *x = KeyboardInteractiveAuthMessage{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractiveAuthMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractiveAuthMessage) ProtoMessage() {} func (x *KeyboardInteractiveAuthMessage) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[26] 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 KeyboardInteractiveAuthMessage.ProtoReflect.Descriptor instead. func (*KeyboardInteractiveAuthMessage) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{26} } func (m *KeyboardInteractiveAuthMessage) GetMessage() isKeyboardInteractiveAuthMessage_Message { if m != nil { return m.Message } return nil } func (x *KeyboardInteractiveAuthMessage) GetPromptRequest() *KeyboardInteractivePromptRequest { if x, ok := x.GetMessage().(*KeyboardInteractiveAuthMessage_PromptRequest); ok { return x.PromptRequest } return nil } func (x *KeyboardInteractiveAuthMessage) GetUserResponse() *KeyboardInteractiveUserResponse { if x, ok := x.GetMessage().(*KeyboardInteractiveAuthMessage_UserResponse); ok { return x.UserResponse } return nil } func (x *KeyboardInteractiveAuthMessage) GetMetaRequest() *KeyboardInteractiveMetaRequest { if x, ok := x.GetMessage().(*KeyboardInteractiveAuthMessage_MetaRequest); ok { return x.MetaRequest } return nil } func (x *KeyboardInteractiveAuthMessage) GetMetaResponse() *KeyboardInteractiveMetaResponse { if x, ok := x.GetMessage().(*KeyboardInteractiveAuthMessage_MetaResponse); ok { return x.MetaResponse } return nil } func (x *KeyboardInteractiveAuthMessage) GetFinishRequest() *KeyboardInteractiveFinishRequest { if x, ok := x.GetMessage().(*KeyboardInteractiveAuthMessage_FinishRequest); ok { return x.FinishRequest } return nil } type isKeyboardInteractiveAuthMessage_Message interface { isKeyboardInteractiveAuthMessage_Message() } type KeyboardInteractiveAuthMessage_PromptRequest struct { PromptRequest *KeyboardInteractivePromptRequest `protobuf:"bytes,1,opt,name=prompt_request,json=promptRequest,proto3,oneof"` } type KeyboardInteractiveAuthMessage_UserResponse struct { UserResponse *KeyboardInteractiveUserResponse `protobuf:"bytes,2,opt,name=user_response,json=userResponse,proto3,oneof"` } type KeyboardInteractiveAuthMessage_MetaRequest struct { MetaRequest *KeyboardInteractiveMetaRequest `protobuf:"bytes,3,opt,name=meta_request,json=metaRequest,proto3,oneof"` } type KeyboardInteractiveAuthMessage_MetaResponse struct { MetaResponse *KeyboardInteractiveMetaResponse `protobuf:"bytes,4,opt,name=meta_response,json=metaResponse,proto3,oneof"` } type KeyboardInteractiveAuthMessage_FinishRequest struct { FinishRequest *KeyboardInteractiveFinishRequest `protobuf:"bytes,5,opt,name=finish_request,json=finishRequest,proto3,oneof"` } func (*KeyboardInteractiveAuthMessage_PromptRequest) isKeyboardInteractiveAuthMessage_Message() {} func (*KeyboardInteractiveAuthMessage_UserResponse) isKeyboardInteractiveAuthMessage_Message() {} func (*KeyboardInteractiveAuthMessage_MetaRequest) isKeyboardInteractiveAuthMessage_Message() {} func (*KeyboardInteractiveAuthMessage_MetaResponse) isKeyboardInteractiveAuthMessage_Message() {} func (*KeyboardInteractiveAuthMessage_FinishRequest) isKeyboardInteractiveAuthMessage_Message() {} type UpstreamAuthFailureNoticeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` AllowedMethods []AuthMethod `protobuf:"varint,4,rep,packed,name=allowed_methods,json=allowedMethods,proto3,enum=libplugin.AuthMethod" json:"allowed_methods,omitempty"` } func (x *UpstreamAuthFailureNoticeRequest) Reset() { *x = UpstreamAuthFailureNoticeRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamAuthFailureNoticeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamAuthFailureNoticeRequest) ProtoMessage() {} func (x *UpstreamAuthFailureNoticeRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[27] 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 UpstreamAuthFailureNoticeRequest.ProtoReflect.Descriptor instead. func (*UpstreamAuthFailureNoticeRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{27} } func (x *UpstreamAuthFailureNoticeRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } func (x *UpstreamAuthFailureNoticeRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *UpstreamAuthFailureNoticeRequest) GetError() string { if x != nil { return x.Error } return "" } func (x *UpstreamAuthFailureNoticeRequest) GetAllowedMethods() []AuthMethod { if x != nil { return x.AllowedMethods } return nil } type UpstreamAuthFailureNoticeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpstreamAuthFailureNoticeResponse) Reset() { *x = UpstreamAuthFailureNoticeResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpstreamAuthFailureNoticeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpstreamAuthFailureNoticeResponse) ProtoMessage() {} func (x *UpstreamAuthFailureNoticeResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[28] 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 UpstreamAuthFailureNoticeResponse.ProtoReflect.Descriptor instead. func (*UpstreamAuthFailureNoticeResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{28} } type BannerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *BannerRequest) Reset() { *x = BannerRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BannerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BannerRequest) ProtoMessage() {} func (x *BannerRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[29] 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 BannerRequest.ProtoReflect.Descriptor instead. func (*BannerRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{29} } func (x *BannerRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type BannerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *BannerResponse) Reset() { *x = BannerResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BannerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BannerResponse) ProtoMessage() {} func (x *BannerResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[30] 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 BannerResponse.ProtoReflect.Descriptor instead. func (*BannerResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{30} } func (x *BannerResponse) GetMessage() string { if x != nil { return x.Message } return "" } type VerifyHostKeyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` Netaddress string `protobuf:"bytes,4,opt,name=netaddress,proto3" json:"netaddress,omitempty"` } func (x *VerifyHostKeyRequest) Reset() { *x = VerifyHostKeyRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyHostKeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyHostKeyRequest) ProtoMessage() {} func (x *VerifyHostKeyRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[31] 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 VerifyHostKeyRequest.ProtoReflect.Descriptor instead. func (*VerifyHostKeyRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{31} } func (x *VerifyHostKeyRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } func (x *VerifyHostKeyRequest) GetKey() []byte { if x != nil { return x.Key } return nil } func (x *VerifyHostKeyRequest) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *VerifyHostKeyRequest) GetNetaddress() string { if x != nil { return x.Netaddress } return "" } type VerifyHostKeyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Verified bool `protobuf:"varint,1,opt,name=verified,proto3" json:"verified,omitempty"` } func (x *VerifyHostKeyResponse) Reset() { *x = VerifyHostKeyResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VerifyHostKeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*VerifyHostKeyResponse) ProtoMessage() {} func (x *VerifyHostKeyResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[32] 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 VerifyHostKeyResponse.ProtoReflect.Descriptor instead. func (*VerifyHostKeyResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{32} } func (x *VerifyHostKeyResponse) GetVerified() bool { if x != nil { return x.Verified } return false } type PipeStartNoticeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *PipeStartNoticeRequest) Reset() { *x = PipeStartNoticeRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PipeStartNoticeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PipeStartNoticeRequest) ProtoMessage() {} func (x *PipeStartNoticeRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[33] 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 PipeStartNoticeRequest.ProtoReflect.Descriptor instead. func (*PipeStartNoticeRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{33} } func (x *PipeStartNoticeRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } type PipeStartNoticeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PipeStartNoticeResponse) Reset() { *x = PipeStartNoticeResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PipeStartNoticeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PipeStartNoticeResponse) ProtoMessage() {} func (x *PipeStartNoticeResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[34] 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 PipeStartNoticeResponse.ProtoReflect.Descriptor instead. func (*PipeStartNoticeResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{34} } type PipeErrorNoticeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *ConnMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (x *PipeErrorNoticeRequest) Reset() { *x = PipeErrorNoticeRequest{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PipeErrorNoticeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PipeErrorNoticeRequest) ProtoMessage() {} func (x *PipeErrorNoticeRequest) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[35] 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 PipeErrorNoticeRequest.ProtoReflect.Descriptor instead. func (*PipeErrorNoticeRequest) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{35} } func (x *PipeErrorNoticeRequest) GetMeta() *ConnMeta { if x != nil { return x.Meta } return nil } func (x *PipeErrorNoticeRequest) GetError() string { if x != nil { return x.Error } return "" } type PipeErrorNoticeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *PipeErrorNoticeResponse) Reset() { *x = PipeErrorNoticeResponse{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PipeErrorNoticeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PipeErrorNoticeResponse) ProtoMessage() {} func (x *PipeErrorNoticeResponse) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[36] 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 PipeErrorNoticeResponse.ProtoReflect.Descriptor instead. func (*PipeErrorNoticeResponse) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{36} } type KeyboardInteractivePromptRequest_Question struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` Echo bool `protobuf:"varint,2,opt,name=echo,proto3" json:"echo,omitempty"` } func (x *KeyboardInteractivePromptRequest_Question) Reset() { *x = KeyboardInteractivePromptRequest_Question{} if protoimpl.UnsafeEnabled { mi := &file_plugin_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeyboardInteractivePromptRequest_Question) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeyboardInteractivePromptRequest_Question) ProtoMessage() {} func (x *KeyboardInteractivePromptRequest_Question) ProtoReflect() protoreflect.Message { mi := &file_plugin_proto_msgTypes[38] 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 KeyboardInteractivePromptRequest_Question.ProtoReflect.Descriptor instead. func (*KeyboardInteractivePromptRequest_Question) Descriptor() ([]byte, []int) { return file_plugin_proto_rawDescGZIP(), []int{22, 0} } func (x *KeyboardInteractivePromptRequest_Question) GetText() string { if x != nil { return x.Text } return "" } func (x *KeyboardInteractivePromptRequest_Question) GetEcho() bool { if x != nil { return x.Echo } return false } var File_plugin_proto protoreflect.FileDescriptor var file_plugin_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x22, 0x5d, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x49, 0x64, 0x22, 0xca, 0x03, 0x0a, 0x08, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x22, 0x32, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x39, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x2e, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x92, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x3f, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x65, 0x78, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x34, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x22, 0x3f, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x16, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x4a, 0x0a, 0x17, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x3a, 0x0a, 0x0f, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x10, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x5a, 0x0a, 0x13, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x47, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x5e, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x48, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x3b, 0x0a, 0x1f, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x20, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x32, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x22, 0x20, 0x0a, 0x1e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4a, 0x0a, 0x1f, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x20, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xcd, 0x03, 0x0a, 0x1e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x21, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x0d, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x14, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x33, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x16, 0x50, 0x69, 0x70, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x19, 0x0a, 0x17, 0x50, 0x69, 0x70, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x16, 0x50, 0x69, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x50, 0x69, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x4d, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x32, 0xfc, 0x08, 0x0a, 0x0e, 0x53, 0x73, 0x68, 0x50, 0x69, 0x70, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1e, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1e, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x29, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x2b, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x50, 0x69, 0x70, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x50, 0x69, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x25, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x67, 0x31, 0x32, 0x33, 0x2f, 0x73, 0x73, 0x68, 0x70, 0x69, 0x70, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x62, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_plugin_proto_rawDescOnce sync.Once file_plugin_proto_rawDescData = file_plugin_proto_rawDesc ) func file_plugin_proto_rawDescGZIP() []byte { file_plugin_proto_rawDescOnce.Do(func() { file_plugin_proto_rawDescData = protoimpl.X.CompressGZIP(file_plugin_proto_rawDescData) }) return file_plugin_proto_rawDescData } var file_plugin_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_plugin_proto_msgTypes = make([]protoimpl.MessageInfo, 39) var file_plugin_proto_goTypes = []interface{}{ (AuthMethod)(0), // 0: libplugin.AuthMethod (*ConnMeta)(nil), // 1: libplugin.ConnMeta (*Upstream)(nil), // 2: libplugin.Upstream (*UpstreamNoneAuth)(nil), // 3: libplugin.UpstreamNoneAuth (*UpstreamPasswordAuth)(nil), // 4: libplugin.UpstreamPasswordAuth (*UpstreamPrivateKeyAuth)(nil), // 5: libplugin.UpstreamPrivateKeyAuth (*UpstreamRemoteSignerAuth)(nil), // 6: libplugin.UpstreamRemoteSignerAuth (*UpstreamNextPluginAuth)(nil), // 7: libplugin.UpstreamNextPluginAuth (*StartLogRequest)(nil), // 8: libplugin.StartLogRequest (*Log)(nil), // 9: libplugin.Log (*ListCallbackRequest)(nil), // 10: libplugin.ListCallbackRequest (*ListCallbackResponse)(nil), // 11: libplugin.ListCallbackResponse (*NewConnectionRequest)(nil), // 12: libplugin.NewConnectionRequest (*NewConnectionResponse)(nil), // 13: libplugin.NewConnectionResponse (*NextAuthMethodsRequest)(nil), // 14: libplugin.NextAuthMethodsRequest (*NextAuthMethodsResponse)(nil), // 15: libplugin.NextAuthMethodsResponse (*NoneAuthRequest)(nil), // 16: libplugin.NoneAuthRequest (*NoneAuthResponse)(nil), // 17: libplugin.NoneAuthResponse (*PasswordAuthRequest)(nil), // 18: libplugin.PasswordAuthRequest (*PasswordAuthResponse)(nil), // 19: libplugin.PasswordAuthResponse (*PublicKeyAuthRequest)(nil), // 20: libplugin.PublicKeyAuthRequest (*PublicKeyAuthResponse)(nil), // 21: libplugin.PublicKeyAuthResponse (*KeyboardInteractiveUserResponse)(nil), // 22: libplugin.KeyboardInteractiveUserResponse (*KeyboardInteractivePromptRequest)(nil), // 23: libplugin.KeyboardInteractivePromptRequest (*KeyboardInteractiveMetaRequest)(nil), // 24: libplugin.KeyboardInteractiveMetaRequest (*KeyboardInteractiveMetaResponse)(nil), // 25: libplugin.KeyboardInteractiveMetaResponse (*KeyboardInteractiveFinishRequest)(nil), // 26: libplugin.KeyboardInteractiveFinishRequest (*KeyboardInteractiveAuthMessage)(nil), // 27: libplugin.KeyboardInteractiveAuthMessage (*UpstreamAuthFailureNoticeRequest)(nil), // 28: libplugin.UpstreamAuthFailureNoticeRequest (*UpstreamAuthFailureNoticeResponse)(nil), // 29: libplugin.UpstreamAuthFailureNoticeResponse (*BannerRequest)(nil), // 30: libplugin.BannerRequest (*BannerResponse)(nil), // 31: libplugin.BannerResponse (*VerifyHostKeyRequest)(nil), // 32: libplugin.VerifyHostKeyRequest (*VerifyHostKeyResponse)(nil), // 33: libplugin.VerifyHostKeyResponse (*PipeStartNoticeRequest)(nil), // 34: libplugin.PipeStartNoticeRequest (*PipeStartNoticeResponse)(nil), // 35: libplugin.PipeStartNoticeResponse (*PipeErrorNoticeRequest)(nil), // 36: libplugin.PipeErrorNoticeRequest (*PipeErrorNoticeResponse)(nil), // 37: libplugin.PipeErrorNoticeResponse nil, // 38: libplugin.UpstreamNextPluginAuth.MetaEntry (*KeyboardInteractivePromptRequest_Question)(nil), // 39: libplugin.KeyboardInteractivePromptRequest.Question } var file_plugin_proto_depIdxs = []int32{ 3, // 0: libplugin.Upstream.none:type_name -> libplugin.UpstreamNoneAuth 4, // 1: libplugin.Upstream.password:type_name -> libplugin.UpstreamPasswordAuth 5, // 2: libplugin.Upstream.private_key:type_name -> libplugin.UpstreamPrivateKeyAuth 6, // 3: libplugin.Upstream.remote_signer:type_name -> libplugin.UpstreamRemoteSignerAuth 7, // 4: libplugin.Upstream.next_plugin:type_name -> libplugin.UpstreamNextPluginAuth 38, // 5: libplugin.UpstreamNextPluginAuth.meta:type_name -> libplugin.UpstreamNextPluginAuth.MetaEntry 1, // 6: libplugin.NewConnectionRequest.meta:type_name -> libplugin.ConnMeta 1, // 7: libplugin.NextAuthMethodsRequest.meta:type_name -> libplugin.ConnMeta 0, // 8: libplugin.NextAuthMethodsResponse.methods:type_name -> libplugin.AuthMethod 1, // 9: libplugin.NoneAuthRequest.meta:type_name -> libplugin.ConnMeta 2, // 10: libplugin.NoneAuthResponse.upstream:type_name -> libplugin.Upstream 1, // 11: libplugin.PasswordAuthRequest.meta:type_name -> libplugin.ConnMeta 2, // 12: libplugin.PasswordAuthResponse.upstream:type_name -> libplugin.Upstream 1, // 13: libplugin.PublicKeyAuthRequest.meta:type_name -> libplugin.ConnMeta 2, // 14: libplugin.PublicKeyAuthResponse.upstream:type_name -> libplugin.Upstream 39, // 15: libplugin.KeyboardInteractivePromptRequest.questions:type_name -> libplugin.KeyboardInteractivePromptRequest.Question 1, // 16: libplugin.KeyboardInteractiveMetaResponse.meta:type_name -> libplugin.ConnMeta 2, // 17: libplugin.KeyboardInteractiveFinishRequest.upstream:type_name -> libplugin.Upstream 23, // 18: libplugin.KeyboardInteractiveAuthMessage.prompt_request:type_name -> libplugin.KeyboardInteractivePromptRequest 22, // 19: libplugin.KeyboardInteractiveAuthMessage.user_response:type_name -> libplugin.KeyboardInteractiveUserResponse 24, // 20: libplugin.KeyboardInteractiveAuthMessage.meta_request:type_name -> libplugin.KeyboardInteractiveMetaRequest 25, // 21: libplugin.KeyboardInteractiveAuthMessage.meta_response:type_name -> libplugin.KeyboardInteractiveMetaResponse 26, // 22: libplugin.KeyboardInteractiveAuthMessage.finish_request:type_name -> libplugin.KeyboardInteractiveFinishRequest 1, // 23: libplugin.UpstreamAuthFailureNoticeRequest.meta:type_name -> libplugin.ConnMeta 0, // 24: libplugin.UpstreamAuthFailureNoticeRequest.allowed_methods:type_name -> libplugin.AuthMethod 1, // 25: libplugin.BannerRequest.meta:type_name -> libplugin.ConnMeta 1, // 26: libplugin.VerifyHostKeyRequest.meta:type_name -> libplugin.ConnMeta 1, // 27: libplugin.PipeStartNoticeRequest.meta:type_name -> libplugin.ConnMeta 1, // 28: libplugin.PipeErrorNoticeRequest.meta:type_name -> libplugin.ConnMeta 8, // 29: libplugin.SshPiperPlugin.Logs:input_type -> libplugin.StartLogRequest 10, // 30: libplugin.SshPiperPlugin.ListCallbacks:input_type -> libplugin.ListCallbackRequest 12, // 31: libplugin.SshPiperPlugin.NewConnection:input_type -> libplugin.NewConnectionRequest 14, // 32: libplugin.SshPiperPlugin.NextAuthMethods:input_type -> libplugin.NextAuthMethodsRequest 16, // 33: libplugin.SshPiperPlugin.NoneAuth:input_type -> libplugin.NoneAuthRequest 18, // 34: libplugin.SshPiperPlugin.PasswordAuth:input_type -> libplugin.PasswordAuthRequest 20, // 35: libplugin.SshPiperPlugin.PublicKeyAuth:input_type -> libplugin.PublicKeyAuthRequest 27, // 36: libplugin.SshPiperPlugin.KeyboardInteractiveAuth:input_type -> libplugin.KeyboardInteractiveAuthMessage 28, // 37: libplugin.SshPiperPlugin.UpstreamAuthFailureNotice:input_type -> libplugin.UpstreamAuthFailureNoticeRequest 30, // 38: libplugin.SshPiperPlugin.Banner:input_type -> libplugin.BannerRequest 32, // 39: libplugin.SshPiperPlugin.VerifyHostKey:input_type -> libplugin.VerifyHostKeyRequest 34, // 40: libplugin.SshPiperPlugin.PipeStartNotice:input_type -> libplugin.PipeStartNoticeRequest 36, // 41: libplugin.SshPiperPlugin.PipeErrorNotice:input_type -> libplugin.PipeErrorNoticeRequest 9, // 42: libplugin.SshPiperPlugin.Logs:output_type -> libplugin.Log 11, // 43: libplugin.SshPiperPlugin.ListCallbacks:output_type -> libplugin.ListCallbackResponse 13, // 44: libplugin.SshPiperPlugin.NewConnection:output_type -> libplugin.NewConnectionResponse 15, // 45: libplugin.SshPiperPlugin.NextAuthMethods:output_type -> libplugin.NextAuthMethodsResponse 17, // 46: libplugin.SshPiperPlugin.NoneAuth:output_type -> libplugin.NoneAuthResponse 19, // 47: libplugin.SshPiperPlugin.PasswordAuth:output_type -> libplugin.PasswordAuthResponse 21, // 48: libplugin.SshPiperPlugin.PublicKeyAuth:output_type -> libplugin.PublicKeyAuthResponse 27, // 49: libplugin.SshPiperPlugin.KeyboardInteractiveAuth:output_type -> libplugin.KeyboardInteractiveAuthMessage 29, // 50: libplugin.SshPiperPlugin.UpstreamAuthFailureNotice:output_type -> libplugin.UpstreamAuthFailureNoticeResponse 31, // 51: libplugin.SshPiperPlugin.Banner:output_type -> libplugin.BannerResponse 33, // 52: libplugin.SshPiperPlugin.VerifyHostKey:output_type -> libplugin.VerifyHostKeyResponse 35, // 53: libplugin.SshPiperPlugin.PipeStartNotice:output_type -> libplugin.PipeStartNoticeResponse 37, // 54: libplugin.SshPiperPlugin.PipeErrorNotice:output_type -> libplugin.PipeErrorNoticeResponse 42, // [42:55] is the sub-list for method output_type 29, // [29:42] is the sub-list for method input_type 29, // [29:29] is the sub-list for extension type_name 29, // [29:29] is the sub-list for extension extendee 0, // [0:29] is the sub-list for field type_name } func init() { file_plugin_proto_init() } func file_plugin_proto_init() { if File_plugin_proto != nil { return } if !protoimpl.UnsafeEnabled { file_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConnMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Upstream); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamNoneAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamPasswordAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamPrivateKeyAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamRemoteSignerAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamNextPluginAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartLogRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Log); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListCallbackRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListCallbackResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewConnectionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewConnectionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NextAuthMethodsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NextAuthMethodsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NoneAuthRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NoneAuthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAuthRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAuthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicKeyAuthRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicKeyAuthResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractiveUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractivePromptRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractiveMetaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractiveMetaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractiveFinishRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractiveAuthMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamAuthFailureNoticeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpstreamAuthFailureNoticeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BannerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BannerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyHostKeyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VerifyHostKeyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PipeStartNoticeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PipeStartNoticeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PipeErrorNoticeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PipeErrorNoticeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_plugin_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyboardInteractivePromptRequest_Question); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_plugin_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Upstream_None)(nil), (*Upstream_Password)(nil), (*Upstream_PrivateKey)(nil), (*Upstream_RemoteSigner)(nil), (*Upstream_NextPlugin)(nil), } file_plugin_proto_msgTypes[26].OneofWrappers = []interface{}{ (*KeyboardInteractiveAuthMessage_PromptRequest)(nil), (*KeyboardInteractiveAuthMessage_UserResponse)(nil), (*KeyboardInteractiveAuthMessage_MetaRequest)(nil), (*KeyboardInteractiveAuthMessage_MetaResponse)(nil), (*KeyboardInteractiveAuthMessage_FinishRequest)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_plugin_proto_rawDesc, NumEnums: 1, NumMessages: 39, NumExtensions: 0, NumServices: 1, }, GoTypes: file_plugin_proto_goTypes, DependencyIndexes: file_plugin_proto_depIdxs, EnumInfos: file_plugin_proto_enumTypes, MessageInfos: file_plugin_proto_msgTypes, }.Build() File_plugin_proto = out.File file_plugin_proto_rawDesc = nil file_plugin_proto_goTypes = nil file_plugin_proto_depIdxs = nil }