// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.17.3 // source: proto/vagrant_server/server.proto package vagrant_server import ( proto "github.com/golang/protobuf/proto" vagrant_plugin_sdk "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" emptypb "google.golang.org/protobuf/types/known/emptypb" _ "google.golang.org/protobuf/types/known/structpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 // Supported component types, the values here MUST match the enum values // in the Go sdk/component package exactly. A test in internal/server // validates this. type Component_Type int32 const ( Component_UNKNOWN Component_Type = 0 Component_COMMAND Component_Type = 1 Component_COMMUNICATOR Component_Type = 2 Component_GUEST Component_Type = 3 Component_HOST Component_Type = 4 Component_PROVIDER Component_Type = 5 Component_PROVISIONER Component_Type = 6 Component_SYNCEDFOLDER Component_Type = 7 ) // Enum value maps for Component_Type. var ( Component_Type_name = map[int32]string{ 0: "UNKNOWN", 1: "COMMAND", 2: "COMMUNICATOR", 3: "GUEST", 4: "HOST", 5: "PROVIDER", 6: "PROVISIONER", 7: "SYNCEDFOLDER", } Component_Type_value = map[string]int32{ "UNKNOWN": 0, "COMMAND": 1, "COMMUNICATOR": 2, "GUEST": 3, "HOST": 4, "PROVIDER": 5, "PROVISIONER": 6, "SYNCEDFOLDER": 7, } ) func (x Component_Type) Enum() *Component_Type { p := new(Component_Type) *p = x return p } func (x Component_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Component_Type) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[0].Descriptor() } func (Component_Type) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[0] } func (x Component_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Component_Type.Descriptor instead. func (Component_Type) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{6, 0} } type Status_State int32 const ( Status_UNKNOWN Status_State = 0 Status_RUNNING Status_State = 1 Status_SUCCESS Status_State = 2 Status_ERROR Status_State = 3 ) // Enum value maps for Status_State. var ( Status_State_name = map[int32]string{ 0: "UNKNOWN", 1: "RUNNING", 2: "SUCCESS", 3: "ERROR", } Status_State_value = map[string]int32{ "UNKNOWN": 0, "RUNNING": 1, "SUCCESS": 2, "ERROR": 3, } ) func (x Status_State) Enum() *Status_State { p := new(Status_State) *p = x return p } func (x Status_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Status_State) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[1].Descriptor() } func (Status_State) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[1] } func (x Status_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Status_State.Descriptor instead. func (Status_State) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7, 0} } // PhysicalState is the state of any physical resources associated with // an operation. A physical resource for example is the actual container // that might be created alongside an operation. type Operation_PhysicalState int32 const ( Operation_UNKNOWN Operation_PhysicalState = 0 Operation_PENDING Operation_PhysicalState = 1 Operation_CREATED Operation_PhysicalState = 2 Operation_DESTROYED Operation_PhysicalState = 3 ) // Enum value maps for Operation_PhysicalState. var ( Operation_PhysicalState_name = map[int32]string{ 0: "UNKNOWN", 1: "PENDING", 2: "CREATED", 3: "DESTROYED", } Operation_PhysicalState_value = map[string]int32{ "UNKNOWN": 0, "PENDING": 1, "CREATED": 2, "DESTROYED": 3, } ) func (x Operation_PhysicalState) Enum() *Operation_PhysicalState { p := new(Operation_PhysicalState) *p = x return p } func (x Operation_PhysicalState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Operation_PhysicalState) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[2].Descriptor() } func (Operation_PhysicalState) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[2] } func (x Operation_PhysicalState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Operation_PhysicalState.Descriptor instead. func (Operation_PhysicalState) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{9, 0} } type OperationOrder_Order int32 const ( OperationOrder_UNSET OperationOrder_Order = 0 OperationOrder_START_TIME OperationOrder_Order = 1 OperationOrder_COMPLETE_TIME OperationOrder_Order = 2 ) // Enum value maps for OperationOrder_Order. var ( OperationOrder_Order_name = map[int32]string{ 0: "UNSET", 1: "START_TIME", 2: "COMPLETE_TIME", } OperationOrder_Order_value = map[string]int32{ "UNSET": 0, "START_TIME": 1, "COMPLETE_TIME": 2, } ) func (x OperationOrder_Order) Enum() *OperationOrder_Order { p := new(OperationOrder_Order) *p = x return p } func (x OperationOrder_Order) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OperationOrder_Order) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[3].Descriptor() } func (OperationOrder_Order) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[3] } func (x OperationOrder_Order) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OperationOrder_Order.Descriptor instead. func (OperationOrder_Order) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{10, 0} } type Job_State int32 const ( Job_UNKNOWN Job_State = 0 Job_QUEUED Job_State = 1 // queued and waiting for assignment Job_WAITING Job_State = 2 // assigned to a runner, waiting for runner to ack Job_RUNNING Job_State = 3 // runner acked and is executing Job_ERROR Job_State = 4 // job failed Job_SUCCESS Job_State = 5 // job succeeded ) // Enum value maps for Job_State. var ( Job_State_name = map[int32]string{ 0: "UNKNOWN", 1: "QUEUED", 2: "WAITING", 3: "RUNNING", 4: "ERROR", 5: "SUCCESS", } Job_State_value = map[string]int32{ "UNKNOWN": 0, "QUEUED": 1, "WAITING": 2, "RUNNING": 3, "ERROR": 4, "SUCCESS": 5, } ) func (x Job_State) Enum() *Job_State { p := new(Job_State) *p = x return p } func (x Job_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Job_State) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[4].Descriptor() } func (Job_State) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[4] } func (x Job_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Job_State.Descriptor instead. func (Job_State) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 0} } type Job_Hook_Location int32 const ( Job_Hook_BEFORE Job_Hook_Location = 0 Job_Hook_AFTER Job_Hook_Location = 1 ) // Enum value maps for Job_Hook_Location. var ( Job_Hook_Location_name = map[int32]string{ 0: "BEFORE", 1: "AFTER", } Job_Hook_Location_value = map[string]int32{ "BEFORE": 0, "AFTER": 1, } ) func (x Job_Hook_Location) Enum() *Job_Hook_Location { p := new(Job_Hook_Location) *p = x return p } func (x Job_Hook_Location) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Job_Hook_Location) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[5].Descriptor() } func (Job_Hook_Location) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[5] } func (x Job_Hook_Location) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Job_Hook_Location.Descriptor instead. func (Job_Hook_Location) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 12, 0} } type Job_Flag_Type int32 const ( Job_Flag_STRING Job_Flag_Type = 0 Job_Flag_BOOL Job_Flag_Type = 1 ) // Enum value maps for Job_Flag_Type. var ( Job_Flag_Type_name = map[int32]string{ 0: "STRING", 1: "BOOL", } Job_Flag_Type_value = map[string]int32{ "STRING": 0, "BOOL": 1, } ) func (x Job_Flag_Type) Enum() *Job_Flag_Type { p := new(Job_Flag_Type) *p = x return p } func (x Job_Flag_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Job_Flag_Type) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[6].Descriptor() } func (Job_Flag_Type) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[6] } func (x Job_Flag_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Job_Flag_Type.Descriptor instead. func (Job_Flag_Type) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 13, 0} } type ExecStreamResponse_Output_Channel int32 const ( ExecStreamResponse_Output_UNKNOWN ExecStreamResponse_Output_Channel = 0 ExecStreamResponse_Output_STDOUT ExecStreamResponse_Output_Channel = 1 ExecStreamResponse_Output_STDERR ExecStreamResponse_Output_Channel = 2 ) // Enum value maps for ExecStreamResponse_Output_Channel. var ( ExecStreamResponse_Output_Channel_name = map[int32]string{ 0: "UNKNOWN", 1: "STDOUT", 2: "STDERR", } ExecStreamResponse_Output_Channel_value = map[string]int32{ "UNKNOWN": 0, "STDOUT": 1, "STDERR": 2, } ) func (x ExecStreamResponse_Output_Channel) Enum() *ExecStreamResponse_Output_Channel { p := new(ExecStreamResponse_Output_Channel) *p = x return p } func (x ExecStreamResponse_Output_Channel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ExecStreamResponse_Output_Channel) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[7].Descriptor() } func (ExecStreamResponse_Output_Channel) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[7] } func (x ExecStreamResponse_Output_Channel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ExecStreamResponse_Output_Channel.Descriptor instead. func (ExecStreamResponse_Output_Channel) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64, 2, 0} } type EntrypointExecRequest_Output_Channel int32 const ( EntrypointExecRequest_Output_UNKNOWN EntrypointExecRequest_Output_Channel = 0 EntrypointExecRequest_Output_STDOUT EntrypointExecRequest_Output_Channel = 1 EntrypointExecRequest_Output_STDERR EntrypointExecRequest_Output_Channel = 2 ) // Enum value maps for EntrypointExecRequest_Output_Channel. var ( EntrypointExecRequest_Output_Channel_name = map[int32]string{ 0: "UNKNOWN", 1: "STDOUT", 2: "STDERR", } EntrypointExecRequest_Output_Channel_value = map[string]int32{ "UNKNOWN": 0, "STDOUT": 1, "STDERR": 2, } ) func (x EntrypointExecRequest_Output_Channel) Enum() *EntrypointExecRequest_Output_Channel { p := new(EntrypointExecRequest_Output_Channel) *p = x return p } func (x EntrypointExecRequest_Output_Channel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (EntrypointExecRequest_Output_Channel) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[8].Descriptor() } func (EntrypointExecRequest_Output_Channel) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[8] } func (x EntrypointExecRequest_Output_Channel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use EntrypointExecRequest_Output_Channel.Descriptor instead. func (EntrypointExecRequest_Output_Channel) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 2, 0} } type Snapshot_Header_Format int32 const ( Snapshot_Header_UNKNOWN Snapshot_Header_Format = 0 Snapshot_Header_BOLT Snapshot_Header_Format = 1 // Expect a series of BoltChunk messages ) // Enum value maps for Snapshot_Header_Format. var ( Snapshot_Header_Format_name = map[int32]string{ 0: "UNKNOWN", 1: "BOLT", } Snapshot_Header_Format_value = map[string]int32{ "UNKNOWN": 0, "BOLT": 1, } ) func (x Snapshot_Header_Format) Enum() *Snapshot_Header_Format { p := new(Snapshot_Header_Format) *p = x return p } func (x Snapshot_Header_Format) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Snapshot_Header_Format) Descriptor() protoreflect.EnumDescriptor { return file_proto_vagrant_server_server_proto_enumTypes[9].Descriptor() } func (Snapshot_Header_Format) Type() protoreflect.EnumType { return &file_proto_vagrant_server_server_proto_enumTypes[9] } func (x Snapshot_Header_Format) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Snapshot_Header_Format.Descriptor instead. func (Snapshot_Header_Format) EnumDescriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79, 0, 0} } type GetVersionInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info *VersionInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` } func (x *GetVersionInfoResponse) Reset() { *x = GetVersionInfoResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetVersionInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetVersionInfoResponse) ProtoMessage() {} func (x *GetVersionInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetVersionInfoResponse.ProtoReflect.Descriptor instead. func (*GetVersionInfoResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{0} } func (x *GetVersionInfoResponse) GetInfo() *VersionInfo { if x != nil { return x.Info } return nil } type VersionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Api *VersionInfo_ProtocolVersion `protobuf:"bytes,1,opt,name=api,proto3" json:"api,omitempty"` Entrypoint *VersionInfo_ProtocolVersion `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` // Full version string (semver-syntax). This may be hidden/blank for // security purposes so clients should gracefully handle blank values. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` } func (x *VersionInfo) Reset() { *x = VersionInfo{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionInfo) ProtoMessage() {} func (x *VersionInfo) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 VersionInfo.ProtoReflect.Descriptor instead. func (*VersionInfo) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{1} } func (x *VersionInfo) GetApi() *VersionInfo_ProtocolVersion { if x != nil { return x.Api } return nil } func (x *VersionInfo) GetEntrypoint() *VersionInfo_ProtocolVersion { if x != nil { return x.Entrypoint } return nil } func (x *VersionInfo) GetVersion() string { if x != nil { return x.Version } return "" } // This is considered the core configuration and information for the // run. This correlates to a VAGRANT_HOME and contains information // around projects which utilize this basis as well as the configuration // for the basis type Basis struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier (internal use) ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Name for this basis Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Path to this basis Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // Projects within this basis Projects []*vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the project (Vagrantfile) Configuration *anypb.Any `protobuf:"bytes,6,opt,name=configuration,proto3" json:"configuration,omitempty"` // If true, then the `-remote` flag or the `vagrant build project/app` // syntax can be used with a remote runner. If this is false, then // this is not allowed. This is typically configured using the // `runner {}` block in the vagrant config. RemoteEnabled bool `protobuf:"varint,100,opt,name=remote_enabled,json=remoteEnabled,proto3" json:"remote_enabled,omitempty"` // Where data is sourced for remote operations. If this isn't set, then // there is no default data source and it will be an error if a job is // queued for this project without a data source set. This is usually // set using the `runner {}` block in the vagrant config. DataSource *Job_DataSource `protobuf:"bytes,101,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` } func (x *Basis) Reset() { *x = Basis{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Basis) String() string { return protoimpl.X.MessageStringOf(x) } func (*Basis) ProtoMessage() {} func (x *Basis) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Basis.ProtoReflect.Descriptor instead. func (*Basis) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{2} } func (x *Basis) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Basis) GetName() string { if x != nil { return x.Name } return "" } func (x *Basis) GetPath() string { if x != nil { return x.Path } return "" } func (x *Basis) GetProjects() []*vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Projects } return nil } func (x *Basis) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Basis) GetConfiguration() *anypb.Any { if x != nil { return x.Configuration } return nil } func (x *Basis) GetRemoteEnabled() bool { if x != nil { return x.RemoteEnabled } return false } func (x *Basis) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } type Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Name of this project Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Path where this project lives Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // Targets associated with this project Targets []*vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,4,rep,name=targets,proto3" json:"targets,omitempty"` // The basis which this project is within Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,5,opt,name=basis,proto3" json:"basis,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the project (Vagrantfile) Configuration *anypb.Any `protobuf:"bytes,7,opt,name=configuration,proto3" json:"configuration,omitempty"` // If true, then the `-remote` flag or the `vagrant build project/app` // syntax can be used with a remote runner. If this is false, then // this is not allowed. This is typically configured using the // `runner {}` block in the vagrant config. RemoteEnabled bool `protobuf:"varint,100,opt,name=remote_enabled,json=remoteEnabled,proto3" json:"remote_enabled,omitempty"` // Where data is sourced for remote operations. If this isn't set, then // there is no default data source and it will be an error if a job is // queued for this project without a data source set. This is usually // set using the `runner {}` block in the vagrant config. DataSource *Job_DataSource `protobuf:"bytes,101,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` } func (x *Project) Reset() { *x = Project{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Project) String() string { return protoimpl.X.MessageStringOf(x) } func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{3} } func (x *Project) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Project) GetName() string { if x != nil { return x.Name } return "" } func (x *Project) GetPath() string { if x != nil { return x.Path } return "" } func (x *Project) GetTargets() []*vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Targets } return nil } func (x *Project) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } func (x *Project) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Project) GetConfiguration() *anypb.Any { if x != nil { return x.Configuration } return nil } func (x *Project) GetRemoteEnabled() bool { if x != nil { return x.RemoteEnabled } return false } func (x *Project) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } type Target struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Unique resource identifier ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Data directory for target specific files Datadir *vagrant_plugin_sdk.Args_DataDir_Target `protobuf:"bytes,2,opt,name=datadir,proto3" json:"datadir,omitempty"` // Name of the target Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // Project the target is associated Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,opt,name=project,proto3" json:"project,omitempty"` // State of the target State Operation_PhysicalState `protobuf:"varint,5,opt,name=state,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"state,omitempty"` // Targets contained within this target Subtargets []*Target `protobuf:"bytes,6,rep,name=subtargets,proto3" json:"subtargets,omitempty"` // Parent if this target is a subtarget Parent *Target `protobuf:"bytes,7,opt,name=parent,proto3" json:"parent,omitempty"` // Public unique identifier for target Uuid string `protobuf:"bytes,8,opt,name=uuid,proto3" json:"uuid,omitempty"` // Custom metadata Metadata *vagrant_plugin_sdk.Args_MetadataSet `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"` // Serialized configuration of the target (Vagrantfile) Configuration *anypb.Any `protobuf:"bytes,10,opt,name=configuration,proto3" json:"configuration,omitempty"` // Specialized target information (from provider) Record *anypb.Any `protobuf:"bytes,11,opt,name=record,proto3" json:"record,omitempty"` // If true, then the `-remote` flag or the `vagrant build project/app` // syntax can be used with a remote runner. If this is false, then // this is not allowed. This is typically configured using the // `runner {}` block in the vagrant config. RemoteEnabled bool `protobuf:"varint,100,opt,name=remote_enabled,json=remoteEnabled,proto3" json:"remote_enabled,omitempty"` // Where data is sourced for remote operations. If this isn't set, then // there is no default data source and it will be an error if a job is // queued for this project without a data source set. This is usually // set using the `runner {}` block in the vagrant config. DataSource *Job_DataSource `protobuf:"bytes,101,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` } func (x *Target) Reset() { *x = Target{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Target) String() string { return protoimpl.X.MessageStringOf(x) } func (*Target) ProtoMessage() {} func (x *Target) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Target.ProtoReflect.Descriptor instead. func (*Target) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{4} } func (x *Target) GetResourceId() string { if x != nil { return x.ResourceId } return "" } func (x *Target) GetDatadir() *vagrant_plugin_sdk.Args_DataDir_Target { if x != nil { return x.Datadir } return nil } func (x *Target) GetName() string { if x != nil { return x.Name } return "" } func (x *Target) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *Target) GetState() Operation_PhysicalState { if x != nil { return x.State } return Operation_UNKNOWN } func (x *Target) GetSubtargets() []*Target { if x != nil { return x.Subtargets } return nil } func (x *Target) GetParent() *Target { if x != nil { return x.Parent } return nil } func (x *Target) GetUuid() string { if x != nil { return x.Uuid } return "" } func (x *Target) GetMetadata() *vagrant_plugin_sdk.Args_MetadataSet { if x != nil { return x.Metadata } return nil } func (x *Target) GetConfiguration() *anypb.Any { if x != nil { return x.Configuration } return nil } func (x *Target) GetRecord() *anypb.Any { if x != nil { return x.Record } return nil } func (x *Target) GetRemoteEnabled() bool { if x != nil { return x.RemoteEnabled } return false } func (x *Target) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } // Ref contains shared messages used for references to other resources. // // Refs should be used when the full type shouldn't be embedded in the message. type Ref struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Ref) Reset() { *x = Ref{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref) ProtoMessage() {} func (x *Ref) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Ref.ProtoReflect.Descriptor instead. func (*Ref) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5} } // Component represents metadata about a component. A component is the // generic name for a builder, registry, platform, etc. type Component struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // type of the component Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.vagrant.Component_Type" json:"type,omitempty"` // name of the component Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` ServerAddr string `protobuf:"bytes,3,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"` } func (x *Component) Reset() { *x = Component{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Component) String() string { return protoimpl.X.MessageStringOf(x) } func (*Component) ProtoMessage() {} func (x *Component) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Component.ProtoReflect.Descriptor instead. func (*Component) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{6} } func (x *Component) GetType() Component_Type { if x != nil { return x.Type } return Component_UNKNOWN } func (x *Component) GetName() string { if x != nil { return x.Name } return "" } func (x *Component) GetServerAddr() string { if x != nil { return x.ServerAddr } return "" } // Status represents the status of an async operation. type Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // state is the state of this operation. State Status_State `protobuf:"varint,1,opt,name=state,proto3,enum=hashicorp.vagrant.Status_State" json:"state,omitempty"` // details may be non-empty to provide human-friendly information // about the current status. This may change between status updates // for the same state to provide updated details about the state. Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` // error is set if the state == ERROR with the error that occurred. Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` // start_time is the time the operation was started. StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // complete_time is the time the operation completed (success or fail). CompleteTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` } func (x *Status) Reset() { *x = Status{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Status) String() string { return protoimpl.X.MessageStringOf(x) } func (*Status) ProtoMessage() {} func (x *Status) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Status.ProtoReflect.Descriptor instead. func (*Status) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{7} } func (x *Status) GetState() Status_State { if x != nil { return x.State } return Status_UNKNOWN } func (x *Status) GetDetails() string { if x != nil { return x.Details } return "" } func (x *Status) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *Status) GetStartTime() *timestamppb.Timestamp { if x != nil { return x.StartTime } return nil } func (x *Status) GetCompleteTime() *timestamppb.Timestamp { if x != nil { return x.CompleteTime } return nil } type StatusFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Filters are ANDed together. Filters []*StatusFilter_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *StatusFilter) Reset() { *x = StatusFilter{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusFilter) ProtoMessage() {} func (x *StatusFilter) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 StatusFilter.ProtoReflect.Descriptor instead. func (*StatusFilter) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{8} } func (x *StatusFilter) GetFilters() []*StatusFilter_Filter { if x != nil { return x.Filters } return nil } // Operation is a shared message type used to describe "operations" which are // executions of a build, deploy, etc. This just contains shared message types // used for fields. Each individual operation has their own message type // such as Deployment. type Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Operation) Reset() { *x = Operation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Operation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Operation) ProtoMessage() {} func (x *Operation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Operation.ProtoReflect.Descriptor instead. func (*Operation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{9} } // OperationOrder is a shared message type used for controlling the order // of results in queries for app operations such as build, deploys, etc. type OperationOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Order for the results. Order OperationOrder_Order `protobuf:"varint,2,opt,name=order,proto3,enum=hashicorp.vagrant.OperationOrder_Order" json:"order,omitempty"` Desc bool `protobuf:"varint,3,opt,name=desc,proto3" json:"desc,omitempty"` // Limit the number of results Limit uint32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *OperationOrder) Reset() { *x = OperationOrder{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OperationOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*OperationOrder) ProtoMessage() {} func (x *OperationOrder) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 OperationOrder.ProtoReflect.Descriptor instead. func (*OperationOrder) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{10} } func (x *OperationOrder) GetOrder() OperationOrder_Order { if x != nil { return x.Order } return OperationOrder_UNSET } func (x *OperationOrder) GetDesc() bool { if x != nil { return x.Desc } return false } func (x *OperationOrder) GetLimit() uint32 { if x != nil { return x.Limit } return 0 } type QueueJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to queue. See the Job message documentation for more details // on what to set. Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` // Set an expiration duration. If the job is not assigned and acked // in the given duration then the job will be automatically cancelled. ExpiresIn string `protobuf:"bytes,2,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` } func (x *QueueJobRequest) Reset() { *x = QueueJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueJobRequest) ProtoMessage() {} func (x *QueueJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 QueueJobRequest.ProtoReflect.Descriptor instead. func (*QueueJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{11} } func (x *QueueJobRequest) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *QueueJobRequest) GetExpiresIn() string { if x != nil { return x.ExpiresIn } return "" } type QueueJobResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the job ID that was queued. This can be used with other RPC methods // to check on the status, cancel, etc. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *QueueJobResponse) Reset() { *x = QueueJobResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueJobResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueJobResponse) ProtoMessage() {} func (x *QueueJobResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 QueueJobResponse.ProtoReflect.Descriptor instead. func (*QueueJobResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{12} } func (x *QueueJobResponse) GetJobId() string { if x != nil { return x.JobId } return "" } type CancelJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to cancel JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *CancelJobRequest) Reset() { *x = CancelJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CancelJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CancelJobRequest) ProtoMessage() {} func (x *CancelJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 CancelJobRequest.ProtoReflect.Descriptor instead. func (*CancelJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{13} } func (x *CancelJobRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type ValidateJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job to validate. Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` // If true, will NOT validate that the job is assignable. DisableAssign bool `protobuf:"varint,2,opt,name=disable_assign,json=disableAssign,proto3" json:"disable_assign,omitempty"` } func (x *ValidateJobRequest) Reset() { *x = ValidateJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidateJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateJobRequest) ProtoMessage() {} func (x *ValidateJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ValidateJobRequest.ProtoReflect.Descriptor instead. func (*ValidateJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{14} } func (x *ValidateJobRequest) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *ValidateJobRequest) GetDisableAssign() bool { if x != nil { return x.DisableAssign } return false } type ValidateJobResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // valid will be true if the job structure is valid. If it is invalid // validation_error will be set with a reason. Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` ValidationError *status.Status `protobuf:"bytes,2,opt,name=validation_error,json=validationError,proto3" json:"validation_error,omitempty"` // assignable will be true if the job is assignable at this point-in-time. // Assignable means that there are runners registered with the server that // claim to be able to service this job. Note that this is a point-in-time // result so it doesn't guarantee that a job will be serviced when queued. // Additionally, assignability doesn't imply anything about queue length, // so the job may still be queued for some time. // // This will always be false if "valid" is false since we don't check // assignability of invalid jobs. Assignable bool `protobuf:"varint,3,opt,name=assignable,proto3" json:"assignable,omitempty"` } func (x *ValidateJobResponse) Reset() { *x = ValidateJobResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ValidateJobResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateJobResponse) ProtoMessage() {} func (x *ValidateJobResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ValidateJobResponse.ProtoReflect.Descriptor instead. func (*ValidateJobResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{15} } func (x *ValidateJobResponse) GetValid() bool { if x != nil { return x.Valid } return false } func (x *ValidateJobResponse) GetValidationError() *status.Status { if x != nil { return x.ValidationError } return nil } func (x *ValidateJobResponse) GetAssignable() bool { if x != nil { return x.Assignable } return false } // A Job is a job that executes on a runner and is queued by QueueOperation. type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id of the job. This is generated on the server side when queued. If // you are queueing a job, this must be empty or unset. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The application to target for the operation. Some operations may allow // certain fields of this to be empty, so check with the operation // documentation to determine what needs to be set. Generally, project // must be set. Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,2,opt,name=basis,proto3" json:"basis,omitempty"` Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"` // The runner that should execute this job. This is required. TargetRunner *Ref_Runner `protobuf:"bytes,5,opt,name=target_runner,json=targetRunner,proto3" json:"target_runner,omitempty"` // Labels are the labels to set for this operation. Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // data_source determines where the data to operate on (such as the // application source code and Vagrant configuration) comes from. // If this is not set then QueueJob will populate this if a default // data source is configured for the target project. // // The overrides will set overrides of configs for the data source. This is // data source dependent but this allows for example setting the Git ref // without knowing the full data source. Invalid overrides will fail the // job. DataSource *Job_DataSource `protobuf:"bytes,7,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` DataSourceOverrides map[string]string `protobuf:"bytes,8,rep,name=data_source_overrides,json=dataSourceOverrides,proto3" json:"data_source_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The operation to execute. See the message docs for details on the operation. // // Types that are assignable to Operation: // *Job_Noop_ // *Job_Auth // *Job_Docs // *Job_Validate // *Job_Run // *Job_Init Operation isJob_Operation `protobuf_oneof:"operation"` // state of the job State Job_State `protobuf:"varint,100,opt,name=state,proto3,enum=hashicorp.vagrant.Job_State" json:"state,omitempty"` // The runner that was assigned to execute this job. Note that the // runner may have been ephemeral and may no longer exist. AssignedRunner *Ref_RunnerId `protobuf:"bytes,101,opt,name=assigned_runner,json=assignedRunner,proto3" json:"assigned_runner,omitempty"` // The time when the job was queued. QueueTime *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=queue_time,json=queueTime,proto3" json:"queue_time,omitempty"` AssignTime *timestamppb.Timestamp `protobuf:"bytes,103,opt,name=assign_time,json=assignTime,proto3" json:"assign_time,omitempty"` AckTime *timestamppb.Timestamp `protobuf:"bytes,104,opt,name=ack_time,json=ackTime,proto3" json:"ack_time,omitempty"` CompleteTime *timestamppb.Timestamp `protobuf:"bytes,105,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` // error is set if state == ERROR Error *status.Status `protobuf:"bytes,106,opt,name=error,proto3" json:"error,omitempty"` // result is set based on the operation specified. A nil result is possible // for some operations. Result *Job_Result `protobuf:"bytes,107,opt,name=result,proto3" json:"result,omitempty"` // cancel time is the time that cancellation of this job was requested. // If this is zero then this job was not cancelled. Note that this is the // cancellation _request_ time. The actual time a job ended is noted by // the complete_time field. CancelTime *timestamppb.Timestamp `protobuf:"bytes,108,opt,name=cancel_time,json=cancelTime,proto3" json:"cancel_time,omitempty"` // expire time is the time when this job would expire. If this isn't set // then this is a non-expiring job. This will remain set even if the job // never expired because it was accepted and run. This field can be used // to detect that it was configured to expire. ExpireTime *timestamppb.Timestamp `protobuf:"bytes,109,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16} } func (x *Job) GetId() string { if x != nil { return x.Id } return "" } func (x *Job) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } func (x *Job) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *Job) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } func (x *Job) GetTargetRunner() *Ref_Runner { if x != nil { return x.TargetRunner } return nil } func (x *Job) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *Job) GetDataSource() *Job_DataSource { if x != nil { return x.DataSource } return nil } func (x *Job) GetDataSourceOverrides() map[string]string { if x != nil { return x.DataSourceOverrides } return nil } func (m *Job) GetOperation() isJob_Operation { if m != nil { return m.Operation } return nil } func (x *Job) GetNoop() *Job_Noop { if x, ok := x.GetOperation().(*Job_Noop_); ok { return x.Noop } return nil } func (x *Job) GetAuth() *Job_AuthOp { if x, ok := x.GetOperation().(*Job_Auth); ok { return x.Auth } return nil } func (x *Job) GetDocs() *Job_DocsOp { if x, ok := x.GetOperation().(*Job_Docs); ok { return x.Docs } return nil } func (x *Job) GetValidate() *Job_ValidateOp { if x, ok := x.GetOperation().(*Job_Validate); ok { return x.Validate } return nil } func (x *Job) GetRun() *Job_RunOp { if x, ok := x.GetOperation().(*Job_Run); ok { return x.Run } return nil } func (x *Job) GetInit() *Job_InitOp { if x, ok := x.GetOperation().(*Job_Init); ok { return x.Init } return nil } func (x *Job) GetState() Job_State { if x != nil { return x.State } return Job_UNKNOWN } func (x *Job) GetAssignedRunner() *Ref_RunnerId { if x != nil { return x.AssignedRunner } return nil } func (x *Job) GetQueueTime() *timestamppb.Timestamp { if x != nil { return x.QueueTime } return nil } func (x *Job) GetAssignTime() *timestamppb.Timestamp { if x != nil { return x.AssignTime } return nil } func (x *Job) GetAckTime() *timestamppb.Timestamp { if x != nil { return x.AckTime } return nil } func (x *Job) GetCompleteTime() *timestamppb.Timestamp { if x != nil { return x.CompleteTime } return nil } func (x *Job) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *Job) GetResult() *Job_Result { if x != nil { return x.Result } return nil } func (x *Job) GetCancelTime() *timestamppb.Timestamp { if x != nil { return x.CancelTime } return nil } func (x *Job) GetExpireTime() *timestamppb.Timestamp { if x != nil { return x.ExpireTime } return nil } type isJob_Operation interface { isJob_Operation() } type Job_Noop_ struct { Noop *Job_Noop `protobuf:"bytes,50,opt,name=noop,proto3,oneof"` } type Job_Auth struct { Auth *Job_AuthOp `protobuf:"bytes,51,opt,name=auth,proto3,oneof"` } type Job_Docs struct { Docs *Job_DocsOp `protobuf:"bytes,52,opt,name=docs,proto3,oneof"` } type Job_Validate struct { Validate *Job_ValidateOp `protobuf:"bytes,53,opt,name=validate,proto3,oneof"` } type Job_Run struct { Run *Job_RunOp `protobuf:"bytes,54,opt,name=run,proto3,oneof"` } type Job_Init struct { Init *Job_InitOp `protobuf:"bytes,55,opt,name=init,proto3,oneof"` } func (*Job_Noop_) isJob_Operation() {} func (*Job_Auth) isJob_Operation() {} func (*Job_Docs) isJob_Operation() {} func (*Job_Validate) isJob_Operation() {} func (*Job_Run) isJob_Operation() {} func (*Job_Init) isJob_Operation() {} type Documentation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` Example string `protobuf:"bytes,2,opt,name=example,proto3" json:"example,omitempty"` Input string `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` Output string `protobuf:"bytes,4,opt,name=output,proto3" json:"output,omitempty"` Fields map[string]*Documentation_Field `protobuf:"bytes,5,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Mappers []*Documentation_Mapper `protobuf:"bytes,6,rep,name=mappers,proto3" json:"mappers,omitempty"` } func (x *Documentation) Reset() { *x = Documentation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation) ProtoMessage() {} func (x *Documentation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Documentation.ProtoReflect.Descriptor instead. func (*Documentation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{17} } func (x *Documentation) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Documentation) GetExample() string { if x != nil { return x.Example } return "" } func (x *Documentation) GetInput() string { if x != nil { return x.Input } return "" } func (x *Documentation) GetOutput() string { if x != nil { return x.Output } return "" } func (x *Documentation) GetFields() map[string]*Documentation_Field { if x != nil { return x.Fields } return nil } func (x *Documentation) GetMappers() []*Documentation_Mapper { if x != nil { return x.Mappers } return nil } type GetJobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the job to request. JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *GetJobRequest) Reset() { *x = GetJobRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobRequest) ProtoMessage() {} func (x *GetJobRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetJobRequest.ProtoReflect.Descriptor instead. func (*GetJobRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{18} } func (x *GetJobRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type ListJobsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ListJobsRequest) Reset() { *x = ListJobsRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobsRequest) ProtoMessage() {} func (x *ListJobsRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ListJobsRequest.ProtoReflect.Descriptor instead. func (*ListJobsRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{19} } type ListJobsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` } func (x *ListJobsResponse) Reset() { *x = ListJobsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobsResponse) ProtoMessage() {} func (x *ListJobsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ListJobsResponse.ProtoReflect.Descriptor instead. func (*ListJobsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{20} } func (x *ListJobsResponse) GetJobs() []*Job { if x != nil { return x.Jobs } return nil } type GetJobStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` } func (x *GetJobStreamRequest) Reset() { *x = GetJobStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamRequest) ProtoMessage() {} func (x *GetJobStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetJobStreamRequest.ProtoReflect.Descriptor instead. func (*GetJobStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{21} } func (x *GetJobStreamRequest) GetJobId() string { if x != nil { return x.JobId } return "" } type GetJobStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *GetJobStreamResponse_Open_ // *GetJobStreamResponse_State_ // *GetJobStreamResponse_Terminal_ // *GetJobStreamResponse_Error_ // *GetJobStreamResponse_Complete_ Event isGetJobStreamResponse_Event `protobuf_oneof:"event"` } func (x *GetJobStreamResponse) Reset() { *x = GetJobStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse) ProtoMessage() {} func (x *GetJobStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetJobStreamResponse.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22} } func (m *GetJobStreamResponse) GetEvent() isGetJobStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *GetJobStreamResponse) GetOpen() *GetJobStreamResponse_Open { if x, ok := x.GetEvent().(*GetJobStreamResponse_Open_); ok { return x.Open } return nil } func (x *GetJobStreamResponse) GetState() *GetJobStreamResponse_State { if x, ok := x.GetEvent().(*GetJobStreamResponse_State_); ok { return x.State } return nil } func (x *GetJobStreamResponse) GetTerminal() *GetJobStreamResponse_Terminal { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_); ok { return x.Terminal } return nil } func (x *GetJobStreamResponse) GetError() *GetJobStreamResponse_Error { if x, ok := x.GetEvent().(*GetJobStreamResponse_Error_); ok { return x.Error } return nil } func (x *GetJobStreamResponse) GetComplete() *GetJobStreamResponse_Complete { if x, ok := x.GetEvent().(*GetJobStreamResponse_Complete_); ok { return x.Complete } return nil } type isGetJobStreamResponse_Event interface { isGetJobStreamResponse_Event() } type GetJobStreamResponse_Open_ struct { // Open is sent as confirmation that the job stream successfully opened. // This will be sent immediately by the server if the job ID is valid. // This is useful since other events such as terminal output may not // happen for a long time while the job is executing, queued, etc. // // This is ALWAYS sent. If the job is already completed, this will be // sent first followed immediately by a Complete. Open *GetJobStreamResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type GetJobStreamResponse_State_ struct { // state is sent when there is a job state change event. State *GetJobStreamResponse_State `protobuf:"bytes,2,opt,name=state,proto3,oneof"` } type GetJobStreamResponse_Terminal_ struct { // terminal output. On initial connection, the server may send buffered // historical terminal data so there isn't a race between queueing a job // and getting its first byte output. You can determine this based on the // flag on Terminal. Terminal *GetJobStreamResponse_Terminal `protobuf:"bytes,3,opt,name=terminal,proto3,oneof"` } type GetJobStreamResponse_Error_ struct { // an error regarding the stream itself, rather than the executing job. // For example, if you request a job stream for an invalid job ID, // this will be sent back. If this is sent, no further messages will // be sent and the stream is terminated. // // For errors in job execution, see "complete". Error *GetJobStreamResponse_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } type GetJobStreamResponse_Complete_ struct { // job completion, no more events will follow this one. This can be // both success or failure, the event must be checked. Any errors // in complete are errors from the job execution itself. Complete *GetJobStreamResponse_Complete `protobuf:"bytes,5,opt,name=complete,proto3,oneof"` } func (*GetJobStreamResponse_Open_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_State_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Terminal_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Error_) isGetJobStreamResponse_Event() {} func (*GetJobStreamResponse_Complete_) isGetJobStreamResponse_Event() {} type Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id is a unique ID generated by the runner. This should be a UUID or some // other guaranteed unique mechanism. This is not an auth mechanism, just // a way to associate an ID to a runner. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The runner will only be assigned jobs that directly target this // runner by ID. This is used by local runners to prevent external // jobs from being assigned to them. ByIdOnly bool `protobuf:"varint,2,opt,name=by_id_only,json=byIdOnly,proto3" json:"by_id_only,omitempty"` // Components are the list of components that the runner supports. This // is used to match jobs to this runner. Components []*Component `protobuf:"bytes,3,rep,name=components,proto3" json:"components,omitempty"` } func (x *Runner) Reset() { *x = Runner{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Runner) String() string { return protoimpl.X.MessageStringOf(x) } func (*Runner) ProtoMessage() {} func (x *Runner) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 Runner.ProtoReflect.Descriptor instead. func (*Runner) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{23} } func (x *Runner) GetId() string { if x != nil { return x.Id } return "" } func (x *Runner) GetByIdOnly() bool { if x != nil { return x.ByIdOnly } return false } func (x *Runner) GetComponents() []*Component { if x != nil { return x.Components } return nil } type RunnerConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *RunnerConfigRequest_Open_ Event isRunnerConfigRequest_Event `protobuf_oneof:"event"` } func (x *RunnerConfigRequest) Reset() { *x = RunnerConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigRequest) ProtoMessage() {} func (x *RunnerConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerConfigRequest.ProtoReflect.Descriptor instead. func (*RunnerConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24} } func (m *RunnerConfigRequest) GetEvent() isRunnerConfigRequest_Event { if m != nil { return m.Event } return nil } func (x *RunnerConfigRequest) GetOpen() *RunnerConfigRequest_Open { if x, ok := x.GetEvent().(*RunnerConfigRequest_Open_); ok { return x.Open } return nil } type isRunnerConfigRequest_Event interface { isRunnerConfigRequest_Event() } type RunnerConfigRequest_Open_ struct { Open *RunnerConfigRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } func (*RunnerConfigRequest_Open_) isRunnerConfigRequest_Event() {} type RunnerConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // config is any updated configuration for the runner. Config *RunnerConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *RunnerConfigResponse) Reset() { *x = RunnerConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigResponse) ProtoMessage() {} func (x *RunnerConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerConfigResponse.ProtoReflect.Descriptor instead. func (*RunnerConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{25} } func (x *RunnerConfigResponse) GetConfig() *RunnerConfig { if x != nil { return x.Config } return nil } type RunnerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The configuration for the runner. Any locally set runner config will // take priority in a conflict. This allows operators to setup runners // with specific configuration without fear that the server will override // them. ConfigVars []*ConfigVar `protobuf:"bytes,1,rep,name=config_vars,json=configVars,proto3" json:"config_vars,omitempty"` } func (x *RunnerConfig) Reset() { *x = RunnerConfig{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfig) ProtoMessage() {} func (x *RunnerConfig) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerConfig.ProtoReflect.Descriptor instead. func (*RunnerConfig) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{26} } func (x *RunnerConfig) GetConfigVars() []*ConfigVar { if x != nil { return x.ConfigVars } return nil } type RunnerJobStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *RunnerJobStreamRequest_Request_ // *RunnerJobStreamRequest_Ack_ // *RunnerJobStreamRequest_Complete_ // *RunnerJobStreamRequest_Error_ // *RunnerJobStreamRequest_Terminal // *RunnerJobStreamRequest_Heartbeat_ Event isRunnerJobStreamRequest_Event `protobuf_oneof:"event"` } func (x *RunnerJobStreamRequest) Reset() { *x = RunnerJobStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest) ProtoMessage() {} func (x *RunnerJobStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerJobStreamRequest.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27} } func (m *RunnerJobStreamRequest) GetEvent() isRunnerJobStreamRequest_Event { if m != nil { return m.Event } return nil } func (x *RunnerJobStreamRequest) GetRequest() *RunnerJobStreamRequest_Request { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Request_); ok { return x.Request } return nil } func (x *RunnerJobStreamRequest) GetAck() *RunnerJobStreamRequest_Ack { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Ack_); ok { return x.Ack } return nil } func (x *RunnerJobStreamRequest) GetComplete() *RunnerJobStreamRequest_Complete { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Complete_); ok { return x.Complete } return nil } func (x *RunnerJobStreamRequest) GetError() *RunnerJobStreamRequest_Error { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Error_); ok { return x.Error } return nil } func (x *RunnerJobStreamRequest) GetTerminal() *GetJobStreamResponse_Terminal { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Terminal); ok { return x.Terminal } return nil } func (x *RunnerJobStreamRequest) GetHeartbeat() *RunnerJobStreamRequest_Heartbeat { if x, ok := x.GetEvent().(*RunnerJobStreamRequest_Heartbeat_); ok { return x.Heartbeat } return nil } type isRunnerJobStreamRequest_Event interface { isRunnerJobStreamRequest_Event() } type RunnerJobStreamRequest_Request_ struct { // request MUST BE the first message sent by a client. This is used to // signify that a runner is ready to accept a job. This is only ever // sent once. Once a job is complete, the client must terminate the // stream and open a new connection. Request *RunnerJobStreamRequest_Request `protobuf:"bytes,1,opt,name=request,proto3,oneof"` } type RunnerJobStreamRequest_Ack_ struct { // ack is sent to accept a job assignment from the server. This // should be sent soon after the job is assigned to avoid the job being // reassigned and duplicated. Ack *RunnerJobStreamRequest_Ack `protobuf:"bytes,2,opt,name=ack,proto3,oneof"` } type RunnerJobStreamRequest_Complete_ struct { // complete is sent on job completion. This is only sent if there // were no errors, so this signals a successful completion. An erroneous // completion is signaled by sending an Error event. Complete *RunnerJobStreamRequest_Complete `protobuf:"bytes,3,opt,name=complete,proto3,oneof"` } type RunnerJobStreamRequest_Error_ struct { // error is sent when there was an error with job execution (after // accept was sent). This signals that the job failed and it cannot // be retried. This terminates the job and no other events should be // sent. Error *RunnerJobStreamRequest_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } type RunnerJobStreamRequest_Terminal struct { // terminal output from the job. Terminal *GetJobStreamResponse_Terminal `protobuf:"bytes,5,opt,name=terminal,proto3,oneof"` } type RunnerJobStreamRequest_Heartbeat_ struct { // heartbeat that the job is still running. Heartbeat *RunnerJobStreamRequest_Heartbeat `protobuf:"bytes,6,opt,name=heartbeat,proto3,oneof"` } func (*RunnerJobStreamRequest_Request_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Ack_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Complete_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Error_) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Terminal) isRunnerJobStreamRequest_Event() {} func (*RunnerJobStreamRequest_Heartbeat_) isRunnerJobStreamRequest_Event() {} type RunnerJobStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *RunnerJobStreamResponse_Assignment // *RunnerJobStreamResponse_Cancel Event isRunnerJobStreamResponse_Event `protobuf_oneof:"event"` } func (x *RunnerJobStreamResponse) Reset() { *x = RunnerJobStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse) ProtoMessage() {} func (x *RunnerJobStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerJobStreamResponse.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{28} } func (m *RunnerJobStreamResponse) GetEvent() isRunnerJobStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *RunnerJobStreamResponse) GetAssignment() *RunnerJobStreamResponse_JobAssignment { if x, ok := x.GetEvent().(*RunnerJobStreamResponse_Assignment); ok { return x.Assignment } return nil } func (x *RunnerJobStreamResponse) GetCancel() *RunnerJobStreamResponse_JobCancel { if x, ok := x.GetEvent().(*RunnerJobStreamResponse_Cancel); ok { return x.Cancel } return nil } type isRunnerJobStreamResponse_Event interface { isRunnerJobStreamResponse_Event() } type RunnerJobStreamResponse_Assignment struct { // assignment is when a job is assigned to this job stream. This // will happen ONLY in response to a "Request" message from the client. Assignment *RunnerJobStreamResponse_JobAssignment `protobuf:"bytes,1,opt,name=assignment,proto3,oneof"` } type RunnerJobStreamResponse_Cancel struct { // cancel is sent when a cancel request is made. Cancel *RunnerJobStreamResponse_JobCancel `protobuf:"bytes,2,opt,name=cancel,proto3,oneof"` } func (*RunnerJobStreamResponse_Assignment) isRunnerJobStreamResponse_Event() {} func (*RunnerJobStreamResponse_Cancel) isRunnerJobStreamResponse_Event() {} type RunnerGetDeploymentConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RunnerGetDeploymentConfigRequest) Reset() { *x = RunnerGetDeploymentConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerGetDeploymentConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerGetDeploymentConfigRequest) ProtoMessage() {} func (x *RunnerGetDeploymentConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerGetDeploymentConfigRequest.ProtoReflect.Descriptor instead. func (*RunnerGetDeploymentConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{29} } type RunnerGetDeploymentConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServerAddr string `protobuf:"bytes,1,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"` ServerTls bool `protobuf:"varint,2,opt,name=server_tls,json=serverTls,proto3" json:"server_tls,omitempty"` ServerTlsSkipVerify bool `protobuf:"varint,3,opt,name=server_tls_skip_verify,json=serverTlsSkipVerify,proto3" json:"server_tls_skip_verify,omitempty"` } func (x *RunnerGetDeploymentConfigResponse) Reset() { *x = RunnerGetDeploymentConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerGetDeploymentConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerGetDeploymentConfigResponse) ProtoMessage() {} func (x *RunnerGetDeploymentConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 RunnerGetDeploymentConfigResponse.ProtoReflect.Descriptor instead. func (*RunnerGetDeploymentConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{30} } func (x *RunnerGetDeploymentConfigResponse) GetServerAddr() string { if x != nil { return x.ServerAddr } return "" } func (x *RunnerGetDeploymentConfigResponse) GetServerTls() bool { if x != nil { return x.ServerTls } return false } func (x *RunnerGetDeploymentConfigResponse) GetServerTlsSkipVerify() bool { if x != nil { return x.ServerTlsSkipVerify } return false } type GetRunnerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the runner to request. RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` } func (x *GetRunnerRequest) Reset() { *x = GetRunnerRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetRunnerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRunnerRequest) ProtoMessage() {} func (x *GetRunnerRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetRunnerRequest.ProtoReflect.Descriptor instead. func (*GetRunnerRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{31} } func (x *GetRunnerRequest) GetRunnerId() string { if x != nil { return x.RunnerId } return "" } type SetServerConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *ServerConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *SetServerConfigRequest) Reset() { *x = SetServerConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetServerConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetServerConfigRequest) ProtoMessage() {} func (x *SetServerConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 SetServerConfigRequest.ProtoReflect.Descriptor instead. func (*SetServerConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{32} } func (x *SetServerConfigRequest) GetConfig() *ServerConfig { if x != nil { return x.Config } return nil } type GetServerConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *ServerConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` } func (x *GetServerConfigResponse) Reset() { *x = GetServerConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetServerConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetServerConfigResponse) ProtoMessage() {} func (x *GetServerConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetServerConfigResponse.ProtoReflect.Descriptor instead. func (*GetServerConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{33} } func (x *GetServerConfigResponse) GetConfig() *ServerConfig { if x != nil { return x.Config } return nil } // ServerConfig is the configuration for the server that can be read and // set online. This differs from the configuration used to start the server // since some settings can only be set via the file vs. the API. type ServerConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The addresses that are advertised for entrypoints. These define how // applications reach back to the server. Currently you may only set // EXACTLY ONE address. In the future, we'll support multiple advertise // addrs and more controls over which are advertised when. AdvertiseAddrs []*ServerConfig_AdvertiseAddr `protobuf:"bytes,1,rep,name=advertise_addrs,json=advertiseAddrs,proto3" json:"advertise_addrs,omitempty"` } func (x *ServerConfig) Reset() { *x = ServerConfig{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerConfig) ProtoMessage() {} func (x *ServerConfig) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 ServerConfig.ProtoReflect.Descriptor instead. func (*ServerConfig) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{34} } func (x *ServerConfig) GetAdvertiseAddrs() []*ServerConfig_AdvertiseAddr { if x != nil { return x.AdvertiseAddrs } return nil } type UpsertBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Basis to upsert. See the message for what fields to set. Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *UpsertBasisRequest) Reset() { *x = UpsertBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBasisRequest) ProtoMessage() {} func (x *UpsertBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 UpsertBasisRequest.ProtoReflect.Descriptor instead. func (*UpsertBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{35} } func (x *UpsertBasisRequest) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type UpsertBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *UpsertBasisResponse) Reset() { *x = UpsertBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertBasisResponse) ProtoMessage() {} func (x *UpsertBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 UpsertBasisResponse.ProtoReflect.Descriptor instead. func (*UpsertBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{36} } func (x *UpsertBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type GetBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *GetBasisRequest) Reset() { *x = GetBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBasisRequest) ProtoMessage() {} func (x *GetBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[37] 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 GetBasisRequest.ProtoReflect.Descriptor instead. func (*GetBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{37} } func (x *GetBasisRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } type GetBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *GetBasisResponse) Reset() { *x = GetBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBasisResponse) ProtoMessage() {} func (x *GetBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_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 GetBasisResponse.ProtoReflect.Descriptor instead. func (*GetBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{38} } func (x *GetBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type FindBasisRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *FindBasisRequest) Reset() { *x = FindBasisRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBasisRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBasisRequest) ProtoMessage() {} func (x *FindBasisRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[39] 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 FindBasisRequest.ProtoReflect.Descriptor instead. func (*FindBasisRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{39} } func (x *FindBasisRequest) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type FindBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"` Basis *Basis `protobuf:"bytes,2,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *FindBasisResponse) Reset() { *x = FindBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindBasisResponse) ProtoMessage() {} func (x *FindBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[40] 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 FindBasisResponse.ProtoReflect.Descriptor instead. func (*FindBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{40} } func (x *FindBasisResponse) GetFound() bool { if x != nil { return x.Found } return false } func (x *FindBasisResponse) GetBasis() *Basis { if x != nil { return x.Basis } return nil } type ListBasisResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis []*vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,rep,name=basis,proto3" json:"basis,omitempty"` } func (x *ListBasisResponse) Reset() { *x = ListBasisResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListBasisResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListBasisResponse) ProtoMessage() {} func (x *ListBasisResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[41] 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 ListBasisResponse.ProtoReflect.Descriptor instead. func (*ListBasisResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{41} } func (x *ListBasisResponse) GetBasis() []*vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } type UpsertProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Project to upsert. See the message for what fields to set. Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *UpsertProjectRequest) Reset() { *x = UpsertProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertProjectRequest) ProtoMessage() {} func (x *UpsertProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[42] 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 UpsertProjectRequest.ProtoReflect.Descriptor instead. func (*UpsertProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{42} } func (x *UpsertProjectRequest) GetProject() *Project { if x != nil { return x.Project } return nil } type UpsertProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *UpsertProjectResponse) Reset() { *x = UpsertProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertProjectResponse) ProtoMessage() {} func (x *UpsertProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[43] 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 UpsertProjectResponse.ProtoReflect.Descriptor instead. func (*UpsertProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{43} } func (x *UpsertProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type GetProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *GetProjectRequest) Reset() { *x = GetProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetProjectRequest) ProtoMessage() {} func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[44] 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 GetProjectRequest.ProtoReflect.Descriptor instead. func (*GetProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{44} } func (x *GetProjectRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } type GetProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *GetProjectResponse) Reset() { *x = GetProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetProjectResponse) ProtoMessage() {} func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[45] 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 GetProjectResponse.ProtoReflect.Descriptor instead. func (*GetProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{45} } func (x *GetProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type FindProjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` } func (x *FindProjectRequest) Reset() { *x = FindProjectRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindProjectRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindProjectRequest) ProtoMessage() {} func (x *FindProjectRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[46] 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 FindProjectRequest.ProtoReflect.Descriptor instead. func (*FindProjectRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{46} } func (x *FindProjectRequest) GetProject() *Project { if x != nil { return x.Project } return nil } type FindProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"` Project *Project `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` } func (x *FindProjectResponse) Reset() { *x = FindProjectResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindProjectResponse) ProtoMessage() {} func (x *FindProjectResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[47] 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 FindProjectResponse.ProtoReflect.Descriptor instead. func (*FindProjectResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{47} } func (x *FindProjectResponse) GetFound() bool { if x != nil { return x.Found } return false } func (x *FindProjectResponse) GetProject() *Project { if x != nil { return x.Project } return nil } type ListProjectsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Projects []*vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` } func (x *ListProjectsResponse) Reset() { *x = ListProjectsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListProjectsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListProjectsResponse) ProtoMessage() {} func (x *ListProjectsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[48] 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 ListProjectsResponse.ProtoReflect.Descriptor instead. func (*ListProjectsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{48} } func (x *ListProjectsResponse) GetProjects() []*vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Projects } return nil } type UpsertTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // project to register the app against Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Target *Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *UpsertTargetRequest) Reset() { *x = UpsertTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTargetRequest) ProtoMessage() {} func (x *UpsertTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[49] 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 UpsertTargetRequest.ProtoReflect.Descriptor instead. func (*UpsertTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{49} } func (x *UpsertTargetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *UpsertTargetRequest) GetTarget() *Target { if x != nil { return x.Target } return nil } type UpsertTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *UpsertTargetResponse) Reset() { *x = UpsertTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTargetResponse) ProtoMessage() {} func (x *UpsertTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[50] 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 UpsertTargetResponse.ProtoReflect.Descriptor instead. func (*UpsertTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{50} } func (x *UpsertTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type GetTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *GetTargetRequest) Reset() { *x = GetTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTargetRequest) ProtoMessage() {} func (x *GetTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[51] 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 GetTargetRequest.ProtoReflect.Descriptor instead. func (*GetTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{51} } func (x *GetTargetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *GetTargetRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } type GetTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *GetTargetResponse) Reset() { *x = GetTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTargetResponse) ProtoMessage() {} func (x *GetTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[52] 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 GetTargetResponse.ProtoReflect.Descriptor instead. func (*GetTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{52} } func (x *GetTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type FindTargetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` } func (x *FindTargetRequest) Reset() { *x = FindTargetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindTargetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindTargetRequest) ProtoMessage() {} func (x *FindTargetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[53] 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 FindTargetRequest.ProtoReflect.Descriptor instead. func (*FindTargetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{53} } func (x *FindTargetRequest) GetTarget() *Target { if x != nil { return x.Target } return nil } type FindTargetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Found bool `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"` Target *Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *FindTargetResponse) Reset() { *x = FindTargetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindTargetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindTargetResponse) ProtoMessage() {} func (x *FindTargetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[54] 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 FindTargetResponse.ProtoReflect.Descriptor instead. func (*FindTargetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{54} } func (x *FindTargetResponse) GetFound() bool { if x != nil { return x.Found } return false } func (x *FindTargetResponse) GetTarget() *Target { if x != nil { return x.Target } return nil } type ListTargetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Targets []*vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty"` } func (x *ListTargetsResponse) Reset() { *x = ListTargetsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListTargetsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListTargetsResponse) ProtoMessage() {} func (x *ListTargetsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[55] 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 ListTargetsResponse.ProtoReflect.Descriptor instead. func (*ListTargetsResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{55} } func (x *ListTargetsResponse) GetTargets() []*vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Targets } return nil } type GetLogStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Scope: // *GetLogStreamRequest_Basis // *GetLogStreamRequest_Project // *GetLogStreamRequest_Target Scope isGetLogStreamRequest_Scope `protobuf_oneof:"scope"` // limit_backlog sets the maximum backlog lines to return on the initial // connection. This setting is per instance, not global. The maximum // backlog to expect is `n * limit_backlog` where n is the number of // instances. // // A negative value will not limit the backlog. // // A value of zero will default to a value of 50. LimitBacklog int32 `protobuf:"varint,4,opt,name=limit_backlog,json=limitBacklog,proto3" json:"limit_backlog,omitempty"` } func (x *GetLogStreamRequest) Reset() { *x = GetLogStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLogStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLogStreamRequest) ProtoMessage() {} func (x *GetLogStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[56] 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 GetLogStreamRequest.ProtoReflect.Descriptor instead. func (*GetLogStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{56} } func (m *GetLogStreamRequest) GetScope() isGetLogStreamRequest_Scope { if m != nil { return m.Scope } return nil } func (x *GetLogStreamRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*GetLogStreamRequest_Basis); ok { return x.Basis } return nil } func (x *GetLogStreamRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*GetLogStreamRequest_Project); ok { return x.Project } return nil } func (x *GetLogStreamRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*GetLogStreamRequest_Target); ok { return x.Target } return nil } func (x *GetLogStreamRequest) GetLimitBacklog() int32 { if x != nil { return x.LimitBacklog } return 0 } type isGetLogStreamRequest_Scope interface { isGetLogStreamRequest_Scope() } type GetLogStreamRequest_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3,oneof"` } type GetLogStreamRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type GetLogStreamRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,3,opt,name=target,proto3,oneof"` } func (*GetLogStreamRequest_Basis) isGetLogStreamRequest_Scope() {} func (*GetLogStreamRequest_Project) isGetLogStreamRequest_Scope() {} func (*GetLogStreamRequest_Target) isGetLogStreamRequest_Scope() {} type LogBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` Lines []*LogBatch_Entry `protobuf:"bytes,3,rep,name=lines,proto3" json:"lines,omitempty"` } func (x *LogBatch) Reset() { *x = LogBatch{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LogBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*LogBatch) ProtoMessage() {} func (x *LogBatch) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[57] 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 LogBatch.ProtoReflect.Descriptor instead. func (*LogBatch) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{57} } func (x *LogBatch) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *LogBatch) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *LogBatch) GetLines() []*LogBatch_Entry { if x != nil { return x.Lines } return nil } type ConfigVar struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // scope is the scoping for this config variable. // // Types that are assignable to Scope: // *ConfigVar_Target // *ConfigVar_Project // *ConfigVar_Runner Scope isConfigVar_Scope `protobuf_oneof:"scope"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *ConfigVar) Reset() { *x = ConfigVar{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigVar) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigVar) ProtoMessage() {} func (x *ConfigVar) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[58] 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 ConfigVar.ProtoReflect.Descriptor instead. func (*ConfigVar) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{58} } func (m *ConfigVar) GetScope() isConfigVar_Scope { if m != nil { return m.Scope } return nil } func (x *ConfigVar) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*ConfigVar_Target); ok { return x.Target } return nil } func (x *ConfigVar) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*ConfigVar_Project); ok { return x.Project } return nil } func (x *ConfigVar) GetRunner() *Ref_Runner { if x, ok := x.GetScope().(*ConfigVar_Runner); ok { return x.Runner } return nil } func (x *ConfigVar) GetName() string { if x != nil { return x.Name } return "" } func (x *ConfigVar) GetValue() string { if x != nil { return x.Value } return "" } type isConfigVar_Scope interface { isConfigVar_Scope() } type ConfigVar_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,3,opt,name=target,proto3,oneof"` } type ConfigVar_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,4,opt,name=project,proto3,oneof"` } type ConfigVar_Runner struct { // This specifies that the configuration variable is for runners only. // You can use more complex runner targeting via this ref. Runner *Ref_Runner `protobuf:"bytes,5,opt,name=runner,proto3,oneof"` } func (*ConfigVar_Target) isConfigVar_Scope() {} func (*ConfigVar_Project) isConfigVar_Scope() {} func (*ConfigVar_Runner) isConfigVar_Scope() {} type ConfigSetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Variables []*ConfigVar `protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty"` } func (x *ConfigSetRequest) Reset() { *x = ConfigSetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetRequest) ProtoMessage() {} func (x *ConfigSetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[59] 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 ConfigSetRequest.ProtoReflect.Descriptor instead. func (*ConfigSetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{59} } func (x *ConfigSetRequest) GetVariables() []*ConfigVar { if x != nil { return x.Variables } return nil } type ConfigSetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ConfigSetResponse) Reset() { *x = ConfigSetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigSetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigSetResponse) ProtoMessage() {} func (x *ConfigSetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[60] 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 ConfigSetResponse.ProtoReflect.Descriptor instead. func (*ConfigSetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{60} } type ConfigGetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // scope is the scoping for this config variable. // // Types that are assignable to Scope: // *ConfigGetRequest_Target // *ConfigGetRequest_Project // *ConfigGetRequest_Runner Scope isConfigGetRequest_Scope `protobuf_oneof:"scope"` // Get all configuration entries under the given prefix. When empty, // returns all config variables. Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` } func (x *ConfigGetRequest) Reset() { *x = ConfigGetRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetRequest) ProtoMessage() {} func (x *ConfigGetRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[61] 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 ConfigGetRequest.ProtoReflect.Descriptor instead. func (*ConfigGetRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{61} } func (m *ConfigGetRequest) GetScope() isConfigGetRequest_Scope { if m != nil { return m.Scope } return nil } func (x *ConfigGetRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*ConfigGetRequest_Target); ok { return x.Target } return nil } func (x *ConfigGetRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*ConfigGetRequest_Project); ok { return x.Project } return nil } func (x *ConfigGetRequest) GetRunner() *Ref_RunnerId { if x, ok := x.GetScope().(*ConfigGetRequest_Runner); ok { return x.Runner } return nil } func (x *ConfigGetRequest) GetPrefix() string { if x != nil { return x.Prefix } return "" } type isConfigGetRequest_Scope interface { isConfigGetRequest_Scope() } type ConfigGetRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,2,opt,name=target,proto3,oneof"` } type ConfigGetRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,3,opt,name=project,proto3,oneof"` } type ConfigGetRequest_Runner struct { Runner *Ref_RunnerId `protobuf:"bytes,4,opt,name=runner,proto3,oneof"` } func (*ConfigGetRequest_Target) isConfigGetRequest_Scope() {} func (*ConfigGetRequest_Project) isConfigGetRequest_Scope() {} func (*ConfigGetRequest_Runner) isConfigGetRequest_Scope() {} type ConfigGetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Variables []*ConfigVar `protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty"` } func (x *ConfigGetResponse) Reset() { *x = ConfigGetResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigGetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigGetResponse) ProtoMessage() {} func (x *ConfigGetResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[62] 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 ConfigGetResponse.ProtoReflect.Descriptor instead. func (*ConfigGetResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{62} } func (x *ConfigGetResponse) GetVariables() []*ConfigVar { if x != nil { return x.Variables } return nil } type ExecStreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *ExecStreamRequest_Start_ // *ExecStreamRequest_Input_ // *ExecStreamRequest_Winch Event isExecStreamRequest_Event `protobuf_oneof:"event"` } func (x *ExecStreamRequest) Reset() { *x = ExecStreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest) ProtoMessage() {} func (x *ExecStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[63] 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 ExecStreamRequest.ProtoReflect.Descriptor instead. func (*ExecStreamRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63} } func (m *ExecStreamRequest) GetEvent() isExecStreamRequest_Event { if m != nil { return m.Event } return nil } func (x *ExecStreamRequest) GetStart() *ExecStreamRequest_Start { if x, ok := x.GetEvent().(*ExecStreamRequest_Start_); ok { return x.Start } return nil } func (x *ExecStreamRequest) GetInput() *ExecStreamRequest_Input { if x, ok := x.GetEvent().(*ExecStreamRequest_Input_); ok { return x.Input } return nil } func (x *ExecStreamRequest) GetWinch() *ExecStreamRequest_WindowSize { if x, ok := x.GetEvent().(*ExecStreamRequest_Winch); ok { return x.Winch } return nil } type isExecStreamRequest_Event interface { isExecStreamRequest_Event() } type ExecStreamRequest_Start_ struct { Start *ExecStreamRequest_Start `protobuf:"bytes,1,opt,name=start,proto3,oneof"` } type ExecStreamRequest_Input_ struct { Input *ExecStreamRequest_Input `protobuf:"bytes,2,opt,name=input,proto3,oneof"` } type ExecStreamRequest_Winch struct { Winch *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=winch,proto3,oneof"` } func (*ExecStreamRequest_Start_) isExecStreamRequest_Event() {} func (*ExecStreamRequest_Input_) isExecStreamRequest_Event() {} func (*ExecStreamRequest_Winch) isExecStreamRequest_Event() {} type ExecStreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *ExecStreamResponse_Open_ // *ExecStreamResponse_Output_ // *ExecStreamResponse_Exit_ Event isExecStreamResponse_Event `protobuf_oneof:"event"` } func (x *ExecStreamResponse) Reset() { *x = ExecStreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse) ProtoMessage() {} func (x *ExecStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[64] 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 ExecStreamResponse.ProtoReflect.Descriptor instead. func (*ExecStreamResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64} } func (m *ExecStreamResponse) GetEvent() isExecStreamResponse_Event { if m != nil { return m.Event } return nil } func (x *ExecStreamResponse) GetOpen() *ExecStreamResponse_Open { if x, ok := x.GetEvent().(*ExecStreamResponse_Open_); ok { return x.Open } return nil } func (x *ExecStreamResponse) GetOutput() *ExecStreamResponse_Output { if x, ok := x.GetEvent().(*ExecStreamResponse_Output_); ok { return x.Output } return nil } func (x *ExecStreamResponse) GetExit() *ExecStreamResponse_Exit { if x, ok := x.GetEvent().(*ExecStreamResponse_Exit_); ok { return x.Exit } return nil } type isExecStreamResponse_Event interface { isExecStreamResponse_Event() } type ExecStreamResponse_Open_ struct { // Open is always sent first no matter what (unless there is an error // in which case the stream will exit). This should be used to validate // that the exec process started properly. Open *ExecStreamResponse_Open `protobuf:"bytes,3,opt,name=open,proto3,oneof"` } type ExecStreamResponse_Output_ struct { Output *ExecStreamResponse_Output `protobuf:"bytes,1,opt,name=output,proto3,oneof"` } type ExecStreamResponse_Exit_ struct { Exit *ExecStreamResponse_Exit `protobuf:"bytes,2,opt,name=exit,proto3,oneof"` } func (*ExecStreamResponse_Open_) isExecStreamResponse_Event() {} func (*ExecStreamResponse_Output_) isExecStreamResponse_Event() {} func (*ExecStreamResponse_Exit_) isExecStreamResponse_Event() {} type EntrypointConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // id of the deployment that this instance is a part of DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` // instance_id is a unique ID generated by the running entrypoint. This is // not an auth mechanism, just a way to associate data with the correct instance. InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` } func (x *EntrypointConfigRequest) Reset() { *x = EntrypointConfigRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfigRequest) ProtoMessage() {} func (x *EntrypointConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[65] 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 EntrypointConfigRequest.ProtoReflect.Descriptor instead. func (*EntrypointConfigRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{65} } func (x *EntrypointConfigRequest) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *EntrypointConfigRequest) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } type EntrypointConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *EntrypointConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` } func (x *EntrypointConfigResponse) Reset() { *x = EntrypointConfigResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfigResponse) ProtoMessage() {} func (x *EntrypointConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[66] 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 EntrypointConfigResponse.ProtoReflect.Descriptor instead. func (*EntrypointConfigResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{66} } func (x *EntrypointConfigResponse) GetConfig() *EntrypointConfig { if x != nil { return x.Config } return nil } type EntrypointConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Exec are requested exec sessions for this instance. Exec []*EntrypointConfig_Exec `protobuf:"bytes,1,rep,name=exec,proto3" json:"exec,omitempty"` EnvVars []*ConfigVar `protobuf:"bytes,2,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty"` // The URL service configuration. This might be nil. If this is nil, // then the URL service is disabled. UrlService *EntrypointConfig_URLService `protobuf:"bytes,3,opt,name=url_service,json=urlService,proto3" json:"url_service,omitempty"` } func (x *EntrypointConfig) Reset() { *x = EntrypointConfig{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig) ProtoMessage() {} func (x *EntrypointConfig) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[67] 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 EntrypointConfig.ProtoReflect.Descriptor instead. func (*EntrypointConfig) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{67} } func (x *EntrypointConfig) GetExec() []*EntrypointConfig_Exec { if x != nil { return x.Exec } return nil } func (x *EntrypointConfig) GetEnvVars() []*ConfigVar { if x != nil { return x.EnvVars } return nil } func (x *EntrypointConfig) GetUrlService() *EntrypointConfig_URLService { if x != nil { return x.UrlService } return nil } // A batch of data for log streaming from the entrypoint. type EntrypointLogBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // instance_id is a unique ID generated by the running entrypoint. This is // not an auth mechanism, just a way to associate data with the correct instance. InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // lines is the set of lines Lines []*LogBatch_Entry `protobuf:"bytes,2,rep,name=lines,proto3" json:"lines,omitempty"` } func (x *EntrypointLogBatch) Reset() { *x = EntrypointLogBatch{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointLogBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointLogBatch) ProtoMessage() {} func (x *EntrypointLogBatch) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[68] 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 EntrypointLogBatch.ProtoReflect.Descriptor instead. func (*EntrypointLogBatch) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{68} } func (x *EntrypointLogBatch) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *EntrypointLogBatch) GetLines() []*LogBatch_Entry { if x != nil { return x.Lines } return nil } type EntrypointExecRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *EntrypointExecRequest_Open_ // *EntrypointExecRequest_Exit_ // *EntrypointExecRequest_Output_ // *EntrypointExecRequest_Error_ Event isEntrypointExecRequest_Event `protobuf_oneof:"event"` } func (x *EntrypointExecRequest) Reset() { *x = EntrypointExecRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest) ProtoMessage() {} func (x *EntrypointExecRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[69] 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 EntrypointExecRequest.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69} } func (m *EntrypointExecRequest) GetEvent() isEntrypointExecRequest_Event { if m != nil { return m.Event } return nil } func (x *EntrypointExecRequest) GetOpen() *EntrypointExecRequest_Open { if x, ok := x.GetEvent().(*EntrypointExecRequest_Open_); ok { return x.Open } return nil } func (x *EntrypointExecRequest) GetExit() *EntrypointExecRequest_Exit { if x, ok := x.GetEvent().(*EntrypointExecRequest_Exit_); ok { return x.Exit } return nil } func (x *EntrypointExecRequest) GetOutput() *EntrypointExecRequest_Output { if x, ok := x.GetEvent().(*EntrypointExecRequest_Output_); ok { return x.Output } return nil } func (x *EntrypointExecRequest) GetError() *EntrypointExecRequest_Error { if x, ok := x.GetEvent().(*EntrypointExecRequest_Error_); ok { return x.Error } return nil } type isEntrypointExecRequest_Event interface { isEntrypointExecRequest_Event() } type EntrypointExecRequest_Open_ struct { // open MUST BE the first message sent by a client. This will be used // by the server side to perform some initialization. If the first message // is not open the server will close the connection. Open *EntrypointExecRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type EntrypointExecRequest_Exit_ struct { // exit should be sent as a final message type after the command exits. Exit *EntrypointExecRequest_Exit `protobuf:"bytes,2,opt,name=exit,proto3,oneof"` } type EntrypointExecRequest_Output_ struct { // output contains stdout/stderr Output *EntrypointExecRequest_Output `protobuf:"bytes,3,opt,name=output,proto3,oneof"` } type EntrypointExecRequest_Error_ struct { // error indicates an error occurred. This will terminate the stream. Error *EntrypointExecRequest_Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` } func (*EntrypointExecRequest_Open_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Exit_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Output_) isEntrypointExecRequest_Event() {} func (*EntrypointExecRequest_Error_) isEntrypointExecRequest_Event() {} type EntrypointExecResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *EntrypointExecResponse_Input // *EntrypointExecResponse_Winch // *EntrypointExecResponse_Opened Event isEntrypointExecResponse_Event `protobuf_oneof:"event"` } func (x *EntrypointExecResponse) Reset() { *x = EntrypointExecResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecResponse) ProtoMessage() {} func (x *EntrypointExecResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[70] 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 EntrypointExecResponse.ProtoReflect.Descriptor instead. func (*EntrypointExecResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{70} } func (m *EntrypointExecResponse) GetEvent() isEntrypointExecResponse_Event { if m != nil { return m.Event } return nil } func (x *EntrypointExecResponse) GetInput() []byte { if x, ok := x.GetEvent().(*EntrypointExecResponse_Input); ok { return x.Input } return nil } func (x *EntrypointExecResponse) GetWinch() *ExecStreamRequest_WindowSize { if x, ok := x.GetEvent().(*EntrypointExecResponse_Winch); ok { return x.Winch } return nil } func (x *EntrypointExecResponse) GetOpened() bool { if x, ok := x.GetEvent().(*EntrypointExecResponse_Opened); ok { return x.Opened } return false } type isEntrypointExecResponse_Event interface { isEntrypointExecResponse_Event() } type EntrypointExecResponse_Input struct { // input is raw stdin input from the client Input []byte `protobuf:"bytes,1,opt,name=input,proto3,oneof"` } type EntrypointExecResponse_Winch struct { // winch is SIGWNCH information for window sizing Winch *ExecStreamRequest_WindowSize `protobuf:"bytes,2,opt,name=winch,proto3,oneof"` } type EntrypointExecResponse_Opened struct { // opened is sent when the entrypoint session is successfully opened. // The value of this message is meaningless. The existence of the message // itself is a signal that the stream was opened properly. Opened bool `protobuf:"varint,3,opt,name=opened,proto3,oneof"` } func (*EntrypointExecResponse_Input) isEntrypointExecResponse_Event() {} func (*EntrypointExecResponse_Winch) isEntrypointExecResponse_Event() {} func (*EntrypointExecResponse_Opened) isEntrypointExecResponse_Event() {} // The outer structure of the token that is directly Marshaled and // ASCII armored. type TokenTransport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A Marshaled token, stored as bytes because we need to to validate // it with the given signature. Body []byte `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` // The signature of body for validation. Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` // The key used to generate the signature. KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` // Any configuration style metadata that can be passed along with the token // without invalidating the token body itself. Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *TokenTransport) Reset() { *x = TokenTransport{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenTransport) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenTransport) ProtoMessage() {} func (x *TokenTransport) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[71] 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 TokenTransport.ProtoReflect.Descriptor instead. func (*TokenTransport) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{71} } func (x *TokenTransport) GetBody() []byte { if x != nil { return x.Body } return nil } func (x *TokenTransport) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *TokenTransport) GetKeyId() string { if x != nil { return x.KeyId } return "" } func (x *TokenTransport) GetMetadata() map[string]string { if x != nil { return x.Metadata } return nil } // The authenticated Token information. This is used to authenticate requests. type Token struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The user that the token is fore. User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // A random id for the token. Also functions as a nonce when signing. TokenId []byte `protobuf:"bytes,2,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"` // When the token is valid until. After the given date, the token will be rejected. // When this is not set, the token is valid forever. ValidUntil *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=valid_until,json=validUntil,proto3" json:"valid_until,omitempty"` // Indicates whether or not this token can be used for to authenticate RPCs. Login bool `protobuf:"varint,4,opt,name=login,proto3" json:"login,omitempty"` // Inidicates whether or not this token can be used as an invite. Invite bool `protobuf:"varint,5,opt,name=invite,proto3" json:"invite,omitempty"` // Entrypoint if set indicates that this token is for entrypoint binary // usage only and specific restrictions are specified in this message. Entrypoint *Token_Entrypoint `protobuf:"bytes,6,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` } func (x *Token) Reset() { *x = Token{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Token) String() string { return protoimpl.X.MessageStringOf(x) } func (*Token) ProtoMessage() {} func (x *Token) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[72] 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 Token.ProtoReflect.Descriptor instead. func (*Token) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{72} } func (x *Token) GetUser() string { if x != nil { return x.User } return "" } func (x *Token) GetTokenId() []byte { if x != nil { return x.TokenId } return nil } func (x *Token) GetValidUntil() *timestamppb.Timestamp { if x != nil { return x.ValidUntil } return nil } func (x *Token) GetLogin() bool { if x != nil { return x.Login } return false } func (x *Token) GetInvite() bool { if x != nil { return x.Invite } return false } func (x *Token) GetEntrypoint() *Token_Entrypoint { if x != nil { return x.Entrypoint } return nil } // Represents a key used to sign tokens using HMAC type HMACKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The identifier of the key. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // A randomly generated key used to sign tokens with Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *HMACKey) Reset() { *x = HMACKey{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HMACKey) String() string { return protoimpl.X.MessageStringOf(x) } func (*HMACKey) ProtoMessage() {} func (x *HMACKey) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[73] 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 HMACKey.ProtoReflect.Descriptor instead. func (*HMACKey) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{73} } func (x *HMACKey) GetId() string { if x != nil { return x.Id } return "" } func (x *HMACKey) GetKey() []byte { if x != nil { return x.Key } return nil } // Passed with GenerateInviteToken with the params on how the invite token should // be generate. type InviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // How long the token should be valid until. The resulting token has a timestamp // encoded within it by adding the current time to this duration. Duration string `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"` // If set, the token generated by this invite code is for the given entrypoint. Entrypoint *Token_Entrypoint `protobuf:"bytes,2,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` } func (x *InviteTokenRequest) Reset() { *x = InviteTokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InviteTokenRequest) ProtoMessage() {} func (x *InviteTokenRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[74] 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 InviteTokenRequest.ProtoReflect.Descriptor instead. func (*InviteTokenRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{74} } func (x *InviteTokenRequest) GetDuration() string { if x != nil { return x.Duration } return "" } func (x *InviteTokenRequest) GetEntrypoint() *Token_Entrypoint { if x != nil { return x.Entrypoint } return nil } // Returned by any action that creates a token. type NewTokenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The new token which can be presented to whichever API expects it. Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *NewTokenResponse) Reset() { *x = NewTokenResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewTokenResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewTokenResponse) ProtoMessage() {} func (x *NewTokenResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[75] 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 NewTokenResponse.ProtoReflect.Descriptor instead. func (*NewTokenResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{75} } func (x *NewTokenResponse) GetToken() string { if x != nil { return x.Token } return "" } // Passed to ConvertInviteToken to create a new token that can be used to authenticate RPCs. type ConvertInviteTokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A token previous returned by GenerateInviteToken. Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *ConvertInviteTokenRequest) Reset() { *x = ConvertInviteTokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConvertInviteTokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConvertInviteTokenRequest) ProtoMessage() {} func (x *ConvertInviteTokenRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[76] 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 ConvertInviteTokenRequest.ProtoReflect.Descriptor instead. func (*ConvertInviteTokenRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{76} } func (x *ConvertInviteTokenRequest) GetToken() string { if x != nil { return x.Token } return "" } type CreateSnapshotResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *CreateSnapshotResponse_Open_ // *CreateSnapshotResponse_Chunk Event isCreateSnapshotResponse_Event `protobuf_oneof:"event"` } func (x *CreateSnapshotResponse) Reset() { *x = CreateSnapshotResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateSnapshotResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateSnapshotResponse) ProtoMessage() {} func (x *CreateSnapshotResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[77] 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 CreateSnapshotResponse.ProtoReflect.Descriptor instead. func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{77} } func (m *CreateSnapshotResponse) GetEvent() isCreateSnapshotResponse_Event { if m != nil { return m.Event } return nil } func (x *CreateSnapshotResponse) GetOpen() *CreateSnapshotResponse_Open { if x, ok := x.GetEvent().(*CreateSnapshotResponse_Open_); ok { return x.Open } return nil } func (x *CreateSnapshotResponse) GetChunk() []byte { if x, ok := x.GetEvent().(*CreateSnapshotResponse_Chunk); ok { return x.Chunk } return nil } type isCreateSnapshotResponse_Event interface { isCreateSnapshotResponse_Event() } type CreateSnapshotResponse_Open_ struct { // Open is sent as the opening message with information about the // snapshot. This is always sent first (before any data). Open *CreateSnapshotResponse_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type CreateSnapshotResponse_Chunk struct { // Chunk is a next chunk of data. You should continue to expect // data until an EOF is received on the stream. Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } func (*CreateSnapshotResponse_Open_) isCreateSnapshotResponse_Event() {} func (*CreateSnapshotResponse_Chunk) isCreateSnapshotResponse_Event() {} type RestoreSnapshotRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Event: // *RestoreSnapshotRequest_Open_ // *RestoreSnapshotRequest_Chunk Event isRestoreSnapshotRequest_Event `protobuf_oneof:"event"` } func (x *RestoreSnapshotRequest) Reset() { *x = RestoreSnapshotRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreSnapshotRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreSnapshotRequest) ProtoMessage() {} func (x *RestoreSnapshotRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[78] 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 RestoreSnapshotRequest.ProtoReflect.Descriptor instead. func (*RestoreSnapshotRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{78} } func (m *RestoreSnapshotRequest) GetEvent() isRestoreSnapshotRequest_Event { if m != nil { return m.Event } return nil } func (x *RestoreSnapshotRequest) GetOpen() *RestoreSnapshotRequest_Open { if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Open_); ok { return x.Open } return nil } func (x *RestoreSnapshotRequest) GetChunk() []byte { if x, ok := x.GetEvent().(*RestoreSnapshotRequest_Chunk); ok { return x.Chunk } return nil } type isRestoreSnapshotRequest_Event interface { isRestoreSnapshotRequest_Event() } type RestoreSnapshotRequest_Open_ struct { // Open MUST be sent as the first message and sent exactly once. // This sets the settings for the restore. Open *RestoreSnapshotRequest_Open `protobuf:"bytes,1,opt,name=open,proto3,oneof"` } type RestoreSnapshotRequest_Chunk struct { // Chunk is a chunk of restore data. The restore snapshot API will // continue reading data until an EOF is received (the write end is // closed). Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` } func (*RestoreSnapshotRequest_Open_) isRestoreSnapshotRequest_Event() {} func (*RestoreSnapshotRequest_Chunk) isRestoreSnapshotRequest_Event() {} // Snapshot is the encoding of the snapshot for all snapshot APIs. // The encoding is proto.Message delimited data. This is also the encoding // expected if the vagrant-restore.db file is copied manually from the // snapshot data. // // For snapshots, the Header message is always guaranteed first. After that, // it is NOT guaranteed that only data chunks are sent. It is only guaranteed // that the data chunks are over at EOF. Unknown messages can probably be // ignored. // // It is HIGHLY RECOMMENDED you do not modify snapshots, but these messages // are publicly exported so that you can try to inspect snapshots. type Snapshot struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Snapshot) Reset() { *x = Snapshot{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot) ProtoMessage() {} func (x *Snapshot) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[79] 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 Snapshot.ProtoReflect.Descriptor instead. func (*Snapshot) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79} } type UpsertTaskRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` } func (x *UpsertTaskRequest) Reset() { *x = UpsertTaskRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTaskRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTaskRequest) ProtoMessage() {} func (x *UpsertTaskRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[80] 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 UpsertTaskRequest.ProtoReflect.Descriptor instead. func (*UpsertTaskRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{80} } func (x *UpsertTaskRequest) GetTask() *Task { if x != nil { return x.Task } return nil } type UpsertTaskResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Resultant task in this response will likely be // updated and should replace the task sent in request Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` } func (x *UpsertTaskResponse) Reset() { *x = UpsertTaskResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpsertTaskResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpsertTaskResponse) ProtoMessage() {} func (x *UpsertTaskResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[81] 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 UpsertTaskResponse.ProtoReflect.Descriptor instead. func (*UpsertTaskResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{81} } func (x *UpsertTaskResponse) GetTask() *Task { if x != nil { return x.Task } return nil } type GetLatestTaskRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The scope of the task // // Types that are assignable to Scope: // *GetLatestTaskRequest_Target // *GetLatestTaskRequest_Project // *GetLatestTaskRequest_Basis Scope isGetLatestTaskRequest_Scope `protobuf_oneof:"scope"` } func (x *GetLatestTaskRequest) Reset() { *x = GetLatestTaskRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLatestTaskRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLatestTaskRequest) ProtoMessage() {} func (x *GetLatestTaskRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[82] 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 GetLatestTaskRequest.ProtoReflect.Descriptor instead. func (*GetLatestTaskRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{82} } func (m *GetLatestTaskRequest) GetScope() isGetLatestTaskRequest_Scope { if m != nil { return m.Scope } return nil } func (x *GetLatestTaskRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*GetLatestTaskRequest_Target); ok { return x.Target } return nil } func (x *GetLatestTaskRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*GetLatestTaskRequest_Project); ok { return x.Project } return nil } func (x *GetLatestTaskRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*GetLatestTaskRequest_Basis); ok { return x.Basis } return nil } type isGetLatestTaskRequest_Scope interface { isGetLatestTaskRequest_Scope() } type GetLatestTaskRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3,oneof"` } type GetLatestTaskRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type GetLatestTaskRequest_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3,oneof"` } func (*GetLatestTaskRequest_Target) isGetLatestTaskRequest_Scope() {} func (*GetLatestTaskRequest_Project) isGetLatestTaskRequest_Scope() {} func (*GetLatestTaskRequest_Basis) isGetLatestTaskRequest_Scope() {} type ListTasksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The scope of the task // // Types that are assignable to Scope: // *ListTasksRequest_Target // *ListTasksRequest_Project // *ListTasksRequest_Basis Scope isListTasksRequest_Scope `protobuf_oneof:"scope"` // The filters to apply to this request. These are ORed, so you should // specify multiple filters in the StatusFilter for AND behavior. Status []*StatusFilter `protobuf:"bytes,4,rep,name=status,proto3" json:"status,omitempty"` // The physical state to filter for. If this is zero or unset then no // filtering on physical state will be done. PhysicalState Operation_PhysicalState `protobuf:"varint,5,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"physical_state,omitempty"` // Specifies the order of results. If this isn't specified, the results // are in an undefined order. Order *OperationOrder `protobuf:"bytes,6,opt,name=order,proto3" json:"order,omitempty"` } func (x *ListTasksRequest) Reset() { *x = ListTasksRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListTasksRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListTasksRequest) ProtoMessage() {} func (x *ListTasksRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[83] 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 ListTasksRequest.ProtoReflect.Descriptor instead. func (*ListTasksRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{83} } func (m *ListTasksRequest) GetScope() isListTasksRequest_Scope { if m != nil { return m.Scope } return nil } func (x *ListTasksRequest) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*ListTasksRequest_Target); ok { return x.Target } return nil } func (x *ListTasksRequest) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*ListTasksRequest_Project); ok { return x.Project } return nil } func (x *ListTasksRequest) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*ListTasksRequest_Basis); ok { return x.Basis } return nil } func (x *ListTasksRequest) GetStatus() []*StatusFilter { if x != nil { return x.Status } return nil } func (x *ListTasksRequest) GetPhysicalState() Operation_PhysicalState { if x != nil { return x.PhysicalState } return Operation_UNKNOWN } func (x *ListTasksRequest) GetOrder() *OperationOrder { if x != nil { return x.Order } return nil } type isListTasksRequest_Scope interface { isListTasksRequest_Scope() } type ListTasksRequest_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3,oneof"` } type ListTasksRequest_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type ListTasksRequest_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3,oneof"` } func (*ListTasksRequest_Target) isListTasksRequest_Scope() {} func (*ListTasksRequest_Project) isListTasksRequest_Scope() {} func (*ListTasksRequest_Basis) isListTasksRequest_Scope() {} type ListTasksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` } func (x *ListTasksResponse) Reset() { *x = ListTasksResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListTasksResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListTasksResponse) ProtoMessage() {} func (x *ListTasksResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[84] 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 ListTasksResponse.ProtoReflect.Descriptor instead. func (*ListTasksResponse) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{84} } func (x *ListTasksResponse) GetTasks() []*Task { if x != nil { return x.Tasks } return nil } type GetTaskRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ref *Ref_Operation `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` } func (x *GetTaskRequest) Reset() { *x = GetTaskRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetTaskRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetTaskRequest) ProtoMessage() {} func (x *GetTaskRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[85] 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 GetTaskRequest.ProtoReflect.Descriptor instead. func (*GetTaskRequest) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{85} } func (x *GetTaskRequest) GetRef() *Ref_Operation { if x != nil { return x.Ref } return nil } type Task struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The scope this task was run within // // Types that are assignable to Scope: // *Task_Target // *Task_Project // *Task_Basis Scope isTask_Scope `protobuf_oneof:"scope"` // Name of the task executed Task string `protobuf:"bytes,4,opt,name=task,proto3" json:"task,omitempty"` // The sequence number for this task Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` // id is the unique ID for this task Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // Status is the current status of the task Status *Status `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` // State of any resources related to the task State Operation_PhysicalState `protobuf:"varint,8,opt,name=state,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"state,omitempty"` // Component responsible for this task Component *Component `protobuf:"bytes,9,opt,name=component,proto3" json:"component,omitempty"` // Any labels which were set for this task Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // ID of the job that created this task JobId string `protobuf:"bytes,11,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // Map of cli arguments CliArgs *vagrant_plugin_sdk.Command_Arguments `protobuf:"bytes,12,opt,name=cli_args,json=cliArgs,proto3" json:"cli_args,omitempty"` CommandName string `protobuf:"bytes,13,opt,name=command_name,json=commandName,proto3" json:"command_name,omitempty"` } func (x *Task) Reset() { *x = Task{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Task) String() string { return protoimpl.X.MessageStringOf(x) } func (*Task) ProtoMessage() {} func (x *Task) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[86] 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 Task.ProtoReflect.Descriptor instead. func (*Task) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{86} } func (m *Task) GetScope() isTask_Scope { if m != nil { return m.Scope } return nil } func (x *Task) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x, ok := x.GetScope().(*Task_Target); ok { return x.Target } return nil } func (x *Task) GetProject() *vagrant_plugin_sdk.Ref_Project { if x, ok := x.GetScope().(*Task_Project); ok { return x.Project } return nil } func (x *Task) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x, ok := x.GetScope().(*Task_Basis); ok { return x.Basis } return nil } func (x *Task) GetTask() string { if x != nil { return x.Task } return "" } func (x *Task) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *Task) GetId() string { if x != nil { return x.Id } return "" } func (x *Task) GetStatus() *Status { if x != nil { return x.Status } return nil } func (x *Task) GetState() Operation_PhysicalState { if x != nil { return x.State } return Operation_UNKNOWN } func (x *Task) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Task) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } func (x *Task) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *Task) GetCliArgs() *vagrant_plugin_sdk.Command_Arguments { if x != nil { return x.CliArgs } return nil } func (x *Task) GetCommandName() string { if x != nil { return x.CommandName } return "" } type isTask_Scope interface { isTask_Scope() } type Task_Target struct { Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3,oneof"` } type Task_Project struct { Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,2,opt,name=project,proto3,oneof"` } type Task_Basis struct { Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3,oneof"` } func (*Task_Target) isTask_Scope() {} func (*Task_Project) isTask_Scope() {} func (*Task_Basis) isTask_Scope() {} type VersionInfo_ProtocolVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Current uint32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` Minimum uint32 `protobuf:"varint,2,opt,name=minimum,proto3" json:"minimum,omitempty"` } func (x *VersionInfo_ProtocolVersion) Reset() { *x = VersionInfo_ProtocolVersion{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionInfo_ProtocolVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionInfo_ProtocolVersion) ProtoMessage() {} func (x *VersionInfo_ProtocolVersion) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[87] 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 VersionInfo_ProtocolVersion.ProtoReflect.Descriptor instead. func (*VersionInfo_ProtocolVersion) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{1, 0} } func (x *VersionInfo_ProtocolVersion) GetCurrent() uint32 { if x != nil { return x.Current } return 0 } func (x *VersionInfo_ProtocolVersion) GetMinimum() uint32 { if x != nil { return x.Minimum } return 0 } // Specialized target (machine) type Target_Machine struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields <<<<<<< HEAD // ID of machine as assigned by provider Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Box information for guest Box *vagrant_plugin_sdk.Args_Target_Machine_Box `protobuf:"bytes,7,opt,name=box,proto3" json:"box,omitempty"` // User ID of machine creator Uid string `protobuf:"bytes,9,opt,name=uid,proto3" json:"uid,omitempty"` // State of the machine (Vagrant representation) State *vagrant_plugin_sdk.Args_Target_Machine_State `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` // Provider name backing machine Provider string `protobuf:"bytes,11,opt,name=provider,proto3" json:"provider,omitempty"` PhysicalState Operation_PhysicalState `protobuf:"varint,50,opt,name=physical_state,json=physicalState,proto3,enum=hashicorp.vagrant.Operation_PhysicalState" json:"physical_state,omitempty"` ======= ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Project *Ref_Project `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` Vagrantfile *Ref_Vagrantfile `protobuf:"bytes,4,opt,name=vagrantfile,proto3" json:"vagrantfile,omitempty"` >>>>>>> Setup Vagrantfile refs } func (x *Target_Machine) Reset() { *x = Target_Machine{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Target_Machine) String() string { return protoimpl.X.MessageStringOf(x) } func (*Target_Machine) ProtoMessage() {} func (x *Target_Machine) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[88] 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 Target_Machine.ProtoReflect.Descriptor instead. func (*Target_Machine) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{4, 0} } func (x *Target_Machine) GetId() string { if x != nil { return x.Id } return "" } func (x *Target_Machine) GetBox() *vagrant_plugin_sdk.Args_Target_Machine_Box { if x != nil { return x.Box } return nil } <<<<<<< HEAD func (x *Target_Machine) GetUid() string { ======= func (x *Ref_Machine) GetVagrantfile() *Ref_Vagrantfile { if x != nil { return x.Vagrantfile } return nil } // Project references a project. type Ref_Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Basis *Ref_Basis `protobuf:"bytes,3,opt,name=basis,proto3" json:"basis,omitempty"` } func (x *Ref_Project) Reset() { *x = Ref_Project{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Project) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Project) ProtoMessage() {} func (x *Ref_Project) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] 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 Ref_Project.ProtoReflect.Descriptor instead. func (*Ref_Project) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 1} } func (x *Ref_Project) GetResourceId() string { >>>>>>> Setup Vagrantfile refs if x != nil { return x.Uid } return "" } func (x *Target_Machine) GetState() *vagrant_plugin_sdk.Args_Target_Machine_State { if x != nil { return x.State } return nil } func (x *Target_Machine) GetProvider() string { if x != nil { return x.Provider } return "" } func (x *Target_Machine) GetPhysicalState() Operation_PhysicalState { if x != nil { return x.PhysicalState } return Operation_UNKNOWN } // Component references a component. type Ref_Component struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type Component_Type `protobuf:"varint,1,opt,name=type,proto3,enum=hashicorp.vagrant.Component_Type" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *Ref_Component) Reset() { *x = Ref_Component{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Component) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Component) ProtoMessage() {} func (x *Ref_Component) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[89] 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 Ref_Component.ProtoReflect.Descriptor instead. func (*Ref_Component) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 0} } func (x *Ref_Component) GetType() Component_Type { if x != nil { return x.Type } return Component_UNKNOWN } func (x *Ref_Component) GetName() string { if x != nil { return x.Name } return "" } // Operation references an operation (build, deploy, etc.). This can reference // an operation in multiple ways so you must use the oneof to choose. type Ref_Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Target: // *Ref_Operation_Id // *Ref_Operation_TargetSequence // *Ref_Operation_ProjectSequence // *Ref_Operation_BasisSequence Target isRef_Operation_Target `protobuf_oneof:"target"` } func (x *Ref_Operation) Reset() { *x = Ref_Operation{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Operation) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Operation) ProtoMessage() {} func (x *Ref_Operation) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[90] 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 Ref_Operation.ProtoReflect.Descriptor instead. func (*Ref_Operation) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 1} } func (m *Ref_Operation) GetTarget() isRef_Operation_Target { if m != nil { return m.Target } return nil } func (x *Ref_Operation) GetId() string { if x, ok := x.GetTarget().(*Ref_Operation_Id); ok { return x.Id } return "" } func (x *Ref_Operation) GetTargetSequence() *Ref_TargetOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_TargetSequence); ok { return x.TargetSequence } return nil } func (x *Ref_Operation) GetProjectSequence() *Ref_ProjectOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_ProjectSequence); ok { return x.ProjectSequence } return nil } func (x *Ref_Operation) GetBasisSequence() *Ref_BasisOperationSeq { if x, ok := x.GetTarget().(*Ref_Operation_BasisSequence); ok { return x.BasisSequence } return nil } type isRef_Operation_Target interface { isRef_Operation_Target() } type Ref_Operation_Id struct { Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"` } type Ref_Operation_TargetSequence struct { TargetSequence *Ref_TargetOperationSeq `protobuf:"bytes,2,opt,name=target_sequence,json=targetSequence,proto3,oneof"` } type Ref_Operation_ProjectSequence struct { ProjectSequence *Ref_ProjectOperationSeq `protobuf:"bytes,3,opt,name=project_sequence,json=projectSequence,proto3,oneof"` } type Ref_Operation_BasisSequence struct { BasisSequence *Ref_BasisOperationSeq `protobuf:"bytes,4,opt,name=basis_sequence,json=basisSequence,proto3,oneof"` } func (*Ref_Operation_Id) isRef_Operation_Target() {} func (*Ref_Operation_TargetSequence) isRef_Operation_Target() {} func (*Ref_Operation_ProjectSequence) isRef_Operation_Target() {} func (*Ref_Operation_BasisSequence) isRef_Operation_Target() {} // TargetOperationSeq references an operation by sequence number anchored // to a Target type Ref_TargetOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Target *vagrant_plugin_sdk.Ref_Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_TargetOperationSeq) Reset() { *x = Ref_TargetOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_TargetOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_TargetOperationSeq) ProtoMessage() {} func (x *Ref_TargetOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[91] 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 Ref_TargetOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_TargetOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 2} } func (x *Ref_TargetOperationSeq) GetTarget() *vagrant_plugin_sdk.Ref_Target { if x != nil { return x.Target } return nil } func (x *Ref_TargetOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // MachineOperationSeq references an operation by sequence number anchored // to a Project type Ref_ProjectOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Project *vagrant_plugin_sdk.Ref_Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_ProjectOperationSeq) Reset() { *x = Ref_ProjectOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_ProjectOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_ProjectOperationSeq) ProtoMessage() {} func (x *Ref_ProjectOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[92] 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 Ref_ProjectOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_ProjectOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 3} } func (x *Ref_ProjectOperationSeq) GetProject() *vagrant_plugin_sdk.Ref_Project { if x != nil { return x.Project } return nil } func (x *Ref_ProjectOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // BasisOperationSeq references an operation by sequence number anchored // to a Basis type Ref_BasisOperationSeq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Basis *vagrant_plugin_sdk.Ref_Basis `protobuf:"bytes,1,opt,name=basis,proto3" json:"basis,omitempty"` Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` } func (x *Ref_BasisOperationSeq) Reset() { *x = Ref_BasisOperationSeq{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_BasisOperationSeq) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_BasisOperationSeq) ProtoMessage() {} func (x *Ref_BasisOperationSeq) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[93] 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 Ref_BasisOperationSeq.ProtoReflect.Descriptor instead. func (*Ref_BasisOperationSeq) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 4} } func (x *Ref_BasisOperationSeq) GetBasis() *vagrant_plugin_sdk.Ref_Basis { if x != nil { return x.Basis } return nil } func (x *Ref_BasisOperationSeq) GetNumber() uint64 { if x != nil { return x.Number } return 0 } // Runner references a runner process which executes operations. This // can reference a runner by any of the more specific types, such as // by ID. If you want to constrain which runners can be targeted, // a different ref type should be used. type Ref_Runner struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Target: // *Ref_Runner_Any // *Ref_Runner_Id Target isRef_Runner_Target `protobuf_oneof:"target"` } func (x *Ref_Runner) Reset() { *x = Ref_Runner{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Runner) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Runner) ProtoMessage() {} func (x *Ref_Runner) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[94] 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 Ref_Runner.ProtoReflect.Descriptor instead. func (*Ref_Runner) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 5} } func (m *Ref_Runner) GetTarget() isRef_Runner_Target { if m != nil { return m.Target } return nil } func (x *Ref_Runner) GetAny() *Ref_RunnerAny { if x, ok := x.GetTarget().(*Ref_Runner_Any); ok { return x.Any } return nil } func (x *Ref_Runner) GetId() *Ref_RunnerId { if x, ok := x.GetTarget().(*Ref_Runner_Id); ok { return x.Id } return nil } type isRef_Runner_Target interface { isRef_Runner_Target() } type Ref_Runner_Any struct { Any *Ref_RunnerAny `protobuf:"bytes,1,opt,name=any,proto3,oneof"` } type Ref_Runner_Id struct { Id *Ref_RunnerId `protobuf:"bytes,2,opt,name=id,proto3,oneof"` } func (*Ref_Runner_Any) isRef_Runner_Target() {} func (*Ref_Runner_Id) isRef_Runner_Target() {} // RunenrId references a runner by ID. type Ref_RunnerId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *Ref_RunnerId) Reset() { *x = Ref_RunnerId{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_RunnerId) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_RunnerId) ProtoMessage() {} func (x *Ref_RunnerId) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[95] 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 Ref_RunnerId.ProtoReflect.Descriptor instead. func (*Ref_RunnerId) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 6} } func (x *Ref_RunnerId) GetId() string { if x != nil { return x.Id } return "" } // RunnerAny will reference any runner. type Ref_RunnerAny struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Ref_RunnerAny) Reset() { *x = Ref_RunnerAny{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_RunnerAny) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_RunnerAny) ProtoMessage() {} func (x *Ref_RunnerAny) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[96] 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 Ref_RunnerAny.ProtoReflect.Descriptor instead. func (*Ref_RunnerAny) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 7} } // Vagrantfile references a Vagrantfile type Ref_Vagrantfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` } func (x *Ref_Vagrantfile) Reset() { *x = Ref_Vagrantfile{} if protoimpl.UnsafeEnabled { mi := &file_proto_vagrant_server_server_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Ref_Vagrantfile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Ref_Vagrantfile) ProtoMessage() {} func (x *Ref_Vagrantfile) ProtoReflect() protoreflect.Message { mi := &file_proto_vagrant_server_server_proto_msgTypes[99] 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 Ref_Vagrantfile.ProtoReflect.Descriptor instead. func (*Ref_Vagrantfile) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{5, 11} } func (x *Ref_Vagrantfile) GetResourceId() string { if x != nil { return x.ResourceId } return "" } type StatusFilter_Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: // *StatusFilter_Filter_State Filter isStatusFilter_Filter_Filter `protobuf_oneof:"filter"` } func (x *StatusFilter_Filter) Reset() { *x = StatusFilter_Filter{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[97] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[100] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatusFilter_Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatusFilter_Filter) ProtoMessage() {} func (x *StatusFilter_Filter) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[97] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[100] >>>>>>> Setup Vagrantfile refs 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 StatusFilter_Filter.ProtoReflect.Descriptor instead. func (*StatusFilter_Filter) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{8, 0} } func (m *StatusFilter_Filter) GetFilter() isStatusFilter_Filter_Filter { if m != nil { return m.Filter } return nil } func (x *StatusFilter_Filter) GetState() Status_State { if x, ok := x.GetFilter().(*StatusFilter_Filter_State); ok { return x.State } return Status_UNKNOWN } type isStatusFilter_Filter_Filter interface { isStatusFilter_Filter_Filter() } type StatusFilter_Filter_State struct { // state will match any status that has the given state. State Status_State `protobuf:"varint,2,opt,name=state,proto3,enum=hashicorp.vagrant.Status_State,oneof"` } func (*StatusFilter_Filter_State) isStatusFilter_Filter_Filter() {} type Job_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Auth *Job_AuthResult `protobuf:"bytes,1,opt,name=auth,proto3" json:"auth,omitempty"` Docs *Job_DocsResult `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` Validate *Job_ValidateResult `protobuf:"bytes,3,opt,name=validate,proto3" json:"validate,omitempty"` Init *Job_InitResult `protobuf:"bytes,4,opt,name=init,proto3" json:"init,omitempty"` Run *Job_RunResult `protobuf:"bytes,5,opt,name=run,proto3" json:"run,omitempty"` } func (x *Job_Result) Reset() { *x = Job_Result{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[100] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[103] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Result) ProtoMessage() {} func (x *Job_Result) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[100] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[103] >>>>>>> Setup Vagrantfile refs 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 Job_Result.ProtoReflect.Descriptor instead. func (*Job_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 2} } func (x *Job_Result) GetAuth() *Job_AuthResult { if x != nil { return x.Auth } return nil } func (x *Job_Result) GetDocs() *Job_DocsResult { if x != nil { return x.Docs } return nil } func (x *Job_Result) GetValidate() *Job_ValidateResult { if x != nil { return x.Validate } return nil } func (x *Job_Result) GetInit() *Job_InitResult { if x != nil { return x.Init } return nil } func (x *Job_Result) GetRun() *Job_RunResult { if x != nil { return x.Run } return nil } type Job_DataSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Source: // *Job_DataSource_Local // *Job_DataSource_Git Source isJob_DataSource_Source `protobuf_oneof:"source"` } func (x *Job_DataSource) Reset() { *x = Job_DataSource{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[101] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[104] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DataSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DataSource) ProtoMessage() {} func (x *Job_DataSource) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[101] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[104] >>>>>>> Setup Vagrantfile refs 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 Job_DataSource.ProtoReflect.Descriptor instead. func (*Job_DataSource) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 3} } func (m *Job_DataSource) GetSource() isJob_DataSource_Source { if m != nil { return m.Source } return nil } func (x *Job_DataSource) GetLocal() *Job_Local { if x, ok := x.GetSource().(*Job_DataSource_Local); ok { return x.Local } return nil } func (x *Job_DataSource) GetGit() *Job_Git { if x, ok := x.GetSource().(*Job_DataSource_Git); ok { return x.Git } return nil } type isJob_DataSource_Source interface { isJob_DataSource_Source() } type Job_DataSource_Local struct { // local means the runner has access to the data locally and will // know what to do. This is primarily only useful if the target_runner // is a specific runner and should not be used by any runner unless your // runners are configured to have access to the proper data. Local *Job_Local `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } type Job_DataSource_Git struct { // git will check out the data from a Git repository. Git *Job_Git `protobuf:"bytes,2,opt,name=git,proto3,oneof"` } func (*Job_DataSource_Local) isJob_DataSource_Source() {} func (*Job_DataSource_Git) isJob_DataSource_Source() {} type Job_Local struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_Local) Reset() { *x = Job_Local{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[102] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[105] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Local) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Local) ProtoMessage() {} func (x *Job_Local) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[102] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[105] >>>>>>> Setup Vagrantfile refs 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 Job_Local.ProtoReflect.Descriptor instead. func (*Job_Local) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 4} } type Job_Git struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // url of the repository to clone. Local paths are not allowed. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // a ref to checkout. If this isn't specified, then the default // ref that is cloned from the URL above will be used. Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` // path is a subdirectory within the checked out repository to // go into for the configuration. This must be a relative path // and may not contain ".." Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` } func (x *Job_Git) Reset() { *x = Job_Git{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[103] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[106] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Git) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Git) ProtoMessage() {} func (x *Job_Git) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[103] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[106] >>>>>>> Setup Vagrantfile refs 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 Job_Git.ProtoReflect.Descriptor instead. func (*Job_Git) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 5} } func (x *Job_Git) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Job_Git) GetRef() string { if x != nil { return x.Ref } return "" } func (x *Job_Git) GetPath() string { if x != nil { return x.Path } return "" } // Noop operations do nothing. This is primarily used for testing. // This operation will still download the data from the data source. // A noop may be useful outside of testing to verify a runner is // executing properly or can access data properly. type Job_Noop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_Noop) Reset() { *x = Job_Noop{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[104] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[107] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Noop) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Noop) ProtoMessage() {} func (x *Job_Noop) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[104] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[107] >>>>>>> Setup Vagrantfile refs 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 Job_Noop.ProtoReflect.Descriptor instead. func (*Job_Noop) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 6} } // ValidateOp validates various aspects of a configuration. type Job_ValidateOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_ValidateOp) Reset() { *x = Job_ValidateOp{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[105] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[108] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_ValidateOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_ValidateOp) ProtoMessage() {} func (x *Job_ValidateOp) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[105] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[108] >>>>>>> Setup Vagrantfile refs 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 Job_ValidateOp.ProtoReflect.Descriptor instead. func (*Job_ValidateOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 7} } type Job_ValidateResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_ValidateResult) Reset() { *x = Job_ValidateResult{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[106] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[109] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_ValidateResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_ValidateResult) ProtoMessage() {} func (x *Job_ValidateResult) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[106] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[109] >>>>>>> Setup Vagrantfile refs 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 Job_ValidateResult.ProtoReflect.Descriptor instead. func (*Job_ValidateResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 8} } type Job_InitOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_InitOp) Reset() { *x = Job_InitOp{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[107] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[110] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitOp) ProtoMessage() {} func (x *Job_InitOp) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[107] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[110] >>>>>>> Setup Vagrantfile refs 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 Job_InitOp.ProtoReflect.Descriptor instead. func (*Job_InitOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 9} } type Job_InitResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Actions []*Job_Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` Commands []*Job_Command `protobuf:"bytes,2,rep,name=commands,proto3" json:"commands,omitempty"` Hooks []*Job_Hook `protobuf:"bytes,3,rep,name=hooks,proto3" json:"hooks,omitempty"` } func (x *Job_InitResult) Reset() { *x = Job_InitResult{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[108] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[111] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_InitResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_InitResult) ProtoMessage() {} func (x *Job_InitResult) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[108] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[111] >>>>>>> Setup Vagrantfile refs 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 Job_InitResult.ProtoReflect.Descriptor instead. func (*Job_InitResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 10} } func (x *Job_InitResult) GetActions() []*Job_Action { if x != nil { return x.Actions } return nil } func (x *Job_InitResult) GetCommands() []*Job_Command { if x != nil { return x.Commands } return nil } func (x *Job_InitResult) GetHooks() []*Job_Hook { if x != nil { return x.Hooks } return nil } type Job_Action struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` } func (x *Job_Action) Reset() { *x = Job_Action{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[109] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[112] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Action) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Action) ProtoMessage() {} func (x *Job_Action) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[109] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[112] >>>>>>> Setup Vagrantfile refs 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 Job_Action.ProtoReflect.Descriptor instead. func (*Job_Action) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 11} } func (x *Job_Action) GetName() string { if x != nil { return x.Name } return "" } func (x *Job_Action) GetSource() string { if x != nil { return x.Source } return "" } type Job_Hook struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TargetActionName string `protobuf:"bytes,1,opt,name=target_action_name,json=targetActionName,proto3" json:"target_action_name,omitempty"` Location Job_Hook_Location `protobuf:"varint,2,opt,name=location,proto3,enum=hashicorp.vagrant.Job_Hook_Location" json:"location,omitempty"` ActionName string `protobuf:"bytes,3,opt,name=action_name,json=actionName,proto3" json:"action_name,omitempty"` Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` } func (x *Job_Hook) Reset() { *x = Job_Hook{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[110] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[113] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Hook) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Hook) ProtoMessage() {} func (x *Job_Hook) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[110] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[113] >>>>>>> Setup Vagrantfile refs 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 Job_Hook.ProtoReflect.Descriptor instead. func (*Job_Hook) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 12} } func (x *Job_Hook) GetTargetActionName() string { if x != nil { return x.TargetActionName } return "" } func (x *Job_Hook) GetLocation() Job_Hook_Location { if x != nil { return x.Location } return Job_Hook_BEFORE } func (x *Job_Hook) GetActionName() string { if x != nil { return x.ActionName } return "" } func (x *Job_Hook) GetSource() string { if x != nil { return x.Source } return "" } type Job_Flag struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LongName string `protobuf:"bytes,1,opt,name=long_name,json=longName,proto3" json:"long_name,omitempty"` ShortName string `protobuf:"bytes,2,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` DefaultValue string `protobuf:"bytes,4,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` Type Job_Flag_Type `protobuf:"varint,5,opt,name=type,proto3,enum=hashicorp.vagrant.Job_Flag_Type" json:"type,omitempty"` } func (x *Job_Flag) Reset() { *x = Job_Flag{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[111] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[114] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Flag) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Flag) ProtoMessage() {} func (x *Job_Flag) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[111] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[114] >>>>>>> Setup Vagrantfile refs 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 Job_Flag.ProtoReflect.Descriptor instead. func (*Job_Flag) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 13} } func (x *Job_Flag) GetLongName() string { if x != nil { return x.LongName } return "" } func (x *Job_Flag) GetShortName() string { if x != nil { return x.ShortName } return "" } func (x *Job_Flag) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Job_Flag) GetDefaultValue() string { if x != nil { return x.DefaultValue } return "" } func (x *Job_Flag) GetType() Job_Flag_Type { if x != nil { return x.Type } return Job_Flag_STRING } type Job_Command struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Synopsis string `protobuf:"bytes,2,opt,name=synopsis,proto3" json:"synopsis,omitempty"` Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` Flags []*Job_Flag `protobuf:"bytes,4,rep,name=flags,proto3" json:"flags,omitempty"` Subcommands []*Job_Command `protobuf:"bytes,5,rep,name=subcommands,proto3" json:"subcommands,omitempty"` } func (x *Job_Command) Reset() { *x = Job_Command{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[112] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[115] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_Command) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_Command) ProtoMessage() {} func (x *Job_Command) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[112] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[115] >>>>>>> Setup Vagrantfile refs 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 Job_Command.ProtoReflect.Descriptor instead. func (*Job_Command) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 14} } func (x *Job_Command) GetName() string { if x != nil { return x.Name } return "" } func (x *Job_Command) GetSynopsis() string { if x != nil { return x.Synopsis } return "" } func (x *Job_Command) GetHelp() string { if x != nil { return x.Help } return "" } func (x *Job_Command) GetFlags() []*Job_Flag { if x != nil { return x.Flags } return nil } func (x *Job_Command) GetSubcommands() []*Job_Command { if x != nil { return x.Subcommands } return nil } type Job_RunOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` } func (x *Job_RunOp) Reset() { *x = Job_RunOp{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[113] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[116] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_RunOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_RunOp) ProtoMessage() {} func (x *Job_RunOp) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[113] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[116] >>>>>>> Setup Vagrantfile refs 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 Job_RunOp.ProtoReflect.Descriptor instead. func (*Job_RunOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 15} } func (x *Job_RunOp) GetTask() *Task { if x != nil { return x.Task } return nil } type Job_RunResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Task which was run Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` // True if the task did not encounter any errors RunResult bool `protobuf:"varint,2,opt,name=run_result,json=runResult,proto3" json:"run_result,omitempty"` // Provides any error information RunError *status.Status `protobuf:"bytes,3,opt,name=run_error,json=runError,proto3" json:"run_error,omitempty"` // Exit code if applicable ExitCode int32 `protobuf:"zigzag32,4,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` } func (x *Job_RunResult) Reset() { *x = Job_RunResult{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[114] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[117] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_RunResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_RunResult) ProtoMessage() {} func (x *Job_RunResult) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[114] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[117] >>>>>>> Setup Vagrantfile refs 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 Job_RunResult.ProtoReflect.Descriptor instead. func (*Job_RunResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 16} } func (x *Job_RunResult) GetTask() *Task { if x != nil { return x.Task } return nil } func (x *Job_RunResult) GetRunResult() bool { if x != nil { return x.RunResult } return false } func (x *Job_RunResult) GetRunError() *status.Status { if x != nil { return x.RunError } return nil } func (x *Job_RunResult) GetExitCode() int32 { if x != nil { return x.ExitCode } return 0 } // AuthOp is the configuration to authenticate any plugins. type Job_AuthOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // if true, auth will only be checked but not attempted. Currently // this must ALWAYS be true. Only authentication checking is supported. CheckOnly bool `protobuf:"varint,1,opt,name=check_only,json=checkOnly,proto3" json:"check_only,omitempty"` // if set, only the component matching this reference will be authed. // If this component doesn't exist, an error will be returned. If this is // unset, all components wll be authed. Component *Ref_Component `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` } func (x *Job_AuthOp) Reset() { *x = Job_AuthOp{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[115] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[118] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthOp) ProtoMessage() {} func (x *Job_AuthOp) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[115] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[118] >>>>>>> Setup Vagrantfile refs 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 Job_AuthOp.ProtoReflect.Descriptor instead. func (*Job_AuthOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 17} } func (x *Job_AuthOp) GetCheckOnly() bool { if x != nil { return x.CheckOnly } return false } func (x *Job_AuthOp) GetComponent() *Ref_Component { if x != nil { return x.Component } return nil } type Job_AuthResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // results are the list of components that were checked Results []*Job_AuthResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } func (x *Job_AuthResult) Reset() { *x = Job_AuthResult{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[116] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[119] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthResult) ProtoMessage() {} func (x *Job_AuthResult) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[116] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[119] >>>>>>> Setup Vagrantfile refs 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 Job_AuthResult.ProtoReflect.Descriptor instead. func (*Job_AuthResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 18} } func (x *Job_AuthResult) GetResults() []*Job_AuthResult_Result { if x != nil { return x.Results } return nil } type Job_DocsOp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Job_DocsOp) Reset() { *x = Job_DocsOp{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[117] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[120] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsOp) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsOp) ProtoMessage() {} func (x *Job_DocsOp) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[117] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[120] >>>>>>> Setup Vagrantfile refs 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 Job_DocsOp.ProtoReflect.Descriptor instead. func (*Job_DocsOp) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 19} } type Job_DocsResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // results are the list of components that were checked Results []*Job_DocsResult_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` } func (x *Job_DocsResult) Reset() { *x = Job_DocsResult{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[118] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[121] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsResult) ProtoMessage() {} func (x *Job_DocsResult) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[118] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[121] >>>>>>> Setup Vagrantfile refs 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 Job_DocsResult.ProtoReflect.Descriptor instead. func (*Job_DocsResult) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 20} } func (x *Job_DocsResult) GetResults() []*Job_DocsResult_Result { if x != nil { return x.Results } return nil } type Job_AuthResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // component that was checked Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` // result of the auth check. If the component didn't implement the // auth interface this will be set to true. You can check for interface // implementation using auth_supported. If auth is attempted, the auth // operation will recheck the status and this value will reflect the // check post-auth attempt. You can use this to verify if the auth // succeeded. CheckResult bool `protobuf:"varint,2,opt,name=check_result,json=checkResult,proto3" json:"check_result,omitempty"` CheckError *status.Status `protobuf:"bytes,3,opt,name=check_error,json=checkError,proto3" json:"check_error,omitempty"` // this is true if the component was authenticated using the Auth // callback. If false, then no attempt was made to authenticate. This // can be on purpose for example if "check_only" is set to true on // the op. AuthCompleted bool `protobuf:"varint,4,opt,name=auth_completed,json=authCompleted,proto3" json:"auth_completed,omitempty"` AuthError *status.Status `protobuf:"bytes,5,opt,name=auth_error,json=authError,proto3" json:"auth_error,omitempty"` // auth supported is true if this component implemented the auth // interface. AuthSupported bool `protobuf:"varint,6,opt,name=auth_supported,json=authSupported,proto3" json:"auth_supported,omitempty"` } func (x *Job_AuthResult_Result) Reset() { *x = Job_AuthResult_Result{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[119] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[122] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_AuthResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_AuthResult_Result) ProtoMessage() {} func (x *Job_AuthResult_Result) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[119] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[122] >>>>>>> Setup Vagrantfile refs 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 Job_AuthResult_Result.ProtoReflect.Descriptor instead. func (*Job_AuthResult_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 18, 0} } func (x *Job_AuthResult_Result) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Job_AuthResult_Result) GetCheckResult() bool { if x != nil { return x.CheckResult } return false } func (x *Job_AuthResult_Result) GetCheckError() *status.Status { if x != nil { return x.CheckError } return nil } func (x *Job_AuthResult_Result) GetAuthCompleted() bool { if x != nil { return x.AuthCompleted } return false } func (x *Job_AuthResult_Result) GetAuthError() *status.Status { if x != nil { return x.AuthError } return nil } func (x *Job_AuthResult_Result) GetAuthSupported() bool { if x != nil { return x.AuthSupported } return false } type Job_DocsResult_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // component that the docs are for Component *Component `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` Docs *Documentation `protobuf:"bytes,2,opt,name=docs,proto3" json:"docs,omitempty"` } func (x *Job_DocsResult_Result) Reset() { *x = Job_DocsResult_Result{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[120] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[123] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job_DocsResult_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job_DocsResult_Result) ProtoMessage() {} func (x *Job_DocsResult_Result) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[120] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[123] >>>>>>> Setup Vagrantfile refs 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 Job_DocsResult_Result.ProtoReflect.Descriptor instead. func (*Job_DocsResult_Result) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{16, 20, 0} } func (x *Job_DocsResult_Result) GetComponent() *Component { if x != nil { return x.Component } return nil } func (x *Job_DocsResult_Result) GetDocs() *Documentation { if x != nil { return x.Docs } return nil } type Documentation_Field struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Synopsis string `protobuf:"bytes,2,opt,name=synopsis,proto3" json:"synopsis,omitempty"` Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"` Optional bool `protobuf:"varint,4,opt,name=optional,proto3" json:"optional,omitempty"` EnvVar string `protobuf:"bytes,5,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"` Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` Default string `protobuf:"bytes,7,opt,name=default,proto3" json:"default,omitempty"` } func (x *Documentation_Field) Reset() { *x = Documentation_Field{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[122] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[125] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation_Field) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation_Field) ProtoMessage() {} func (x *Documentation_Field) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[122] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[125] >>>>>>> Setup Vagrantfile refs 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 Documentation_Field.ProtoReflect.Descriptor instead. func (*Documentation_Field) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{17, 1} } func (x *Documentation_Field) GetName() string { if x != nil { return x.Name } return "" } func (x *Documentation_Field) GetSynopsis() string { if x != nil { return x.Synopsis } return "" } func (x *Documentation_Field) GetSummary() string { if x != nil { return x.Summary } return "" } func (x *Documentation_Field) GetOptional() bool { if x != nil { return x.Optional } return false } func (x *Documentation_Field) GetEnvVar() string { if x != nil { return x.EnvVar } return "" } func (x *Documentation_Field) GetType() string { if x != nil { return x.Type } return "" } func (x *Documentation_Field) GetDefault() string { if x != nil { return x.Default } return "" } type Documentation_Mapper struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` } func (x *Documentation_Mapper) Reset() { *x = Documentation_Mapper{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[123] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[126] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Documentation_Mapper) String() string { return protoimpl.X.MessageStringOf(x) } func (*Documentation_Mapper) ProtoMessage() {} func (x *Documentation_Mapper) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[123] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[126] >>>>>>> Setup Vagrantfile refs 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 Documentation_Mapper.ProtoReflect.Descriptor instead. func (*Documentation_Mapper) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{17, 2} } func (x *Documentation_Mapper) GetInput() string { if x != nil { return x.Input } return "" } func (x *Documentation_Mapper) GetOutput() string { if x != nil { return x.Output } return "" } func (x *Documentation_Mapper) GetDescription() string { if x != nil { return x.Description } return "" } type GetJobStreamResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *GetJobStreamResponse_Open) Reset() { *x = GetJobStreamResponse_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[124] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[127] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Open) ProtoMessage() {} func (x *GetJobStreamResponse_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[124] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[127] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Open.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 0} } type GetJobStreamResponse_State struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // previous and current are the previous and current states, respectively. Previous Job_State `protobuf:"varint,1,opt,name=previous,proto3,enum=hashicorp.vagrant.Job_State" json:"previous,omitempty"` Current Job_State `protobuf:"varint,2,opt,name=current,proto3,enum=hashicorp.vagrant.Job_State" json:"current,omitempty"` // The full updated job is also sent because additional fields may be // set depending on the state (such as the assigned runner, assignment // times, etc.) Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"` // canceling is true if the job was requested to be canceled. Canceling bool `protobuf:"varint,4,opt,name=canceling,proto3" json:"canceling,omitempty"` } func (x *GetJobStreamResponse_State) Reset() { *x = GetJobStreamResponse_State{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[125] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[128] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_State) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_State) ProtoMessage() {} func (x *GetJobStreamResponse_State) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[125] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[128] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_State.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_State) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 1} } func (x *GetJobStreamResponse_State) GetPrevious() Job_State { if x != nil { return x.Previous } return Job_UNKNOWN } func (x *GetJobStreamResponse_State) GetCurrent() Job_State { if x != nil { return x.Current } return Job_UNKNOWN } func (x *GetJobStreamResponse_State) GetJob() *Job { if x != nil { return x.Job } return nil } func (x *GetJobStreamResponse_State) GetCanceling() bool { if x != nil { return x.Canceling } return false } type GetJobStreamResponse_Terminal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Events []*GetJobStreamResponse_Terminal_Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // buffered if true signifies that the data being sent is from the // server buffer and is historical vs real-time since the stream was // opened. If this is true, all lines are buffered. We will never mix // buffered and non-buffered lines. Buffered bool `protobuf:"varint,2,opt,name=buffered,proto3" json:"buffered,omitempty"` } func (x *GetJobStreamResponse_Terminal) Reset() { *x = GetJobStreamResponse_Terminal{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[126] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[129] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[126] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[129] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2} } func (x *GetJobStreamResponse_Terminal) GetEvents() []*GetJobStreamResponse_Terminal_Event { if x != nil { return x.Events } return nil } func (x *GetJobStreamResponse_Terminal) GetBuffered() bool { if x != nil { return x.Buffered } return false } type GetJobStreamResponse_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *GetJobStreamResponse_Error) Reset() { *x = GetJobStreamResponse_Error{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[127] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[130] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Error) ProtoMessage() {} func (x *GetJobStreamResponse_Error) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[127] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[130] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Error.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 3} } func (x *GetJobStreamResponse_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type GetJobStreamResponse_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // error, if set, is an error that occurred as part of the job execution // and resulted in job termination. This is different than the "error" // event which is an error in the stream itself. Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` // Result will be set to the final result of the job execution, if any. Result *Job_Result `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` } func (x *GetJobStreamResponse_Complete) Reset() { *x = GetJobStreamResponse_Complete{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[128] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[131] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Complete) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Complete) ProtoMessage() {} func (x *GetJobStreamResponse_Complete) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[128] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[131] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Complete.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Complete) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 4} } func (x *GetJobStreamResponse_Complete) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *GetJobStreamResponse_Complete) GetResult() *Job_Result { if x != nil { return x.Result } return nil } type GetJobStreamResponse_Terminal_Event struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // timestamp of the event as seen by the runner. This might be // skewed from the server or the client but relative to all other // line output, it will be accurate. Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Types that are assignable to Event: // *GetJobStreamResponse_Terminal_Event_Line_ // *GetJobStreamResponse_Terminal_Event_Status_ // *GetJobStreamResponse_Terminal_Event_NamedValues_ // *GetJobStreamResponse_Terminal_Event_Raw_ // *GetJobStreamResponse_Terminal_Event_Table_ // *GetJobStreamResponse_Terminal_Event_StepGroup_ // *GetJobStreamResponse_Terminal_Event_Step_ Event isGetJobStreamResponse_Terminal_Event_Event `protobuf_oneof:"event"` } func (x *GetJobStreamResponse_Terminal_Event) Reset() { *x = GetJobStreamResponse_Terminal_Event{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[129] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[132] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[129] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[132] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0} } func (x *GetJobStreamResponse_Terminal_Event) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp } return nil } func (m *GetJobStreamResponse_Terminal_Event) GetEvent() isGetJobStreamResponse_Terminal_Event_Event { if m != nil { return m.Event } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetLine() *GetJobStreamResponse_Terminal_Event_Line { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Line_); ok { return x.Line } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStatus() *GetJobStreamResponse_Terminal_Event_Status { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Status_); ok { return x.Status } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetNamedValues() *GetJobStreamResponse_Terminal_Event_NamedValues { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_NamedValues_); ok { return x.NamedValues } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetRaw() *GetJobStreamResponse_Terminal_Event_Raw { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Raw_); ok { return x.Raw } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetTable() *GetJobStreamResponse_Terminal_Event_Table { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Table_); ok { return x.Table } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStepGroup() *GetJobStreamResponse_Terminal_Event_StepGroup { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_StepGroup_); ok { return x.StepGroup } return nil } func (x *GetJobStreamResponse_Terminal_Event) GetStep() *GetJobStreamResponse_Terminal_Event_Step { if x, ok := x.GetEvent().(*GetJobStreamResponse_Terminal_Event_Step_); ok { return x.Step } return nil } type isGetJobStreamResponse_Terminal_Event_Event interface { isGetJobStreamResponse_Terminal_Event_Event() } type GetJobStreamResponse_Terminal_Event_Line_ struct { Line *GetJobStreamResponse_Terminal_Event_Line `protobuf:"bytes,2,opt,name=line,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Status_ struct { Status *GetJobStreamResponse_Terminal_Event_Status `protobuf:"bytes,3,opt,name=status,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_NamedValues_ struct { NamedValues *GetJobStreamResponse_Terminal_Event_NamedValues `protobuf:"bytes,4,opt,name=named_values,json=namedValues,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Raw_ struct { Raw *GetJobStreamResponse_Terminal_Event_Raw `protobuf:"bytes,5,opt,name=raw,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Table_ struct { Table *GetJobStreamResponse_Terminal_Event_Table `protobuf:"bytes,6,opt,name=table,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_StepGroup_ struct { StepGroup *GetJobStreamResponse_Terminal_Event_StepGroup `protobuf:"bytes,7,opt,name=step_group,json=stepGroup,proto3,oneof"` } type GetJobStreamResponse_Terminal_Event_Step_ struct { Step *GetJobStreamResponse_Terminal_Event_Step `protobuf:"bytes,8,opt,name=step,proto3,oneof"` } func (*GetJobStreamResponse_Terminal_Event_Line_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_Status_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_NamedValues_) isGetJobStreamResponse_Terminal_Event_Event() { } func (*GetJobStreamResponse_Terminal_Event_Raw_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_Table_) isGetJobStreamResponse_Terminal_Event_Event() {} func (*GetJobStreamResponse_Terminal_Event_StepGroup_) isGetJobStreamResponse_Terminal_Event_Event() { } func (*GetJobStreamResponse_Terminal_Event_Step_) isGetJobStreamResponse_Terminal_Event_Event() {} type GetJobStreamResponse_Terminal_Event_Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Step bool `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Status) Reset() { *x = GetJobStreamResponse_Terminal_Event_Status{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[130] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[133] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Status) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Status) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Status) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[130] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[133] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_Status.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Status) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 0} } func (x *GetJobStreamResponse_Terminal_Event_Status) GetStatus() string { if x != nil { return x.Status } return "" } func (x *GetJobStreamResponse_Terminal_Event_Status) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Status) GetStep() bool { if x != nil { return x.Step } return false } type GetJobStreamResponse_Terminal_Event_Line struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Line) Reset() { *x = GetJobStreamResponse_Terminal_Event_Line{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[131] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[134] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Line) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Line) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Line) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[131] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[134] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_Line.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Line) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 1} } func (x *GetJobStreamResponse_Terminal_Event_Line) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Line) GetStyle() string { if x != nil { return x.Style } return "" } type GetJobStreamResponse_Terminal_Event_Raw struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Stderr bool `protobuf:"varint,2,opt,name=stderr,proto3" json:"stderr,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Raw) Reset() { *x = GetJobStreamResponse_Terminal_Event_Raw{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[132] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[135] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Raw) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Raw) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Raw) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[132] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[135] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_Raw.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Raw) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 2} } func (x *GetJobStreamResponse_Terminal_Event_Raw) GetData() []byte { if x != nil { return x.Data } return nil } func (x *GetJobStreamResponse_Terminal_Event_Raw) GetStderr() bool { if x != nil { return x.Stderr } return false } type GetJobStreamResponse_Terminal_Event_NamedValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValue{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[133] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[136] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_NamedValue) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValue) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[133] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[136] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_NamedValue.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_NamedValue) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 3} } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetName() string { if x != nil { return x.Name } return "" } func (x *GetJobStreamResponse_Terminal_Event_NamedValue) GetValue() string { if x != nil { return x.Value } return "" } type GetJobStreamResponse_Terminal_Event_NamedValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Values []*GetJobStreamResponse_Terminal_Event_NamedValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) Reset() { *x = GetJobStreamResponse_Terminal_Event_NamedValues{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[134] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[137] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_NamedValues) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_NamedValues) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[134] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[137] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_NamedValues.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_NamedValues) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 4} } func (x *GetJobStreamResponse_Terminal_Event_NamedValues) GetValues() []*GetJobStreamResponse_Terminal_Event_NamedValue { if x != nil { return x.Values } return nil } type GetJobStreamResponse_Terminal_Event_TableEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableEntry{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[135] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[138] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_TableEntry) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableEntry) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[135] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[138] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_TableEntry.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_TableEntry) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 5} } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetValue() string { if x != nil { return x.Value } return "" } func (x *GetJobStreamResponse_Terminal_Event_TableEntry) GetColor() string { if x != nil { return x.Color } return "" } type GetJobStreamResponse_Terminal_Event_TableRow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Entries []*GetJobStreamResponse_Terminal_Event_TableEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_TableRow) Reset() { *x = GetJobStreamResponse_Terminal_Event_TableRow{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[136] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[139] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_TableRow) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_TableRow) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_TableRow) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[136] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[139] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_TableRow.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_TableRow) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 6} } func (x *GetJobStreamResponse_Terminal_Event_TableRow) GetEntries() []*GetJobStreamResponse_Terminal_Event_TableEntry { if x != nil { return x.Entries } return nil } type GetJobStreamResponse_Terminal_Event_Table struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` Rows []*GetJobStreamResponse_Terminal_Event_TableRow `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Table) Reset() { *x = GetJobStreamResponse_Terminal_Event_Table{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[137] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[140] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Table) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Table) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Table) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[137] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[140] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_Table.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Table) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 7} } func (x *GetJobStreamResponse_Terminal_Event_Table) GetHeaders() []string { if x != nil { return x.Headers } return nil } func (x *GetJobStreamResponse_Terminal_Event_Table) GetRows() []*GetJobStreamResponse_Terminal_Event_TableRow { if x != nil { return x.Rows } return nil } type GetJobStreamResponse_Terminal_Event_StepGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Close bool `protobuf:"varint,1,opt,name=close,proto3" json:"close,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) Reset() { *x = GetJobStreamResponse_Terminal_Event_StepGroup{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[138] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[141] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_StepGroup) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_StepGroup) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[138] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[141] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_StepGroup.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_StepGroup) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 8} } func (x *GetJobStreamResponse_Terminal_Event_StepGroup) GetClose() bool { if x != nil { return x.Close } return false } type GetJobStreamResponse_Terminal_Event_Step struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Close bool `protobuf:"varint,2,opt,name=close,proto3" json:"close,omitempty"` Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` Output []byte `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"` } func (x *GetJobStreamResponse_Terminal_Event_Step) Reset() { *x = GetJobStreamResponse_Terminal_Event_Step{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[139] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[142] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobStreamResponse_Terminal_Event_Step) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobStreamResponse_Terminal_Event_Step) ProtoMessage() {} func (x *GetJobStreamResponse_Terminal_Event_Step) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[139] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[142] >>>>>>> Setup Vagrantfile refs 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 GetJobStreamResponse_Terminal_Event_Step.ProtoReflect.Descriptor instead. func (*GetJobStreamResponse_Terminal_Event_Step) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{22, 2, 0, 9} } func (x *GetJobStreamResponse_Terminal_Event_Step) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *GetJobStreamResponse_Terminal_Event_Step) GetClose() bool { if x != nil { return x.Close } return false } func (x *GetJobStreamResponse_Terminal_Event_Step) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobStreamResponse_Terminal_Event_Step) GetStatus() string { if x != nil { return x.Status } return "" } func (x *GetJobStreamResponse_Terminal_Event_Step) GetOutput() []byte { if x != nil { return x.Output } return nil } type RunnerConfigRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Runner to register. See Runner for what fields can be set. Runner *Runner `protobuf:"bytes,1,opt,name=runner,proto3" json:"runner,omitempty"` } func (x *RunnerConfigRequest_Open) Reset() { *x = RunnerConfigRequest_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[140] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[143] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerConfigRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerConfigRequest_Open) ProtoMessage() {} func (x *RunnerConfigRequest_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[140] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[143] >>>>>>> Setup Vagrantfile refs 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 RunnerConfigRequest_Open.ProtoReflect.Descriptor instead. func (*RunnerConfigRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{24, 0} } func (x *RunnerConfigRequest_Open) GetRunner() *Runner { if x != nil { return x.Runner } return nil } type RunnerJobStreamRequest_Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RunnerId string `protobuf:"bytes,1,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"` } func (x *RunnerJobStreamRequest_Request) Reset() { *x = RunnerJobStreamRequest_Request{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[141] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[144] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Request) ProtoMessage() {} func (x *RunnerJobStreamRequest_Request) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[141] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[144] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamRequest_Request.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Request) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27, 0} } func (x *RunnerJobStreamRequest_Request) GetRunnerId() string { if x != nil { return x.RunnerId } return "" } type RunnerJobStreamRequest_Ack struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RunnerJobStreamRequest_Ack) Reset() { *x = RunnerJobStreamRequest_Ack{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[142] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[145] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Ack) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Ack) ProtoMessage() {} func (x *RunnerJobStreamRequest_Ack) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[142] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[145] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamRequest_Ack.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Ack) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27, 1} } type RunnerJobStreamRequest_Complete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *Job_Result `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` } func (x *RunnerJobStreamRequest_Complete) Reset() { *x = RunnerJobStreamRequest_Complete{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[143] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[146] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Complete) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Complete) ProtoMessage() {} func (x *RunnerJobStreamRequest_Complete) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[143] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[146] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamRequest_Complete.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Complete) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27, 2} } func (x *RunnerJobStreamRequest_Complete) GetResult() *Job_Result { if x != nil { return x.Result } return nil } type RunnerJobStreamRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *RunnerJobStreamRequest_Error) Reset() { *x = RunnerJobStreamRequest_Error{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[144] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[147] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Error) ProtoMessage() {} func (x *RunnerJobStreamRequest_Error) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[144] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[147] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamRequest_Error.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27, 3} } func (x *RunnerJobStreamRequest_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type RunnerJobStreamRequest_Heartbeat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RunnerJobStreamRequest_Heartbeat) Reset() { *x = RunnerJobStreamRequest_Heartbeat{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[145] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[148] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamRequest_Heartbeat) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamRequest_Heartbeat) ProtoMessage() {} func (x *RunnerJobStreamRequest_Heartbeat) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[145] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[148] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamRequest_Heartbeat.ProtoReflect.Descriptor instead. func (*RunnerJobStreamRequest_Heartbeat) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{27, 4} } type RunnerJobStreamResponse_JobAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } func (x *RunnerJobStreamResponse_JobAssignment) Reset() { *x = RunnerJobStreamResponse_JobAssignment{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[146] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[149] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse_JobAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse_JobAssignment) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobAssignment) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[146] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[149] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamResponse_JobAssignment.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse_JobAssignment) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{28, 0} } func (x *RunnerJobStreamResponse_JobAssignment) GetJob() *Job { if x != nil { return x.Job } return nil } type RunnerJobStreamResponse_JobCancel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` } func (x *RunnerJobStreamResponse_JobCancel) Reset() { *x = RunnerJobStreamResponse_JobCancel{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[147] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[150] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RunnerJobStreamResponse_JobCancel) String() string { return protoimpl.X.MessageStringOf(x) } func (*RunnerJobStreamResponse_JobCancel) ProtoMessage() {} func (x *RunnerJobStreamResponse_JobCancel) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[147] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[150] >>>>>>> Setup Vagrantfile refs 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 RunnerJobStreamResponse_JobCancel.ProtoReflect.Descriptor instead. func (*RunnerJobStreamResponse_JobCancel) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{28, 1} } func (x *RunnerJobStreamResponse_JobCancel) GetForce() bool { if x != nil { return x.Force } return false } type ServerConfig_AdvertiseAddr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` Tls bool `protobuf:"varint,2,opt,name=tls,proto3" json:"tls,omitempty"` TlsSkipVerify bool `protobuf:"varint,3,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"` } func (x *ServerConfig_AdvertiseAddr) Reset() { *x = ServerConfig_AdvertiseAddr{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[148] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[151] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ServerConfig_AdvertiseAddr) String() string { return protoimpl.X.MessageStringOf(x) } func (*ServerConfig_AdvertiseAddr) ProtoMessage() {} func (x *ServerConfig_AdvertiseAddr) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[148] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[151] >>>>>>> Setup Vagrantfile refs 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 ServerConfig_AdvertiseAddr.ProtoReflect.Descriptor instead. func (*ServerConfig_AdvertiseAddr) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{34, 0} } func (x *ServerConfig_AdvertiseAddr) GetAddr() string { if x != nil { return x.Addr } return "" } func (x *ServerConfig_AdvertiseAddr) GetTls() bool { if x != nil { return x.Tls } return false } func (x *ServerConfig_AdvertiseAddr) GetTlsSkipVerify() bool { if x != nil { return x.TlsSkipVerify } return false } type LogBatch_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Line string `protobuf:"bytes,2,opt,name=line,proto3" json:"line,omitempty"` } func (x *LogBatch_Entry) Reset() { *x = LogBatch_Entry{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[149] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[152] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LogBatch_Entry) String() string { return protoimpl.X.MessageStringOf(x) } func (*LogBatch_Entry) ProtoMessage() {} func (x *LogBatch_Entry) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[149] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[152] >>>>>>> Setup Vagrantfile refs 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 LogBatch_Entry.ProtoReflect.Descriptor instead. func (*LogBatch_Entry) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{57, 0} } func (x *LogBatch_Entry) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp } return nil } func (x *LogBatch_Entry) GetLine() string { if x != nil { return x.Line } return "" } type ExecStreamRequest_Start struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deployment to exec into DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` // Args including the command at args[0] to execute. Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` // Pty is set if we should allocate a PTY for this exec stream. Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } func (x *ExecStreamRequest_Start) Reset() { *x = ExecStreamRequest_Start{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[150] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[153] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_Start) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_Start) ProtoMessage() {} func (x *ExecStreamRequest_Start) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[150] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[153] >>>>>>> Setup Vagrantfile refs 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 ExecStreamRequest_Start.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_Start) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63, 0} } func (x *ExecStreamRequest_Start) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } func (x *ExecStreamRequest_Start) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *ExecStreamRequest_Start) GetPty() *ExecStreamRequest_PTY { if x != nil { return x.Pty } return nil } type ExecStreamRequest_Input struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *ExecStreamRequest_Input) Reset() { *x = ExecStreamRequest_Input{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[151] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[154] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_Input) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_Input) ProtoMessage() {} func (x *ExecStreamRequest_Input) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[151] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[154] >>>>>>> Setup Vagrantfile refs 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 ExecStreamRequest_Input.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_Input) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63, 1} } func (x *ExecStreamRequest_Input) GetData() []byte { if x != nil { return x.Data } return nil } type ExecStreamRequest_PTY struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` // term is the TERM value to request on the remote side. This should be set. Term string `protobuf:"bytes,2,opt,name=term,proto3" json:"term,omitempty"` // window_size is the initial window size WindowSize *ExecStreamRequest_WindowSize `protobuf:"bytes,3,opt,name=window_size,json=windowSize,proto3" json:"window_size,omitempty"` } func (x *ExecStreamRequest_PTY) Reset() { *x = ExecStreamRequest_PTY{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[152] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[155] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_PTY) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_PTY) ProtoMessage() {} func (x *ExecStreamRequest_PTY) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[152] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[155] >>>>>>> Setup Vagrantfile refs 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 ExecStreamRequest_PTY.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_PTY) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63, 2} } func (x *ExecStreamRequest_PTY) GetEnable() bool { if x != nil { return x.Enable } return false } func (x *ExecStreamRequest_PTY) GetTerm() string { if x != nil { return x.Term } return "" } func (x *ExecStreamRequest_PTY) GetWindowSize() *ExecStreamRequest_WindowSize { if x != nil { return x.WindowSize } return nil } type ExecStreamRequest_WindowSize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rows int32 `protobuf:"varint,1,opt,name=rows,proto3" json:"rows,omitempty"` Cols int32 `protobuf:"varint,2,opt,name=cols,proto3" json:"cols,omitempty"` Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } func (x *ExecStreamRequest_WindowSize) Reset() { *x = ExecStreamRequest_WindowSize{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[153] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[156] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamRequest_WindowSize) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamRequest_WindowSize) ProtoMessage() {} func (x *ExecStreamRequest_WindowSize) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[153] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[156] >>>>>>> Setup Vagrantfile refs 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 ExecStreamRequest_WindowSize.ProtoReflect.Descriptor instead. func (*ExecStreamRequest_WindowSize) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{63, 3} } func (x *ExecStreamRequest_WindowSize) GetRows() int32 { if x != nil { return x.Rows } return 0 } func (x *ExecStreamRequest_WindowSize) GetCols() int32 { if x != nil { return x.Cols } return 0 } func (x *ExecStreamRequest_WindowSize) GetWidth() int32 { if x != nil { return x.Width } return 0 } func (x *ExecStreamRequest_WindowSize) GetHeight() int32 { if x != nil { return x.Height } return 0 } type ExecStreamResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ExecStreamResponse_Open) Reset() { *x = ExecStreamResponse_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[154] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[157] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Open) ProtoMessage() {} func (x *ExecStreamResponse_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[154] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[157] >>>>>>> Setup Vagrantfile refs 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 ExecStreamResponse_Open.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64, 0} } type ExecStreamResponse_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } func (x *ExecStreamResponse_Exit) Reset() { *x = ExecStreamResponse_Exit{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[155] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[158] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Exit) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Exit) ProtoMessage() {} func (x *ExecStreamResponse_Exit) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[155] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[158] >>>>>>> Setup Vagrantfile refs 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 ExecStreamResponse_Exit.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Exit) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64, 1} } func (x *ExecStreamResponse_Exit) GetCode() int32 { if x != nil { return x.Code } return 0 } type ExecStreamResponse_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel ExecStreamResponse_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.vagrant.ExecStreamResponse_Output_Channel" json:"channel,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *ExecStreamResponse_Output) Reset() { *x = ExecStreamResponse_Output{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[156] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[159] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecStreamResponse_Output) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecStreamResponse_Output) ProtoMessage() {} func (x *ExecStreamResponse_Output) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[156] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[159] >>>>>>> Setup Vagrantfile refs 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 ExecStreamResponse_Output.ProtoReflect.Descriptor instead. func (*ExecStreamResponse_Output) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{64, 2} } func (x *ExecStreamResponse_Output) GetChannel() ExecStreamResponse_Output_Channel { if x != nil { return x.Channel } return ExecStreamResponse_Output_UNKNOWN } func (x *ExecStreamResponse_Output) GetData() []byte { if x != nil { return x.Data } return nil } type EntrypointConfig_Exec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Index int64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` Args []string `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` Pty *ExecStreamRequest_PTY `protobuf:"bytes,3,opt,name=pty,proto3" json:"pty,omitempty"` } func (x *EntrypointConfig_Exec) Reset() { *x = EntrypointConfig_Exec{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[157] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[160] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig_Exec) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig_Exec) ProtoMessage() {} func (x *EntrypointConfig_Exec) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[157] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[160] >>>>>>> Setup Vagrantfile refs 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 EntrypointConfig_Exec.ProtoReflect.Descriptor instead. func (*EntrypointConfig_Exec) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{67, 0} } func (x *EntrypointConfig_Exec) GetIndex() int64 { if x != nil { return x.Index } return 0 } func (x *EntrypointConfig_Exec) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *EntrypointConfig_Exec) GetPty() *ExecStreamRequest_PTY { if x != nil { return x.Pty } return nil } type EntrypointConfig_URLService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // address to the control server and the token for auth ControlAddr string `protobuf:"bytes,1,opt,name=control_addr,json=controlAddr,proto3" json:"control_addr,omitempty"` Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` // labels to register this instance under Labels string `protobuf:"bytes,3,opt,name=labels,proto3" json:"labels,omitempty"` } func (x *EntrypointConfig_URLService) Reset() { *x = EntrypointConfig_URLService{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[158] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[161] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointConfig_URLService) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointConfig_URLService) ProtoMessage() {} func (x *EntrypointConfig_URLService) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[158] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[161] >>>>>>> Setup Vagrantfile refs 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 EntrypointConfig_URLService.ProtoReflect.Descriptor instead. func (*EntrypointConfig_URLService) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{67, 1} } func (x *EntrypointConfig_URLService) GetControlAddr() string { if x != nil { return x.ControlAddr } return "" } func (x *EntrypointConfig_URLService) GetToken() string { if x != nil { return x.Token } return "" } func (x *EntrypointConfig_URLService) GetLabels() string { if x != nil { return x.Labels } return "" } type EntrypointExecRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` } func (x *EntrypointExecRequest_Open) Reset() { *x = EntrypointExecRequest_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[159] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[162] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Open) ProtoMessage() {} func (x *EntrypointExecRequest_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[159] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[162] >>>>>>> Setup Vagrantfile refs 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 EntrypointExecRequest_Open.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 0} } func (x *EntrypointExecRequest_Open) GetInstanceId() string { if x != nil { return x.InstanceId } return "" } func (x *EntrypointExecRequest_Open) GetIndex() int64 { if x != nil { return x.Index } return 0 } type EntrypointExecRequest_Exit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` } func (x *EntrypointExecRequest_Exit) Reset() { *x = EntrypointExecRequest_Exit{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[160] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[163] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Exit) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Exit) ProtoMessage() {} func (x *EntrypointExecRequest_Exit) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[160] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[163] >>>>>>> Setup Vagrantfile refs 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 EntrypointExecRequest_Exit.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Exit) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 1} } func (x *EntrypointExecRequest_Exit) GetCode() int32 { if x != nil { return x.Code } return 0 } type EntrypointExecRequest_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel EntrypointExecRequest_Output_Channel `protobuf:"varint,1,opt,name=channel,proto3,enum=hashicorp.vagrant.EntrypointExecRequest_Output_Channel" json:"channel,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *EntrypointExecRequest_Output) Reset() { *x = EntrypointExecRequest_Output{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[161] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[164] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Output) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Output) ProtoMessage() {} func (x *EntrypointExecRequest_Output) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[161] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[164] >>>>>>> Setup Vagrantfile refs 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 EntrypointExecRequest_Output.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Output) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 2} } func (x *EntrypointExecRequest_Output) GetChannel() EntrypointExecRequest_Output_Channel { if x != nil { return x.Channel } return EntrypointExecRequest_Output_UNKNOWN } func (x *EntrypointExecRequest_Output) GetData() []byte { if x != nil { return x.Data } return nil } type EntrypointExecRequest_Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` } func (x *EntrypointExecRequest_Error) Reset() { *x = EntrypointExecRequest_Error{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[162] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[165] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EntrypointExecRequest_Error) String() string { return protoimpl.X.MessageStringOf(x) } func (*EntrypointExecRequest_Error) ProtoMessage() {} func (x *EntrypointExecRequest_Error) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[162] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[165] >>>>>>> Setup Vagrantfile refs 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 EntrypointExecRequest_Error.ProtoReflect.Descriptor instead. func (*EntrypointExecRequest_Error) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{69, 3} } func (x *EntrypointExecRequest_Error) GetError() *status.Status { if x != nil { return x.Error } return nil } type Token_Entrypoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // deployment id is the deployment to restrict this token to. DeploymentId string `protobuf:"bytes,1,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` } func (x *Token_Entrypoint) Reset() { *x = Token_Entrypoint{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[164] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[167] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Token_Entrypoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*Token_Entrypoint) ProtoMessage() {} func (x *Token_Entrypoint) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[164] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[167] >>>>>>> Setup Vagrantfile refs 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 Token_Entrypoint.ProtoReflect.Descriptor instead. func (*Token_Entrypoint) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{72, 0} } func (x *Token_Entrypoint) GetDeploymentId() string { if x != nil { return x.DeploymentId } return "" } // One day we may add information here. For now we are reserving this. type CreateSnapshotResponse_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CreateSnapshotResponse_Open) Reset() { *x = CreateSnapshotResponse_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[165] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[168] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateSnapshotResponse_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateSnapshotResponse_Open) ProtoMessage() {} func (x *CreateSnapshotResponse_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[165] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[168] >>>>>>> Setup Vagrantfile refs 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 CreateSnapshotResponse_Open.ProtoReflect.Descriptor instead. func (*CreateSnapshotResponse_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{77, 0} } type RestoreSnapshotRequest_Open struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // If true, the server will exit after the restore is staged. This will // SHUT DOWN the server and some external process you created is expected // to bring it back. The Vagrant server on its own WILL NOT automatically // restart. You should only set this if you have some operation to // automate restart such as running in Nomad or Kubernetes. Exit bool `protobuf:"varint,1,opt,name=exit,proto3" json:"exit,omitempty"` } func (x *RestoreSnapshotRequest_Open) Reset() { *x = RestoreSnapshotRequest_Open{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[166] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[169] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RestoreSnapshotRequest_Open) String() string { return protoimpl.X.MessageStringOf(x) } func (*RestoreSnapshotRequest_Open) ProtoMessage() {} func (x *RestoreSnapshotRequest_Open) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[166] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[169] >>>>>>> Setup Vagrantfile refs 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 RestoreSnapshotRequest_Open.ProtoReflect.Descriptor instead. func (*RestoreSnapshotRequest_Open) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{78, 0} } func (x *RestoreSnapshotRequest_Open) GetExit() bool { if x != nil { return x.Exit } return false } // Header is _always_ the first message encoded into a snapshot. If // this isn't present, the entire snapshot can be considered corrupt. type Snapshot_Header struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // version is the version of Vagrant that generated this snapshot. Version *VersionInfo `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // format is the format of the remaining messages. This can be used // to determine what messages to expect following the header. Format Snapshot_Header_Format `protobuf:"varint,2,opt,name=format,proto3,enum=hashicorp.vagrant.Snapshot_Header_Format" json:"format,omitempty"` } func (x *Snapshot_Header) Reset() { *x = Snapshot_Header{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[167] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[170] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_Header) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_Header) ProtoMessage() {} func (x *Snapshot_Header) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[167] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[170] >>>>>>> Setup Vagrantfile refs 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 Snapshot_Header.ProtoReflect.Descriptor instead. func (*Snapshot_Header) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79, 0} } func (x *Snapshot_Header) GetVersion() *VersionInfo { if x != nil { return x.Version } return nil } func (x *Snapshot_Header) GetFormat() Snapshot_Header_Format { if x != nil { return x.Format } return Snapshot_Header_UNKNOWN } // Trailer is sent as the final message encoded into a snapshot. Detecting // when the trailer is is dependent on the format. type Snapshot_Trailer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // checksum is the checksum of all the bytes up to but not including // this proto message. The checksum is for the raw uncompressed bytes. // // Types that are assignable to Checksum: // *Snapshot_Trailer_Sha256 Checksum isSnapshot_Trailer_Checksum `protobuf_oneof:"checksum"` } func (x *Snapshot_Trailer) Reset() { *x = Snapshot_Trailer{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[168] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[171] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_Trailer) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_Trailer) ProtoMessage() {} func (x *Snapshot_Trailer) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[168] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[171] >>>>>>> Setup Vagrantfile refs 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 Snapshot_Trailer.ProtoReflect.Descriptor instead. func (*Snapshot_Trailer) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79, 1} } func (m *Snapshot_Trailer) GetChecksum() isSnapshot_Trailer_Checksum { if m != nil { return m.Checksum } return nil } func (x *Snapshot_Trailer) GetSha256() string { if x, ok := x.GetChecksum().(*Snapshot_Trailer_Sha256); ok { return x.Sha256 } return "" } type isSnapshot_Trailer_Checksum interface { isSnapshot_Trailer_Checksum() } type Snapshot_Trailer_Sha256 struct { Sha256 string `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"` // SHA-256 checksum } func (*Snapshot_Trailer_Sha256) isSnapshot_Trailer_Checksum() {} // BoltChunk is a single chunk of data for BoltDB if the snapshot format // is BOLT. A chunk will always contain items designated for a single bucket, // but a bucket may be repeated multiple time across chunks if there are // too many items in the bucket. // // The final BoltChunk will have trailer set to true. Immediaetly following // that chunk will be the Trailer message. type Snapshot_BoltChunk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // bucket is the name of the bucket. This may be empty. If this is empty, // then this chunk should be ignored. Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` // items is a id/value mapping of all this chunk of items in this bucket Items map[string][]byte `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // final is true if this is the last bolt chunk being written. Final bool `protobuf:"varint,3,opt,name=final,proto3" json:"final,omitempty"` } func (x *Snapshot_BoltChunk) Reset() { *x = Snapshot_BoltChunk{} if protoimpl.UnsafeEnabled { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[169] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[172] >>>>>>> Setup Vagrantfile refs ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Snapshot_BoltChunk) String() string { return protoimpl.X.MessageStringOf(x) } func (*Snapshot_BoltChunk) ProtoMessage() {} func (x *Snapshot_BoltChunk) ProtoReflect() protoreflect.Message { <<<<<<< HEAD mi := &file_proto_vagrant_server_server_proto_msgTypes[169] ======= mi := &file_proto_vagrant_server_server_proto_msgTypes[172] >>>>>>> Setup Vagrantfile refs 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 Snapshot_BoltChunk.ProtoReflect.Descriptor instead. func (*Snapshot_BoltChunk) Descriptor() ([]byte, []int) { return file_proto_vagrant_server_server_proto_rawDescGZIP(), []int{79, 2} } func (x *Snapshot_BoltChunk) GetBucket() string { if x != nil { return x.Bucket } return "" } func (x *Snapshot_BoltChunk) GetItems() map[string][]byte { if x != nil { return x.Items } return nil } func (x *Snapshot_BoltChunk) GetFinal() bool { if x != nil { return x.Final } return false } var File_proto_vagrant_server_server_proto protoreflect.FileDescriptor var file_proto_vagrant_server_server_proto_rawDesc = []byte{ 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x4e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x45, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x22, 0xfc, 0x02, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb3, 0x03, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, <<<<<<< HEAD 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc6, 0x07, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x72, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xa4, 0x02, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xea, 0x06, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x1a, 0x56, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xa9, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x69, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x67, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x6b, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x63, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x7b, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x31, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x0b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x22, 0xf1, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x22, 0x78, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x07, 0x22, 0xba, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0x9d, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4b, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x0d, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x03, 0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x80, 0x1f, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 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, 0x1a, 0xa4, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, 0x0c, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0xb4, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x34, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xd2, 0x01, 0x0a, 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x1a, 0xdd, 0x01, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x1a, 0xc2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x34, 0x0a, 0x05, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x1a, 0xa5, 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x67, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x1a, 0xf0, 0x02, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x1a, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x7a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x38, 0x10, 0x50, 0x22, 0xf6, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x1a, 0x61, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x58, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x2c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xaf, 0x12, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0xc1, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xaf, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x1a, 0xb6, 0x0b, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x67, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x54, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x46, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x2e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x1a, 0x31, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x1a, 0x36, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x68, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x67, 0x0a, 0x08, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x76, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x6e, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x6b, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x79, 0x49, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x1a, 0x39, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4d, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x73, 0x22, 0xa5, 0x05, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x1a, 0x26, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x1a, 0x41, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x39, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x1a, 0x21, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x20, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x21, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x73, 0x1a, 0x5d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x49, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x4b, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x4c, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x61, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x56, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x49, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x46, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x46, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x5d, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x52, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xf2, 0x04, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x1a, 0x7c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, ======= 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf5, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x69, 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x64, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x88, 0x0a, 0x0a, 0x03, 0x52, 0x65, 0x66, 0x1a, 0xbe, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x72, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x1a, 0x3c, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x56, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x69, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x67, 0x0a, 0x13, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x67, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x5f, 0x0a, 0x11, 0x42, 0x61, 0x73, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x7b, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x03, 0x61, 0x6e, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x31, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x0b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x6e, 0x79, 0x1a, 0x2e, 0x0a, 0x0b, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x78, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x59, 0x4e, 0x43, 0x45, 0x44, 0x46, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x07, 0x22, 0xba, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0x9d, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4b, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x0d, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x45, 0x44, 0x10, 0x04, 0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x22, 0x29, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x29, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xda, 0x1e, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x61, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 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, 0x1a, 0xa4, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x1a, 0x7c, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x07, 0x0a, 0x05, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x3d, 0x0a, 0x03, 0x47, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6f, 0x70, 0x1a, 0x0c, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x1a, 0x10, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x49, 0x6e, 0x69, 0x74, 0x4f, 0x70, 0x1a, 0xb4, 0x01, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x34, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xd2, 0x01, 0x0a, 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x01, 0x1a, 0xdd, 0x01, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x1a, 0xc2, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x34, 0x0a, 0x05, 0x52, 0x75, 0x6e, 0x4f, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x1a, 0x88, 0x01, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x67, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x1a, 0xf0, 0x02, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9d, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x44, 0x6f, 0x63, 0x73, 0x4f, 0x70, 0x1a, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x7a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x38, 0x10, 0x50, 0x22, 0xf6, 0x04, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x1a, 0x61, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb4, 0x01, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x6f, 0x70, 0x73, 0x69, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0x58, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x2c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xaf, 0x12, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0xc1, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0xaf, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x4e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x1a, 0xb6, 0x0b, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x57, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x67, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x48, 0x00, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x54, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x61, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x46, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x2e, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x1a, 0x31, 0x0a, 0x03, 0x52, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x1a, 0x36, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x68, 0x0a, 0x0b, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x67, 0x0a, 0x08, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x12, 0x5b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x76, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x21, 0x0a, 0x09, 0x53, 0x74, 0x65, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x6e, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x6b, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x79, 0x49, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x1a, 0x39, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4f, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4d, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x73, 0x22, 0xa5, 0x05, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x03, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x1a, 0x26, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x1a, 0x41, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x0b, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x39, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x1a, 0x21, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x22, 0x0a, 0x20, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x21, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x73, 0x1a, 0x5d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x22, 0x44, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x45, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x22, 0x4c, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x61, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x52, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x4a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x4a, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x61, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x23, 0x0a, >>>>>>> Setup Vagrantfile refs 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x55, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xf2, 0x04, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x1a, 0x7c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x83, 0x01, 0x0a, 0x03, 0x50, 0x54, 0x59, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x50, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x62, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xac, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9c, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa7, 0x03, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x72, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x75, 0x72, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x6c, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x5d, 0x0a, 0x0a, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x6e, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xed, 0x04, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x43, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9f, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe3, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 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, 0x99, 0x02, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x07, 0x48, 0x4d, 0x41, 0x43, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x75, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, <<<<<<< HEAD 0x73, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa6, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x54, 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x41, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x43, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x6c, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x54, 0x59, 0x52, 0x03, 0x70, 0x74, 0x79, 0x1a, 0x5d, 0x0a, 0x0a, 0x55, 0x52, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x6e, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xed, 0x04, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x43, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x1a, 0x0a, 0x04, 0x45, 0x78, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x9f, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x10, 0x02, 0x1a, 0x31, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x05, 0x77, 0x69, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xe3, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 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, 0x99, 0x02, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x31, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x07, 0x48, 0x4d, 0x41, 0x43, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x75, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa6, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x54, 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x41, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x97, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xae, 0x05, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x32, 0xbd, 0x19, 0x0a, 0x07, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x59, 0x0a, 0x0a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x59, 0x0a, 0x0a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, ======= 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x06, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1a, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x78, 0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0xa6, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1f, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4c, 0x54, 0x10, 0x01, 0x1a, 0x2f, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x1a, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x42, 0x6f, 0x6c, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x11, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x41, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xcd, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x8e, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x44, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0xa5, 0x05, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x73, 0x64, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x32, 0xc8, 0x19, 0x0a, 0x07, 0x56, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x59, 0x0a, 0x0a, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x68, >>>>>>> Setup Vagrantfile refs 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x12, 0x54, 0x0a, 0x09, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x22, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x55, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x6c, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x61, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_proto_vagrant_server_server_proto_rawDescOnce sync.Once file_proto_vagrant_server_server_proto_rawDescData = file_proto_vagrant_server_server_proto_rawDesc ) func file_proto_vagrant_server_server_proto_rawDescGZIP() []byte { file_proto_vagrant_server_server_proto_rawDescOnce.Do(func() { file_proto_vagrant_server_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_vagrant_server_server_proto_rawDescData) }) return file_proto_vagrant_server_server_proto_rawDescData } var file_proto_vagrant_server_server_proto_enumTypes = make([]protoimpl.EnumInfo, 10) <<<<<<< HEAD var file_proto_vagrant_server_server_proto_msgTypes = make([]protoimpl.MessageInfo, 172) ======= var file_proto_vagrant_server_server_proto_msgTypes = make([]protoimpl.MessageInfo, 175) >>>>>>> Setup Vagrantfile refs var file_proto_vagrant_server_server_proto_goTypes = []interface{}{ (Component_Type)(0), // 0: hashicorp.vagrant.Component.Type (Status_State)(0), // 1: hashicorp.vagrant.Status.State (Operation_PhysicalState)(0), // 2: hashicorp.vagrant.Operation.PhysicalState (OperationOrder_Order)(0), // 3: hashicorp.vagrant.OperationOrder.Order (Job_State)(0), // 4: hashicorp.vagrant.Job.State (Job_Hook_Location)(0), // 5: hashicorp.vagrant.Job.Hook.Location (Job_Flag_Type)(0), // 6: hashicorp.vagrant.Job.Flag.Type (ExecStreamResponse_Output_Channel)(0), // 7: hashicorp.vagrant.ExecStreamResponse.Output.Channel (EntrypointExecRequest_Output_Channel)(0), // 8: hashicorp.vagrant.EntrypointExecRequest.Output.Channel (Snapshot_Header_Format)(0), // 9: hashicorp.vagrant.Snapshot.Header.Format (*GetVersionInfoResponse)(nil), // 10: hashicorp.vagrant.GetVersionInfoResponse (*VersionInfo)(nil), // 11: hashicorp.vagrant.VersionInfo (*Basis)(nil), // 12: hashicorp.vagrant.Basis (*Project)(nil), // 13: hashicorp.vagrant.Project (*Target)(nil), // 14: hashicorp.vagrant.Target (*Ref)(nil), // 15: hashicorp.vagrant.Ref (*Component)(nil), // 16: hashicorp.vagrant.Component (*Status)(nil), // 17: hashicorp.vagrant.Status (*StatusFilter)(nil), // 18: hashicorp.vagrant.StatusFilter (*Operation)(nil), // 19: hashicorp.vagrant.Operation (*OperationOrder)(nil), // 20: hashicorp.vagrant.OperationOrder (*QueueJobRequest)(nil), // 21: hashicorp.vagrant.QueueJobRequest (*QueueJobResponse)(nil), // 22: hashicorp.vagrant.QueueJobResponse (*CancelJobRequest)(nil), // 23: hashicorp.vagrant.CancelJobRequest (*ValidateJobRequest)(nil), // 24: hashicorp.vagrant.ValidateJobRequest (*ValidateJobResponse)(nil), // 25: hashicorp.vagrant.ValidateJobResponse (*Job)(nil), // 26: hashicorp.vagrant.Job (*Documentation)(nil), // 27: hashicorp.vagrant.Documentation (*GetJobRequest)(nil), // 28: hashicorp.vagrant.GetJobRequest (*ListJobsRequest)(nil), // 29: hashicorp.vagrant.ListJobsRequest (*ListJobsResponse)(nil), // 30: hashicorp.vagrant.ListJobsResponse (*GetJobStreamRequest)(nil), // 31: hashicorp.vagrant.GetJobStreamRequest (*GetJobStreamResponse)(nil), // 32: hashicorp.vagrant.GetJobStreamResponse (*Runner)(nil), // 33: hashicorp.vagrant.Runner (*RunnerConfigRequest)(nil), // 34: hashicorp.vagrant.RunnerConfigRequest (*RunnerConfigResponse)(nil), // 35: hashicorp.vagrant.RunnerConfigResponse (*RunnerConfig)(nil), // 36: hashicorp.vagrant.RunnerConfig (*RunnerJobStreamRequest)(nil), // 37: hashicorp.vagrant.RunnerJobStreamRequest (*RunnerJobStreamResponse)(nil), // 38: hashicorp.vagrant.RunnerJobStreamResponse (*RunnerGetDeploymentConfigRequest)(nil), // 39: hashicorp.vagrant.RunnerGetDeploymentConfigRequest (*RunnerGetDeploymentConfigResponse)(nil), // 40: hashicorp.vagrant.RunnerGetDeploymentConfigResponse (*GetRunnerRequest)(nil), // 41: hashicorp.vagrant.GetRunnerRequest (*SetServerConfigRequest)(nil), // 42: hashicorp.vagrant.SetServerConfigRequest (*GetServerConfigResponse)(nil), // 43: hashicorp.vagrant.GetServerConfigResponse (*ServerConfig)(nil), // 44: hashicorp.vagrant.ServerConfig (*UpsertBasisRequest)(nil), // 45: hashicorp.vagrant.UpsertBasisRequest (*UpsertBasisResponse)(nil), // 46: hashicorp.vagrant.UpsertBasisResponse (*GetBasisRequest)(nil), // 47: hashicorp.vagrant.GetBasisRequest (*GetBasisResponse)(nil), // 48: hashicorp.vagrant.GetBasisResponse (*FindBasisRequest)(nil), // 49: hashicorp.vagrant.FindBasisRequest (*FindBasisResponse)(nil), // 50: hashicorp.vagrant.FindBasisResponse (*ListBasisResponse)(nil), // 51: hashicorp.vagrant.ListBasisResponse (*UpsertProjectRequest)(nil), // 52: hashicorp.vagrant.UpsertProjectRequest (*UpsertProjectResponse)(nil), // 53: hashicorp.vagrant.UpsertProjectResponse (*GetProjectRequest)(nil), // 54: hashicorp.vagrant.GetProjectRequest (*GetProjectResponse)(nil), // 55: hashicorp.vagrant.GetProjectResponse (*FindProjectRequest)(nil), // 56: hashicorp.vagrant.FindProjectRequest (*FindProjectResponse)(nil), // 57: hashicorp.vagrant.FindProjectResponse (*ListProjectsResponse)(nil), // 58: hashicorp.vagrant.ListProjectsResponse (*UpsertTargetRequest)(nil), // 59: hashicorp.vagrant.UpsertTargetRequest (*UpsertTargetResponse)(nil), // 60: hashicorp.vagrant.UpsertTargetResponse (*GetTargetRequest)(nil), // 61: hashicorp.vagrant.GetTargetRequest (*GetTargetResponse)(nil), // 62: hashicorp.vagrant.GetTargetResponse (*FindTargetRequest)(nil), // 63: hashicorp.vagrant.FindTargetRequest (*FindTargetResponse)(nil), // 64: hashicorp.vagrant.FindTargetResponse (*ListTargetsResponse)(nil), // 65: hashicorp.vagrant.ListTargetsResponse (*GetLogStreamRequest)(nil), // 66: hashicorp.vagrant.GetLogStreamRequest (*LogBatch)(nil), // 67: hashicorp.vagrant.LogBatch (*ConfigVar)(nil), // 68: hashicorp.vagrant.ConfigVar (*ConfigSetRequest)(nil), // 69: hashicorp.vagrant.ConfigSetRequest (*ConfigSetResponse)(nil), // 70: hashicorp.vagrant.ConfigSetResponse (*ConfigGetRequest)(nil), // 71: hashicorp.vagrant.ConfigGetRequest (*ConfigGetResponse)(nil), // 72: hashicorp.vagrant.ConfigGetResponse (*ExecStreamRequest)(nil), // 73: hashicorp.vagrant.ExecStreamRequest (*ExecStreamResponse)(nil), // 74: hashicorp.vagrant.ExecStreamResponse (*EntrypointConfigRequest)(nil), // 75: hashicorp.vagrant.EntrypointConfigRequest (*EntrypointConfigResponse)(nil), // 76: hashicorp.vagrant.EntrypointConfigResponse (*EntrypointConfig)(nil), // 77: hashicorp.vagrant.EntrypointConfig (*EntrypointLogBatch)(nil), // 78: hashicorp.vagrant.EntrypointLogBatch (*EntrypointExecRequest)(nil), // 79: hashicorp.vagrant.EntrypointExecRequest (*EntrypointExecResponse)(nil), // 80: hashicorp.vagrant.EntrypointExecResponse (*TokenTransport)(nil), // 81: hashicorp.vagrant.TokenTransport (*Token)(nil), // 82: hashicorp.vagrant.Token (*HMACKey)(nil), // 83: hashicorp.vagrant.HMACKey (*InviteTokenRequest)(nil), // 84: hashicorp.vagrant.InviteTokenRequest (*NewTokenResponse)(nil), // 85: hashicorp.vagrant.NewTokenResponse (*ConvertInviteTokenRequest)(nil), // 86: hashicorp.vagrant.ConvertInviteTokenRequest (*CreateSnapshotResponse)(nil), // 87: hashicorp.vagrant.CreateSnapshotResponse (*RestoreSnapshotRequest)(nil), // 88: hashicorp.vagrant.RestoreSnapshotRequest (*Snapshot)(nil), // 89: hashicorp.vagrant.Snapshot (*UpsertTaskRequest)(nil), // 90: hashicorp.vagrant.UpsertTaskRequest (*UpsertTaskResponse)(nil), // 91: hashicorp.vagrant.UpsertTaskResponse (*GetLatestTaskRequest)(nil), // 92: hashicorp.vagrant.GetLatestTaskRequest (*ListTasksRequest)(nil), // 93: hashicorp.vagrant.ListTasksRequest (*ListTasksResponse)(nil), // 94: hashicorp.vagrant.ListTasksResponse (*GetTaskRequest)(nil), // 95: hashicorp.vagrant.GetTaskRequest (*Task)(nil), // 96: hashicorp.vagrant.Task (*VersionInfo_ProtocolVersion)(nil), // 97: hashicorp.vagrant.VersionInfo.ProtocolVersion <<<<<<< HEAD (*Target_Machine)(nil), // 98: hashicorp.vagrant.Target.Machine (*Ref_Component)(nil), // 99: hashicorp.vagrant.Ref.Component (*Ref_Operation)(nil), // 100: hashicorp.vagrant.Ref.Operation (*Ref_TargetOperationSeq)(nil), // 101: hashicorp.vagrant.Ref.TargetOperationSeq (*Ref_ProjectOperationSeq)(nil), // 102: hashicorp.vagrant.Ref.ProjectOperationSeq (*Ref_BasisOperationSeq)(nil), // 103: hashicorp.vagrant.Ref.BasisOperationSeq (*Ref_Runner)(nil), // 104: hashicorp.vagrant.Ref.Runner (*Ref_RunnerId)(nil), // 105: hashicorp.vagrant.Ref.RunnerId (*Ref_RunnerAny)(nil), // 106: hashicorp.vagrant.Ref.RunnerAny (*StatusFilter_Filter)(nil), // 107: hashicorp.vagrant.StatusFilter.Filter nil, // 108: hashicorp.vagrant.Job.LabelsEntry nil, // 109: hashicorp.vagrant.Job.DataSourceOverridesEntry (*Job_Result)(nil), // 110: hashicorp.vagrant.Job.Result (*Job_DataSource)(nil), // 111: hashicorp.vagrant.Job.DataSource (*Job_Local)(nil), // 112: hashicorp.vagrant.Job.Local (*Job_Git)(nil), // 113: hashicorp.vagrant.Job.Git (*Job_Noop)(nil), // 114: hashicorp.vagrant.Job.Noop (*Job_ValidateOp)(nil), // 115: hashicorp.vagrant.Job.ValidateOp (*Job_ValidateResult)(nil), // 116: hashicorp.vagrant.Job.ValidateResult (*Job_InitOp)(nil), // 117: hashicorp.vagrant.Job.InitOp (*Job_InitResult)(nil), // 118: hashicorp.vagrant.Job.InitResult (*Job_Action)(nil), // 119: hashicorp.vagrant.Job.Action (*Job_Hook)(nil), // 120: hashicorp.vagrant.Job.Hook (*Job_Flag)(nil), // 121: hashicorp.vagrant.Job.Flag (*Job_Command)(nil), // 122: hashicorp.vagrant.Job.Command (*Job_RunOp)(nil), // 123: hashicorp.vagrant.Job.RunOp (*Job_RunResult)(nil), // 124: hashicorp.vagrant.Job.RunResult (*Job_AuthOp)(nil), // 125: hashicorp.vagrant.Job.AuthOp (*Job_AuthResult)(nil), // 126: hashicorp.vagrant.Job.AuthResult (*Job_DocsOp)(nil), // 127: hashicorp.vagrant.Job.DocsOp (*Job_DocsResult)(nil), // 128: hashicorp.vagrant.Job.DocsResult (*Job_AuthResult_Result)(nil), // 129: hashicorp.vagrant.Job.AuthResult.Result (*Job_DocsResult_Result)(nil), // 130: hashicorp.vagrant.Job.DocsResult.Result nil, // 131: hashicorp.vagrant.Documentation.FieldsEntry (*Documentation_Field)(nil), // 132: hashicorp.vagrant.Documentation.Field (*Documentation_Mapper)(nil), // 133: hashicorp.vagrant.Documentation.Mapper (*GetJobStreamResponse_Open)(nil), // 134: hashicorp.vagrant.GetJobStreamResponse.Open (*GetJobStreamResponse_State)(nil), // 135: hashicorp.vagrant.GetJobStreamResponse.State (*GetJobStreamResponse_Terminal)(nil), // 136: hashicorp.vagrant.GetJobStreamResponse.Terminal (*GetJobStreamResponse_Error)(nil), // 137: hashicorp.vagrant.GetJobStreamResponse.Error (*GetJobStreamResponse_Complete)(nil), // 138: hashicorp.vagrant.GetJobStreamResponse.Complete (*GetJobStreamResponse_Terminal_Event)(nil), // 139: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 140: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 141: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 142: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 143: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 144: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 145: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 146: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 147: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 148: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 149: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step (*RunnerConfigRequest_Open)(nil), // 150: hashicorp.vagrant.RunnerConfigRequest.Open (*RunnerJobStreamRequest_Request)(nil), // 151: hashicorp.vagrant.RunnerJobStreamRequest.Request (*RunnerJobStreamRequest_Ack)(nil), // 152: hashicorp.vagrant.RunnerJobStreamRequest.Ack (*RunnerJobStreamRequest_Complete)(nil), // 153: hashicorp.vagrant.RunnerJobStreamRequest.Complete (*RunnerJobStreamRequest_Error)(nil), // 154: hashicorp.vagrant.RunnerJobStreamRequest.Error (*RunnerJobStreamRequest_Heartbeat)(nil), // 155: hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat (*RunnerJobStreamResponse_JobAssignment)(nil), // 156: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment (*RunnerJobStreamResponse_JobCancel)(nil), // 157: hashicorp.vagrant.RunnerJobStreamResponse.JobCancel (*ServerConfig_AdvertiseAddr)(nil), // 158: hashicorp.vagrant.ServerConfig.AdvertiseAddr (*LogBatch_Entry)(nil), // 159: hashicorp.vagrant.LogBatch.Entry (*ExecStreamRequest_Start)(nil), // 160: hashicorp.vagrant.ExecStreamRequest.Start (*ExecStreamRequest_Input)(nil), // 161: hashicorp.vagrant.ExecStreamRequest.Input (*ExecStreamRequest_PTY)(nil), // 162: hashicorp.vagrant.ExecStreamRequest.PTY (*ExecStreamRequest_WindowSize)(nil), // 163: hashicorp.vagrant.ExecStreamRequest.WindowSize (*ExecStreamResponse_Open)(nil), // 164: hashicorp.vagrant.ExecStreamResponse.Open (*ExecStreamResponse_Exit)(nil), // 165: hashicorp.vagrant.ExecStreamResponse.Exit (*ExecStreamResponse_Output)(nil), // 166: hashicorp.vagrant.ExecStreamResponse.Output (*EntrypointConfig_Exec)(nil), // 167: hashicorp.vagrant.EntrypointConfig.Exec (*EntrypointConfig_URLService)(nil), // 168: hashicorp.vagrant.EntrypointConfig.URLService (*EntrypointExecRequest_Open)(nil), // 169: hashicorp.vagrant.EntrypointExecRequest.Open (*EntrypointExecRequest_Exit)(nil), // 170: hashicorp.vagrant.EntrypointExecRequest.Exit (*EntrypointExecRequest_Output)(nil), // 171: hashicorp.vagrant.EntrypointExecRequest.Output (*EntrypointExecRequest_Error)(nil), // 172: hashicorp.vagrant.EntrypointExecRequest.Error nil, // 173: hashicorp.vagrant.TokenTransport.MetadataEntry (*Token_Entrypoint)(nil), // 174: hashicorp.vagrant.Token.Entrypoint (*CreateSnapshotResponse_Open)(nil), // 175: hashicorp.vagrant.CreateSnapshotResponse.Open (*RestoreSnapshotRequest_Open)(nil), // 176: hashicorp.vagrant.RestoreSnapshotRequest.Open (*Snapshot_Header)(nil), // 177: hashicorp.vagrant.Snapshot.Header (*Snapshot_Trailer)(nil), // 178: hashicorp.vagrant.Snapshot.Trailer (*Snapshot_BoltChunk)(nil), // 179: hashicorp.vagrant.Snapshot.BoltChunk nil, // 180: hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry nil, // 181: hashicorp.vagrant.Task.LabelsEntry (*vagrant_plugin_sdk.Ref_Project)(nil), // 182: hashicorp.vagrant.sdk.Ref.Project (*vagrant_plugin_sdk.Args_MetadataSet)(nil), // 183: hashicorp.vagrant.sdk.Args.MetadataSet (*anypb.Any)(nil), // 184: google.protobuf.Any (*vagrant_plugin_sdk.Ref_Target)(nil), // 185: hashicorp.vagrant.sdk.Ref.Target (*vagrant_plugin_sdk.Ref_Basis)(nil), // 186: hashicorp.vagrant.sdk.Ref.Basis (*vagrant_plugin_sdk.Args_DataDir_Target)(nil), // 187: hashicorp.vagrant.sdk.Args.DataDir.Target (*status.Status)(nil), // 188: google.rpc.Status (*timestamppb.Timestamp)(nil), // 189: google.protobuf.Timestamp (*vagrant_plugin_sdk.Command_Arguments)(nil), // 190: hashicorp.vagrant.sdk.Command.Arguments (*vagrant_plugin_sdk.Args_Target_Machine_Box)(nil), // 191: hashicorp.vagrant.sdk.Args.Target.Machine.Box (*vagrant_plugin_sdk.Args_Target_Machine_State)(nil), // 192: hashicorp.vagrant.sdk.Args.Target.Machine.State (*emptypb.Empty)(nil), // 193: google.protobuf.Empty ======= (*Ref_Machine)(nil), // 98: hashicorp.vagrant.Ref.Machine (*Ref_Project)(nil), // 99: hashicorp.vagrant.Ref.Project (*Ref_Basis)(nil), // 100: hashicorp.vagrant.Ref.Basis (*Ref_Component)(nil), // 101: hashicorp.vagrant.Ref.Component (*Ref_Operation)(nil), // 102: hashicorp.vagrant.Ref.Operation (*Ref_MachineOperationSeq)(nil), // 103: hashicorp.vagrant.Ref.MachineOperationSeq (*Ref_ProjectOperationSeq)(nil), // 104: hashicorp.vagrant.Ref.ProjectOperationSeq (*Ref_BasisOperationSeq)(nil), // 105: hashicorp.vagrant.Ref.BasisOperationSeq (*Ref_Runner)(nil), // 106: hashicorp.vagrant.Ref.Runner (*Ref_RunnerId)(nil), // 107: hashicorp.vagrant.Ref.RunnerId (*Ref_RunnerAny)(nil), // 108: hashicorp.vagrant.Ref.RunnerAny (*Ref_Vagrantfile)(nil), // 109: hashicorp.vagrant.Ref.Vagrantfile (*StatusFilter_Filter)(nil), // 110: hashicorp.vagrant.StatusFilter.Filter nil, // 111: hashicorp.vagrant.Job.LabelsEntry nil, // 112: hashicorp.vagrant.Job.DataSourceOverridesEntry (*Job_Result)(nil), // 113: hashicorp.vagrant.Job.Result (*Job_DataSource)(nil), // 114: hashicorp.vagrant.Job.DataSource (*Job_Local)(nil), // 115: hashicorp.vagrant.Job.Local (*Job_Git)(nil), // 116: hashicorp.vagrant.Job.Git (*Job_Noop)(nil), // 117: hashicorp.vagrant.Job.Noop (*Job_ValidateOp)(nil), // 118: hashicorp.vagrant.Job.ValidateOp (*Job_ValidateResult)(nil), // 119: hashicorp.vagrant.Job.ValidateResult (*Job_InitOp)(nil), // 120: hashicorp.vagrant.Job.InitOp (*Job_InitResult)(nil), // 121: hashicorp.vagrant.Job.InitResult (*Job_Action)(nil), // 122: hashicorp.vagrant.Job.Action (*Job_Hook)(nil), // 123: hashicorp.vagrant.Job.Hook (*Job_Flag)(nil), // 124: hashicorp.vagrant.Job.Flag (*Job_Command)(nil), // 125: hashicorp.vagrant.Job.Command (*Job_RunOp)(nil), // 126: hashicorp.vagrant.Job.RunOp (*Job_RunResult)(nil), // 127: hashicorp.vagrant.Job.RunResult (*Job_AuthOp)(nil), // 128: hashicorp.vagrant.Job.AuthOp (*Job_AuthResult)(nil), // 129: hashicorp.vagrant.Job.AuthResult (*Job_DocsOp)(nil), // 130: hashicorp.vagrant.Job.DocsOp (*Job_DocsResult)(nil), // 131: hashicorp.vagrant.Job.DocsResult (*Job_AuthResult_Result)(nil), // 132: hashicorp.vagrant.Job.AuthResult.Result (*Job_DocsResult_Result)(nil), // 133: hashicorp.vagrant.Job.DocsResult.Result nil, // 134: hashicorp.vagrant.Documentation.FieldsEntry (*Documentation_Field)(nil), // 135: hashicorp.vagrant.Documentation.Field (*Documentation_Mapper)(nil), // 136: hashicorp.vagrant.Documentation.Mapper (*GetJobStreamResponse_Open)(nil), // 137: hashicorp.vagrant.GetJobStreamResponse.Open (*GetJobStreamResponse_State)(nil), // 138: hashicorp.vagrant.GetJobStreamResponse.State (*GetJobStreamResponse_Terminal)(nil), // 139: hashicorp.vagrant.GetJobStreamResponse.Terminal (*GetJobStreamResponse_Error)(nil), // 140: hashicorp.vagrant.GetJobStreamResponse.Error (*GetJobStreamResponse_Complete)(nil), // 141: hashicorp.vagrant.GetJobStreamResponse.Complete (*GetJobStreamResponse_Terminal_Event)(nil), // 142: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event (*GetJobStreamResponse_Terminal_Event_Status)(nil), // 143: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status (*GetJobStreamResponse_Terminal_Event_Line)(nil), // 144: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line (*GetJobStreamResponse_Terminal_Event_Raw)(nil), // 145: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw (*GetJobStreamResponse_Terminal_Event_NamedValue)(nil), // 146: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue (*GetJobStreamResponse_Terminal_Event_NamedValues)(nil), // 147: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues (*GetJobStreamResponse_Terminal_Event_TableEntry)(nil), // 148: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry (*GetJobStreamResponse_Terminal_Event_TableRow)(nil), // 149: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow (*GetJobStreamResponse_Terminal_Event_Table)(nil), // 150: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table (*GetJobStreamResponse_Terminal_Event_StepGroup)(nil), // 151: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup (*GetJobStreamResponse_Terminal_Event_Step)(nil), // 152: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step (*RunnerConfigRequest_Open)(nil), // 153: hashicorp.vagrant.RunnerConfigRequest.Open (*RunnerJobStreamRequest_Request)(nil), // 154: hashicorp.vagrant.RunnerJobStreamRequest.Request (*RunnerJobStreamRequest_Ack)(nil), // 155: hashicorp.vagrant.RunnerJobStreamRequest.Ack (*RunnerJobStreamRequest_Complete)(nil), // 156: hashicorp.vagrant.RunnerJobStreamRequest.Complete (*RunnerJobStreamRequest_Error)(nil), // 157: hashicorp.vagrant.RunnerJobStreamRequest.Error (*RunnerJobStreamRequest_Heartbeat)(nil), // 158: hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat (*RunnerJobStreamResponse_JobAssignment)(nil), // 159: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment (*RunnerJobStreamResponse_JobCancel)(nil), // 160: hashicorp.vagrant.RunnerJobStreamResponse.JobCancel (*ServerConfig_AdvertiseAddr)(nil), // 161: hashicorp.vagrant.ServerConfig.AdvertiseAddr (*LogBatch_Entry)(nil), // 162: hashicorp.vagrant.LogBatch.Entry (*ExecStreamRequest_Start)(nil), // 163: hashicorp.vagrant.ExecStreamRequest.Start (*ExecStreamRequest_Input)(nil), // 164: hashicorp.vagrant.ExecStreamRequest.Input (*ExecStreamRequest_PTY)(nil), // 165: hashicorp.vagrant.ExecStreamRequest.PTY (*ExecStreamRequest_WindowSize)(nil), // 166: hashicorp.vagrant.ExecStreamRequest.WindowSize (*ExecStreamResponse_Open)(nil), // 167: hashicorp.vagrant.ExecStreamResponse.Open (*ExecStreamResponse_Exit)(nil), // 168: hashicorp.vagrant.ExecStreamResponse.Exit (*ExecStreamResponse_Output)(nil), // 169: hashicorp.vagrant.ExecStreamResponse.Output (*EntrypointConfig_Exec)(nil), // 170: hashicorp.vagrant.EntrypointConfig.Exec (*EntrypointConfig_URLService)(nil), // 171: hashicorp.vagrant.EntrypointConfig.URLService (*EntrypointExecRequest_Open)(nil), // 172: hashicorp.vagrant.EntrypointExecRequest.Open (*EntrypointExecRequest_Exit)(nil), // 173: hashicorp.vagrant.EntrypointExecRequest.Exit (*EntrypointExecRequest_Output)(nil), // 174: hashicorp.vagrant.EntrypointExecRequest.Output (*EntrypointExecRequest_Error)(nil), // 175: hashicorp.vagrant.EntrypointExecRequest.Error nil, // 176: hashicorp.vagrant.TokenTransport.MetadataEntry (*Token_Entrypoint)(nil), // 177: hashicorp.vagrant.Token.Entrypoint (*CreateSnapshotResponse_Open)(nil), // 178: hashicorp.vagrant.CreateSnapshotResponse.Open (*RestoreSnapshotRequest_Open)(nil), // 179: hashicorp.vagrant.RestoreSnapshotRequest.Open (*Snapshot_Header)(nil), // 180: hashicorp.vagrant.Snapshot.Header (*Snapshot_Trailer)(nil), // 181: hashicorp.vagrant.Snapshot.Trailer (*Snapshot_BoltChunk)(nil), // 182: hashicorp.vagrant.Snapshot.BoltChunk nil, // 183: hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry nil, // 184: hashicorp.vagrant.Task.LabelsEntry (*vagrant_plugin_sdk.Args_DataDir_Machine)(nil), // 185: hashicorp.vagrant.sdk.Args.DataDir.Machine (*vagrant_plugin_sdk.Args_Box)(nil), // 186: hashicorp.vagrant.sdk.Args.Box (*vagrant_plugin_sdk.Args_MachineState)(nil), // 187: hashicorp.vagrant.sdk.Args.MachineState (*status.Status)(nil), // 188: google.rpc.Status (*timestamp.Timestamp)(nil), // 189: google.protobuf.Timestamp (*vagrant_plugin_sdk.Command_Arguments)(nil), // 190: hashicorp.vagrant.sdk.Command.Arguments (*empty.Empty)(nil), // 191: google.protobuf.Empty >>>>>>> Setup Vagrantfile refs } var file_proto_vagrant_server_server_proto_depIdxs = []int32{ 11, // 0: hashicorp.vagrant.GetVersionInfoResponse.info:type_name -> hashicorp.vagrant.VersionInfo 97, // 1: hashicorp.vagrant.VersionInfo.api:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion 97, // 2: hashicorp.vagrant.VersionInfo.entrypoint:type_name -> hashicorp.vagrant.VersionInfo.ProtocolVersion <<<<<<< HEAD 182, // 3: hashicorp.vagrant.Basis.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project 183, // 4: hashicorp.vagrant.Basis.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 184, // 5: hashicorp.vagrant.Basis.configuration:type_name -> google.protobuf.Any 111, // 6: hashicorp.vagrant.Basis.data_source:type_name -> hashicorp.vagrant.Job.DataSource 185, // 7: hashicorp.vagrant.Project.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target 186, // 8: hashicorp.vagrant.Project.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 183, // 9: hashicorp.vagrant.Project.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 184, // 10: hashicorp.vagrant.Project.configuration:type_name -> google.protobuf.Any 111, // 11: hashicorp.vagrant.Project.data_source:type_name -> hashicorp.vagrant.Job.DataSource 187, // 12: hashicorp.vagrant.Target.datadir:type_name -> hashicorp.vagrant.sdk.Args.DataDir.Target 182, // 13: hashicorp.vagrant.Target.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 2, // 14: hashicorp.vagrant.Target.state:type_name -> hashicorp.vagrant.Operation.PhysicalState 14, // 15: hashicorp.vagrant.Target.subtargets:type_name -> hashicorp.vagrant.Target 14, // 16: hashicorp.vagrant.Target.parent:type_name -> hashicorp.vagrant.Target 183, // 17: hashicorp.vagrant.Target.metadata:type_name -> hashicorp.vagrant.sdk.Args.MetadataSet 184, // 18: hashicorp.vagrant.Target.configuration:type_name -> google.protobuf.Any 184, // 19: hashicorp.vagrant.Target.record:type_name -> google.protobuf.Any 111, // 20: hashicorp.vagrant.Target.data_source:type_name -> hashicorp.vagrant.Job.DataSource 0, // 21: hashicorp.vagrant.Component.type:type_name -> hashicorp.vagrant.Component.Type 1, // 22: hashicorp.vagrant.Status.state:type_name -> hashicorp.vagrant.Status.State 188, // 23: hashicorp.vagrant.Status.error:type_name -> google.rpc.Status 189, // 24: hashicorp.vagrant.Status.start_time:type_name -> google.protobuf.Timestamp 189, // 25: hashicorp.vagrant.Status.complete_time:type_name -> google.protobuf.Timestamp 107, // 26: hashicorp.vagrant.StatusFilter.filters:type_name -> hashicorp.vagrant.StatusFilter.Filter 3, // 27: hashicorp.vagrant.OperationOrder.order:type_name -> hashicorp.vagrant.OperationOrder.Order 26, // 28: hashicorp.vagrant.QueueJobRequest.job:type_name -> hashicorp.vagrant.Job 26, // 29: hashicorp.vagrant.ValidateJobRequest.job:type_name -> hashicorp.vagrant.Job 188, // 30: hashicorp.vagrant.ValidateJobResponse.validation_error:type_name -> google.rpc.Status 186, // 31: hashicorp.vagrant.Job.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 182, // 32: hashicorp.vagrant.Job.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 185, // 33: hashicorp.vagrant.Job.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 104, // 34: hashicorp.vagrant.Job.target_runner:type_name -> hashicorp.vagrant.Ref.Runner 108, // 35: hashicorp.vagrant.Job.labels:type_name -> hashicorp.vagrant.Job.LabelsEntry 111, // 36: hashicorp.vagrant.Job.data_source:type_name -> hashicorp.vagrant.Job.DataSource 109, // 37: hashicorp.vagrant.Job.data_source_overrides:type_name -> hashicorp.vagrant.Job.DataSourceOverridesEntry 114, // 38: hashicorp.vagrant.Job.noop:type_name -> hashicorp.vagrant.Job.Noop 125, // 39: hashicorp.vagrant.Job.auth:type_name -> hashicorp.vagrant.Job.AuthOp 127, // 40: hashicorp.vagrant.Job.docs:type_name -> hashicorp.vagrant.Job.DocsOp 115, // 41: hashicorp.vagrant.Job.validate:type_name -> hashicorp.vagrant.Job.ValidateOp 123, // 42: hashicorp.vagrant.Job.run:type_name -> hashicorp.vagrant.Job.RunOp 117, // 43: hashicorp.vagrant.Job.init:type_name -> hashicorp.vagrant.Job.InitOp 4, // 44: hashicorp.vagrant.Job.state:type_name -> hashicorp.vagrant.Job.State 105, // 45: hashicorp.vagrant.Job.assigned_runner:type_name -> hashicorp.vagrant.Ref.RunnerId 189, // 46: hashicorp.vagrant.Job.queue_time:type_name -> google.protobuf.Timestamp 189, // 47: hashicorp.vagrant.Job.assign_time:type_name -> google.protobuf.Timestamp 189, // 48: hashicorp.vagrant.Job.ack_time:type_name -> google.protobuf.Timestamp 189, // 49: hashicorp.vagrant.Job.complete_time:type_name -> google.protobuf.Timestamp 188, // 50: hashicorp.vagrant.Job.error:type_name -> google.rpc.Status 110, // 51: hashicorp.vagrant.Job.result:type_name -> hashicorp.vagrant.Job.Result 189, // 52: hashicorp.vagrant.Job.cancel_time:type_name -> google.protobuf.Timestamp 189, // 53: hashicorp.vagrant.Job.expire_time:type_name -> google.protobuf.Timestamp 131, // 54: hashicorp.vagrant.Documentation.fields:type_name -> hashicorp.vagrant.Documentation.FieldsEntry 133, // 55: hashicorp.vagrant.Documentation.mappers:type_name -> hashicorp.vagrant.Documentation.Mapper 26, // 56: hashicorp.vagrant.ListJobsResponse.jobs:type_name -> hashicorp.vagrant.Job 134, // 57: hashicorp.vagrant.GetJobStreamResponse.open:type_name -> hashicorp.vagrant.GetJobStreamResponse.Open 135, // 58: hashicorp.vagrant.GetJobStreamResponse.state:type_name -> hashicorp.vagrant.GetJobStreamResponse.State 136, // 59: hashicorp.vagrant.GetJobStreamResponse.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 137, // 60: hashicorp.vagrant.GetJobStreamResponse.error:type_name -> hashicorp.vagrant.GetJobStreamResponse.Error 138, // 61: hashicorp.vagrant.GetJobStreamResponse.complete:type_name -> hashicorp.vagrant.GetJobStreamResponse.Complete 16, // 62: hashicorp.vagrant.Runner.components:type_name -> hashicorp.vagrant.Component 150, // 63: hashicorp.vagrant.RunnerConfigRequest.open:type_name -> hashicorp.vagrant.RunnerConfigRequest.Open 36, // 64: hashicorp.vagrant.RunnerConfigResponse.config:type_name -> hashicorp.vagrant.RunnerConfig 68, // 65: hashicorp.vagrant.RunnerConfig.config_vars:type_name -> hashicorp.vagrant.ConfigVar 151, // 66: hashicorp.vagrant.RunnerJobStreamRequest.request:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Request 152, // 67: hashicorp.vagrant.RunnerJobStreamRequest.ack:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Ack 153, // 68: hashicorp.vagrant.RunnerJobStreamRequest.complete:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Complete 154, // 69: hashicorp.vagrant.RunnerJobStreamRequest.error:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Error 136, // 70: hashicorp.vagrant.RunnerJobStreamRequest.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 155, // 71: hashicorp.vagrant.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat 156, // 72: hashicorp.vagrant.RunnerJobStreamResponse.assignment:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment 157, // 73: hashicorp.vagrant.RunnerJobStreamResponse.cancel:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobCancel 44, // 74: hashicorp.vagrant.SetServerConfigRequest.config:type_name -> hashicorp.vagrant.ServerConfig 44, // 75: hashicorp.vagrant.GetServerConfigResponse.config:type_name -> hashicorp.vagrant.ServerConfig 158, // 76: hashicorp.vagrant.ServerConfig.advertise_addrs:type_name -> hashicorp.vagrant.ServerConfig.AdvertiseAddr 12, // 77: hashicorp.vagrant.UpsertBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 12, // 78: hashicorp.vagrant.UpsertBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 186, // 79: hashicorp.vagrant.GetBasisRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 12, // 80: hashicorp.vagrant.GetBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 12, // 81: hashicorp.vagrant.FindBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 12, // 82: hashicorp.vagrant.FindBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 186, // 83: hashicorp.vagrant.ListBasisResponse.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 13, // 84: hashicorp.vagrant.UpsertProjectRequest.project:type_name -> hashicorp.vagrant.Project 13, // 85: hashicorp.vagrant.UpsertProjectResponse.project:type_name -> hashicorp.vagrant.Project 182, // 86: hashicorp.vagrant.GetProjectRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 13, // 87: hashicorp.vagrant.GetProjectResponse.project:type_name -> hashicorp.vagrant.Project 13, // 88: hashicorp.vagrant.FindProjectRequest.project:type_name -> hashicorp.vagrant.Project 13, // 89: hashicorp.vagrant.FindProjectResponse.project:type_name -> hashicorp.vagrant.Project 182, // 90: hashicorp.vagrant.ListProjectsResponse.projects:type_name -> hashicorp.vagrant.sdk.Ref.Project 182, // 91: hashicorp.vagrant.UpsertTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 14, // 92: hashicorp.vagrant.UpsertTargetRequest.target:type_name -> hashicorp.vagrant.Target 14, // 93: hashicorp.vagrant.UpsertTargetResponse.target:type_name -> hashicorp.vagrant.Target 182, // 94: hashicorp.vagrant.GetTargetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 185, // 95: hashicorp.vagrant.GetTargetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 14, // 96: hashicorp.vagrant.GetTargetResponse.target:type_name -> hashicorp.vagrant.Target 14, // 97: hashicorp.vagrant.FindTargetRequest.target:type_name -> hashicorp.vagrant.Target 14, // 98: hashicorp.vagrant.FindTargetResponse.target:type_name -> hashicorp.vagrant.Target 185, // 99: hashicorp.vagrant.ListTargetsResponse.targets:type_name -> hashicorp.vagrant.sdk.Ref.Target 186, // 100: hashicorp.vagrant.GetLogStreamRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 182, // 101: hashicorp.vagrant.GetLogStreamRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 185, // 102: hashicorp.vagrant.GetLogStreamRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 159, // 103: hashicorp.vagrant.LogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 185, // 104: hashicorp.vagrant.ConfigVar.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 105: hashicorp.vagrant.ConfigVar.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 104, // 106: hashicorp.vagrant.ConfigVar.runner:type_name -> hashicorp.vagrant.Ref.Runner 68, // 107: hashicorp.vagrant.ConfigSetRequest.variables:type_name -> hashicorp.vagrant.ConfigVar 185, // 108: hashicorp.vagrant.ConfigGetRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 109: hashicorp.vagrant.ConfigGetRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 105, // 110: hashicorp.vagrant.ConfigGetRequest.runner:type_name -> hashicorp.vagrant.Ref.RunnerId 68, // 111: hashicorp.vagrant.ConfigGetResponse.variables:type_name -> hashicorp.vagrant.ConfigVar 160, // 112: hashicorp.vagrant.ExecStreamRequest.start:type_name -> hashicorp.vagrant.ExecStreamRequest.Start 161, // 113: hashicorp.vagrant.ExecStreamRequest.input:type_name -> hashicorp.vagrant.ExecStreamRequest.Input 163, // 114: hashicorp.vagrant.ExecStreamRequest.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 164, // 115: hashicorp.vagrant.ExecStreamResponse.open:type_name -> hashicorp.vagrant.ExecStreamResponse.Open 166, // 116: hashicorp.vagrant.ExecStreamResponse.output:type_name -> hashicorp.vagrant.ExecStreamResponse.Output 165, // 117: hashicorp.vagrant.ExecStreamResponse.exit:type_name -> hashicorp.vagrant.ExecStreamResponse.Exit 77, // 118: hashicorp.vagrant.EntrypointConfigResponse.config:type_name -> hashicorp.vagrant.EntrypointConfig 167, // 119: hashicorp.vagrant.EntrypointConfig.exec:type_name -> hashicorp.vagrant.EntrypointConfig.Exec 68, // 120: hashicorp.vagrant.EntrypointConfig.env_vars:type_name -> hashicorp.vagrant.ConfigVar 168, // 121: hashicorp.vagrant.EntrypointConfig.url_service:type_name -> hashicorp.vagrant.EntrypointConfig.URLService 159, // 122: hashicorp.vagrant.EntrypointLogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 169, // 123: hashicorp.vagrant.EntrypointExecRequest.open:type_name -> hashicorp.vagrant.EntrypointExecRequest.Open 170, // 124: hashicorp.vagrant.EntrypointExecRequest.exit:type_name -> hashicorp.vagrant.EntrypointExecRequest.Exit 171, // 125: hashicorp.vagrant.EntrypointExecRequest.output:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output 172, // 126: hashicorp.vagrant.EntrypointExecRequest.error:type_name -> hashicorp.vagrant.EntrypointExecRequest.Error 163, // 127: hashicorp.vagrant.EntrypointExecResponse.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 173, // 128: hashicorp.vagrant.TokenTransport.metadata:type_name -> hashicorp.vagrant.TokenTransport.MetadataEntry 189, // 129: hashicorp.vagrant.Token.valid_until:type_name -> google.protobuf.Timestamp 174, // 130: hashicorp.vagrant.Token.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 174, // 131: hashicorp.vagrant.InviteTokenRequest.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 175, // 132: hashicorp.vagrant.CreateSnapshotResponse.open:type_name -> hashicorp.vagrant.CreateSnapshotResponse.Open 176, // 133: hashicorp.vagrant.RestoreSnapshotRequest.open:type_name -> hashicorp.vagrant.RestoreSnapshotRequest.Open 96, // 134: hashicorp.vagrant.UpsertTaskRequest.task:type_name -> hashicorp.vagrant.Task 96, // 135: hashicorp.vagrant.UpsertTaskResponse.task:type_name -> hashicorp.vagrant.Task 185, // 136: hashicorp.vagrant.GetLatestTaskRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 137: hashicorp.vagrant.GetLatestTaskRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 186, // 138: hashicorp.vagrant.GetLatestTaskRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 185, // 139: hashicorp.vagrant.ListTasksRequest.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 140: hashicorp.vagrant.ListTasksRequest.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 186, // 141: hashicorp.vagrant.ListTasksRequest.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 18, // 142: hashicorp.vagrant.ListTasksRequest.status:type_name -> hashicorp.vagrant.StatusFilter 2, // 143: hashicorp.vagrant.ListTasksRequest.physical_state:type_name -> hashicorp.vagrant.Operation.PhysicalState 20, // 144: hashicorp.vagrant.ListTasksRequest.order:type_name -> hashicorp.vagrant.OperationOrder 96, // 145: hashicorp.vagrant.ListTasksResponse.tasks:type_name -> hashicorp.vagrant.Task 100, // 146: hashicorp.vagrant.GetTaskRequest.ref:type_name -> hashicorp.vagrant.Ref.Operation 185, // 147: hashicorp.vagrant.Task.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 148: hashicorp.vagrant.Task.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 186, // 149: hashicorp.vagrant.Task.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 17, // 150: hashicorp.vagrant.Task.status:type_name -> hashicorp.vagrant.Status 2, // 151: hashicorp.vagrant.Task.state:type_name -> hashicorp.vagrant.Operation.PhysicalState 16, // 152: hashicorp.vagrant.Task.component:type_name -> hashicorp.vagrant.Component 181, // 153: hashicorp.vagrant.Task.labels:type_name -> hashicorp.vagrant.Task.LabelsEntry 190, // 154: hashicorp.vagrant.Task.cli_args:type_name -> hashicorp.vagrant.sdk.Command.Arguments 191, // 155: hashicorp.vagrant.Target.Machine.box:type_name -> hashicorp.vagrant.sdk.Args.Target.Machine.Box 192, // 156: hashicorp.vagrant.Target.Machine.state:type_name -> hashicorp.vagrant.sdk.Args.Target.Machine.State 2, // 157: hashicorp.vagrant.Target.Machine.physical_state:type_name -> hashicorp.vagrant.Operation.PhysicalState 0, // 158: hashicorp.vagrant.Ref.Component.type:type_name -> hashicorp.vagrant.Component.Type 101, // 159: hashicorp.vagrant.Ref.Operation.target_sequence:type_name -> hashicorp.vagrant.Ref.TargetOperationSeq 102, // 160: hashicorp.vagrant.Ref.Operation.project_sequence:type_name -> hashicorp.vagrant.Ref.ProjectOperationSeq 103, // 161: hashicorp.vagrant.Ref.Operation.basis_sequence:type_name -> hashicorp.vagrant.Ref.BasisOperationSeq 185, // 162: hashicorp.vagrant.Ref.TargetOperationSeq.target:type_name -> hashicorp.vagrant.sdk.Ref.Target 182, // 163: hashicorp.vagrant.Ref.ProjectOperationSeq.project:type_name -> hashicorp.vagrant.sdk.Ref.Project 186, // 164: hashicorp.vagrant.Ref.BasisOperationSeq.basis:type_name -> hashicorp.vagrant.sdk.Ref.Basis 106, // 165: hashicorp.vagrant.Ref.Runner.any:type_name -> hashicorp.vagrant.Ref.RunnerAny 105, // 166: hashicorp.vagrant.Ref.Runner.id:type_name -> hashicorp.vagrant.Ref.RunnerId 1, // 167: hashicorp.vagrant.StatusFilter.Filter.state:type_name -> hashicorp.vagrant.Status.State 126, // 168: hashicorp.vagrant.Job.Result.auth:type_name -> hashicorp.vagrant.Job.AuthResult 128, // 169: hashicorp.vagrant.Job.Result.docs:type_name -> hashicorp.vagrant.Job.DocsResult 116, // 170: hashicorp.vagrant.Job.Result.validate:type_name -> hashicorp.vagrant.Job.ValidateResult 118, // 171: hashicorp.vagrant.Job.Result.init:type_name -> hashicorp.vagrant.Job.InitResult 124, // 172: hashicorp.vagrant.Job.Result.run:type_name -> hashicorp.vagrant.Job.RunResult 112, // 173: hashicorp.vagrant.Job.DataSource.local:type_name -> hashicorp.vagrant.Job.Local 113, // 174: hashicorp.vagrant.Job.DataSource.git:type_name -> hashicorp.vagrant.Job.Git 119, // 175: hashicorp.vagrant.Job.InitResult.actions:type_name -> hashicorp.vagrant.Job.Action 122, // 176: hashicorp.vagrant.Job.InitResult.commands:type_name -> hashicorp.vagrant.Job.Command 120, // 177: hashicorp.vagrant.Job.InitResult.hooks:type_name -> hashicorp.vagrant.Job.Hook 5, // 178: hashicorp.vagrant.Job.Hook.location:type_name -> hashicorp.vagrant.Job.Hook.Location 6, // 179: hashicorp.vagrant.Job.Flag.type:type_name -> hashicorp.vagrant.Job.Flag.Type 121, // 180: hashicorp.vagrant.Job.Command.flags:type_name -> hashicorp.vagrant.Job.Flag 122, // 181: hashicorp.vagrant.Job.Command.subcommands:type_name -> hashicorp.vagrant.Job.Command 96, // 182: hashicorp.vagrant.Job.RunOp.task:type_name -> hashicorp.vagrant.Task 96, // 183: hashicorp.vagrant.Job.RunResult.task:type_name -> hashicorp.vagrant.Task 188, // 184: hashicorp.vagrant.Job.RunResult.run_error:type_name -> google.rpc.Status 99, // 185: hashicorp.vagrant.Job.AuthOp.component:type_name -> hashicorp.vagrant.Ref.Component 129, // 186: hashicorp.vagrant.Job.AuthResult.results:type_name -> hashicorp.vagrant.Job.AuthResult.Result 130, // 187: hashicorp.vagrant.Job.DocsResult.results:type_name -> hashicorp.vagrant.Job.DocsResult.Result 16, // 188: hashicorp.vagrant.Job.AuthResult.Result.component:type_name -> hashicorp.vagrant.Component 188, // 189: hashicorp.vagrant.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status 188, // 190: hashicorp.vagrant.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status 16, // 191: hashicorp.vagrant.Job.DocsResult.Result.component:type_name -> hashicorp.vagrant.Component 27, // 192: hashicorp.vagrant.Job.DocsResult.Result.docs:type_name -> hashicorp.vagrant.Documentation 132, // 193: hashicorp.vagrant.Documentation.FieldsEntry.value:type_name -> hashicorp.vagrant.Documentation.Field 4, // 194: hashicorp.vagrant.GetJobStreamResponse.State.previous:type_name -> hashicorp.vagrant.Job.State 4, // 195: hashicorp.vagrant.GetJobStreamResponse.State.current:type_name -> hashicorp.vagrant.Job.State 26, // 196: hashicorp.vagrant.GetJobStreamResponse.State.job:type_name -> hashicorp.vagrant.Job 139, // 197: hashicorp.vagrant.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event 188, // 198: hashicorp.vagrant.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status 188, // 199: hashicorp.vagrant.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status 110, // 200: hashicorp.vagrant.GetJobStreamResponse.Complete.result:type_name -> hashicorp.vagrant.Job.Result 189, // 201: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp 141, // 202: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line 140, // 203: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status 144, // 204: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues 142, // 205: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw 147, // 206: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table 148, // 207: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup 149, // 208: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step 143, // 209: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue 145, // 210: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry 146, // 211: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow 33, // 212: hashicorp.vagrant.RunnerConfigRequest.Open.runner:type_name -> hashicorp.vagrant.Runner 110, // 213: hashicorp.vagrant.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.vagrant.Job.Result 188, // 214: hashicorp.vagrant.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status 26, // 215: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.vagrant.Job 189, // 216: hashicorp.vagrant.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp 162, // 217: hashicorp.vagrant.ExecStreamRequest.Start.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 163, // 218: hashicorp.vagrant.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 7, // 219: hashicorp.vagrant.ExecStreamResponse.Output.channel:type_name -> hashicorp.vagrant.ExecStreamResponse.Output.Channel 162, // 220: hashicorp.vagrant.EntrypointConfig.Exec.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 8, // 221: hashicorp.vagrant.EntrypointExecRequest.Output.channel:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output.Channel 188, // 222: hashicorp.vagrant.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status 11, // 223: hashicorp.vagrant.Snapshot.Header.version:type_name -> hashicorp.vagrant.VersionInfo 9, // 224: hashicorp.vagrant.Snapshot.Header.format:type_name -> hashicorp.vagrant.Snapshot.Header.Format 180, // 225: hashicorp.vagrant.Snapshot.BoltChunk.items:type_name -> hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry 193, // 226: hashicorp.vagrant.Vagrant.GetVersionInfo:input_type -> google.protobuf.Empty 45, // 227: hashicorp.vagrant.Vagrant.UpsertBasis:input_type -> hashicorp.vagrant.UpsertBasisRequest 47, // 228: hashicorp.vagrant.Vagrant.GetBasis:input_type -> hashicorp.vagrant.GetBasisRequest 49, // 229: hashicorp.vagrant.Vagrant.FindBasis:input_type -> hashicorp.vagrant.FindBasisRequest 193, // 230: hashicorp.vagrant.Vagrant.ListBasis:input_type -> google.protobuf.Empty 93, // 231: hashicorp.vagrant.Vagrant.ListTasks:input_type -> hashicorp.vagrant.ListTasksRequest 95, // 232: hashicorp.vagrant.Vagrant.GetTask:input_type -> hashicorp.vagrant.GetTaskRequest 92, // 233: hashicorp.vagrant.Vagrant.GetLatestTask:input_type -> hashicorp.vagrant.GetLatestTaskRequest 90, // 234: hashicorp.vagrant.Vagrant.UpsertTask:input_type -> hashicorp.vagrant.UpsertTaskRequest 52, // 235: hashicorp.vagrant.Vagrant.UpsertProject:input_type -> hashicorp.vagrant.UpsertProjectRequest 54, // 236: hashicorp.vagrant.Vagrant.GetProject:input_type -> hashicorp.vagrant.GetProjectRequest 56, // 237: hashicorp.vagrant.Vagrant.FindProject:input_type -> hashicorp.vagrant.FindProjectRequest 193, // 238: hashicorp.vagrant.Vagrant.ListProjects:input_type -> google.protobuf.Empty 59, // 239: hashicorp.vagrant.Vagrant.UpsertTarget:input_type -> hashicorp.vagrant.UpsertTargetRequest 61, // 240: hashicorp.vagrant.Vagrant.GetTarget:input_type -> hashicorp.vagrant.GetTargetRequest 63, // 241: hashicorp.vagrant.Vagrant.FindTarget:input_type -> hashicorp.vagrant.FindTargetRequest 193, // 242: hashicorp.vagrant.Vagrant.ListTargets:input_type -> google.protobuf.Empty 66, // 243: hashicorp.vagrant.Vagrant.GetLogStream:input_type -> hashicorp.vagrant.GetLogStreamRequest 69, // 244: hashicorp.vagrant.Vagrant.SetConfig:input_type -> hashicorp.vagrant.ConfigSetRequest 71, // 245: hashicorp.vagrant.Vagrant.GetConfig:input_type -> hashicorp.vagrant.ConfigGetRequest 21, // 246: hashicorp.vagrant.Vagrant.QueueJob:input_type -> hashicorp.vagrant.QueueJobRequest 23, // 247: hashicorp.vagrant.Vagrant.CancelJob:input_type -> hashicorp.vagrant.CancelJobRequest 28, // 248: hashicorp.vagrant.Vagrant.GetJob:input_type -> hashicorp.vagrant.GetJobRequest 29, // 249: hashicorp.vagrant.Vagrant._ListJobs:input_type -> hashicorp.vagrant.ListJobsRequest 24, // 250: hashicorp.vagrant.Vagrant.ValidateJob:input_type -> hashicorp.vagrant.ValidateJobRequest 31, // 251: hashicorp.vagrant.Vagrant.GetJobStream:input_type -> hashicorp.vagrant.GetJobStreamRequest 41, // 252: hashicorp.vagrant.Vagrant.GetRunner:input_type -> hashicorp.vagrant.GetRunnerRequest 193, // 253: hashicorp.vagrant.Vagrant.GetServerConfig:input_type -> google.protobuf.Empty 42, // 254: hashicorp.vagrant.Vagrant.SetServerConfig:input_type -> hashicorp.vagrant.SetServerConfigRequest 193, // 255: hashicorp.vagrant.Vagrant.CreateSnapshot:input_type -> google.protobuf.Empty 88, // 256: hashicorp.vagrant.Vagrant.RestoreSnapshot:input_type -> hashicorp.vagrant.RestoreSnapshotRequest 193, // 257: hashicorp.vagrant.Vagrant.BootstrapToken:input_type -> google.protobuf.Empty 84, // 258: hashicorp.vagrant.Vagrant.GenerateInviteToken:input_type -> hashicorp.vagrant.InviteTokenRequest 193, // 259: hashicorp.vagrant.Vagrant.GenerateLoginToken:input_type -> google.protobuf.Empty 86, // 260: hashicorp.vagrant.Vagrant.ConvertInviteToken:input_type -> hashicorp.vagrant.ConvertInviteTokenRequest 34, // 261: hashicorp.vagrant.Vagrant.RunnerConfig:input_type -> hashicorp.vagrant.RunnerConfigRequest 37, // 262: hashicorp.vagrant.Vagrant.RunnerJobStream:input_type -> hashicorp.vagrant.RunnerJobStreamRequest 10, // 263: hashicorp.vagrant.Vagrant.GetVersionInfo:output_type -> hashicorp.vagrant.GetVersionInfoResponse 46, // 264: hashicorp.vagrant.Vagrant.UpsertBasis:output_type -> hashicorp.vagrant.UpsertBasisResponse 48, // 265: hashicorp.vagrant.Vagrant.GetBasis:output_type -> hashicorp.vagrant.GetBasisResponse 50, // 266: hashicorp.vagrant.Vagrant.FindBasis:output_type -> hashicorp.vagrant.FindBasisResponse 51, // 267: hashicorp.vagrant.Vagrant.ListBasis:output_type -> hashicorp.vagrant.ListBasisResponse 94, // 268: hashicorp.vagrant.Vagrant.ListTasks:output_type -> hashicorp.vagrant.ListTasksResponse 96, // 269: hashicorp.vagrant.Vagrant.GetTask:output_type -> hashicorp.vagrant.Task 96, // 270: hashicorp.vagrant.Vagrant.GetLatestTask:output_type -> hashicorp.vagrant.Task 91, // 271: hashicorp.vagrant.Vagrant.UpsertTask:output_type -> hashicorp.vagrant.UpsertTaskResponse 53, // 272: hashicorp.vagrant.Vagrant.UpsertProject:output_type -> hashicorp.vagrant.UpsertProjectResponse 55, // 273: hashicorp.vagrant.Vagrant.GetProject:output_type -> hashicorp.vagrant.GetProjectResponse 57, // 274: hashicorp.vagrant.Vagrant.FindProject:output_type -> hashicorp.vagrant.FindProjectResponse 58, // 275: hashicorp.vagrant.Vagrant.ListProjects:output_type -> hashicorp.vagrant.ListProjectsResponse 60, // 276: hashicorp.vagrant.Vagrant.UpsertTarget:output_type -> hashicorp.vagrant.UpsertTargetResponse 62, // 277: hashicorp.vagrant.Vagrant.GetTarget:output_type -> hashicorp.vagrant.GetTargetResponse 64, // 278: hashicorp.vagrant.Vagrant.FindTarget:output_type -> hashicorp.vagrant.FindTargetResponse 65, // 279: hashicorp.vagrant.Vagrant.ListTargets:output_type -> hashicorp.vagrant.ListTargetsResponse 67, // 280: hashicorp.vagrant.Vagrant.GetLogStream:output_type -> hashicorp.vagrant.LogBatch 70, // 281: hashicorp.vagrant.Vagrant.SetConfig:output_type -> hashicorp.vagrant.ConfigSetResponse 72, // 282: hashicorp.vagrant.Vagrant.GetConfig:output_type -> hashicorp.vagrant.ConfigGetResponse 22, // 283: hashicorp.vagrant.Vagrant.QueueJob:output_type -> hashicorp.vagrant.QueueJobResponse 193, // 284: hashicorp.vagrant.Vagrant.CancelJob:output_type -> google.protobuf.Empty 26, // 285: hashicorp.vagrant.Vagrant.GetJob:output_type -> hashicorp.vagrant.Job 30, // 286: hashicorp.vagrant.Vagrant._ListJobs:output_type -> hashicorp.vagrant.ListJobsResponse 25, // 287: hashicorp.vagrant.Vagrant.ValidateJob:output_type -> hashicorp.vagrant.ValidateJobResponse 32, // 288: hashicorp.vagrant.Vagrant.GetJobStream:output_type -> hashicorp.vagrant.GetJobStreamResponse 33, // 289: hashicorp.vagrant.Vagrant.GetRunner:output_type -> hashicorp.vagrant.Runner 43, // 290: hashicorp.vagrant.Vagrant.GetServerConfig:output_type -> hashicorp.vagrant.GetServerConfigResponse 193, // 291: hashicorp.vagrant.Vagrant.SetServerConfig:output_type -> google.protobuf.Empty 87, // 292: hashicorp.vagrant.Vagrant.CreateSnapshot:output_type -> hashicorp.vagrant.CreateSnapshotResponse 193, // 293: hashicorp.vagrant.Vagrant.RestoreSnapshot:output_type -> google.protobuf.Empty 85, // 294: hashicorp.vagrant.Vagrant.BootstrapToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 295: hashicorp.vagrant.Vagrant.GenerateInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 296: hashicorp.vagrant.Vagrant.GenerateLoginToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 297: hashicorp.vagrant.Vagrant.ConvertInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 35, // 298: hashicorp.vagrant.Vagrant.RunnerConfig:output_type -> hashicorp.vagrant.RunnerConfigResponse 38, // 299: hashicorp.vagrant.Vagrant.RunnerJobStream:output_type -> hashicorp.vagrant.RunnerJobStreamResponse 263, // [263:300] is the sub-list for method output_type 226, // [226:263] is the sub-list for method input_type 226, // [226:226] is the sub-list for extension type_name 226, // [226:226] is the sub-list for extension extendee 0, // [0:226] is the sub-list for field type_name ======= 99, // 3: hashicorp.vagrant.Basis.projects:type_name -> hashicorp.vagrant.Ref.Project 114, // 4: hashicorp.vagrant.Basis.data_source:type_name -> hashicorp.vagrant.Job.DataSource 98, // 5: hashicorp.vagrant.Project.machines:type_name -> hashicorp.vagrant.Ref.Machine 100, // 6: hashicorp.vagrant.Project.basis:type_name -> hashicorp.vagrant.Ref.Basis 114, // 7: hashicorp.vagrant.Project.data_source:type_name -> hashicorp.vagrant.Job.DataSource 185, // 8: hashicorp.vagrant.Machine.datadir:type_name -> hashicorp.vagrant.sdk.Args.DataDir.Machine 99, // 9: hashicorp.vagrant.Machine.project:type_name -> hashicorp.vagrant.Ref.Project 17, // 10: hashicorp.vagrant.Machine.status:type_name -> hashicorp.vagrant.Status 186, // 11: hashicorp.vagrant.Machine.box:type_name -> hashicorp.vagrant.sdk.Args.Box 187, // 12: hashicorp.vagrant.Machine.state:type_name -> hashicorp.vagrant.sdk.Args.MachineState 2, // 13: hashicorp.vagrant.Machine.physical_state:type_name -> hashicorp.vagrant.Operation.PhysicalState 114, // 14: hashicorp.vagrant.Machine.data_source:type_name -> hashicorp.vagrant.Job.DataSource 0, // 15: hashicorp.vagrant.Component.type:type_name -> hashicorp.vagrant.Component.Type 1, // 16: hashicorp.vagrant.Status.state:type_name -> hashicorp.vagrant.Status.State 188, // 17: hashicorp.vagrant.Status.error:type_name -> google.rpc.Status 189, // 18: hashicorp.vagrant.Status.start_time:type_name -> google.protobuf.Timestamp 189, // 19: hashicorp.vagrant.Status.complete_time:type_name -> google.protobuf.Timestamp 110, // 20: hashicorp.vagrant.StatusFilter.filters:type_name -> hashicorp.vagrant.StatusFilter.Filter 3, // 21: hashicorp.vagrant.OperationOrder.order:type_name -> hashicorp.vagrant.OperationOrder.Order 26, // 22: hashicorp.vagrant.QueueJobRequest.job:type_name -> hashicorp.vagrant.Job 26, // 23: hashicorp.vagrant.ValidateJobRequest.job:type_name -> hashicorp.vagrant.Job 188, // 24: hashicorp.vagrant.ValidateJobResponse.validation_error:type_name -> google.rpc.Status 100, // 25: hashicorp.vagrant.Job.basis:type_name -> hashicorp.vagrant.Ref.Basis 99, // 26: hashicorp.vagrant.Job.project:type_name -> hashicorp.vagrant.Ref.Project 98, // 27: hashicorp.vagrant.Job.machine:type_name -> hashicorp.vagrant.Ref.Machine 106, // 28: hashicorp.vagrant.Job.target_runner:type_name -> hashicorp.vagrant.Ref.Runner 111, // 29: hashicorp.vagrant.Job.labels:type_name -> hashicorp.vagrant.Job.LabelsEntry 114, // 30: hashicorp.vagrant.Job.data_source:type_name -> hashicorp.vagrant.Job.DataSource 112, // 31: hashicorp.vagrant.Job.data_source_overrides:type_name -> hashicorp.vagrant.Job.DataSourceOverridesEntry 117, // 32: hashicorp.vagrant.Job.noop:type_name -> hashicorp.vagrant.Job.Noop 128, // 33: hashicorp.vagrant.Job.auth:type_name -> hashicorp.vagrant.Job.AuthOp 130, // 34: hashicorp.vagrant.Job.docs:type_name -> hashicorp.vagrant.Job.DocsOp 118, // 35: hashicorp.vagrant.Job.validate:type_name -> hashicorp.vagrant.Job.ValidateOp 126, // 36: hashicorp.vagrant.Job.run:type_name -> hashicorp.vagrant.Job.RunOp 120, // 37: hashicorp.vagrant.Job.init:type_name -> hashicorp.vagrant.Job.InitOp 4, // 38: hashicorp.vagrant.Job.state:type_name -> hashicorp.vagrant.Job.State 107, // 39: hashicorp.vagrant.Job.assigned_runner:type_name -> hashicorp.vagrant.Ref.RunnerId 189, // 40: hashicorp.vagrant.Job.queue_time:type_name -> google.protobuf.Timestamp 189, // 41: hashicorp.vagrant.Job.assign_time:type_name -> google.protobuf.Timestamp 189, // 42: hashicorp.vagrant.Job.ack_time:type_name -> google.protobuf.Timestamp 189, // 43: hashicorp.vagrant.Job.complete_time:type_name -> google.protobuf.Timestamp 188, // 44: hashicorp.vagrant.Job.error:type_name -> google.rpc.Status 113, // 45: hashicorp.vagrant.Job.result:type_name -> hashicorp.vagrant.Job.Result 189, // 46: hashicorp.vagrant.Job.cancel_time:type_name -> google.protobuf.Timestamp 189, // 47: hashicorp.vagrant.Job.expire_time:type_name -> google.protobuf.Timestamp 134, // 48: hashicorp.vagrant.Documentation.fields:type_name -> hashicorp.vagrant.Documentation.FieldsEntry 136, // 49: hashicorp.vagrant.Documentation.mappers:type_name -> hashicorp.vagrant.Documentation.Mapper 26, // 50: hashicorp.vagrant.ListJobsResponse.jobs:type_name -> hashicorp.vagrant.Job 137, // 51: hashicorp.vagrant.GetJobStreamResponse.open:type_name -> hashicorp.vagrant.GetJobStreamResponse.Open 138, // 52: hashicorp.vagrant.GetJobStreamResponse.state:type_name -> hashicorp.vagrant.GetJobStreamResponse.State 139, // 53: hashicorp.vagrant.GetJobStreamResponse.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 140, // 54: hashicorp.vagrant.GetJobStreamResponse.error:type_name -> hashicorp.vagrant.GetJobStreamResponse.Error 141, // 55: hashicorp.vagrant.GetJobStreamResponse.complete:type_name -> hashicorp.vagrant.GetJobStreamResponse.Complete 16, // 56: hashicorp.vagrant.Runner.components:type_name -> hashicorp.vagrant.Component 153, // 57: hashicorp.vagrant.RunnerConfigRequest.open:type_name -> hashicorp.vagrant.RunnerConfigRequest.Open 36, // 58: hashicorp.vagrant.RunnerConfigResponse.config:type_name -> hashicorp.vagrant.RunnerConfig 68, // 59: hashicorp.vagrant.RunnerConfig.config_vars:type_name -> hashicorp.vagrant.ConfigVar 154, // 60: hashicorp.vagrant.RunnerJobStreamRequest.request:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Request 155, // 61: hashicorp.vagrant.RunnerJobStreamRequest.ack:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Ack 156, // 62: hashicorp.vagrant.RunnerJobStreamRequest.complete:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Complete 157, // 63: hashicorp.vagrant.RunnerJobStreamRequest.error:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Error 139, // 64: hashicorp.vagrant.RunnerJobStreamRequest.terminal:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal 158, // 65: hashicorp.vagrant.RunnerJobStreamRequest.heartbeat:type_name -> hashicorp.vagrant.RunnerJobStreamRequest.Heartbeat 159, // 66: hashicorp.vagrant.RunnerJobStreamResponse.assignment:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment 160, // 67: hashicorp.vagrant.RunnerJobStreamResponse.cancel:type_name -> hashicorp.vagrant.RunnerJobStreamResponse.JobCancel 44, // 68: hashicorp.vagrant.SetServerConfigRequest.config:type_name -> hashicorp.vagrant.ServerConfig 44, // 69: hashicorp.vagrant.GetServerConfigResponse.config:type_name -> hashicorp.vagrant.ServerConfig 161, // 70: hashicorp.vagrant.ServerConfig.advertise_addrs:type_name -> hashicorp.vagrant.ServerConfig.AdvertiseAddr 12, // 71: hashicorp.vagrant.UpsertBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 12, // 72: hashicorp.vagrant.UpsertBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 100, // 73: hashicorp.vagrant.GetBasisRequest.basis:type_name -> hashicorp.vagrant.Ref.Basis 12, // 74: hashicorp.vagrant.GetBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 12, // 75: hashicorp.vagrant.FindBasisRequest.basis:type_name -> hashicorp.vagrant.Basis 12, // 76: hashicorp.vagrant.FindBasisResponse.basis:type_name -> hashicorp.vagrant.Basis 100, // 77: hashicorp.vagrant.ListBasisResponse.basis:type_name -> hashicorp.vagrant.Ref.Basis 13, // 78: hashicorp.vagrant.UpsertProjectRequest.project:type_name -> hashicorp.vagrant.Project 13, // 79: hashicorp.vagrant.UpsertProjectResponse.project:type_name -> hashicorp.vagrant.Project 99, // 80: hashicorp.vagrant.GetProjectRequest.project:type_name -> hashicorp.vagrant.Ref.Project 13, // 81: hashicorp.vagrant.GetProjectResponse.project:type_name -> hashicorp.vagrant.Project 13, // 82: hashicorp.vagrant.FindProjectRequest.project:type_name -> hashicorp.vagrant.Project 13, // 83: hashicorp.vagrant.FindProjectResponse.project:type_name -> hashicorp.vagrant.Project 99, // 84: hashicorp.vagrant.ListProjectsResponse.projects:type_name -> hashicorp.vagrant.Ref.Project 99, // 85: hashicorp.vagrant.UpsertMachineRequest.project:type_name -> hashicorp.vagrant.Ref.Project 14, // 86: hashicorp.vagrant.UpsertMachineRequest.machine:type_name -> hashicorp.vagrant.Machine 14, // 87: hashicorp.vagrant.UpsertMachineResponse.machine:type_name -> hashicorp.vagrant.Machine 99, // 88: hashicorp.vagrant.GetMachineRequest.project:type_name -> hashicorp.vagrant.Ref.Project 98, // 89: hashicorp.vagrant.GetMachineRequest.machine:type_name -> hashicorp.vagrant.Ref.Machine 14, // 90: hashicorp.vagrant.GetMachineResponse.machine:type_name -> hashicorp.vagrant.Machine 14, // 91: hashicorp.vagrant.FindMachineRequest.machine:type_name -> hashicorp.vagrant.Machine 14, // 92: hashicorp.vagrant.FindMachineResponse.machine:type_name -> hashicorp.vagrant.Machine 98, // 93: hashicorp.vagrant.ListMachinesResponse.machines:type_name -> hashicorp.vagrant.Ref.Machine 100, // 94: hashicorp.vagrant.GetLogStreamRequest.basis:type_name -> hashicorp.vagrant.Ref.Basis 99, // 95: hashicorp.vagrant.GetLogStreamRequest.project:type_name -> hashicorp.vagrant.Ref.Project 98, // 96: hashicorp.vagrant.GetLogStreamRequest.machine:type_name -> hashicorp.vagrant.Ref.Machine 162, // 97: hashicorp.vagrant.LogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 98, // 98: hashicorp.vagrant.ConfigVar.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 99: hashicorp.vagrant.ConfigVar.project:type_name -> hashicorp.vagrant.Ref.Project 106, // 100: hashicorp.vagrant.ConfigVar.runner:type_name -> hashicorp.vagrant.Ref.Runner 68, // 101: hashicorp.vagrant.ConfigSetRequest.variables:type_name -> hashicorp.vagrant.ConfigVar 98, // 102: hashicorp.vagrant.ConfigGetRequest.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 103: hashicorp.vagrant.ConfigGetRequest.project:type_name -> hashicorp.vagrant.Ref.Project 107, // 104: hashicorp.vagrant.ConfigGetRequest.runner:type_name -> hashicorp.vagrant.Ref.RunnerId 68, // 105: hashicorp.vagrant.ConfigGetResponse.variables:type_name -> hashicorp.vagrant.ConfigVar 163, // 106: hashicorp.vagrant.ExecStreamRequest.start:type_name -> hashicorp.vagrant.ExecStreamRequest.Start 164, // 107: hashicorp.vagrant.ExecStreamRequest.input:type_name -> hashicorp.vagrant.ExecStreamRequest.Input 166, // 108: hashicorp.vagrant.ExecStreamRequest.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 167, // 109: hashicorp.vagrant.ExecStreamResponse.open:type_name -> hashicorp.vagrant.ExecStreamResponse.Open 169, // 110: hashicorp.vagrant.ExecStreamResponse.output:type_name -> hashicorp.vagrant.ExecStreamResponse.Output 168, // 111: hashicorp.vagrant.ExecStreamResponse.exit:type_name -> hashicorp.vagrant.ExecStreamResponse.Exit 77, // 112: hashicorp.vagrant.EntrypointConfigResponse.config:type_name -> hashicorp.vagrant.EntrypointConfig 170, // 113: hashicorp.vagrant.EntrypointConfig.exec:type_name -> hashicorp.vagrant.EntrypointConfig.Exec 68, // 114: hashicorp.vagrant.EntrypointConfig.env_vars:type_name -> hashicorp.vagrant.ConfigVar 171, // 115: hashicorp.vagrant.EntrypointConfig.url_service:type_name -> hashicorp.vagrant.EntrypointConfig.URLService 162, // 116: hashicorp.vagrant.EntrypointLogBatch.lines:type_name -> hashicorp.vagrant.LogBatch.Entry 172, // 117: hashicorp.vagrant.EntrypointExecRequest.open:type_name -> hashicorp.vagrant.EntrypointExecRequest.Open 173, // 118: hashicorp.vagrant.EntrypointExecRequest.exit:type_name -> hashicorp.vagrant.EntrypointExecRequest.Exit 174, // 119: hashicorp.vagrant.EntrypointExecRequest.output:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output 175, // 120: hashicorp.vagrant.EntrypointExecRequest.error:type_name -> hashicorp.vagrant.EntrypointExecRequest.Error 166, // 121: hashicorp.vagrant.EntrypointExecResponse.winch:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 176, // 122: hashicorp.vagrant.TokenTransport.metadata:type_name -> hashicorp.vagrant.TokenTransport.MetadataEntry 189, // 123: hashicorp.vagrant.Token.valid_until:type_name -> google.protobuf.Timestamp 177, // 124: hashicorp.vagrant.Token.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 177, // 125: hashicorp.vagrant.InviteTokenRequest.entrypoint:type_name -> hashicorp.vagrant.Token.Entrypoint 178, // 126: hashicorp.vagrant.CreateSnapshotResponse.open:type_name -> hashicorp.vagrant.CreateSnapshotResponse.Open 179, // 127: hashicorp.vagrant.RestoreSnapshotRequest.open:type_name -> hashicorp.vagrant.RestoreSnapshotRequest.Open 96, // 128: hashicorp.vagrant.UpsertTaskRequest.task:type_name -> hashicorp.vagrant.Task 96, // 129: hashicorp.vagrant.UpsertTaskResponse.task:type_name -> hashicorp.vagrant.Task 98, // 130: hashicorp.vagrant.GetLatestTaskRequest.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 131: hashicorp.vagrant.GetLatestTaskRequest.project:type_name -> hashicorp.vagrant.Ref.Project 100, // 132: hashicorp.vagrant.GetLatestTaskRequest.basis:type_name -> hashicorp.vagrant.Ref.Basis 98, // 133: hashicorp.vagrant.ListTasksRequest.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 134: hashicorp.vagrant.ListTasksRequest.project:type_name -> hashicorp.vagrant.Ref.Project 100, // 135: hashicorp.vagrant.ListTasksRequest.basis:type_name -> hashicorp.vagrant.Ref.Basis 18, // 136: hashicorp.vagrant.ListTasksRequest.status:type_name -> hashicorp.vagrant.StatusFilter 2, // 137: hashicorp.vagrant.ListTasksRequest.physical_state:type_name -> hashicorp.vagrant.Operation.PhysicalState 20, // 138: hashicorp.vagrant.ListTasksRequest.order:type_name -> hashicorp.vagrant.OperationOrder 96, // 139: hashicorp.vagrant.ListTasksResponse.tasks:type_name -> hashicorp.vagrant.Task 102, // 140: hashicorp.vagrant.GetTaskRequest.ref:type_name -> hashicorp.vagrant.Ref.Operation 98, // 141: hashicorp.vagrant.Task.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 142: hashicorp.vagrant.Task.project:type_name -> hashicorp.vagrant.Ref.Project 100, // 143: hashicorp.vagrant.Task.basis:type_name -> hashicorp.vagrant.Ref.Basis 17, // 144: hashicorp.vagrant.Task.status:type_name -> hashicorp.vagrant.Status 2, // 145: hashicorp.vagrant.Task.state:type_name -> hashicorp.vagrant.Operation.PhysicalState 16, // 146: hashicorp.vagrant.Task.component:type_name -> hashicorp.vagrant.Component 184, // 147: hashicorp.vagrant.Task.labels:type_name -> hashicorp.vagrant.Task.LabelsEntry 190, // 148: hashicorp.vagrant.Task.cli_args:type_name -> hashicorp.vagrant.sdk.Command.Arguments 99, // 149: hashicorp.vagrant.Ref.Machine.project:type_name -> hashicorp.vagrant.Ref.Project 109, // 150: hashicorp.vagrant.Ref.Machine.vagrantfile:type_name -> hashicorp.vagrant.Ref.Vagrantfile 100, // 151: hashicorp.vagrant.Ref.Project.basis:type_name -> hashicorp.vagrant.Ref.Basis 0, // 152: hashicorp.vagrant.Ref.Component.type:type_name -> hashicorp.vagrant.Component.Type 103, // 153: hashicorp.vagrant.Ref.Operation.machine_sequence:type_name -> hashicorp.vagrant.Ref.MachineOperationSeq 104, // 154: hashicorp.vagrant.Ref.Operation.project_sequence:type_name -> hashicorp.vagrant.Ref.ProjectOperationSeq 105, // 155: hashicorp.vagrant.Ref.Operation.basis_sequence:type_name -> hashicorp.vagrant.Ref.BasisOperationSeq 98, // 156: hashicorp.vagrant.Ref.MachineOperationSeq.machine:type_name -> hashicorp.vagrant.Ref.Machine 99, // 157: hashicorp.vagrant.Ref.ProjectOperationSeq.project:type_name -> hashicorp.vagrant.Ref.Project 100, // 158: hashicorp.vagrant.Ref.BasisOperationSeq.basis:type_name -> hashicorp.vagrant.Ref.Basis 108, // 159: hashicorp.vagrant.Ref.Runner.any:type_name -> hashicorp.vagrant.Ref.RunnerAny 107, // 160: hashicorp.vagrant.Ref.Runner.id:type_name -> hashicorp.vagrant.Ref.RunnerId 1, // 161: hashicorp.vagrant.StatusFilter.Filter.state:type_name -> hashicorp.vagrant.Status.State 129, // 162: hashicorp.vagrant.Job.Result.auth:type_name -> hashicorp.vagrant.Job.AuthResult 131, // 163: hashicorp.vagrant.Job.Result.docs:type_name -> hashicorp.vagrant.Job.DocsResult 119, // 164: hashicorp.vagrant.Job.Result.validate:type_name -> hashicorp.vagrant.Job.ValidateResult 121, // 165: hashicorp.vagrant.Job.Result.init:type_name -> hashicorp.vagrant.Job.InitResult 127, // 166: hashicorp.vagrant.Job.Result.run:type_name -> hashicorp.vagrant.Job.RunResult 115, // 167: hashicorp.vagrant.Job.DataSource.local:type_name -> hashicorp.vagrant.Job.Local 116, // 168: hashicorp.vagrant.Job.DataSource.git:type_name -> hashicorp.vagrant.Job.Git 122, // 169: hashicorp.vagrant.Job.InitResult.actions:type_name -> hashicorp.vagrant.Job.Action 125, // 170: hashicorp.vagrant.Job.InitResult.commands:type_name -> hashicorp.vagrant.Job.Command 123, // 171: hashicorp.vagrant.Job.InitResult.hooks:type_name -> hashicorp.vagrant.Job.Hook 5, // 172: hashicorp.vagrant.Job.Hook.location:type_name -> hashicorp.vagrant.Job.Hook.Location 6, // 173: hashicorp.vagrant.Job.Flag.type:type_name -> hashicorp.vagrant.Job.Flag.Type 124, // 174: hashicorp.vagrant.Job.Command.flags:type_name -> hashicorp.vagrant.Job.Flag 125, // 175: hashicorp.vagrant.Job.Command.subcommands:type_name -> hashicorp.vagrant.Job.Command 96, // 176: hashicorp.vagrant.Job.RunOp.task:type_name -> hashicorp.vagrant.Task 96, // 177: hashicorp.vagrant.Job.RunResult.task:type_name -> hashicorp.vagrant.Task 188, // 178: hashicorp.vagrant.Job.RunResult.run_error:type_name -> google.rpc.Status 101, // 179: hashicorp.vagrant.Job.AuthOp.component:type_name -> hashicorp.vagrant.Ref.Component 132, // 180: hashicorp.vagrant.Job.AuthResult.results:type_name -> hashicorp.vagrant.Job.AuthResult.Result 133, // 181: hashicorp.vagrant.Job.DocsResult.results:type_name -> hashicorp.vagrant.Job.DocsResult.Result 16, // 182: hashicorp.vagrant.Job.AuthResult.Result.component:type_name -> hashicorp.vagrant.Component 188, // 183: hashicorp.vagrant.Job.AuthResult.Result.check_error:type_name -> google.rpc.Status 188, // 184: hashicorp.vagrant.Job.AuthResult.Result.auth_error:type_name -> google.rpc.Status 16, // 185: hashicorp.vagrant.Job.DocsResult.Result.component:type_name -> hashicorp.vagrant.Component 27, // 186: hashicorp.vagrant.Job.DocsResult.Result.docs:type_name -> hashicorp.vagrant.Documentation 135, // 187: hashicorp.vagrant.Documentation.FieldsEntry.value:type_name -> hashicorp.vagrant.Documentation.Field 4, // 188: hashicorp.vagrant.GetJobStreamResponse.State.previous:type_name -> hashicorp.vagrant.Job.State 4, // 189: hashicorp.vagrant.GetJobStreamResponse.State.current:type_name -> hashicorp.vagrant.Job.State 26, // 190: hashicorp.vagrant.GetJobStreamResponse.State.job:type_name -> hashicorp.vagrant.Job 142, // 191: hashicorp.vagrant.GetJobStreamResponse.Terminal.events:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event 188, // 192: hashicorp.vagrant.GetJobStreamResponse.Error.error:type_name -> google.rpc.Status 188, // 193: hashicorp.vagrant.GetJobStreamResponse.Complete.error:type_name -> google.rpc.Status 113, // 194: hashicorp.vagrant.GetJobStreamResponse.Complete.result:type_name -> hashicorp.vagrant.Job.Result 189, // 195: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.timestamp:type_name -> google.protobuf.Timestamp 144, // 196: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.line:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Line 143, // 197: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.status:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Status 147, // 198: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.named_values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues 145, // 199: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.raw:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Raw 150, // 200: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.table:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table 151, // 201: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step_group:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.StepGroup 152, // 202: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.step:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Step 146, // 203: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValues.values:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.NamedValue 148, // 204: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow.entries:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableEntry 149, // 205: hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.Table.rows:type_name -> hashicorp.vagrant.GetJobStreamResponse.Terminal.Event.TableRow 33, // 206: hashicorp.vagrant.RunnerConfigRequest.Open.runner:type_name -> hashicorp.vagrant.Runner 113, // 207: hashicorp.vagrant.RunnerJobStreamRequest.Complete.result:type_name -> hashicorp.vagrant.Job.Result 188, // 208: hashicorp.vagrant.RunnerJobStreamRequest.Error.error:type_name -> google.rpc.Status 26, // 209: hashicorp.vagrant.RunnerJobStreamResponse.JobAssignment.job:type_name -> hashicorp.vagrant.Job 189, // 210: hashicorp.vagrant.LogBatch.Entry.timestamp:type_name -> google.protobuf.Timestamp 165, // 211: hashicorp.vagrant.ExecStreamRequest.Start.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 166, // 212: hashicorp.vagrant.ExecStreamRequest.PTY.window_size:type_name -> hashicorp.vagrant.ExecStreamRequest.WindowSize 7, // 213: hashicorp.vagrant.ExecStreamResponse.Output.channel:type_name -> hashicorp.vagrant.ExecStreamResponse.Output.Channel 165, // 214: hashicorp.vagrant.EntrypointConfig.Exec.pty:type_name -> hashicorp.vagrant.ExecStreamRequest.PTY 8, // 215: hashicorp.vagrant.EntrypointExecRequest.Output.channel:type_name -> hashicorp.vagrant.EntrypointExecRequest.Output.Channel 188, // 216: hashicorp.vagrant.EntrypointExecRequest.Error.error:type_name -> google.rpc.Status 11, // 217: hashicorp.vagrant.Snapshot.Header.version:type_name -> hashicorp.vagrant.VersionInfo 9, // 218: hashicorp.vagrant.Snapshot.Header.format:type_name -> hashicorp.vagrant.Snapshot.Header.Format 183, // 219: hashicorp.vagrant.Snapshot.BoltChunk.items:type_name -> hashicorp.vagrant.Snapshot.BoltChunk.ItemsEntry 191, // 220: hashicorp.vagrant.Vagrant.GetVersionInfo:input_type -> google.protobuf.Empty 45, // 221: hashicorp.vagrant.Vagrant.UpsertBasis:input_type -> hashicorp.vagrant.UpsertBasisRequest 47, // 222: hashicorp.vagrant.Vagrant.GetBasis:input_type -> hashicorp.vagrant.GetBasisRequest 49, // 223: hashicorp.vagrant.Vagrant.FindBasis:input_type -> hashicorp.vagrant.FindBasisRequest 191, // 224: hashicorp.vagrant.Vagrant.ListBasis:input_type -> google.protobuf.Empty 93, // 225: hashicorp.vagrant.Vagrant.ListTasks:input_type -> hashicorp.vagrant.ListTasksRequest 95, // 226: hashicorp.vagrant.Vagrant.GetTask:input_type -> hashicorp.vagrant.GetTaskRequest 92, // 227: hashicorp.vagrant.Vagrant.GetLatestTask:input_type -> hashicorp.vagrant.GetLatestTaskRequest 90, // 228: hashicorp.vagrant.Vagrant.UpsertTask:input_type -> hashicorp.vagrant.UpsertTaskRequest 52, // 229: hashicorp.vagrant.Vagrant.UpsertProject:input_type -> hashicorp.vagrant.UpsertProjectRequest 54, // 230: hashicorp.vagrant.Vagrant.GetProject:input_type -> hashicorp.vagrant.GetProjectRequest 56, // 231: hashicorp.vagrant.Vagrant.FindProject:input_type -> hashicorp.vagrant.FindProjectRequest 191, // 232: hashicorp.vagrant.Vagrant.ListProjects:input_type -> google.protobuf.Empty 59, // 233: hashicorp.vagrant.Vagrant.UpsertMachine:input_type -> hashicorp.vagrant.UpsertMachineRequest 61, // 234: hashicorp.vagrant.Vagrant.GetMachine:input_type -> hashicorp.vagrant.GetMachineRequest 63, // 235: hashicorp.vagrant.Vagrant.FindMachine:input_type -> hashicorp.vagrant.FindMachineRequest 191, // 236: hashicorp.vagrant.Vagrant.ListMachines:input_type -> google.protobuf.Empty 66, // 237: hashicorp.vagrant.Vagrant.GetLogStream:input_type -> hashicorp.vagrant.GetLogStreamRequest 69, // 238: hashicorp.vagrant.Vagrant.SetConfig:input_type -> hashicorp.vagrant.ConfigSetRequest 71, // 239: hashicorp.vagrant.Vagrant.GetConfig:input_type -> hashicorp.vagrant.ConfigGetRequest 21, // 240: hashicorp.vagrant.Vagrant.QueueJob:input_type -> hashicorp.vagrant.QueueJobRequest 23, // 241: hashicorp.vagrant.Vagrant.CancelJob:input_type -> hashicorp.vagrant.CancelJobRequest 28, // 242: hashicorp.vagrant.Vagrant.GetJob:input_type -> hashicorp.vagrant.GetJobRequest 29, // 243: hashicorp.vagrant.Vagrant._ListJobs:input_type -> hashicorp.vagrant.ListJobsRequest 24, // 244: hashicorp.vagrant.Vagrant.ValidateJob:input_type -> hashicorp.vagrant.ValidateJobRequest 31, // 245: hashicorp.vagrant.Vagrant.GetJobStream:input_type -> hashicorp.vagrant.GetJobStreamRequest 41, // 246: hashicorp.vagrant.Vagrant.GetRunner:input_type -> hashicorp.vagrant.GetRunnerRequest 191, // 247: hashicorp.vagrant.Vagrant.GetServerConfig:input_type -> google.protobuf.Empty 42, // 248: hashicorp.vagrant.Vagrant.SetServerConfig:input_type -> hashicorp.vagrant.SetServerConfigRequest 191, // 249: hashicorp.vagrant.Vagrant.CreateSnapshot:input_type -> google.protobuf.Empty 88, // 250: hashicorp.vagrant.Vagrant.RestoreSnapshot:input_type -> hashicorp.vagrant.RestoreSnapshotRequest 191, // 251: hashicorp.vagrant.Vagrant.BootstrapToken:input_type -> google.protobuf.Empty 84, // 252: hashicorp.vagrant.Vagrant.GenerateInviteToken:input_type -> hashicorp.vagrant.InviteTokenRequest 191, // 253: hashicorp.vagrant.Vagrant.GenerateLoginToken:input_type -> google.protobuf.Empty 86, // 254: hashicorp.vagrant.Vagrant.ConvertInviteToken:input_type -> hashicorp.vagrant.ConvertInviteTokenRequest 34, // 255: hashicorp.vagrant.Vagrant.RunnerConfig:input_type -> hashicorp.vagrant.RunnerConfigRequest 37, // 256: hashicorp.vagrant.Vagrant.RunnerJobStream:input_type -> hashicorp.vagrant.RunnerJobStreamRequest 10, // 257: hashicorp.vagrant.Vagrant.GetVersionInfo:output_type -> hashicorp.vagrant.GetVersionInfoResponse 46, // 258: hashicorp.vagrant.Vagrant.UpsertBasis:output_type -> hashicorp.vagrant.UpsertBasisResponse 48, // 259: hashicorp.vagrant.Vagrant.GetBasis:output_type -> hashicorp.vagrant.GetBasisResponse 50, // 260: hashicorp.vagrant.Vagrant.FindBasis:output_type -> hashicorp.vagrant.FindBasisResponse 51, // 261: hashicorp.vagrant.Vagrant.ListBasis:output_type -> hashicorp.vagrant.ListBasisResponse 94, // 262: hashicorp.vagrant.Vagrant.ListTasks:output_type -> hashicorp.vagrant.ListTasksResponse 96, // 263: hashicorp.vagrant.Vagrant.GetTask:output_type -> hashicorp.vagrant.Task 96, // 264: hashicorp.vagrant.Vagrant.GetLatestTask:output_type -> hashicorp.vagrant.Task 91, // 265: hashicorp.vagrant.Vagrant.UpsertTask:output_type -> hashicorp.vagrant.UpsertTaskResponse 53, // 266: hashicorp.vagrant.Vagrant.UpsertProject:output_type -> hashicorp.vagrant.UpsertProjectResponse 55, // 267: hashicorp.vagrant.Vagrant.GetProject:output_type -> hashicorp.vagrant.GetProjectResponse 57, // 268: hashicorp.vagrant.Vagrant.FindProject:output_type -> hashicorp.vagrant.FindProjectResponse 58, // 269: hashicorp.vagrant.Vagrant.ListProjects:output_type -> hashicorp.vagrant.ListProjectsResponse 60, // 270: hashicorp.vagrant.Vagrant.UpsertMachine:output_type -> hashicorp.vagrant.UpsertMachineResponse 62, // 271: hashicorp.vagrant.Vagrant.GetMachine:output_type -> hashicorp.vagrant.GetMachineResponse 64, // 272: hashicorp.vagrant.Vagrant.FindMachine:output_type -> hashicorp.vagrant.FindMachineResponse 65, // 273: hashicorp.vagrant.Vagrant.ListMachines:output_type -> hashicorp.vagrant.ListMachinesResponse 67, // 274: hashicorp.vagrant.Vagrant.GetLogStream:output_type -> hashicorp.vagrant.LogBatch 70, // 275: hashicorp.vagrant.Vagrant.SetConfig:output_type -> hashicorp.vagrant.ConfigSetResponse 72, // 276: hashicorp.vagrant.Vagrant.GetConfig:output_type -> hashicorp.vagrant.ConfigGetResponse 22, // 277: hashicorp.vagrant.Vagrant.QueueJob:output_type -> hashicorp.vagrant.QueueJobResponse 191, // 278: hashicorp.vagrant.Vagrant.CancelJob:output_type -> google.protobuf.Empty 26, // 279: hashicorp.vagrant.Vagrant.GetJob:output_type -> hashicorp.vagrant.Job 30, // 280: hashicorp.vagrant.Vagrant._ListJobs:output_type -> hashicorp.vagrant.ListJobsResponse 25, // 281: hashicorp.vagrant.Vagrant.ValidateJob:output_type -> hashicorp.vagrant.ValidateJobResponse 32, // 282: hashicorp.vagrant.Vagrant.GetJobStream:output_type -> hashicorp.vagrant.GetJobStreamResponse 33, // 283: hashicorp.vagrant.Vagrant.GetRunner:output_type -> hashicorp.vagrant.Runner 43, // 284: hashicorp.vagrant.Vagrant.GetServerConfig:output_type -> hashicorp.vagrant.GetServerConfigResponse 191, // 285: hashicorp.vagrant.Vagrant.SetServerConfig:output_type -> google.protobuf.Empty 87, // 286: hashicorp.vagrant.Vagrant.CreateSnapshot:output_type -> hashicorp.vagrant.CreateSnapshotResponse 191, // 287: hashicorp.vagrant.Vagrant.RestoreSnapshot:output_type -> google.protobuf.Empty 85, // 288: hashicorp.vagrant.Vagrant.BootstrapToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 289: hashicorp.vagrant.Vagrant.GenerateInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 290: hashicorp.vagrant.Vagrant.GenerateLoginToken:output_type -> hashicorp.vagrant.NewTokenResponse 85, // 291: hashicorp.vagrant.Vagrant.ConvertInviteToken:output_type -> hashicorp.vagrant.NewTokenResponse 35, // 292: hashicorp.vagrant.Vagrant.RunnerConfig:output_type -> hashicorp.vagrant.RunnerConfigResponse 38, // 293: hashicorp.vagrant.Vagrant.RunnerJobStream:output_type -> hashicorp.vagrant.RunnerJobStreamResponse 257, // [257:294] is the sub-list for method output_type 220, // [220:257] is the sub-list for method input_type 220, // [220:220] is the sub-list for extension type_name 220, // [220:220] is the sub-list for extension extendee 0, // [0:220] is the sub-list for field type_name >>>>>>> Setup Vagrantfile refs } func init() { file_proto_vagrant_server_server_proto_init() } func file_proto_vagrant_server_server_proto_init() { if File_proto_vagrant_server_server_proto != nil { return } if !protoimpl.UnsafeEnabled { file_proto_vagrant_server_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVersionInfoResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Basis); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Target); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Component); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Status); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Operation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueJobResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CancelJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateJobResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Documentation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Runner); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerJobStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerGetDeploymentConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RunnerGetDeploymentConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRunnerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetServerConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetServerConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBasisRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBasisResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindProjectRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindProjectResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListProjectsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindTargetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindTargetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLogStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigVar); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigSetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigGetResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecStreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfigRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfigResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointLogBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntrypointExecResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenTransport); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Token); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HMACKey); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InviteTokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewTokenResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConvertInviteTokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSnapshotResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreSnapshotRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTaskRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertTaskResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLatestTaskRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTasksRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTasksResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTaskRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Task); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionInfo_ProtocolVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Target_Machine); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Component); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Operation); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_TargetOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_ProjectOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_BasisOperationSeq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Runner); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_RunnerAny); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ref_Vagrantfile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_vagrant_server_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*StatusFilter_Filter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_DataSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Local); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Git); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Noop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_ValidateOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_ValidateResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_InitOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_InitResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Action); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Hook); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Flag); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_Command); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_RunOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_RunResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_AuthOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_AuthResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_DocsOp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_DocsResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_AuthResult_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Job_DocsResult_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Documentation_Field); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Documentation_Mapper); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_State); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Complete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_Status); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_Line); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_Raw); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_NamedValues); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_TableEntry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_TableRow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_Table); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_StepGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*GetJobStreamResponse_Terminal_Event_Step); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerConfigRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamRequest_Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamRequest_Ack); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamRequest_Complete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamRequest_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamRequest_Heartbeat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamResponse_JobAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RunnerJobStreamResponse_JobCancel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ServerConfig_AdvertiseAddr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*LogBatch_Entry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamRequest_Start); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamRequest_Input); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamRequest_PTY); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamRequest_WindowSize); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamResponse_Exit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*ExecStreamResponse_Output); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointConfig_Exec); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointConfig_URLService); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointExecRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointExecRequest_Exit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointExecRequest_Output); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*EntrypointExecRequest_Error); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Token_Entrypoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*CreateSnapshotResponse_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*RestoreSnapshotRequest_Open); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Snapshot_Header); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Snapshot_Trailer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { ======= file_proto_vagrant_server_server_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { >>>>>>> Setup Vagrantfile refs switch v := v.(*Snapshot_BoltChunk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_proto_vagrant_server_server_proto_msgTypes[16].OneofWrappers = []interface{}{ (*Job_Noop_)(nil), (*Job_Auth)(nil), (*Job_Docs)(nil), (*Job_Validate)(nil), (*Job_Run)(nil), (*Job_Init)(nil), } file_proto_vagrant_server_server_proto_msgTypes[22].OneofWrappers = []interface{}{ (*GetJobStreamResponse_Open_)(nil), (*GetJobStreamResponse_State_)(nil), (*GetJobStreamResponse_Terminal_)(nil), (*GetJobStreamResponse_Error_)(nil), (*GetJobStreamResponse_Complete_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[24].OneofWrappers = []interface{}{ (*RunnerConfigRequest_Open_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[27].OneofWrappers = []interface{}{ (*RunnerJobStreamRequest_Request_)(nil), (*RunnerJobStreamRequest_Ack_)(nil), (*RunnerJobStreamRequest_Complete_)(nil), (*RunnerJobStreamRequest_Error_)(nil), (*RunnerJobStreamRequest_Terminal)(nil), (*RunnerJobStreamRequest_Heartbeat_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[28].OneofWrappers = []interface{}{ (*RunnerJobStreamResponse_Assignment)(nil), (*RunnerJobStreamResponse_Cancel)(nil), } file_proto_vagrant_server_server_proto_msgTypes[56].OneofWrappers = []interface{}{ (*GetLogStreamRequest_Basis)(nil), (*GetLogStreamRequest_Project)(nil), (*GetLogStreamRequest_Target)(nil), } file_proto_vagrant_server_server_proto_msgTypes[58].OneofWrappers = []interface{}{ (*ConfigVar_Target)(nil), (*ConfigVar_Project)(nil), (*ConfigVar_Runner)(nil), } file_proto_vagrant_server_server_proto_msgTypes[61].OneofWrappers = []interface{}{ (*ConfigGetRequest_Target)(nil), (*ConfigGetRequest_Project)(nil), (*ConfigGetRequest_Runner)(nil), } file_proto_vagrant_server_server_proto_msgTypes[63].OneofWrappers = []interface{}{ (*ExecStreamRequest_Start_)(nil), (*ExecStreamRequest_Input_)(nil), (*ExecStreamRequest_Winch)(nil), } file_proto_vagrant_server_server_proto_msgTypes[64].OneofWrappers = []interface{}{ (*ExecStreamResponse_Open_)(nil), (*ExecStreamResponse_Output_)(nil), (*ExecStreamResponse_Exit_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[69].OneofWrappers = []interface{}{ (*EntrypointExecRequest_Open_)(nil), (*EntrypointExecRequest_Exit_)(nil), (*EntrypointExecRequest_Output_)(nil), (*EntrypointExecRequest_Error_)(nil), } file_proto_vagrant_server_server_proto_msgTypes[70].OneofWrappers = []interface{}{ (*EntrypointExecResponse_Input)(nil), (*EntrypointExecResponse_Winch)(nil), (*EntrypointExecResponse_Opened)(nil), } file_proto_vagrant_server_server_proto_msgTypes[77].OneofWrappers = []interface{}{ (*CreateSnapshotResponse_Open_)(nil), (*CreateSnapshotResponse_Chunk)(nil), } file_proto_vagrant_server_server_proto_msgTypes[78].OneofWrappers = []interface{}{ (*RestoreSnapshotRequest_Open_)(nil), (*RestoreSnapshotRequest_Chunk)(nil), } file_proto_vagrant_server_server_proto_msgTypes[82].OneofWrappers = []interface{}{ (*GetLatestTaskRequest_Target)(nil), (*GetLatestTaskRequest_Project)(nil), (*GetLatestTaskRequest_Basis)(nil), } file_proto_vagrant_server_server_proto_msgTypes[83].OneofWrappers = []interface{}{ (*ListTasksRequest_Target)(nil), (*ListTasksRequest_Project)(nil), (*ListTasksRequest_Basis)(nil), } file_proto_vagrant_server_server_proto_msgTypes[86].OneofWrappers = []interface{}{ (*Task_Target)(nil), (*Task_Project)(nil), (*Task_Basis)(nil), } file_proto_vagrant_server_server_proto_msgTypes[90].OneofWrappers = []interface{}{ (*Ref_Operation_Id)(nil), (*Ref_Operation_TargetSequence)(nil), (*Ref_Operation_ProjectSequence)(nil), (*Ref_Operation_BasisSequence)(nil), } file_proto_vagrant_server_server_proto_msgTypes[94].OneofWrappers = []interface{}{ (*Ref_Runner_Any)(nil), (*Ref_Runner_Id)(nil), } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[97].OneofWrappers = []interface{}{ (*StatusFilter_Filter_State)(nil), } file_proto_vagrant_server_server_proto_msgTypes[101].OneofWrappers = []interface{}{ (*Job_DataSource_Local)(nil), (*Job_DataSource_Git)(nil), } file_proto_vagrant_server_server_proto_msgTypes[129].OneofWrappers = []interface{}{ ======= file_proto_vagrant_server_server_proto_msgTypes[100].OneofWrappers = []interface{}{ (*StatusFilter_Filter_State)(nil), } file_proto_vagrant_server_server_proto_msgTypes[104].OneofWrappers = []interface{}{ (*Job_DataSource_Local)(nil), (*Job_DataSource_Git)(nil), } file_proto_vagrant_server_server_proto_msgTypes[132].OneofWrappers = []interface{}{ >>>>>>> Setup Vagrantfile refs (*GetJobStreamResponse_Terminal_Event_Line_)(nil), (*GetJobStreamResponse_Terminal_Event_Status_)(nil), (*GetJobStreamResponse_Terminal_Event_NamedValues_)(nil), (*GetJobStreamResponse_Terminal_Event_Raw_)(nil), (*GetJobStreamResponse_Terminal_Event_Table_)(nil), (*GetJobStreamResponse_Terminal_Event_StepGroup_)(nil), (*GetJobStreamResponse_Terminal_Event_Step_)(nil), } <<<<<<< HEAD file_proto_vagrant_server_server_proto_msgTypes[168].OneofWrappers = []interface{}{ ======= file_proto_vagrant_server_server_proto_msgTypes[171].OneofWrappers = []interface{}{ >>>>>>> Setup Vagrantfile refs (*Snapshot_Trailer_Sha256)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_vagrant_server_server_proto_rawDesc, NumEnums: 10, <<<<<<< HEAD NumMessages: 172, ======= NumMessages: 175, >>>>>>> Setup Vagrantfile refs NumExtensions: 0, NumServices: 1, }, GoTypes: file_proto_vagrant_server_server_proto_goTypes, DependencyIndexes: file_proto_vagrant_server_server_proto_depIdxs, EnumInfos: file_proto_vagrant_server_server_proto_enumTypes, MessageInfos: file_proto_vagrant_server_server_proto_msgTypes, }.Build() File_proto_vagrant_server_server_proto = out.File file_proto_vagrant_server_server_proto_rawDesc = nil file_proto_vagrant_server_server_proto_goTypes = nil file_proto_vagrant_server_server_proto_depIdxs = nil }