// 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
}
