// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.3
// 	protoc        (unknown)
// source: api/cirrus_ci_service.proto

package api

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
	anypb "google.golang.org/protobuf/types/known/anypb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type Status int32

const (
	Status_CREATED   Status = 0
	Status_TRIGGERED Status = 1
	Status_SCHEDULED Status = 2
	Status_EXECUTING Status = 3 // execution
	Status_ABORTED   Status = 4 // by user or GCP
	Status_FAILED    Status = 5
	Status_COMPLETED Status = 6
	Status_SKIPPED   Status = 7
)

// Enum value maps for Status.
var (
	Status_name = map[int32]string{
		0: "CREATED",
		1: "TRIGGERED",
		2: "SCHEDULED",
		3: "EXECUTING",
		4: "ABORTED",
		5: "FAILED",
		6: "COMPLETED",
		7: "SKIPPED",
	}
	Status_value = map[string]int32{
		"CREATED":   0,
		"TRIGGERED": 1,
		"SCHEDULED": 2,
		"EXECUTING": 3,
		"ABORTED":   4,
		"FAILED":    5,
		"COMPLETED": 6,
		"SKIPPED":   7,
	}
)

func (x Status) Enum() *Status {
	p := new(Status)
	*p = x
	return p
}

func (x Status) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Status) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[0].Descriptor()
}

func (Status) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[0]
}

func (x Status) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Status.Descriptor instead.
func (Status) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{0}
}

type Platform int32

const (
	Platform_LINUX   Platform = 0
	Platform_WINDOWS Platform = 1
	Platform_DARWIN  Platform = 2
)

// Enum value maps for Platform.
var (
	Platform_name = map[int32]string{
		0: "LINUX",
		1: "WINDOWS",
		2: "DARWIN",
	}
	Platform_value = map[string]int32{
		"LINUX":   0,
		"WINDOWS": 1,
		"DARWIN":  2,
	}
)

func (x Platform) Enum() *Platform {
	p := new(Platform)
	*p = x
	return p
}

func (x Platform) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Platform) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[1].Descriptor()
}

func (Platform) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[1]
}

func (x Platform) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Platform.Descriptor instead.
func (Platform) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{1}
}

type Architecture int32

const (
	Architecture_AMD64 Architecture = 0
	Architecture_ARM64 Architecture = 1
)

// Enum value maps for Architecture.
var (
	Architecture_name = map[int32]string{
		0: "AMD64",
		1: "ARM64",
	}
	Architecture_value = map[string]int32{
		"AMD64": 0,
		"ARM64": 1,
	}
)

func (x Architecture) Enum() *Architecture {
	p := new(Architecture)
	*p = x
	return p
}

func (x Architecture) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Architecture) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[2].Descriptor()
}

func (Architecture) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[2]
}

func (x Architecture) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Architecture.Descriptor instead.
func (Architecture) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{2}
}

type Issue_Level int32

const (
	Issue_INFO    Issue_Level = 0
	Issue_WARNING Issue_Level = 1
	Issue_ERROR   Issue_Level = 2
)

// Enum value maps for Issue_Level.
var (
	Issue_Level_name = map[int32]string{
		0: "INFO",
		1: "WARNING",
		2: "ERROR",
	}
	Issue_Level_value = map[string]int32{
		"INFO":    0,
		"WARNING": 1,
		"ERROR":   2,
	}
)

func (x Issue_Level) Enum() *Issue_Level {
	p := new(Issue_Level)
	*p = x
	return p
}

func (x Issue_Level) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Issue_Level) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[3].Descriptor()
}

func (Issue_Level) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[3]
}

func (x Issue_Level) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Issue_Level.Descriptor instead.
func (Issue_Level) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{7, 0}
}

type Annotation_Level int32

const (
	Annotation_NOTICE  Annotation_Level = 0
	Annotation_WARNING Annotation_Level = 1
	Annotation_FAILURE Annotation_Level = 2
)

// Enum value maps for Annotation_Level.
var (
	Annotation_Level_name = map[int32]string{
		0: "NOTICE",
		1: "WARNING",
		2: "FAILURE",
	}
	Annotation_Level_value = map[string]int32{
		"NOTICE":  0,
		"WARNING": 1,
		"FAILURE": 2,
	}
)

func (x Annotation_Level) Enum() *Annotation_Level {
	p := new(Annotation_Level)
	*p = x
	return p
}

func (x Annotation_Level) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Annotation_Level) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[4].Descriptor()
}

func (Annotation_Level) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[4]
}

func (x Annotation_Level) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Annotation_Level.Descriptor instead.
func (Annotation_Level) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{51, 0}
}

type Annotation_Type int32

const (
	Annotation_GENERIC         Annotation_Type = 0
	Annotation_TEST_RESULT     Annotation_Type = 1
	Annotation_LINT_RESULT     Annotation_Type = 2
	Annotation_ANALYSIS_RESULT Annotation_Type = 3
)

// Enum value maps for Annotation_Type.
var (
	Annotation_Type_name = map[int32]string{
		0: "GENERIC",
		1: "TEST_RESULT",
		2: "LINT_RESULT",
		3: "ANALYSIS_RESULT",
	}
	Annotation_Type_value = map[string]int32{
		"GENERIC":         0,
		"TEST_RESULT":     1,
		"LINT_RESULT":     2,
		"ANALYSIS_RESULT": 3,
	}
)

func (x Annotation_Type) Enum() *Annotation_Type {
	p := new(Annotation_Type)
	*p = x
	return p
}

func (x Annotation_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Annotation_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[5].Descriptor()
}

func (Annotation_Type) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[5]
}

func (x Annotation_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Annotation_Type.Descriptor instead.
func (Annotation_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{51, 1}
}

type Command_CommandExecutionBehavior int32

const (
	Command_ON_SUCCESS Command_CommandExecutionBehavior = 0
	Command_ON_FAILURE Command_CommandExecutionBehavior = 1
	Command_ON_TIMEOUT Command_CommandExecutionBehavior = 3
	Command_ALWAYS     Command_CommandExecutionBehavior = 2
)

// Enum value maps for Command_CommandExecutionBehavior.
var (
	Command_CommandExecutionBehavior_name = map[int32]string{
		0: "ON_SUCCESS",
		1: "ON_FAILURE",
		3: "ON_TIMEOUT",
		2: "ALWAYS",
	}
	Command_CommandExecutionBehavior_value = map[string]int32{
		"ON_SUCCESS": 0,
		"ON_FAILURE": 1,
		"ON_TIMEOUT": 3,
		"ALWAYS":     2,
	}
)

func (x Command_CommandExecutionBehavior) Enum() *Command_CommandExecutionBehavior {
	p := new(Command_CommandExecutionBehavior)
	*p = x
	return p
}

func (x Command_CommandExecutionBehavior) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Command_CommandExecutionBehavior) Descriptor() protoreflect.EnumDescriptor {
	return file_api_cirrus_ci_service_proto_enumTypes[6].Descriptor()
}

func (Command_CommandExecutionBehavior) Type() protoreflect.EnumType {
	return &file_api_cirrus_ci_service_proto_enumTypes[6]
}

func (x Command_CommandExecutionBehavior) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Command_CommandExecutionBehavior.Descriptor instead.
func (Command_CommandExecutionBehavior) EnumDescriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{70, 0}
}

type CapabilitiesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CapabilitiesRequest) Reset() {
	*x = CapabilitiesRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CapabilitiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CapabilitiesRequest) ProtoMessage() {}

func (x *CapabilitiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CapabilitiesRequest.ProtoReflect.Descriptor instead.
func (*CapabilitiesRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{0}
}

type CapabilitiesResponse struct {
	state              protoimpl.MessageState   `protogen:"open.v1"`
	SupportedInstances *AdditionalInstancesInfo `protobuf:"bytes,1,opt,name=supported_instances,json=supportedInstances,proto3" json:"supported_instances,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CapabilitiesResponse) Reset() {
	*x = CapabilitiesResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CapabilitiesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CapabilitiesResponse) ProtoMessage() {}

func (x *CapabilitiesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CapabilitiesResponse.ProtoReflect.Descriptor instead.
func (*CapabilitiesResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{1}
}

func (x *CapabilitiesResponse) GetSupportedInstances() *AdditionalInstancesInfo {
	if x != nil {
		return x.SupportedInstances
	}
	return nil
}

type AdditionalInstancesInfo struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Instances     map[string]string               `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // field name to proto FQN
	DescriptorSet *descriptorpb.FileDescriptorSet `protobuf:"bytes,2,opt,name=descriptor_set,json=descriptorSet,proto3" json:"descriptor_set,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdditionalInstancesInfo) Reset() {
	*x = AdditionalInstancesInfo{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AdditionalInstancesInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdditionalInstancesInfo) ProtoMessage() {}

func (x *AdditionalInstancesInfo) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdditionalInstancesInfo.ProtoReflect.Descriptor instead.
func (*AdditionalInstancesInfo) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{2}
}

func (x *AdditionalInstancesInfo) GetInstances() map[string]string {
	if x != nil {
		return x.Instances
	}
	return nil
}

func (x *AdditionalInstancesInfo) GetDescriptorSet() *descriptorpb.FileDescriptorSet {
	if x != nil {
		return x.DescriptorSet
	}
	return nil
}

type EvaluateConfigRequest struct {
	state                    protoimpl.MessageState               `protogen:"open.v1"`
	YamlConfig               string                               `protobuf:"bytes,1,opt,name=yaml_config,json=yamlConfig,proto3" json:"yaml_config,omitempty"`
	StarlarkConfig           string                               `protobuf:"bytes,2,opt,name=starlark_config,json=starlarkConfig,proto3" json:"starlark_config,omitempty"`
	Environment              map[string]string                    `protobuf:"bytes,3,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	AffectedFiles            []string                             `protobuf:"bytes,4,rep,name=affectedFiles,proto3" json:"affectedFiles,omitempty"`
	AdditionalInstancesInfo  *AdditionalInstancesInfo             `protobuf:"bytes,6,opt,name=additional_instances_info,json=additionalInstancesInfo,proto3" json:"additional_instances_info,omitempty"`
	AdditionalTaskProperties []*descriptorpb.FieldDescriptorProto `protobuf:"bytes,7,rep,name=additional_task_properties,json=additionalTaskProperties,proto3" json:"additional_task_properties,omitempty"`
	// New file system abstraction
	Fs            *FileSystem `protobuf:"bytes,8,opt,name=fs,proto3" json:"fs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EvaluateConfigRequest) Reset() {
	*x = EvaluateConfigRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvaluateConfigRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateConfigRequest) ProtoMessage() {}

func (x *EvaluateConfigRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateConfigRequest.ProtoReflect.Descriptor instead.
func (*EvaluateConfigRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{3}
}

func (x *EvaluateConfigRequest) GetYamlConfig() string {
	if x != nil {
		return x.YamlConfig
	}
	return ""
}

func (x *EvaluateConfigRequest) GetStarlarkConfig() string {
	if x != nil {
		return x.StarlarkConfig
	}
	return ""
}

func (x *EvaluateConfigRequest) GetEnvironment() map[string]string {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *EvaluateConfigRequest) GetAffectedFiles() []string {
	if x != nil {
		return x.AffectedFiles
	}
	return nil
}

func (x *EvaluateConfigRequest) GetAdditionalInstancesInfo() *AdditionalInstancesInfo {
	if x != nil {
		return x.AdditionalInstancesInfo
	}
	return nil
}

func (x *EvaluateConfigRequest) GetAdditionalTaskProperties() []*descriptorpb.FieldDescriptorProto {
	if x != nil {
		return x.AdditionalTaskProperties
	}
	return nil
}

func (x *EvaluateConfigRequest) GetFs() *FileSystem {
	if x != nil {
		return x.Fs
	}
	return nil
}

type FileSystem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Impl:
	//
	//	*FileSystem_Memory_
	//	*FileSystem_Github_
	Impl          isFileSystem_Impl `protobuf_oneof:"impl"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileSystem) Reset() {
	*x = FileSystem{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileSystem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileSystem) ProtoMessage() {}

func (x *FileSystem) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileSystem.ProtoReflect.Descriptor instead.
func (*FileSystem) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{4}
}

func (x *FileSystem) GetImpl() isFileSystem_Impl {
	if x != nil {
		return x.Impl
	}
	return nil
}

func (x *FileSystem) GetMemory() *FileSystem_Memory {
	if x != nil {
		if x, ok := x.Impl.(*FileSystem_Memory_); ok {
			return x.Memory
		}
	}
	return nil
}

func (x *FileSystem) GetGithub() *FileSystem_Github {
	if x != nil {
		if x, ok := x.Impl.(*FileSystem_Github_); ok {
			return x.Github
		}
	}
	return nil
}

type isFileSystem_Impl interface {
	isFileSystem_Impl()
}

type FileSystem_Memory_ struct {
	Memory *FileSystem_Memory `protobuf:"bytes,1,opt,name=memory,proto3,oneof"`
}

type FileSystem_Github_ struct {
	Github *FileSystem_Github `protobuf:"bytes,2,opt,name=github,proto3,oneof"`
}

func (*FileSystem_Memory_) isFileSystem_Impl() {}

func (*FileSystem_Github_) isFileSystem_Impl() {}

type EvaluateConfigResponse struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Tasks                     []*Task                `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"`
	OutputLogs                []byte                 `protobuf:"bytes,2,opt,name=output_logs,json=outputLogs,proto3" json:"output_logs,omitempty"`
	TasksCountBeforeFiltering int64                  `protobuf:"varint,3,opt,name=tasks_count_before_filtering,json=tasksCountBeforeFiltering,proto3" json:"tasks_count_before_filtering,omitempty"`
	ProcessedConfig           string                 `protobuf:"bytes,5,opt,name=processed_config,json=processedConfig,proto3" json:"processed_config,omitempty"`
	Issues                    []*Issue               `protobuf:"bytes,6,rep,name=issues,proto3" json:"issues,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *EvaluateConfigResponse) Reset() {
	*x = EvaluateConfigResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvaluateConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateConfigResponse) ProtoMessage() {}

func (x *EvaluateConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateConfigResponse.ProtoReflect.Descriptor instead.
func (*EvaluateConfigResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{5}
}

func (x *EvaluateConfigResponse) GetTasks() []*Task {
	if x != nil {
		return x.Tasks
	}
	return nil
}

func (x *EvaluateConfigResponse) GetOutputLogs() []byte {
	if x != nil {
		return x.OutputLogs
	}
	return nil
}

func (x *EvaluateConfigResponse) GetTasksCountBeforeFiltering() int64 {
	if x != nil {
		return x.TasksCountBeforeFiltering
	}
	return 0
}

func (x *EvaluateConfigResponse) GetProcessedConfig() string {
	if x != nil {
		return x.ProcessedConfig
	}
	return ""
}

func (x *EvaluateConfigResponse) GetIssues() []*Issue {
	if x != nil {
		return x.Issues
	}
	return nil
}

type RichError struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Message         string                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	ProcessedConfig string                 `protobuf:"bytes,2,opt,name=processed_config,json=processedConfig,proto3" json:"processed_config,omitempty"`
	Line            uint64                 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
	Column          uint64                 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RichError) Reset() {
	*x = RichError{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RichError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RichError) ProtoMessage() {}

func (x *RichError) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RichError.ProtoReflect.Descriptor instead.
func (*RichError) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{6}
}

func (x *RichError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *RichError) GetProcessedConfig() string {
	if x != nil {
		return x.ProcessedConfig
	}
	return ""
}

func (x *RichError) GetLine() uint64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *RichError) GetColumn() uint64 {
	if x != nil {
		return x.Column
	}
	return 0
}

type Issue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Level         Issue_Level            `protobuf:"varint,1,opt,name=level,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Issue_Level" json:"level,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	RawDetails    string                 `protobuf:"bytes,5,opt,name=raw_details,json=rawDetails,proto3" json:"raw_details,omitempty"`
	Path          string                 `protobuf:"bytes,6,opt,name=path,proto3" json:"path,omitempty"`
	Line          uint64                 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
	Column        uint64                 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Issue) Reset() {
	*x = Issue{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Issue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Issue) ProtoMessage() {}

func (x *Issue) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Issue.ProtoReflect.Descriptor instead.
func (*Issue) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{7}
}

func (x *Issue) GetLevel() Issue_Level {
	if x != nil {
		return x.Level
	}
	return Issue_INFO
}

func (x *Issue) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *Issue) GetRawDetails() string {
	if x != nil {
		return x.RawDetails
	}
	return ""
}

func (x *Issue) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Issue) GetLine() uint64 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *Issue) GetColumn() uint64 {
	if x != nil {
		return x.Column
	}
	return 0
}

type JSONSchemaRequest struct {
	state                   protoimpl.MessageState   `protogen:"open.v1"`
	AdditionalInstancesInfo *AdditionalInstancesInfo `protobuf:"bytes,1,opt,name=additional_instances_info,json=additionalInstancesInfo,proto3" json:"additional_instances_info,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *JSONSchemaRequest) Reset() {
	*x = JSONSchemaRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *JSONSchemaRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JSONSchemaRequest) ProtoMessage() {}

func (x *JSONSchemaRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use JSONSchemaRequest.ProtoReflect.Descriptor instead.
func (*JSONSchemaRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{8}
}

func (x *JSONSchemaRequest) GetAdditionalInstancesInfo() *AdditionalInstancesInfo {
	if x != nil {
		return x.AdditionalInstancesInfo
	}
	return nil
}

type JSONSchemaResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Schema        string                 `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *JSONSchemaResponse) Reset() {
	*x = JSONSchemaResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *JSONSchemaResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JSONSchemaResponse) ProtoMessage() {}

func (x *JSONSchemaResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use JSONSchemaResponse.ProtoReflect.Descriptor instead.
func (*JSONSchemaResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{9}
}

func (x *JSONSchemaResponse) GetSchema() string {
	if x != nil {
		return x.Schema
	}
	return ""
}

type EvaluateFunctionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	StarlarkConfig string                 `protobuf:"bytes,1,opt,name=starlark_config,json=starlarkConfig,proto3" json:"starlark_config,omitempty"`
	FunctionName   string                 `protobuf:"bytes,2,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
	Arguments      *structpb.ListValue    `protobuf:"bytes,3,opt,name=arguments,proto3" json:"arguments,omitempty"`
	Environment    map[string]string      `protobuf:"bytes,4,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Fs             *FileSystem            `protobuf:"bytes,5,opt,name=fs,proto3" json:"fs,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EvaluateFunctionRequest) Reset() {
	*x = EvaluateFunctionRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvaluateFunctionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateFunctionRequest) ProtoMessage() {}

func (x *EvaluateFunctionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateFunctionRequest.ProtoReflect.Descriptor instead.
func (*EvaluateFunctionRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{10}
}

func (x *EvaluateFunctionRequest) GetStarlarkConfig() string {
	if x != nil {
		return x.StarlarkConfig
	}
	return ""
}

func (x *EvaluateFunctionRequest) GetFunctionName() string {
	if x != nil {
		return x.FunctionName
	}
	return ""
}

func (x *EvaluateFunctionRequest) GetArguments() *structpb.ListValue {
	if x != nil {
		return x.Arguments
	}
	return nil
}

func (x *EvaluateFunctionRequest) GetEnvironment() map[string]string {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *EvaluateFunctionRequest) GetFs() *FileSystem {
	if x != nil {
		return x.Fs
	}
	return nil
}

type EvaluateFunctionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ErrorMessage  string                 `protobuf:"bytes,1,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	OutputLogs    []byte                 `protobuf:"bytes,2,opt,name=output_logs,json=outputLogs,proto3" json:"output_logs,omitempty"`
	DurationNanos int64                  `protobuf:"varint,3,opt,name=duration_nanos,json=durationNanos,proto3" json:"duration_nanos,omitempty"`
	Result        *structpb.Value        `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EvaluateFunctionResponse) Reset() {
	*x = EvaluateFunctionResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvaluateFunctionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateFunctionResponse) ProtoMessage() {}

func (x *EvaluateFunctionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateFunctionResponse.ProtoReflect.Descriptor instead.
func (*EvaluateFunctionResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{11}
}

func (x *EvaluateFunctionResponse) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *EvaluateFunctionResponse) GetOutputLogs() []byte {
	if x != nil {
		return x.OutputLogs
	}
	return nil
}

func (x *EvaluateFunctionResponse) GetDurationNanos() int64 {
	if x != nil {
		return x.DurationNanos
	}
	return 0
}

func (x *EvaluateFunctionResponse) GetResult() *structpb.Value {
	if x != nil {
		return x.Result
	}
	return nil
}

type RegisterRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	RegistrationToken string                 `protobuf:"bytes,1,opt,name=registration_token,json=registrationToken,proto3" json:"registration_token,omitempty"`
	WorkerInfo        *WorkerInfo            `protobuf:"bytes,2,opt,name=worker_info,json=workerInfo,proto3" json:"worker_info,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RegisterRequest) Reset() {
	*x = RegisterRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterRequest) ProtoMessage() {}

func (x *RegisterRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterRequest.ProtoReflect.Descriptor instead.
func (*RegisterRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{12}
}

func (x *RegisterRequest) GetRegistrationToken() string {
	if x != nil {
		return x.RegistrationToken
	}
	return ""
}

func (x *RegisterRequest) GetWorkerInfo() *WorkerInfo {
	if x != nil {
		return x.WorkerInfo
	}
	return nil
}

type RegisterResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SessionToken  string                 `protobuf:"bytes,1,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterResponse) Reset() {
	*x = RegisterResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterResponse) ProtoMessage() {}

func (x *RegisterResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead.
func (*RegisterResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{13}
}

func (x *RegisterResponse) GetSessionToken() string {
	if x != nil {
		return x.SessionToken
	}
	return ""
}

type PollRequest struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	WorkerInfo *WorkerInfo            `protobuf:"bytes,1,opt,name=worker_info,json=workerInfo,proto3" json:"worker_info,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	OldRunningTasks                      []int64                       `protobuf:"varint,2,rep,packed,name=old_running_tasks,json=oldRunningTasks,proto3" json:"old_running_tasks,omitempty"`
	ResourcesInUse                       map[string]float64            `protobuf:"bytes,3,rep,name=resources_in_use,json=resourcesInUse,proto3" json:"resources_in_use,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	RunningTasks                         []string                      `protobuf:"bytes,4,rep,name=running_tasks,json=runningTasks,proto3" json:"running_tasks,omitempty"`
	AvailableStandbyInstancesInformation []*StandbyInstanceInformation `protobuf:"bytes,5,rep,name=available_standby_instances_information,json=availableStandbyInstancesInformation,proto3" json:"available_standby_instances_information,omitempty"`
	unknownFields                        protoimpl.UnknownFields
	sizeCache                            protoimpl.SizeCache
}

func (x *PollRequest) Reset() {
	*x = PollRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PollRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PollRequest) ProtoMessage() {}

func (x *PollRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PollRequest.ProtoReflect.Descriptor instead.
func (*PollRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{14}
}

func (x *PollRequest) GetWorkerInfo() *WorkerInfo {
	if x != nil {
		return x.WorkerInfo
	}
	return nil
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *PollRequest) GetOldRunningTasks() []int64 {
	if x != nil {
		return x.OldRunningTasks
	}
	return nil
}

func (x *PollRequest) GetResourcesInUse() map[string]float64 {
	if x != nil {
		return x.ResourcesInUse
	}
	return nil
}

func (x *PollRequest) GetRunningTasks() []string {
	if x != nil {
		return x.RunningTasks
	}
	return nil
}

func (x *PollRequest) GetAvailableStandbyInstancesInformation() []*StandbyInstanceInformation {
	if x != nil {
		return x.AvailableStandbyInstancesInformation
	}
	return nil
}

type QueryRunningTasksRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Info          *WorkerInfo            `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueryRunningTasksRequest) Reset() {
	*x = QueryRunningTasksRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRunningTasksRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRunningTasksRequest) ProtoMessage() {}

func (x *QueryRunningTasksRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRunningTasksRequest.ProtoReflect.Descriptor instead.
func (*QueryRunningTasksRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{15}
}

func (x *QueryRunningTasksRequest) GetInfo() *WorkerInfo {
	if x != nil {
		return x.Info
	}
	return nil
}

type QueryRunningTasksResponse struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Status *WorkerStatus          `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	OldRunningTasks []int64  `protobuf:"varint,2,rep,packed,name=old_running_tasks,json=oldRunningTasks,proto3" json:"old_running_tasks,omitempty"`
	RunningTasks    []string `protobuf:"bytes,3,rep,name=running_tasks,json=runningTasks,proto3" json:"running_tasks,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *QueryRunningTasksResponse) Reset() {
	*x = QueryRunningTasksResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRunningTasksResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRunningTasksResponse) ProtoMessage() {}

func (x *QueryRunningTasksResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRunningTasksResponse.ProtoReflect.Descriptor instead.
func (*QueryRunningTasksResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{16}
}

func (x *QueryRunningTasksResponse) GetStatus() *WorkerStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *QueryRunningTasksResponse) GetOldRunningTasks() []int64 {
	if x != nil {
		return x.OldRunningTasks
	}
	return nil
}

func (x *QueryRunningTasksResponse) GetRunningTasks() []string {
	if x != nil {
		return x.RunningTasks
	}
	return nil
}

type TaskFailedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Message            string              `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *TaskFailedRequest) Reset() {
	*x = TaskFailedRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskFailedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskFailedRequest) ProtoMessage() {}

func (x *TaskFailedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskFailedRequest.ProtoReflect.Descriptor instead.
func (*TaskFailedRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{17}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *TaskFailedRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *TaskFailedRequest) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type PollResponse struct {
	state        protoimpl.MessageState         `protogen:"open.v1"`
	TasksToStart []*PollResponse_AgentAwareTask `protobuf:"bytes,1,rep,name=tasks_to_start,json=tasksToStart,proto3" json:"tasks_to_start,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	OldTaskIdsToStop        []int64                      `protobuf:"varint,2,rep,packed,name=old_task_ids_to_stop,json=oldTaskIdsToStop,proto3" json:"old_task_ids_to_stop,omitempty"`
	PollIntervalInSeconds   uint32                       `protobuf:"varint,3,opt,name=poll_interval_in_seconds,json=pollIntervalInSeconds,proto3" json:"poll_interval_in_seconds,omitempty"`
	Shutdown                bool                         `protobuf:"varint,4,opt,name=shutdown,proto3" json:"shutdown,omitempty"`
	TasksToStop             []string                     `protobuf:"bytes,5,rep,name=tasks_to_stop,json=tasksToStop,proto3" json:"tasks_to_stop,omitempty"`
	UpdatedStandbyInstances []*StandbyInstanceParameters `protobuf:"bytes,6,rep,name=updated_standby_instances,json=updatedStandbyInstances,proto3" json:"updated_standby_instances,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *PollResponse) Reset() {
	*x = PollResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PollResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PollResponse) ProtoMessage() {}

func (x *PollResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PollResponse.ProtoReflect.Descriptor instead.
func (*PollResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{18}
}

func (x *PollResponse) GetTasksToStart() []*PollResponse_AgentAwareTask {
	if x != nil {
		return x.TasksToStart
	}
	return nil
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *PollResponse) GetOldTaskIdsToStop() []int64 {
	if x != nil {
		return x.OldTaskIdsToStop
	}
	return nil
}

func (x *PollResponse) GetPollIntervalInSeconds() uint32 {
	if x != nil {
		return x.PollIntervalInSeconds
	}
	return 0
}

func (x *PollResponse) GetShutdown() bool {
	if x != nil {
		return x.Shutdown
	}
	return false
}

func (x *PollResponse) GetTasksToStop() []string {
	if x != nil {
		return x.TasksToStop
	}
	return nil
}

func (x *PollResponse) GetUpdatedStandbyInstances() []*StandbyInstanceParameters {
	if x != nil {
		return x.UpdatedStandbyInstances
	}
	return nil
}

type StandbyInstanceInformation struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Parameters    *StandbyInstanceParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
	AgeSeconds    uint64                     `protobuf:"varint,2,opt,name=age_seconds,json=ageSeconds,proto3" json:"age_seconds,omitempty"` // since warming up
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StandbyInstanceInformation) Reset() {
	*x = StandbyInstanceInformation{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StandbyInstanceInformation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StandbyInstanceInformation) ProtoMessage() {}

func (x *StandbyInstanceInformation) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StandbyInstanceInformation.ProtoReflect.Descriptor instead.
func (*StandbyInstanceInformation) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{19}
}

func (x *StandbyInstanceInformation) GetParameters() *StandbyInstanceParameters {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *StandbyInstanceInformation) GetAgeSeconds() uint64 {
	if x != nil {
		return x.AgeSeconds
	}
	return 0
}

type StandbyInstanceParameters struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Isolation     *Isolation                        `protobuf:"bytes,1,opt,name=isolation,proto3" json:"isolation,omitempty"`
	Resources     map[string]float64                `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	Warmup        *StandbyInstanceParameters_Warmup `protobuf:"bytes,3,opt,name=warmup,proto3" json:"warmup,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StandbyInstanceParameters) Reset() {
	*x = StandbyInstanceParameters{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StandbyInstanceParameters) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StandbyInstanceParameters) ProtoMessage() {}

func (x *StandbyInstanceParameters) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StandbyInstanceParameters.ProtoReflect.Descriptor instead.
func (*StandbyInstanceParameters) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{20}
}

func (x *StandbyInstanceParameters) GetIsolation() *Isolation {
	if x != nil {
		return x.Isolation
	}
	return nil
}

func (x *StandbyInstanceParameters) GetResources() map[string]float64 {
	if x != nil {
		return x.Resources
	}
	return nil
}

func (x *StandbyInstanceParameters) GetWarmup() *StandbyInstanceParameters_Warmup {
	if x != nil {
		return x.Warmup
	}
	return nil
}

type WorkerInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Well-Known Labels:
	// name — worker's name
	// version — full version (the one returned when running "cirrus --version")
	// hostname — name of the host system
	// os — runtime.GOOS
	// arch — runtime.GOARCH
	Labels         map[string]string  `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	ResourcesTotal map[string]float64 `protobuf:"bytes,2,rep,name=resources_total,json=resourcesTotal,proto3" json:"resources_total,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *WorkerInfo) Reset() {
	*x = WorkerInfo{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkerInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerInfo) ProtoMessage() {}

func (x *WorkerInfo) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkerInfo.ProtoReflect.Descriptor instead.
func (*WorkerInfo) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{21}
}

func (x *WorkerInfo) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *WorkerInfo) GetResourcesTotal() map[string]float64 {
	if x != nil {
		return x.ResourcesTotal
	}
	return nil
}

type UpdateStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Disabled      bool                   `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateStatusRequest) Reset() {
	*x = UpdateStatusRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateStatusRequest) ProtoMessage() {}

func (x *UpdateStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateStatusRequest.ProtoReflect.Descriptor instead.
func (*UpdateStatusRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{22}
}

func (x *UpdateStatusRequest) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

type WorkerStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Disabled      bool                   `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkerStatus) Reset() {
	*x = WorkerStatus{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkerStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerStatus) ProtoMessage() {}

func (x *WorkerStatus) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkerStatus.ProtoReflect.Descriptor instead.
func (*WorkerStatus) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{23}
}

func (x *WorkerStatus) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

type MultipartCacheUploadCreateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UploadId      string                 `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MultipartCacheUploadCreateResponse) Reset() {
	*x = MultipartCacheUploadCreateResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MultipartCacheUploadCreateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultipartCacheUploadCreateResponse) ProtoMessage() {}

func (x *MultipartCacheUploadCreateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultipartCacheUploadCreateResponse.ProtoReflect.Descriptor instead.
func (*MultipartCacheUploadCreateResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{24}
}

func (x *MultipartCacheUploadCreateResponse) GetUploadId() string {
	if x != nil {
		return x.UploadId
	}
	return ""
}

type MultipartCacheUploadPartRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CacheKey      *CacheKey              `protobuf:"bytes,1,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	UploadId      string                 `protobuf:"bytes,2,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
	PartNumber    uint32                 `protobuf:"varint,3,opt,name=part_number,json=partNumber,proto3" json:"part_number,omitempty"`
	ContentLength uint64                 `protobuf:"varint,4,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MultipartCacheUploadPartRequest) Reset() {
	*x = MultipartCacheUploadPartRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MultipartCacheUploadPartRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultipartCacheUploadPartRequest) ProtoMessage() {}

func (x *MultipartCacheUploadPartRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultipartCacheUploadPartRequest.ProtoReflect.Descriptor instead.
func (*MultipartCacheUploadPartRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{25}
}

func (x *MultipartCacheUploadPartRequest) GetCacheKey() *CacheKey {
	if x != nil {
		return x.CacheKey
	}
	return nil
}

func (x *MultipartCacheUploadPartRequest) GetUploadId() string {
	if x != nil {
		return x.UploadId
	}
	return ""
}

func (x *MultipartCacheUploadPartRequest) GetPartNumber() uint32 {
	if x != nil {
		return x.PartNumber
	}
	return 0
}

func (x *MultipartCacheUploadPartRequest) GetContentLength() uint64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

type MultipartCacheUploadCommitRequest struct {
	state         protoimpl.MessageState                    `protogen:"open.v1"`
	CacheKey      *CacheKey                                 `protobuf:"bytes,1,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	UploadId      string                                    `protobuf:"bytes,2,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
	Parts         []*MultipartCacheUploadCommitRequest_Part `protobuf:"bytes,3,rep,name=parts,proto3" json:"parts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MultipartCacheUploadCommitRequest) Reset() {
	*x = MultipartCacheUploadCommitRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MultipartCacheUploadCommitRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultipartCacheUploadCommitRequest) ProtoMessage() {}

func (x *MultipartCacheUploadCommitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultipartCacheUploadCommitRequest.ProtoReflect.Descriptor instead.
func (*MultipartCacheUploadCommitRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{26}
}

func (x *MultipartCacheUploadCommitRequest) GetCacheKey() *CacheKey {
	if x != nil {
		return x.CacheKey
	}
	return nil
}

func (x *MultipartCacheUploadCommitRequest) GetUploadId() string {
	if x != nil {
		return x.UploadId
	}
	return ""
}

func (x *MultipartCacheUploadCommitRequest) GetParts() []*MultipartCacheUploadCommitRequest_Part {
	if x != nil {
		return x.Parts
	}
	return nil
}

type ReportTerminalAttachedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Locator            string              `protobuf:"bytes,2,opt,name=locator,proto3" json:"locator,omitempty"`
	TrustedSecret      string              `protobuf:"bytes,3,opt,name=trusted_secret,json=trustedSecret,proto3" json:"trusted_secret,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportTerminalAttachedRequest) Reset() {
	*x = ReportTerminalAttachedRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalAttachedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalAttachedRequest) ProtoMessage() {}

func (x *ReportTerminalAttachedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalAttachedRequest.ProtoReflect.Descriptor instead.
func (*ReportTerminalAttachedRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{27}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportTerminalAttachedRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportTerminalAttachedRequest) GetLocator() string {
	if x != nil {
		return x.Locator
	}
	return ""
}

func (x *ReportTerminalAttachedRequest) GetTrustedSecret() string {
	if x != nil {
		return x.TrustedSecret
	}
	return ""
}

type ReportTerminalAttachedResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportTerminalAttachedResponse) Reset() {
	*x = ReportTerminalAttachedResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalAttachedResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalAttachedResponse) ProtoMessage() {}

func (x *ReportTerminalAttachedResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalAttachedResponse.ProtoReflect.Descriptor instead.
func (*ReportTerminalAttachedResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{28}
}

type ReportTerminalLifecycleRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	// Types that are valid to be assigned to Lifecycle:
	//
	//	*ReportTerminalLifecycleRequest_Started_
	//	*ReportTerminalLifecycleRequest_Expiring_
	Lifecycle     isReportTerminalLifecycleRequest_Lifecycle `protobuf_oneof:"lifecycle"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportTerminalLifecycleRequest) Reset() {
	*x = ReportTerminalLifecycleRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalLifecycleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalLifecycleRequest) ProtoMessage() {}

func (x *ReportTerminalLifecycleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalLifecycleRequest.ProtoReflect.Descriptor instead.
func (*ReportTerminalLifecycleRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{29}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportTerminalLifecycleRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportTerminalLifecycleRequest) GetLifecycle() isReportTerminalLifecycleRequest_Lifecycle {
	if x != nil {
		return x.Lifecycle
	}
	return nil
}

func (x *ReportTerminalLifecycleRequest) GetStarted() *ReportTerminalLifecycleRequest_Started {
	if x != nil {
		if x, ok := x.Lifecycle.(*ReportTerminalLifecycleRequest_Started_); ok {
			return x.Started
		}
	}
	return nil
}

func (x *ReportTerminalLifecycleRequest) GetExpiring() *ReportTerminalLifecycleRequest_Expiring {
	if x != nil {
		if x, ok := x.Lifecycle.(*ReportTerminalLifecycleRequest_Expiring_); ok {
			return x.Expiring
		}
	}
	return nil
}

type isReportTerminalLifecycleRequest_Lifecycle interface {
	isReportTerminalLifecycleRequest_Lifecycle()
}

type ReportTerminalLifecycleRequest_Started_ struct {
	Started *ReportTerminalLifecycleRequest_Started `protobuf:"bytes,2,opt,name=started,proto3,oneof"`
}

type ReportTerminalLifecycleRequest_Expiring_ struct {
	Expiring *ReportTerminalLifecycleRequest_Expiring `protobuf:"bytes,3,opt,name=expiring,proto3,oneof"`
}

func (*ReportTerminalLifecycleRequest_Started_) isReportTerminalLifecycleRequest_Lifecycle() {}

func (*ReportTerminalLifecycleRequest_Expiring_) isReportTerminalLifecycleRequest_Lifecycle() {}

type ReportTerminalLifecycleResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportTerminalLifecycleResponse) Reset() {
	*x = ReportTerminalLifecycleResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalLifecycleResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalLifecycleResponse) ProtoMessage() {}

func (x *ReportTerminalLifecycleResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalLifecycleResponse.ProtoReflect.Descriptor instead.
func (*ReportTerminalLifecycleResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{30}
}

type TaskIdentification struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TaskId        int64                  `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	Secret        string                 `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TaskIdentification) Reset() {
	*x = TaskIdentification{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TaskIdentification) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TaskIdentification) ProtoMessage() {}

func (x *TaskIdentification) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TaskIdentification.ProtoReflect.Descriptor instead.
func (*TaskIdentification) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{31}
}

func (x *TaskIdentification) GetTaskId() int64 {
	if x != nil {
		return x.TaskId
	}
	return 0
}

func (x *TaskIdentification) GetSecret() string {
	if x != nil {
		return x.Secret
	}
	return ""
}

type DataChunk struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	RedirectUrl   string                 `protobuf:"bytes,2,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DataChunk) Reset() {
	*x = DataChunk{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DataChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DataChunk) ProtoMessage() {}

func (x *DataChunk) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DataChunk.ProtoReflect.Descriptor instead.
func (*DataChunk) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{32}
}

func (x *DataChunk) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *DataChunk) GetRedirectUrl() string {
	if x != nil {
		return x.RedirectUrl
	}
	return ""
}

type InitialCommandsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification  *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	LocalTimestamp      int64               `protobuf:"varint,2,opt,name=local_timestamp,json=localTimestamp,proto3" json:"local_timestamp,omitempty"`
	ContinueFromCommand string              `protobuf:"bytes,3,opt,name=continue_from_command,json=continueFromCommand,proto3" json:"continue_from_command,omitempty"`
	Retry               bool                `protobuf:"varint,4,opt,name=retry,proto3" json:"retry,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *InitialCommandsRequest) Reset() {
	*x = InitialCommandsRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InitialCommandsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InitialCommandsRequest) ProtoMessage() {}

func (x *InitialCommandsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InitialCommandsRequest.ProtoReflect.Descriptor instead.
func (*InitialCommandsRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{33}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *InitialCommandsRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *InitialCommandsRequest) GetLocalTimestamp() int64 {
	if x != nil {
		return x.LocalTimestamp
	}
	return 0
}

func (x *InitialCommandsRequest) GetContinueFromCommand() string {
	if x != nil {
		return x.ContinueFromCommand
	}
	return ""
}

func (x *InitialCommandsRequest) GetRetry() bool {
	if x != nil {
		return x.Retry
	}
	return false
}

type LogEntry struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Value:
	//
	//	*LogEntry_Key
	//	*LogEntry_Chunk
	Value         isLogEntry_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LogEntry) Reset() {
	*x = LogEntry{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LogEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogEntry) ProtoMessage() {}

func (x *LogEntry) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
func (*LogEntry) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{34}
}

func (x *LogEntry) GetValue() isLogEntry_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *LogEntry) GetKey() *LogEntry_LogKey {
	if x != nil {
		if x, ok := x.Value.(*LogEntry_Key); ok {
			return x.Key
		}
	}
	return nil
}

func (x *LogEntry) GetChunk() *DataChunk {
	if x != nil {
		if x, ok := x.Value.(*LogEntry_Chunk); ok {
			return x.Chunk
		}
	}
	return nil
}

type isLogEntry_Value interface {
	isLogEntry_Value()
}

type LogEntry_Key struct {
	Key *LogEntry_LogKey `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type LogEntry_Chunk struct {
	Chunk *DataChunk `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"`
}

func (*LogEntry_Key) isLogEntry_Value() {}

func (*LogEntry_Chunk) isLogEntry_Value() {}

type UploadLogsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	BytesLogged   int64                  `protobuf:"varint,1,opt,name=bytes_logged,json=bytesLogged,proto3" json:"bytes_logged,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UploadLogsResponse) Reset() {
	*x = UploadLogsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UploadLogsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UploadLogsResponse) ProtoMessage() {}

func (x *UploadLogsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UploadLogsResponse.ProtoReflect.Descriptor instead.
func (*UploadLogsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{35}
}

func (x *UploadLogsResponse) GetBytesLogged() int64 {
	if x != nil {
		return x.BytesLogged
	}
	return 0
}

type CacheKey struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CacheKey           string              `protobuf:"bytes,2,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CacheKey) Reset() {
	*x = CacheKey{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheKey) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheKey) ProtoMessage() {}

func (x *CacheKey) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheKey.ProtoReflect.Descriptor instead.
func (*CacheKey) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{36}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *CacheKey) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *CacheKey) GetCacheKey() string {
	if x != nil {
		return x.CacheKey
	}
	return ""
}

type CacheEntry struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Value:
	//
	//	*CacheEntry_Key
	//	*CacheEntry_Chunk
	Value         isCacheEntry_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CacheEntry) Reset() {
	*x = CacheEntry{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheEntry) ProtoMessage() {}

func (x *CacheEntry) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheEntry.ProtoReflect.Descriptor instead.
func (*CacheEntry) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{37}
}

func (x *CacheEntry) GetValue() isCacheEntry_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *CacheEntry) GetKey() *CacheKey {
	if x != nil {
		if x, ok := x.Value.(*CacheEntry_Key); ok {
			return x.Key
		}
	}
	return nil
}

func (x *CacheEntry) GetChunk() *DataChunk {
	if x != nil {
		if x, ok := x.Value.(*CacheEntry_Chunk); ok {
			return x.Chunk
		}
	}
	return nil
}

type isCacheEntry_Value interface {
	isCacheEntry_Value()
}

type CacheEntry_Key struct {
	Key *CacheKey `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type CacheEntry_Chunk struct {
	Chunk *DataChunk `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"`
}

func (*CacheEntry_Key) isCacheEntry_Value() {}

func (*CacheEntry_Chunk) isCacheEntry_Value() {}

type UploadCacheResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	BytesSaved    int64                  `protobuf:"varint,1,opt,name=bytes_saved,json=bytesSaved,proto3" json:"bytes_saved,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UploadCacheResponse) Reset() {
	*x = UploadCacheResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UploadCacheResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UploadCacheResponse) ProtoMessage() {}

func (x *UploadCacheResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UploadCacheResponse.ProtoReflect.Descriptor instead.
func (*UploadCacheResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{38}
}

func (x *UploadCacheResponse) GetBytesSaved() int64 {
	if x != nil {
		return x.BytesSaved
	}
	return 0
}

type ArtifactEntry struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Value:
	//
	//	*ArtifactEntry_ArtifactsUpload_
	//	*ArtifactEntry_Chunk
	Value         isArtifactEntry_Value `protobuf_oneof:"value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactEntry) Reset() {
	*x = ArtifactEntry{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactEntry) ProtoMessage() {}

func (x *ArtifactEntry) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactEntry.ProtoReflect.Descriptor instead.
func (*ArtifactEntry) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{39}
}

func (x *ArtifactEntry) GetValue() isArtifactEntry_Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *ArtifactEntry) GetArtifactsUpload() *ArtifactEntry_ArtifactsUpload {
	if x != nil {
		if x, ok := x.Value.(*ArtifactEntry_ArtifactsUpload_); ok {
			return x.ArtifactsUpload
		}
	}
	return nil
}

func (x *ArtifactEntry) GetChunk() *ArtifactEntry_ArtifactChunk {
	if x != nil {
		if x, ok := x.Value.(*ArtifactEntry_Chunk); ok {
			return x.Chunk
		}
	}
	return nil
}

type isArtifactEntry_Value interface {
	isArtifactEntry_Value()
}

type ArtifactEntry_ArtifactsUpload_ struct {
	ArtifactsUpload *ArtifactEntry_ArtifactsUpload `protobuf:"bytes,1,opt,name=artifacts_upload,json=artifactsUpload,proto3,oneof"`
}

type ArtifactEntry_Chunk struct {
	Chunk *ArtifactEntry_ArtifactChunk `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"`
}

func (*ArtifactEntry_ArtifactsUpload_) isArtifactEntry_Value() {}

func (*ArtifactEntry_Chunk) isArtifactEntry_Value() {}

type UploadArtifactsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	BytesSaved    int64                  `protobuf:"varint,1,opt,name=bytes_saved,json=bytesSaved,proto3" json:"bytes_saved,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UploadArtifactsResponse) Reset() {
	*x = UploadArtifactsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UploadArtifactsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UploadArtifactsResponse) ProtoMessage() {}

func (x *UploadArtifactsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UploadArtifactsResponse.ProtoReflect.Descriptor instead.
func (*UploadArtifactsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{40}
}

func (x *UploadArtifactsResponse) GetBytesSaved() int64 {
	if x != nil {
		return x.BytesSaved
	}
	return 0
}

type ArtifactFileInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	SizeInBytes   int64                  `protobuf:"varint,2,opt,name=size_in_bytes,json=sizeInBytes,proto3" json:"size_in_bytes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactFileInfo) Reset() {
	*x = ArtifactFileInfo{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactFileInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactFileInfo) ProtoMessage() {}

func (x *ArtifactFileInfo) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactFileInfo.ProtoReflect.Descriptor instead.
func (*ArtifactFileInfo) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{41}
}

func (x *ArtifactFileInfo) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *ArtifactFileInfo) GetSizeInBytes() int64 {
	if x != nil {
		return x.SizeInBytes
	}
	return 0
}

type GenerateArtifactUploadURLsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Name               string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Files              []*ArtifactFileInfo `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *GenerateArtifactUploadURLsRequest) Reset() {
	*x = GenerateArtifactUploadURLsRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenerateArtifactUploadURLsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerateArtifactUploadURLsRequest) ProtoMessage() {}

func (x *GenerateArtifactUploadURLsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerateArtifactUploadURLsRequest.ProtoReflect.Descriptor instead.
func (*GenerateArtifactUploadURLsRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{42}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *GenerateArtifactUploadURLsRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *GenerateArtifactUploadURLsRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GenerateArtifactUploadURLsRequest) GetFiles() []*ArtifactFileInfo {
	if x != nil {
		return x.Files
	}
	return nil
}

type GenerateArtifactUploadURLsResponse struct {
	state         protoimpl.MessageState                          `protogen:"open.v1"`
	Urls          []*GenerateArtifactUploadURLsResponse_UploadURL `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateArtifactUploadURLsResponse) Reset() {
	*x = GenerateArtifactUploadURLsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenerateArtifactUploadURLsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerateArtifactUploadURLsResponse) ProtoMessage() {}

func (x *GenerateArtifactUploadURLsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerateArtifactUploadURLsResponse.ProtoReflect.Descriptor instead.
func (*GenerateArtifactUploadURLsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{43}
}

func (x *GenerateArtifactUploadURLsResponse) GetUrls() []*GenerateArtifactUploadURLsResponse_UploadURL {
	if x != nil {
		return x.Urls
	}
	return nil
}

type CommitUploadedArtifactsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Name               string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Type               string              `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	Format             string              `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"`
	Files              []*ArtifactFileInfo `protobuf:"bytes,5,rep,name=files,proto3" json:"files,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CommitUploadedArtifactsRequest) Reset() {
	*x = CommitUploadedArtifactsRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommitUploadedArtifactsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitUploadedArtifactsRequest) ProtoMessage() {}

func (x *CommitUploadedArtifactsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitUploadedArtifactsRequest.ProtoReflect.Descriptor instead.
func (*CommitUploadedArtifactsRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{44}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *CommitUploadedArtifactsRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *CommitUploadedArtifactsRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CommitUploadedArtifactsRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CommitUploadedArtifactsRequest) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

func (x *CommitUploadedArtifactsRequest) GetFiles() []*ArtifactFileInfo {
	if x != nil {
		return x.Files
	}
	return nil
}

type CommitUploadedArtifactsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CommitUploadedArtifactsResponse) Reset() {
	*x = CommitUploadedArtifactsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommitUploadedArtifactsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommitUploadedArtifactsResponse) ProtoMessage() {}

func (x *CommitUploadedArtifactsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommitUploadedArtifactsResponse.ProtoReflect.Descriptor instead.
func (*CommitUploadedArtifactsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{45}
}

type DownloadCacheRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CacheKey           string              `protobuf:"bytes,2,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DownloadCacheRequest) Reset() {
	*x = DownloadCacheRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DownloadCacheRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DownloadCacheRequest) ProtoMessage() {}

func (x *DownloadCacheRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DownloadCacheRequest.ProtoReflect.Descriptor instead.
func (*DownloadCacheRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{46}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *DownloadCacheRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *DownloadCacheRequest) GetCacheKey() string {
	if x != nil {
		return x.CacheKey
	}
	return ""
}

type CommandsResponse struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Environment       map[string]string      `protobuf:"bytes,1,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Commands          []*Command             `protobuf:"bytes,2,rep,name=commands,proto3" json:"commands,omitempty"`
	ServerToken       string                 `protobuf:"bytes,3,opt,name=serverToken,proto3" json:"serverToken,omitempty"`
	TimeoutInSeconds  int64                  `protobuf:"varint,4,opt,name=timeout_in_seconds,json=timeoutInSeconds,proto3" json:"timeout_in_seconds,omitempty"`
	SecretsToMask     []string               `protobuf:"bytes,5,rep,name=secrets_to_mask,json=secretsToMask,proto3" json:"secrets_to_mask,omitempty"`
	FailedAtLeastOnce bool                   `protobuf:"varint,6,opt,name=failed_at_least_once,json=failedAtLeastOnce,proto3" json:"failed_at_least_once,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *CommandsResponse) Reset() {
	*x = CommandsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommandsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommandsResponse) ProtoMessage() {}

func (x *CommandsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommandsResponse.ProtoReflect.Descriptor instead.
func (*CommandsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{47}
}

func (x *CommandsResponse) GetEnvironment() map[string]string {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *CommandsResponse) GetCommands() []*Command {
	if x != nil {
		return x.Commands
	}
	return nil
}

func (x *CommandsResponse) GetServerToken() string {
	if x != nil {
		return x.ServerToken
	}
	return ""
}

func (x *CommandsResponse) GetTimeoutInSeconds() int64 {
	if x != nil {
		return x.TimeoutInSeconds
	}
	return 0
}

func (x *CommandsResponse) GetSecretsToMask() []string {
	if x != nil {
		return x.SecretsToMask
	}
	return nil
}

func (x *CommandsResponse) GetFailedAtLeastOnce() bool {
	if x != nil {
		return x.FailedAtLeastOnce
	}
	return false
}

type ReportCommandUpdatesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Updates            []*CommandResult    `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportCommandUpdatesRequest) Reset() {
	*x = ReportCommandUpdatesRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportCommandUpdatesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportCommandUpdatesRequest) ProtoMessage() {}

func (x *ReportCommandUpdatesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportCommandUpdatesRequest.ProtoReflect.Descriptor instead.
func (*ReportCommandUpdatesRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{48}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportCommandUpdatesRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportCommandUpdatesRequest) GetUpdates() []*CommandResult {
	if x != nil {
		return x.Updates
	}
	return nil
}

type ReportCommandUpdatesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportCommandUpdatesResponse) Reset() {
	*x = ReportCommandUpdatesResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportCommandUpdatesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportCommandUpdatesResponse) ProtoMessage() {}

func (x *ReportCommandUpdatesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportCommandUpdatesResponse.ProtoReflect.Descriptor instead.
func (*ReportCommandUpdatesResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{49}
}

type ReportAnnotationsCommandRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Annotations        []*Annotation       `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportAnnotationsCommandRequest) Reset() {
	*x = ReportAnnotationsCommandRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAnnotationsCommandRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAnnotationsCommandRequest) ProtoMessage() {}

func (x *ReportAnnotationsCommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAnnotationsCommandRequest.ProtoReflect.Descriptor instead.
func (*ReportAnnotationsCommandRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{50}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportAnnotationsCommandRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportAnnotationsCommandRequest) GetAnnotations() []*Annotation {
	if x != nil {
		return x.Annotations
	}
	return nil
}

type Annotation struct {
	state              protoimpl.MessageState   `protogen:"open.v1"`
	Type               Annotation_Type          `protobuf:"varint,1,opt,name=type,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Annotation_Type" json:"type,omitempty"`
	Level              Annotation_Level         `protobuf:"varint,2,opt,name=level,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Annotation_Level" json:"level,omitempty"`
	Message            string                   `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	RawDetails         string                   `protobuf:"bytes,4,opt,name=raw_details,json=rawDetails,proto3" json:"raw_details,omitempty"`
	FullyQualifiedName string                   `protobuf:"bytes,5,opt,name=fully_qualified_name,json=fullyQualifiedName,proto3" json:"fully_qualified_name,omitempty"`
	FileLocation       *Annotation_FileLocation `protobuf:"bytes,6,opt,name=file_location,json=fileLocation,proto3" json:"file_location,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Annotation) Reset() {
	*x = Annotation{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Annotation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Annotation) ProtoMessage() {}

func (x *Annotation) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Annotation.ProtoReflect.Descriptor instead.
func (*Annotation) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{51}
}

func (x *Annotation) GetType() Annotation_Type {
	if x != nil {
		return x.Type
	}
	return Annotation_GENERIC
}

func (x *Annotation) GetLevel() Annotation_Level {
	if x != nil {
		return x.Level
	}
	return Annotation_NOTICE
}

func (x *Annotation) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *Annotation) GetRawDetails() string {
	if x != nil {
		return x.RawDetails
	}
	return ""
}

func (x *Annotation) GetFullyQualifiedName() string {
	if x != nil {
		return x.FullyQualifiedName
	}
	return ""
}

func (x *Annotation) GetFileLocation() *Annotation_FileLocation {
	if x != nil {
		return x.FileLocation
	}
	return nil
}

type HeartbeatRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *HeartbeatRequest) Reset() {
	*x = HeartbeatRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HeartbeatRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HeartbeatRequest) ProtoMessage() {}

func (x *HeartbeatRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HeartbeatRequest.ProtoReflect.Descriptor instead.
func (*HeartbeatRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{52}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *HeartbeatRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

type HeartbeatResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HeartbeatResponse) Reset() {
	*x = HeartbeatResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HeartbeatResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HeartbeatResponse) ProtoMessage() {}

func (x *HeartbeatResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HeartbeatResponse.ProtoReflect.Descriptor instead.
func (*HeartbeatResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{53}
}

type CacheInfoRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CacheKey           string              `protobuf:"bytes,2,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	CacheKeyPrefixes   []string            `protobuf:"bytes,3,rep,name=cache_key_prefixes,json=cacheKeyPrefixes,proto3" json:"cache_key_prefixes,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CacheInfoRequest) Reset() {
	*x = CacheInfoRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheInfoRequest) ProtoMessage() {}

func (x *CacheInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheInfoRequest.ProtoReflect.Descriptor instead.
func (*CacheInfoRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{54}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *CacheInfoRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *CacheInfoRequest) GetCacheKey() string {
	if x != nil {
		return x.CacheKey
	}
	return ""
}

func (x *CacheInfoRequest) GetCacheKeyPrefixes() []string {
	if x != nil {
		return x.CacheKeyPrefixes
	}
	return nil
}

type CacheInfo struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Key               string                 `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	SizeInBytes       int64                  `protobuf:"varint,2,opt,name=size_in_bytes,json=sizeInBytes,proto3" json:"size_in_bytes,omitempty"`
	CreationTimestamp int64                  `protobuf:"varint,3,opt,name=creation_timestamp,json=creationTimestamp,proto3" json:"creation_timestamp,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	OldCreatedByTaskId int64  `protobuf:"varint,4,opt,name=old_created_by_task_id,json=oldCreatedByTaskId,proto3" json:"old_created_by_task_id,omitempty"`
	CreatedByTaskId    string `protobuf:"bytes,5,opt,name=created_by_task_id,json=createdByTaskId,proto3" json:"created_by_task_id,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *CacheInfo) Reset() {
	*x = CacheInfo{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheInfo) ProtoMessage() {}

func (x *CacheInfo) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheInfo.ProtoReflect.Descriptor instead.
func (*CacheInfo) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{55}
}

func (x *CacheInfo) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *CacheInfo) GetSizeInBytes() int64 {
	if x != nil {
		return x.SizeInBytes
	}
	return 0
}

func (x *CacheInfo) GetCreationTimestamp() int64 {
	if x != nil {
		return x.CreationTimestamp
	}
	return 0
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *CacheInfo) GetOldCreatedByTaskId() int64 {
	if x != nil {
		return x.OldCreatedByTaskId
	}
	return 0
}

func (x *CacheInfo) GetCreatedByTaskId() string {
	if x != nil {
		return x.CreatedByTaskId
	}
	return ""
}

type CacheInfoResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Info          *CacheInfo             `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CacheInfoResponse) Reset() {
	*x = CacheInfoResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheInfoResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheInfoResponse) ProtoMessage() {}

func (x *CacheInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheInfoResponse.ProtoReflect.Descriptor instead.
func (*CacheInfoResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{56}
}

func (x *CacheInfoResponse) GetInfo() *CacheInfo {
	if x != nil {
		return x.Info
	}
	return nil
}

type DeleteCacheRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CacheKey           string              `protobuf:"bytes,2,opt,name=cache_key,json=cacheKey,proto3" json:"cache_key,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DeleteCacheRequest) Reset() {
	*x = DeleteCacheRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCacheRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCacheRequest) ProtoMessage() {}

func (x *DeleteCacheRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCacheRequest.ProtoReflect.Descriptor instead.
func (*DeleteCacheRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{57}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *DeleteCacheRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *DeleteCacheRequest) GetCacheKey() string {
	if x != nil {
		return x.CacheKey
	}
	return ""
}

type DeleteCacheResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCacheResponse) Reset() {
	*x = DeleteCacheResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCacheResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCacheResponse) ProtoMessage() {}

func (x *DeleteCacheResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCacheResponse.ProtoReflect.Descriptor instead.
func (*DeleteCacheResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{58}
}

type ReportAgentProblemRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Message            string              `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	Stack              string              `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportAgentProblemRequest) Reset() {
	*x = ReportAgentProblemRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAgentProblemRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAgentProblemRequest) ProtoMessage() {}

func (x *ReportAgentProblemRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAgentProblemRequest.ProtoReflect.Descriptor instead.
func (*ReportAgentProblemRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{59}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportAgentProblemRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportAgentProblemRequest) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *ReportAgentProblemRequest) GetStack() string {
	if x != nil {
		return x.Stack
	}
	return ""
}

type ReportStopHookRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportStopHookRequest) Reset() {
	*x = ReportStopHookRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportStopHookRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportStopHookRequest) ProtoMessage() {}

func (x *ReportStopHookRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportStopHookRequest.ProtoReflect.Descriptor instead.
func (*ReportStopHookRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{60}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportStopHookRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

type ReportAgentSignalRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Signal             string              `protobuf:"bytes,2,opt,name=signal,proto3" json:"signal,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportAgentSignalRequest) Reset() {
	*x = ReportAgentSignalRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAgentSignalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAgentSignalRequest) ProtoMessage() {}

func (x *ReportAgentSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAgentSignalRequest.ProtoReflect.Descriptor instead.
func (*ReportAgentSignalRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{61}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportAgentSignalRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportAgentSignalRequest) GetSignal() string {
	if x != nil {
		return x.Signal
	}
	return ""
}

type ReportAgentLogsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Logs               string              `protobuf:"bytes,2,opt,name=logs,proto3" json:"logs,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReportAgentLogsRequest) Reset() {
	*x = ReportAgentLogsRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAgentLogsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAgentLogsRequest) ProtoMessage() {}

func (x *ReportAgentLogsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAgentLogsRequest.ProtoReflect.Descriptor instead.
func (*ReportAgentLogsRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{62}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportAgentLogsRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportAgentLogsRequest) GetLogs() string {
	if x != nil {
		return x.Logs
	}
	return ""
}

type CacheRetrievalAttempt struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Error string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	// Types that are valid to be assigned to Result:
	//
	//	*CacheRetrievalAttempt_Hit_
	//	*CacheRetrievalAttempt_Miss_
	Result        isCacheRetrievalAttempt_Result `protobuf_oneof:"result"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CacheRetrievalAttempt) Reset() {
	*x = CacheRetrievalAttempt{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheRetrievalAttempt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheRetrievalAttempt) ProtoMessage() {}

func (x *CacheRetrievalAttempt) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheRetrievalAttempt.ProtoReflect.Descriptor instead.
func (*CacheRetrievalAttempt) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{63}
}

func (x *CacheRetrievalAttempt) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *CacheRetrievalAttempt) GetResult() isCacheRetrievalAttempt_Result {
	if x != nil {
		return x.Result
	}
	return nil
}

func (x *CacheRetrievalAttempt) GetHit() *CacheRetrievalAttempt_Hit {
	if x != nil {
		if x, ok := x.Result.(*CacheRetrievalAttempt_Hit_); ok {
			return x.Hit
		}
	}
	return nil
}

func (x *CacheRetrievalAttempt) GetMiss() *CacheRetrievalAttempt_Miss {
	if x != nil {
		if x, ok := x.Result.(*CacheRetrievalAttempt_Miss_); ok {
			return x.Miss
		}
	}
	return nil
}

type isCacheRetrievalAttempt_Result interface {
	isCacheRetrievalAttempt_Result()
}

type CacheRetrievalAttempt_Hit_ struct {
	Hit *CacheRetrievalAttempt_Hit `protobuf:"bytes,2,opt,name=hit,proto3,oneof"`
}

type CacheRetrievalAttempt_Miss_ struct {
	Miss *CacheRetrievalAttempt_Miss `protobuf:"bytes,3,opt,name=miss,proto3,oneof"`
}

func (*CacheRetrievalAttempt_Hit_) isCacheRetrievalAttempt_Result() {}

func (*CacheRetrievalAttempt_Miss_) isCacheRetrievalAttempt_Result() {}

type ResourceUtilization struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CpuChart      []*ChartPoint          `protobuf:"bytes,1,rep,name=cpu_chart,json=cpuChart,proto3" json:"cpu_chart,omitempty"`
	MemoryChart   []*ChartPoint          `protobuf:"bytes,2,rep,name=memory_chart,json=memoryChart,proto3" json:"memory_chart,omitempty"`
	CpuTotal      float64                `protobuf:"fixed64,3,opt,name=cpu_total,json=cpuTotal,proto3" json:"cpu_total,omitempty"`
	MemoryTotal   float64                `protobuf:"fixed64,4,opt,name=memory_total,json=memoryTotal,proto3" json:"memory_total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResourceUtilization) Reset() {
	*x = ResourceUtilization{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResourceUtilization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResourceUtilization) ProtoMessage() {}

func (x *ResourceUtilization) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResourceUtilization.ProtoReflect.Descriptor instead.
func (*ResourceUtilization) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{64}
}

func (x *ResourceUtilization) GetCpuChart() []*ChartPoint {
	if x != nil {
		return x.CpuChart
	}
	return nil
}

func (x *ResourceUtilization) GetMemoryChart() []*ChartPoint {
	if x != nil {
		return x.MemoryChart
	}
	return nil
}

func (x *ResourceUtilization) GetCpuTotal() float64 {
	if x != nil {
		return x.CpuTotal
	}
	return 0
}

func (x *ResourceUtilization) GetMemoryTotal() float64 {
	if x != nil {
		return x.MemoryTotal
	}
	return 0
}

type ChartPoint struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	SecondsFromStart uint32                 `protobuf:"varint,1,opt,name=seconds_from_start,json=secondsFromStart,proto3" json:"seconds_from_start,omitempty"`
	Value            float64                `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ChartPoint) Reset() {
	*x = ChartPoint{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ChartPoint) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ChartPoint) ProtoMessage() {}

func (x *ChartPoint) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ChartPoint.ProtoReflect.Descriptor instead.
func (*ChartPoint) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{65}
}

func (x *ChartPoint) GetSecondsFromStart() uint32 {
	if x != nil {
		return x.SecondsFromStart
	}
	return 0
}

func (x *ChartPoint) GetValue() float64 {
	if x != nil {
		return x.Value
	}
	return 0
}

type CommandResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	Succeded        bool   `protobuf:"varint,2,opt,name=succeded,proto3" json:"succeded,omitempty"`
	Status          Status `protobuf:"varint,5,opt,name=status,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Status" json:"status,omitempty"`
	DurationInNanos int64  `protobuf:"varint,3,opt,name=duration_in_nanos,json=durationInNanos,proto3" json:"duration_in_nanos,omitempty"`
	SignaledToExit  bool   `protobuf:"varint,4,opt,name=signaled_to_exit,json=signaledToExit,proto3" json:"signaled_to_exit,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CommandResult) Reset() {
	*x = CommandResult{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommandResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommandResult) ProtoMessage() {}

func (x *CommandResult) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommandResult.ProtoReflect.Descriptor instead.
func (*CommandResult) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{66}
}

func (x *CommandResult) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *CommandResult) GetSucceded() bool {
	if x != nil {
		return x.Succeded
	}
	return false
}

func (x *CommandResult) GetStatus() Status {
	if x != nil {
		return x.Status
	}
	return Status_CREATED
}

func (x *CommandResult) GetDurationInNanos() int64 {
	if x != nil {
		return x.DurationInNanos
	}
	return 0
}

func (x *CommandResult) GetSignaledToExit() bool {
	if x != nil {
		return x.SignaledToExit
	}
	return false
}

type ReportAgentFinishedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification     *TaskIdentification               `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CacheRetrievalAttempts map[string]*CacheRetrievalAttempt `protobuf:"bytes,2,rep,name=cacheRetrievalAttempts,proto3" json:"cacheRetrievalAttempts,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	CommandResults         []*CommandResult                  `protobuf:"bytes,3,rep,name=command_results,json=commandResults,proto3" json:"command_results,omitempty"`
	ResourceUtilization    *ResourceUtilization              `protobuf:"bytes,4,opt,name=resource_utilization,json=resourceUtilization,proto3" json:"resource_utilization,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ReportAgentFinishedRequest) Reset() {
	*x = ReportAgentFinishedRequest{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAgentFinishedRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAgentFinishedRequest) ProtoMessage() {}

func (x *ReportAgentFinishedRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAgentFinishedRequest.ProtoReflect.Descriptor instead.
func (*ReportAgentFinishedRequest) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{67}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ReportAgentFinishedRequest) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ReportAgentFinishedRequest) GetCacheRetrievalAttempts() map[string]*CacheRetrievalAttempt {
	if x != nil {
		return x.CacheRetrievalAttempts
	}
	return nil
}

func (x *ReportAgentFinishedRequest) GetCommandResults() []*CommandResult {
	if x != nil {
		return x.CommandResults
	}
	return nil
}

func (x *ReportAgentFinishedRequest) GetResourceUtilization() *ResourceUtilization {
	if x != nil {
		return x.ResourceUtilization
	}
	return nil
}

type ReportAgentFinishedResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportAgentFinishedResponse) Reset() {
	*x = ReportAgentFinishedResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportAgentFinishedResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportAgentFinishedResponse) ProtoMessage() {}

func (x *ReportAgentFinishedResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportAgentFinishedResponse.ProtoReflect.Descriptor instead.
func (*ReportAgentFinishedResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{68}
}

type Task struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	LocalGroupId   int64                  `protobuf:"varint,1,opt,name=local_group_id,json=localGroupId,proto3" json:"local_group_id,omitempty"`
	RequiredGroups []int64                `protobuf:"varint,2,rep,packed,name=required_groups,json=requiredGroups,proto3" json:"required_groups,omitempty"`
	Name           string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Status         Status                 `protobuf:"varint,4,opt,name=status,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Status" json:"status,omitempty"`
	Environment    map[string]string      `protobuf:"bytes,5,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Metadata       *Task_Metadata         `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	Commands       []*Command             `protobuf:"bytes,8,rep,name=commands,proto3" json:"commands,omitempty"`
	Instance       *anypb.Any             `protobuf:"bytes,9,opt,name=instance,proto3" json:"instance,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Task) Reset() {
	*x = Task{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[69]
	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_api_cirrus_ci_service_proto_msgTypes[69]
	if 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_api_cirrus_ci_service_proto_rawDescGZIP(), []int{69}
}

func (x *Task) GetLocalGroupId() int64 {
	if x != nil {
		return x.LocalGroupId
	}
	return 0
}

func (x *Task) GetRequiredGroups() []int64 {
	if x != nil {
		return x.RequiredGroups
	}
	return nil
}

func (x *Task) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Task) GetStatus() Status {
	if x != nil {
		return x.Status
	}
	return Status_CREATED
}

func (x *Task) GetEnvironment() map[string]string {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *Task) GetMetadata() *Task_Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *Task) GetCommands() []*Command {
	if x != nil {
		return x.Commands
	}
	return nil
}

func (x *Task) GetInstance() *anypb.Any {
	if x != nil {
		return x.Instance
	}
	return nil
}

type Command struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Name  string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to Instruction:
	//
	//	*Command_ExitInstruction
	//	*Command_ScriptInstruction
	//	*Command_BackgroundScriptInstruction
	//	*Command_CacheInstruction
	//	*Command_UploadCacheInstruction
	//	*Command_CloneInstruction
	//	*Command_FileInstruction
	//	*Command_ArtifactsInstruction
	//	*Command_WaitForTerminalInstruction
	Instruction        isCommand_Instruction            `protobuf_oneof:"instruction"`
	ExecutionBehaviour Command_CommandExecutionBehavior `protobuf:"varint,10,opt,name=execution_behaviour,json=executionBehaviour,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Command_CommandExecutionBehavior" json:"execution_behaviour,omitempty"`
	Properties         map[string]string                `protobuf:"bytes,11,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Command) Reset() {
	*x = Command{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Command) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Command) ProtoMessage() {}

func (x *Command) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Command.ProtoReflect.Descriptor instead.
func (*Command) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{70}
}

func (x *Command) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Command) GetInstruction() isCommand_Instruction {
	if x != nil {
		return x.Instruction
	}
	return nil
}

func (x *Command) GetExitInstruction() *ExitInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_ExitInstruction); ok {
			return x.ExitInstruction
		}
	}
	return nil
}

func (x *Command) GetScriptInstruction() *ScriptInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_ScriptInstruction); ok {
			return x.ScriptInstruction
		}
	}
	return nil
}

func (x *Command) GetBackgroundScriptInstruction() *BackgroundScriptInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_BackgroundScriptInstruction); ok {
			return x.BackgroundScriptInstruction
		}
	}
	return nil
}

func (x *Command) GetCacheInstruction() *CacheInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_CacheInstruction); ok {
			return x.CacheInstruction
		}
	}
	return nil
}

func (x *Command) GetUploadCacheInstruction() *UploadCacheInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_UploadCacheInstruction); ok {
			return x.UploadCacheInstruction
		}
	}
	return nil
}

func (x *Command) GetCloneInstruction() *CloneInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_CloneInstruction); ok {
			return x.CloneInstruction
		}
	}
	return nil
}

func (x *Command) GetFileInstruction() *FileInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_FileInstruction); ok {
			return x.FileInstruction
		}
	}
	return nil
}

func (x *Command) GetArtifactsInstruction() *ArtifactsInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_ArtifactsInstruction); ok {
			return x.ArtifactsInstruction
		}
	}
	return nil
}

func (x *Command) GetWaitForTerminalInstruction() *WaitForTerminalInstruction {
	if x != nil {
		if x, ok := x.Instruction.(*Command_WaitForTerminalInstruction); ok {
			return x.WaitForTerminalInstruction
		}
	}
	return nil
}

func (x *Command) GetExecutionBehaviour() Command_CommandExecutionBehavior {
	if x != nil {
		return x.ExecutionBehaviour
	}
	return Command_ON_SUCCESS
}

func (x *Command) GetProperties() map[string]string {
	if x != nil {
		return x.Properties
	}
	return nil
}

type isCommand_Instruction interface {
	isCommand_Instruction()
}

type Command_ExitInstruction struct {
	ExitInstruction *ExitInstruction `protobuf:"bytes,2,opt,name=exit_instruction,json=exitInstruction,proto3,oneof"`
}

type Command_ScriptInstruction struct {
	ScriptInstruction *ScriptInstruction `protobuf:"bytes,3,opt,name=script_instruction,json=scriptInstruction,proto3,oneof"`
}

type Command_BackgroundScriptInstruction struct {
	BackgroundScriptInstruction *BackgroundScriptInstruction `protobuf:"bytes,4,opt,name=background_script_instruction,json=backgroundScriptInstruction,proto3,oneof"`
}

type Command_CacheInstruction struct {
	CacheInstruction *CacheInstruction `protobuf:"bytes,5,opt,name=cache_instruction,json=cacheInstruction,proto3,oneof"`
}

type Command_UploadCacheInstruction struct {
	UploadCacheInstruction *UploadCacheInstruction `protobuf:"bytes,6,opt,name=upload_cache_instruction,json=uploadCacheInstruction,proto3,oneof"`
}

type Command_CloneInstruction struct {
	CloneInstruction *CloneInstruction `protobuf:"bytes,7,opt,name=clone_instruction,json=cloneInstruction,proto3,oneof"`
}

type Command_FileInstruction struct {
	FileInstruction *FileInstruction `protobuf:"bytes,8,opt,name=file_instruction,json=fileInstruction,proto3,oneof"`
}

type Command_ArtifactsInstruction struct {
	ArtifactsInstruction *ArtifactsInstruction `protobuf:"bytes,9,opt,name=artifacts_instruction,json=artifactsInstruction,proto3,oneof"`
}

type Command_WaitForTerminalInstruction struct {
	WaitForTerminalInstruction *WaitForTerminalInstruction `protobuf:"bytes,12,opt,name=wait_for_terminal_instruction,json=waitForTerminalInstruction,proto3,oneof"`
}

func (*Command_ExitInstruction) isCommand_Instruction() {}

func (*Command_ScriptInstruction) isCommand_Instruction() {}

func (*Command_BackgroundScriptInstruction) isCommand_Instruction() {}

func (*Command_CacheInstruction) isCommand_Instruction() {}

func (*Command_UploadCacheInstruction) isCommand_Instruction() {}

func (*Command_CloneInstruction) isCommand_Instruction() {}

func (*Command_FileInstruction) isCommand_Instruction() {}

func (*Command_ArtifactsInstruction) isCommand_Instruction() {}

func (*Command_WaitForTerminalInstruction) isCommand_Instruction() {}

type ExitInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExitInstruction) Reset() {
	*x = ExitInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExitInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExitInstruction) ProtoMessage() {}

func (x *ExitInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExitInstruction.ProtoReflect.Descriptor instead.
func (*ExitInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{71}
}

type ScriptInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Scripts       []string               `protobuf:"bytes,1,rep,name=scripts,proto3" json:"scripts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScriptInstruction) Reset() {
	*x = ScriptInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScriptInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScriptInstruction) ProtoMessage() {}

func (x *ScriptInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScriptInstruction.ProtoReflect.Descriptor instead.
func (*ScriptInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{72}
}

func (x *ScriptInstruction) GetScripts() []string {
	if x != nil {
		return x.Scripts
	}
	return nil
}

type BackgroundScriptInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Scripts       []string               `protobuf:"bytes,1,rep,name=scripts,proto3" json:"scripts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BackgroundScriptInstruction) Reset() {
	*x = BackgroundScriptInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BackgroundScriptInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BackgroundScriptInstruction) ProtoMessage() {}

func (x *BackgroundScriptInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BackgroundScriptInstruction.ProtoReflect.Descriptor instead.
func (*BackgroundScriptInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{73}
}

func (x *BackgroundScriptInstruction) GetScripts() []string {
	if x != nil {
		return x.Scripts
	}
	return nil
}

type CacheInstruction struct {
	state   protoimpl.MessageState `protogen:"open.v1"`
	Folder  string                 `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"`
	Folders []string               `protobuf:"bytes,5,rep,name=folders,proto3" json:"folders,omitempty"`
	// Derive final cache key either from a script output, or a static value.
	// The latter can be easily checked against a GraphQL API from a Starlark
	// script to allow implementing custom logic.
	//
	// These two fields are mutually exclusive.
	FingerprintScripts          []string `protobuf:"bytes,2,rep,name=fingerprint_scripts,json=fingerprintScripts,proto3" json:"fingerprint_scripts,omitempty"`
	FingerprintKey              string   `protobuf:"bytes,6,opt,name=fingerprint_key,json=fingerprintKey,proto3" json:"fingerprint_key,omitempty"`
	PopulateScripts             []string `protobuf:"bytes,3,rep,name=populate_scripts,json=populateScripts,proto3" json:"populate_scripts,omitempty"`
	ReuploadOnChanges           bool     `protobuf:"varint,4,opt,name=reupload_on_changes,json=reuploadOnChanges,proto3" json:"reupload_on_changes,omitempty"`
	OptimisticallyRestoreOnMiss bool     `protobuf:"varint,7,opt,name=optimistically_restore_on_miss,json=optimisticallyRestoreOnMiss,proto3" json:"optimistically_restore_on_miss,omitempty"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *CacheInstruction) Reset() {
	*x = CacheInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheInstruction) ProtoMessage() {}

func (x *CacheInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheInstruction.ProtoReflect.Descriptor instead.
func (*CacheInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{74}
}

func (x *CacheInstruction) GetFolder() string {
	if x != nil {
		return x.Folder
	}
	return ""
}

func (x *CacheInstruction) GetFolders() []string {
	if x != nil {
		return x.Folders
	}
	return nil
}

func (x *CacheInstruction) GetFingerprintScripts() []string {
	if x != nil {
		return x.FingerprintScripts
	}
	return nil
}

func (x *CacheInstruction) GetFingerprintKey() string {
	if x != nil {
		return x.FingerprintKey
	}
	return ""
}

func (x *CacheInstruction) GetPopulateScripts() []string {
	if x != nil {
		return x.PopulateScripts
	}
	return nil
}

func (x *CacheInstruction) GetReuploadOnChanges() bool {
	if x != nil {
		return x.ReuploadOnChanges
	}
	return false
}

func (x *CacheInstruction) GetOptimisticallyRestoreOnMiss() bool {
	if x != nil {
		return x.OptimisticallyRestoreOnMiss
	}
	return false
}

type UploadCacheInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CacheName     string                 `protobuf:"bytes,1,opt,name=cache_name,json=cacheName,proto3" json:"cache_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UploadCacheInstruction) Reset() {
	*x = UploadCacheInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UploadCacheInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UploadCacheInstruction) ProtoMessage() {}

func (x *UploadCacheInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UploadCacheInstruction.ProtoReflect.Descriptor instead.
func (*UploadCacheInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{75}
}

func (x *UploadCacheInstruction) GetCacheName() string {
	if x != nil {
		return x.CacheName
	}
	return ""
}

type CloneInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CloneInstruction) Reset() {
	*x = CloneInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CloneInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CloneInstruction) ProtoMessage() {}

func (x *CloneInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CloneInstruction.ProtoReflect.Descriptor instead.
func (*CloneInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{76}
}

type FileInstruction struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	DestinationPath string                 `protobuf:"bytes,1,opt,name=destination_path,json=destinationPath,proto3" json:"destination_path,omitempty"`
	// Types that are valid to be assigned to Source:
	//
	//	*FileInstruction_FromEnvironmentVariable
	//	*FileInstruction_FromContents
	Source        isFileInstruction_Source `protobuf_oneof:"source"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileInstruction) Reset() {
	*x = FileInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileInstruction) ProtoMessage() {}

func (x *FileInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileInstruction.ProtoReflect.Descriptor instead.
func (*FileInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{77}
}

func (x *FileInstruction) GetDestinationPath() string {
	if x != nil {
		return x.DestinationPath
	}
	return ""
}

func (x *FileInstruction) GetSource() isFileInstruction_Source {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *FileInstruction) GetFromEnvironmentVariable() string {
	if x != nil {
		if x, ok := x.Source.(*FileInstruction_FromEnvironmentVariable); ok {
			return x.FromEnvironmentVariable
		}
	}
	return ""
}

func (x *FileInstruction) GetFromContents() string {
	if x != nil {
		if x, ok := x.Source.(*FileInstruction_FromContents); ok {
			return x.FromContents
		}
	}
	return ""
}

type isFileInstruction_Source interface {
	isFileInstruction_Source()
}

type FileInstruction_FromEnvironmentVariable struct {
	FromEnvironmentVariable string `protobuf:"bytes,2,opt,name=from_environment_variable,json=fromEnvironmentVariable,proto3,oneof"`
}

type FileInstruction_FromContents struct {
	FromContents string `protobuf:"bytes,3,opt,name=from_contents,json=fromContents,proto3,oneof"`
}

func (*FileInstruction_FromEnvironmentVariable) isFileInstruction_Source() {}

func (*FileInstruction_FromContents) isFileInstruction_Source() {}

type ArtifactsInstruction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Paths         []string               `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
	Type          string                 `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Format        string                 `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactsInstruction) Reset() {
	*x = ArtifactsInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactsInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactsInstruction) ProtoMessage() {}

func (x *ArtifactsInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactsInstruction.ProtoReflect.Descriptor instead.
func (*ArtifactsInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{78}
}

func (x *ArtifactsInstruction) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

func (x *ArtifactsInstruction) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ArtifactsInstruction) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

type WaitForTerminalInstruction struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	TerminalServerAddress string                 `protobuf:"bytes,1,opt,name=terminal_server_address,json=terminalServerAddress,proto3" json:"terminal_server_address,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *WaitForTerminalInstruction) Reset() {
	*x = WaitForTerminalInstruction{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WaitForTerminalInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WaitForTerminalInstruction) ProtoMessage() {}

func (x *WaitForTerminalInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WaitForTerminalInstruction.ProtoReflect.Descriptor instead.
func (*WaitForTerminalInstruction) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{79}
}

func (x *WaitForTerminalInstruction) GetTerminalServerAddress() string {
	if x != nil {
		return x.TerminalServerAddress
	}
	return ""
}

type PipeInstance struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Cpu           float32                `protobuf:"fixed32,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory        uint32                 `protobuf:"varint,2,opt,name=memory,proto3" json:"memory,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PipeInstance) Reset() {
	*x = PipeInstance{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PipeInstance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PipeInstance) ProtoMessage() {}

func (x *PipeInstance) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PipeInstance.ProtoReflect.Descriptor instead.
func (*PipeInstance) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{80}
}

func (x *PipeInstance) GetCpu() float32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *PipeInstance) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

type ContainerInstance struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Image                string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	Cpu                  float32                `protobuf:"fixed32,2,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory               uint32                 `protobuf:"varint,3,opt,name=memory,proto3" json:"memory,omitempty"` // in MB
	AdditionalContainers []*AdditionalContainer `protobuf:"bytes,4,rep,name=additional_containers,json=additionalContainers,proto3" json:"additional_containers,omitempty"`
	Platform             Platform               `protobuf:"varint,5,opt,name=platform,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Platform" json:"platform,omitempty"`
	Dockerfile           string                 `protobuf:"bytes,6,opt,name=dockerfile,proto3" json:"dockerfile,omitempty"`
	OsVersion            string                 `protobuf:"bytes,7,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"`
	RegistryConfig       string                 `protobuf:"bytes,8,opt,name=registry_config,json=registryConfig,proto3" json:"registry_config,omitempty"`
	DockerArguments      map[string]string      `protobuf:"bytes,9,rep,name=docker_arguments,json=dockerArguments,proto3" json:"docker_arguments,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Privileged           bool                   `protobuf:"varint,10,opt,name=privileged,proto3" json:"privileged,omitempty"`
	UseInMemoryDisk      bool                   `protobuf:"varint,12,opt,name=use_in_memory_disk,json=useInMemoryDisk,proto3" json:"use_in_memory_disk,omitempty"`
	Greedy               bool                   `protobuf:"varint,13,opt,name=greedy,proto3" json:"greedy,omitempty"`
	Architecture         Architecture           `protobuf:"varint,14,opt,name=architecture,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Architecture" json:"architecture,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ContainerInstance) Reset() {
	*x = ContainerInstance{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ContainerInstance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ContainerInstance) ProtoMessage() {}

func (x *ContainerInstance) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ContainerInstance.ProtoReflect.Descriptor instead.
func (*ContainerInstance) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{81}
}

func (x *ContainerInstance) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *ContainerInstance) GetCpu() float32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *ContainerInstance) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *ContainerInstance) GetAdditionalContainers() []*AdditionalContainer {
	if x != nil {
		return x.AdditionalContainers
	}
	return nil
}

func (x *ContainerInstance) GetPlatform() Platform {
	if x != nil {
		return x.Platform
	}
	return Platform_LINUX
}

func (x *ContainerInstance) GetDockerfile() string {
	if x != nil {
		return x.Dockerfile
	}
	return ""
}

func (x *ContainerInstance) GetOsVersion() string {
	if x != nil {
		return x.OsVersion
	}
	return ""
}

func (x *ContainerInstance) GetRegistryConfig() string {
	if x != nil {
		return x.RegistryConfig
	}
	return ""
}

func (x *ContainerInstance) GetDockerArguments() map[string]string {
	if x != nil {
		return x.DockerArguments
	}
	return nil
}

func (x *ContainerInstance) GetPrivileged() bool {
	if x != nil {
		return x.Privileged
	}
	return false
}

func (x *ContainerInstance) GetUseInMemoryDisk() bool {
	if x != nil {
		return x.UseInMemoryDisk
	}
	return false
}

func (x *ContainerInstance) GetGreedy() bool {
	if x != nil {
		return x.Greedy
	}
	return false
}

func (x *ContainerInstance) GetArchitecture() Architecture {
	if x != nil {
		return x.Architecture
	}
	return Architecture_AMD64
}

type PortMapping struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ContainerPort uint32                 `protobuf:"varint,1,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"`
	HostPort      uint32                 `protobuf:"varint,2,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PortMapping) Reset() {
	*x = PortMapping{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PortMapping) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PortMapping) ProtoMessage() {}

func (x *PortMapping) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PortMapping.ProtoReflect.Descriptor instead.
func (*PortMapping) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{82}
}

func (x *PortMapping) GetContainerPort() uint32 {
	if x != nil {
		return x.ContainerPort
	}
	return 0
}

func (x *PortMapping) GetHostPort() uint32 {
	if x != nil {
		return x.HostPort
	}
	return 0
}

type AdditionalContainer struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Name             string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Image            string                 `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	Cpu              float32                `protobuf:"fixed32,3,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory           uint32                 `protobuf:"varint,4,opt,name=memory,proto3" json:"memory,omitempty"` // in MB
	ContainerPort    uint32                 `protobuf:"varint,5,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"`
	Environment      map[string]string      `protobuf:"bytes,6,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Command          []string               `protobuf:"bytes,7,rep,name=command,proto3" json:"command,omitempty"`
	ReadinessCommand []string               `protobuf:"bytes,8,rep,name=readiness_command,json=readinessCommand,proto3" json:"readiness_command,omitempty"`
	Privileged       bool                   `protobuf:"varint,9,opt,name=privileged,proto3" json:"privileged,omitempty"`
	HostPort         uint32                 `protobuf:"varint,10,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"`
	Ports            []*PortMapping         `protobuf:"bytes,11,rep,name=ports,proto3" json:"ports,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *AdditionalContainer) Reset() {
	*x = AdditionalContainer{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AdditionalContainer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdditionalContainer) ProtoMessage() {}

func (x *AdditionalContainer) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdditionalContainer.ProtoReflect.Descriptor instead.
func (*AdditionalContainer) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{83}
}

func (x *AdditionalContainer) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *AdditionalContainer) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *AdditionalContainer) GetCpu() float32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *AdditionalContainer) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *AdditionalContainer) GetContainerPort() uint32 {
	if x != nil {
		return x.ContainerPort
	}
	return 0
}

func (x *AdditionalContainer) GetEnvironment() map[string]string {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *AdditionalContainer) GetCommand() []string {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *AdditionalContainer) GetReadinessCommand() []string {
	if x != nil {
		return x.ReadinessCommand
	}
	return nil
}

func (x *AdditionalContainer) GetPrivileged() bool {
	if x != nil {
		return x.Privileged
	}
	return false
}

func (x *AdditionalContainer) GetHostPort() uint32 {
	if x != nil {
		return x.HostPort
	}
	return 0
}

func (x *AdditionalContainer) GetPorts() []*PortMapping {
	if x != nil {
		return x.Ports
	}
	return nil
}

type PrebuiltImageInstance struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Repository    string                 `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	Platform      Platform               `protobuf:"varint,2,opt,name=platform,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Platform" json:"platform,omitempty"`
	Reference     string                 `protobuf:"bytes,3,opt,name=reference,proto3" json:"reference,omitempty"`
	Dockerfile    string                 `protobuf:"bytes,6,opt,name=dockerfile,proto3" json:"dockerfile,omitempty"`
	Arguments     map[string]string      `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrebuiltImageInstance) Reset() {
	*x = PrebuiltImageInstance{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PrebuiltImageInstance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrebuiltImageInstance) ProtoMessage() {}

func (x *PrebuiltImageInstance) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrebuiltImageInstance.ProtoReflect.Descriptor instead.
func (*PrebuiltImageInstance) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{84}
}

func (x *PrebuiltImageInstance) GetRepository() string {
	if x != nil {
		return x.Repository
	}
	return ""
}

func (x *PrebuiltImageInstance) GetPlatform() Platform {
	if x != nil {
		return x.Platform
	}
	return Platform_LINUX
}

func (x *PrebuiltImageInstance) GetReference() string {
	if x != nil {
		return x.Reference
	}
	return ""
}

func (x *PrebuiltImageInstance) GetDockerfile() string {
	if x != nil {
		return x.Dockerfile
	}
	return ""
}

func (x *PrebuiltImageInstance) GetArguments() map[string]string {
	if x != nil {
		return x.Arguments
	}
	return nil
}

type Volume struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Source        string                 `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	Target        string                 `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	ReadOnly      bool                   `protobuf:"varint,3,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Volume) Reset() {
	*x = Volume{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Volume) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Volume) ProtoMessage() {}

func (x *Volume) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Volume.ProtoReflect.Descriptor instead.
func (*Volume) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{85}
}

func (x *Volume) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *Volume) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *Volume) GetReadOnly() bool {
	if x != nil {
		return x.ReadOnly
	}
	return false
}

type Isolation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Type:
	//
	//	*Isolation_None_
	//	*Isolation_Parallels_
	//	*Isolation_Container_
	//	*Isolation_Tart_
	//	*Isolation_Vetu_
	Type          isIsolation_Type `protobuf_oneof:"type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation) Reset() {
	*x = Isolation{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation) ProtoMessage() {}

func (x *Isolation) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation.ProtoReflect.Descriptor instead.
func (*Isolation) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86}
}

func (x *Isolation) GetType() isIsolation_Type {
	if x != nil {
		return x.Type
	}
	return nil
}

func (x *Isolation) GetNone() *Isolation_None {
	if x != nil {
		if x, ok := x.Type.(*Isolation_None_); ok {
			return x.None
		}
	}
	return nil
}

func (x *Isolation) GetParallels() *Isolation_Parallels {
	if x != nil {
		if x, ok := x.Type.(*Isolation_Parallels_); ok {
			return x.Parallels
		}
	}
	return nil
}

func (x *Isolation) GetContainer() *Isolation_Container {
	if x != nil {
		if x, ok := x.Type.(*Isolation_Container_); ok {
			return x.Container
		}
	}
	return nil
}

func (x *Isolation) GetTart() *Isolation_Tart {
	if x != nil {
		if x, ok := x.Type.(*Isolation_Tart_); ok {
			return x.Tart
		}
	}
	return nil
}

func (x *Isolation) GetVetu() *Isolation_Vetu {
	if x != nil {
		if x, ok := x.Type.(*Isolation_Vetu_); ok {
			return x.Vetu
		}
	}
	return nil
}

type isIsolation_Type interface {
	isIsolation_Type()
}

type Isolation_None_ struct {
	None *Isolation_None `protobuf:"bytes,1,opt,name=none,proto3,oneof"`
}

type Isolation_Parallels_ struct {
	Parallels *Isolation_Parallels `protobuf:"bytes,2,opt,name=parallels,proto3,oneof"`
}

type Isolation_Container_ struct {
	Container *Isolation_Container `protobuf:"bytes,3,opt,name=container,proto3,oneof"`
}

type Isolation_Tart_ struct {
	Tart *Isolation_Tart `protobuf:"bytes,4,opt,name=tart,proto3,oneof"`
}

type Isolation_Vetu_ struct {
	Vetu *Isolation_Vetu `protobuf:"bytes,5,opt,name=vetu,proto3,oneof"`
}

func (*Isolation_None_) isIsolation_Type() {}

func (*Isolation_Parallels_) isIsolation_Type() {}

func (*Isolation_Container_) isIsolation_Type() {}

func (*Isolation_Tart_) isIsolation_Type() {}

func (*Isolation_Vetu_) isIsolation_Type() {}

type PersistentWorkerInstance struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Labels        map[string]string      `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Isolation     *Isolation             `protobuf:"bytes,2,opt,name=isolation,proto3" json:"isolation,omitempty"`
	Resources     map[string]float64     `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"` // to acquire
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PersistentWorkerInstance) Reset() {
	*x = PersistentWorkerInstance{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PersistentWorkerInstance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PersistentWorkerInstance) ProtoMessage() {}

func (x *PersistentWorkerInstance) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PersistentWorkerInstance.ProtoReflect.Descriptor instead.
func (*PersistentWorkerInstance) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{87}
}

func (x *PersistentWorkerInstance) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *PersistentWorkerInstance) GetIsolation() *Isolation {
	if x != nil {
		return x.Isolation
	}
	return nil
}

func (x *PersistentWorkerInstance) GetResources() map[string]float64 {
	if x != nil {
		return x.Resources
	}
	return nil
}

type MacOSInstance struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Image         string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	User          string                 `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Cpu           uint32                 `protobuf:"varint,4,opt,name=cpu,proto3" json:"cpu,omitempty"`       // requested number of CPUs
	Memory        uint32                 `protobuf:"varint,5,opt,name=memory,proto3" json:"memory,omitempty"` // requested amount of memory in mebibytes
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MacOSInstance) Reset() {
	*x = MacOSInstance{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MacOSInstance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MacOSInstance) ProtoMessage() {}

func (x *MacOSInstance) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MacOSInstance.ProtoReflect.Descriptor instead.
func (*MacOSInstance) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{88}
}

func (x *MacOSInstance) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *MacOSInstance) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *MacOSInstance) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *MacOSInstance) GetCpu() uint32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *MacOSInstance) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

type DockerBuilder struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Platform      Platform               `protobuf:"varint,1,opt,name=platform,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Platform" json:"platform,omitempty"`
	OsVersion     string                 `protobuf:"bytes,2,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DockerBuilder) Reset() {
	*x = DockerBuilder{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DockerBuilder) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DockerBuilder) ProtoMessage() {}

func (x *DockerBuilder) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DockerBuilder.ProtoReflect.Descriptor instead.
func (*DockerBuilder) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{89}
}

func (x *DockerBuilder) GetPlatform() Platform {
	if x != nil {
		return x.Platform
	}
	return Platform_LINUX
}

func (x *DockerBuilder) GetOsVersion() string {
	if x != nil {
		return x.OsVersion
	}
	return ""
}

type GenerateURLResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	ExtraHeaders  map[string]string      `protobuf:"bytes,2,rep,name=extra_headers,json=extraHeaders,proto3" json:"extra_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateURLResponse) Reset() {
	*x = GenerateURLResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenerateURLResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerateURLResponse) ProtoMessage() {}

func (x *GenerateURLResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerateURLResponse.ProtoReflect.Descriptor instead.
func (*GenerateURLResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{90}
}

func (x *GenerateURLResponse) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *GenerateURLResponse) GetExtraHeaders() map[string]string {
	if x != nil {
		return x.ExtraHeaders
	}
	return nil
}

type GenerateURLsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Urls          []string               `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateURLsResponse) Reset() {
	*x = GenerateURLsResponse{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenerateURLsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerateURLsResponse) ProtoMessage() {}

func (x *GenerateURLsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerateURLsResponse.ProtoReflect.Descriptor instead.
func (*GenerateURLsResponse) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{91}
}

func (x *GenerateURLsResponse) GetUrls() []string {
	if x != nil {
		return x.Urls
	}
	return nil
}

type FileSystem_Memory struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FilesContents map[string][]byte      `protobuf:"bytes,1,rep,name=filesContents,proto3" json:"filesContents,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileSystem_Memory) Reset() {
	*x = FileSystem_Memory{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileSystem_Memory) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileSystem_Memory) ProtoMessage() {}

func (x *FileSystem_Memory) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileSystem_Memory.ProtoReflect.Descriptor instead.
func (*FileSystem_Memory) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{4, 0}
}

func (x *FileSystem_Memory) GetFilesContents() map[string][]byte {
	if x != nil {
		return x.FilesContents
	}
	return nil
}

type FileSystem_Github struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Owner         string                       `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	Repo          string                       `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"`
	Reference     string                       `protobuf:"bytes,3,opt,name=reference,proto3" json:"reference,omitempty"`
	Token         string                       `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"`
	HttpCache     *FileSystem_Github_HTTPCache `protobuf:"bytes,5,opt,name=http_cache,json=httpCache,proto3" json:"http_cache,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileSystem_Github) Reset() {
	*x = FileSystem_Github{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileSystem_Github) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileSystem_Github) ProtoMessage() {}

func (x *FileSystem_Github) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileSystem_Github.ProtoReflect.Descriptor instead.
func (*FileSystem_Github) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{4, 1}
}

func (x *FileSystem_Github) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *FileSystem_Github) GetRepo() string {
	if x != nil {
		return x.Repo
	}
	return ""
}

func (x *FileSystem_Github) GetReference() string {
	if x != nil {
		return x.Reference
	}
	return ""
}

func (x *FileSystem_Github) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *FileSystem_Github) GetHttpCache() *FileSystem_Github_HTTPCache {
	if x != nil {
		return x.HttpCache
	}
	return nil
}

type FileSystem_Github_HTTPCache struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Tenant        string                 `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
	Size          int32                  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FileSystem_Github_HTTPCache) Reset() {
	*x = FileSystem_Github_HTTPCache{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FileSystem_Github_HTTPCache) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileSystem_Github_HTTPCache) ProtoMessage() {}

func (x *FileSystem_Github_HTTPCache) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileSystem_Github_HTTPCache.ProtoReflect.Descriptor instead.
func (*FileSystem_Github_HTTPCache) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{4, 1, 0}
}

func (x *FileSystem_Github_HTTPCache) GetTenant() string {
	if x != nil {
		return x.Tenant
	}
	return ""
}

func (x *FileSystem_Github_HTTPCache) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type PollResponse_AgentAwareTask struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	OldTaskId    int64      `protobuf:"varint,1,opt,name=old_task_id,json=oldTaskId,proto3" json:"old_task_id,omitempty"`
	ClientSecret string     `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	ServerSecret string     `protobuf:"bytes,3,opt,name=server_secret,json=serverSecret,proto3" json:"server_secret,omitempty"`
	Isolation    *Isolation `protobuf:"bytes,4,opt,name=isolation,proto3" json:"isolation,omitempty"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	AgentVersion   string             `protobuf:"bytes,5,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"`
	CliVersion     string             `protobuf:"bytes,7,opt,name=cli_version,json=cliVersion,proto3" json:"cli_version,omitempty"`
	ResourcesToUse map[string]float64 `protobuf:"bytes,6,rep,name=resources_to_use,json=resourcesToUse,proto3" json:"resources_to_use,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	TaskId         string             `protobuf:"bytes,8,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Task's W3C Trace Context
	Traceparent   string `protobuf:"bytes,9,opt,name=traceparent,proto3" json:"traceparent,omitempty"`
	Tracestate    string `protobuf:"bytes,10,opt,name=tracestate,proto3" json:"tracestate,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PollResponse_AgentAwareTask) Reset() {
	*x = PollResponse_AgentAwareTask{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PollResponse_AgentAwareTask) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PollResponse_AgentAwareTask) ProtoMessage() {}

func (x *PollResponse_AgentAwareTask) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PollResponse_AgentAwareTask.ProtoReflect.Descriptor instead.
func (*PollResponse_AgentAwareTask) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{18, 0}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *PollResponse_AgentAwareTask) GetOldTaskId() int64 {
	if x != nil {
		return x.OldTaskId
	}
	return 0
}

func (x *PollResponse_AgentAwareTask) GetClientSecret() string {
	if x != nil {
		return x.ClientSecret
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetServerSecret() string {
	if x != nil {
		return x.ServerSecret
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetIsolation() *Isolation {
	if x != nil {
		return x.Isolation
	}
	return nil
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *PollResponse_AgentAwareTask) GetAgentVersion() string {
	if x != nil {
		return x.AgentVersion
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetCliVersion() string {
	if x != nil {
		return x.CliVersion
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetResourcesToUse() map[string]float64 {
	if x != nil {
		return x.ResourcesToUse
	}
	return nil
}

func (x *PollResponse_AgentAwareTask) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetTraceparent() string {
	if x != nil {
		return x.Traceparent
	}
	return ""
}

func (x *PollResponse_AgentAwareTask) GetTracestate() string {
	if x != nil {
		return x.Tracestate
	}
	return ""
}

type StandbyInstanceParameters_Warmup struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Script         string                 `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
	TimeoutSeconds uint64                 `protobuf:"varint,2,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *StandbyInstanceParameters_Warmup) Reset() {
	*x = StandbyInstanceParameters_Warmup{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StandbyInstanceParameters_Warmup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StandbyInstanceParameters_Warmup) ProtoMessage() {}

func (x *StandbyInstanceParameters_Warmup) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[102]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StandbyInstanceParameters_Warmup.ProtoReflect.Descriptor instead.
func (*StandbyInstanceParameters_Warmup) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{20, 0}
}

func (x *StandbyInstanceParameters_Warmup) GetScript() string {
	if x != nil {
		return x.Script
	}
	return ""
}

func (x *StandbyInstanceParameters_Warmup) GetTimeoutSeconds() uint64 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

type MultipartCacheUploadCommitRequest_Part struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PartNumber    uint32                 `protobuf:"varint,1,opt,name=part_number,json=partNumber,proto3" json:"part_number,omitempty"`
	Etag          string                 `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MultipartCacheUploadCommitRequest_Part) Reset() {
	*x = MultipartCacheUploadCommitRequest_Part{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MultipartCacheUploadCommitRequest_Part) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MultipartCacheUploadCommitRequest_Part) ProtoMessage() {}

func (x *MultipartCacheUploadCommitRequest_Part) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[106]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MultipartCacheUploadCommitRequest_Part.ProtoReflect.Descriptor instead.
func (*MultipartCacheUploadCommitRequest_Part) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{26, 0}
}

func (x *MultipartCacheUploadCommitRequest_Part) GetPartNumber() uint32 {
	if x != nil {
		return x.PartNumber
	}
	return 0
}

func (x *MultipartCacheUploadCommitRequest_Part) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

type ReportTerminalLifecycleRequest_Started struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportTerminalLifecycleRequest_Started) Reset() {
	*x = ReportTerminalLifecycleRequest_Started{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalLifecycleRequest_Started) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalLifecycleRequest_Started) ProtoMessage() {}

func (x *ReportTerminalLifecycleRequest_Started) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[107]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalLifecycleRequest_Started.ProtoReflect.Descriptor instead.
func (*ReportTerminalLifecycleRequest_Started) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{29, 0}
}

type ReportTerminalLifecycleRequest_Expiring struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReportTerminalLifecycleRequest_Expiring) Reset() {
	*x = ReportTerminalLifecycleRequest_Expiring{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReportTerminalLifecycleRequest_Expiring) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportTerminalLifecycleRequest_Expiring) ProtoMessage() {}

func (x *ReportTerminalLifecycleRequest_Expiring) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[108]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReportTerminalLifecycleRequest_Expiring.ProtoReflect.Descriptor instead.
func (*ReportTerminalLifecycleRequest_Expiring) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{29, 1}
}

type LogEntry_LogKey struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	CommandName        string              `protobuf:"bytes,2,opt,name=command_name,json=commandName,proto3" json:"command_name,omitempty"`
	Raw                bool                `protobuf:"varint,3,opt,name=raw,proto3" json:"raw,omitempty"` // true to disable live updates
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *LogEntry_LogKey) Reset() {
	*x = LogEntry_LogKey{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LogEntry_LogKey) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogEntry_LogKey) ProtoMessage() {}

func (x *LogEntry_LogKey) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[109]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LogEntry_LogKey.ProtoReflect.Descriptor instead.
func (*LogEntry_LogKey) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{34, 0}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *LogEntry_LogKey) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *LogEntry_LogKey) GetCommandName() string {
	if x != nil {
		return x.CommandName
	}
	return ""
}

func (x *LogEntry_LogKey) GetRaw() bool {
	if x != nil {
		return x.Raw
	}
	return false
}

type ArtifactEntry_ArtifactsUpload struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
	TaskIdentification *TaskIdentification `protobuf:"bytes,1,opt,name=task_identification,json=taskIdentification,proto3" json:"task_identification,omitempty"`
	Name               string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Type               string              `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	Format             string              `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ArtifactEntry_ArtifactsUpload) Reset() {
	*x = ArtifactEntry_ArtifactsUpload{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactEntry_ArtifactsUpload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactEntry_ArtifactsUpload) ProtoMessage() {}

func (x *ArtifactEntry_ArtifactsUpload) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[110]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactEntry_ArtifactsUpload.ProtoReflect.Descriptor instead.
func (*ArtifactEntry_ArtifactsUpload) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{39, 0}
}

// Deprecated: Marked as deprecated in api/cirrus_ci_service.proto.
func (x *ArtifactEntry_ArtifactsUpload) GetTaskIdentification() *TaskIdentification {
	if x != nil {
		return x.TaskIdentification
	}
	return nil
}

func (x *ArtifactEntry_ArtifactsUpload) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ArtifactEntry_ArtifactsUpload) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ArtifactEntry_ArtifactsUpload) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

type ArtifactEntry_ArtifactChunk struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ArtifactPath  string                 `protobuf:"bytes,1,opt,name=artifact_path,json=artifactPath,proto3" json:"artifact_path,omitempty"`
	Data          []byte                 `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArtifactEntry_ArtifactChunk) Reset() {
	*x = ArtifactEntry_ArtifactChunk{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArtifactEntry_ArtifactChunk) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactEntry_ArtifactChunk) ProtoMessage() {}

func (x *ArtifactEntry_ArtifactChunk) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[111]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArtifactEntry_ArtifactChunk.ProtoReflect.Descriptor instead.
func (*ArtifactEntry_ArtifactChunk) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{39, 1}
}

func (x *ArtifactEntry_ArtifactChunk) GetArtifactPath() string {
	if x != nil {
		return x.ArtifactPath
	}
	return ""
}

func (x *ArtifactEntry_ArtifactChunk) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type GenerateArtifactUploadURLsResponse_UploadURL struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	Headers       map[string]string      `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateArtifactUploadURLsResponse_UploadURL) Reset() {
	*x = GenerateArtifactUploadURLsResponse_UploadURL{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenerateArtifactUploadURLsResponse_UploadURL) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerateArtifactUploadURLsResponse_UploadURL) ProtoMessage() {}

func (x *GenerateArtifactUploadURLsResponse_UploadURL) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[112]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerateArtifactUploadURLsResponse_UploadURL.ProtoReflect.Descriptor instead.
func (*GenerateArtifactUploadURLsResponse_UploadURL) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{43, 0}
}

func (x *GenerateArtifactUploadURLsResponse_UploadURL) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *GenerateArtifactUploadURLsResponse_UploadURL) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

type Annotation_FileLocation struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Path          string                 `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	StartLine     int64                  `protobuf:"varint,2,opt,name=start_line,json=startLine,proto3" json:"start_line,omitempty"`
	EndLine       int64                  `protobuf:"varint,3,opt,name=end_line,json=endLine,proto3" json:"end_line,omitempty"`
	StartColumn   int64                  `protobuf:"varint,4,opt,name=start_column,json=startColumn,proto3" json:"start_column,omitempty"`
	EndColumn     int64                  `protobuf:"varint,5,opt,name=end_column,json=endColumn,proto3" json:"end_column,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Annotation_FileLocation) Reset() {
	*x = Annotation_FileLocation{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Annotation_FileLocation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Annotation_FileLocation) ProtoMessage() {}

func (x *Annotation_FileLocation) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[115]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Annotation_FileLocation.ProtoReflect.Descriptor instead.
func (*Annotation_FileLocation) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{51, 0}
}

func (x *Annotation_FileLocation) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Annotation_FileLocation) GetStartLine() int64 {
	if x != nil {
		return x.StartLine
	}
	return 0
}

func (x *Annotation_FileLocation) GetEndLine() int64 {
	if x != nil {
		return x.EndLine
	}
	return 0
}

func (x *Annotation_FileLocation) GetStartColumn() int64 {
	if x != nil {
		return x.StartColumn
	}
	return 0
}

func (x *Annotation_FileLocation) GetEndColumn() int64 {
	if x != nil {
		return x.EndColumn
	}
	return 0
}

type CacheRetrievalAttempt_Hit struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	SizeBytes         uint64                 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	DownloadedInNanos uint64                 `protobuf:"varint,2,opt,name=downloaded_in_nanos,json=downloadedInNanos,proto3" json:"downloaded_in_nanos,omitempty"`
	ExtractedInNanos  uint64                 `protobuf:"varint,3,opt,name=extracted_in_nanos,json=extractedInNanos,proto3" json:"extracted_in_nanos,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *CacheRetrievalAttempt_Hit) Reset() {
	*x = CacheRetrievalAttempt_Hit{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheRetrievalAttempt_Hit) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheRetrievalAttempt_Hit) ProtoMessage() {}

func (x *CacheRetrievalAttempt_Hit) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[116]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheRetrievalAttempt_Hit.ProtoReflect.Descriptor instead.
func (*CacheRetrievalAttempt_Hit) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{63, 0}
}

func (x *CacheRetrievalAttempt_Hit) GetSizeBytes() uint64 {
	if x != nil {
		return x.SizeBytes
	}
	return 0
}

func (x *CacheRetrievalAttempt_Hit) GetDownloadedInNanos() uint64 {
	if x != nil {
		return x.DownloadedInNanos
	}
	return 0
}

func (x *CacheRetrievalAttempt_Hit) GetExtractedInNanos() uint64 {
	if x != nil {
		return x.ExtractedInNanos
	}
	return 0
}

type CacheRetrievalAttempt_Miss struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	SizeBytes        uint64                 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	PopulatedInNanos uint64                 `protobuf:"varint,2,opt,name=populated_in_nanos,json=populatedInNanos,proto3" json:"populated_in_nanos,omitempty"`
	ArchivedInNanos  uint64                 `protobuf:"varint,3,opt,name=archived_in_nanos,json=archivedInNanos,proto3" json:"archived_in_nanos,omitempty"`
	UploadedInNanos  uint64                 `protobuf:"varint,4,opt,name=uploaded_in_nanos,json=uploadedInNanos,proto3" json:"uploaded_in_nanos,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *CacheRetrievalAttempt_Miss) Reset() {
	*x = CacheRetrievalAttempt_Miss{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CacheRetrievalAttempt_Miss) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CacheRetrievalAttempt_Miss) ProtoMessage() {}

func (x *CacheRetrievalAttempt_Miss) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[117]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CacheRetrievalAttempt_Miss.ProtoReflect.Descriptor instead.
func (*CacheRetrievalAttempt_Miss) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{63, 1}
}

func (x *CacheRetrievalAttempt_Miss) GetSizeBytes() uint64 {
	if x != nil {
		return x.SizeBytes
	}
	return 0
}

func (x *CacheRetrievalAttempt_Miss) GetPopulatedInNanos() uint64 {
	if x != nil {
		return x.PopulatedInNanos
	}
	return 0
}

func (x *CacheRetrievalAttempt_Miss) GetArchivedInNanos() uint64 {
	if x != nil {
		return x.ArchivedInNanos
	}
	return 0
}

func (x *CacheRetrievalAttempt_Miss) GetUploadedInNanos() uint64 {
	if x != nil {
		return x.UploadedInNanos
	}
	return 0
}

type Task_Metadata struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UniqueLabels  []string               `protobuf:"bytes,1,rep,name=unique_labels,json=uniqueLabels,proto3" json:"unique_labels,omitempty"`
	Properties    map[string]string      `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Task_Metadata) Reset() {
	*x = Task_Metadata{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Task_Metadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Task_Metadata) ProtoMessage() {}

func (x *Task_Metadata) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[119]
	if 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_Metadata.ProtoReflect.Descriptor instead.
func (*Task_Metadata) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{69, 0}
}

func (x *Task_Metadata) GetUniqueLabels() []string {
	if x != nil {
		return x.UniqueLabels
	}
	return nil
}

func (x *Task_Metadata) GetProperties() map[string]string {
	if x != nil {
		return x.Properties
	}
	return nil
}

type Isolation_None struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation_None) Reset() {
	*x = Isolation_None{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[126]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_None) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_None) ProtoMessage() {}

func (x *Isolation_None) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[126]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_None.ProtoReflect.Descriptor instead.
func (*Isolation_None) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 0}
}

type Isolation_Parallels struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Image         string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	User          string                 `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Platform      Platform               `protobuf:"varint,4,opt,name=platform,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Platform" json:"platform,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation_Parallels) Reset() {
	*x = Isolation_Parallels{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[127]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Parallels) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Parallels) ProtoMessage() {}

func (x *Isolation_Parallels) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[127]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Parallels.ProtoReflect.Descriptor instead.
func (*Isolation_Parallels) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 1}
}

func (x *Isolation_Parallels) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *Isolation_Parallels) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *Isolation_Parallels) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Isolation_Parallels) GetPlatform() Platform {
	if x != nil {
		return x.Platform
	}
	return Platform_LINUX
}

type Isolation_Container struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Image           string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	Cpu             float32                `protobuf:"fixed32,2,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Memory          uint32                 `protobuf:"varint,3,opt,name=memory,proto3" json:"memory,omitempty"` // in MB
	Volumes         []*Volume              `protobuf:"bytes,4,rep,name=volumes,proto3" json:"volumes,omitempty"`
	Dockerfile      string                 `protobuf:"bytes,5,opt,name=dockerfile,proto3" json:"dockerfile,omitempty"`
	DockerArguments map[string]string      `protobuf:"bytes,6,rep,name=docker_arguments,json=dockerArguments,proto3" json:"docker_arguments,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Platform        Platform               `protobuf:"varint,7,opt,name=platform,proto3,enum=org.cirruslabs.ci.services.cirruscigrpc.Platform" json:"platform,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Isolation_Container) Reset() {
	*x = Isolation_Container{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[128]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Container) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Container) ProtoMessage() {}

func (x *Isolation_Container) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[128]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Container.ProtoReflect.Descriptor instead.
func (*Isolation_Container) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 2}
}

func (x *Isolation_Container) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *Isolation_Container) GetCpu() float32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *Isolation_Container) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *Isolation_Container) GetVolumes() []*Volume {
	if x != nil {
		return x.Volumes
	}
	return nil
}

func (x *Isolation_Container) GetDockerfile() string {
	if x != nil {
		return x.Dockerfile
	}
	return ""
}

func (x *Isolation_Container) GetDockerArguments() map[string]string {
	if x != nil {
		return x.DockerArguments
	}
	return nil
}

func (x *Isolation_Container) GetPlatform() Platform {
	if x != nil {
		return x.Platform
	}
	return Platform_LINUX
}

type Isolation_Tart struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Image    string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	User     string                 `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Password string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Port     uint32                 `protobuf:"varint,11,opt,name=port,proto3" json:"port,omitempty"`
	Cpu      uint32                 `protobuf:"varint,4,opt,name=cpu,proto3" json:"cpu,omitempty"`       // requested number of CPUs
	Memory   uint32                 `protobuf:"varint,5,opt,name=memory,proto3" json:"memory,omitempty"` // requested amount of memory in mebibytes
	// Whether to enable Softnet[1] networking
	//
	// [1]: https://github.com/cirruslabs/softnet
	Softnet bool `protobuf:"varint,6,opt,name=softnet,proto3" json:"softnet,omitempty"`
	// Whether to enable nested virtualization for a VM
	Nested bool `protobuf:"varint,13,opt,name=nested,proto3" json:"nested,omitempty"`
	// Whether to mount a temporary working directory
	// from host to speed-up I/O, see [1] for more details.
	//
	// [1]: https://github.com/cirruslabs/cirrus-cli/issues/605
	MountTemporaryWorkingDirectoryFromHost bool `protobuf:"varint,7,opt,name=mount_temporary_working_directory_from_host,json=mountTemporaryWorkingDirectoryFromHost,proto3" json:"mount_temporary_working_directory_from_host,omitempty"`
	// VM display resolution in a format of <width>x<height>. For example, 1200x800
	Display         string                   `protobuf:"bytes,8,opt,name=display,proto3" json:"display,omitempty"`
	Volumes         []*Isolation_Tart_Volume `protobuf:"bytes,9,rep,name=volumes,proto3" json:"volumes,omitempty"`
	DiskSize        uint32                   `protobuf:"varint,10,opt,name=disk_size,json=diskSize,proto3" json:"disk_size,omitempty"` // requested disk size in gigabytes
	SyncTimeOverSsh bool                     `protobuf:"varint,12,opt,name=sync_time_over_ssh,json=syncTimeOverSsh,proto3" json:"sync_time_over_ssh,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Isolation_Tart) Reset() {
	*x = Isolation_Tart{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[129]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Tart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Tart) ProtoMessage() {}

func (x *Isolation_Tart) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[129]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Tart.ProtoReflect.Descriptor instead.
func (*Isolation_Tart) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 3}
}

func (x *Isolation_Tart) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *Isolation_Tart) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *Isolation_Tart) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Isolation_Tart) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Isolation_Tart) GetCpu() uint32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *Isolation_Tart) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *Isolation_Tart) GetSoftnet() bool {
	if x != nil {
		return x.Softnet
	}
	return false
}

func (x *Isolation_Tart) GetNested() bool {
	if x != nil {
		return x.Nested
	}
	return false
}

func (x *Isolation_Tart) GetMountTemporaryWorkingDirectoryFromHost() bool {
	if x != nil {
		return x.MountTemporaryWorkingDirectoryFromHost
	}
	return false
}

func (x *Isolation_Tart) GetDisplay() string {
	if x != nil {
		return x.Display
	}
	return ""
}

func (x *Isolation_Tart) GetVolumes() []*Isolation_Tart_Volume {
	if x != nil {
		return x.Volumes
	}
	return nil
}

func (x *Isolation_Tart) GetDiskSize() uint32 {
	if x != nil {
		return x.DiskSize
	}
	return 0
}

func (x *Isolation_Tart) GetSyncTimeOverSsh() bool {
	if x != nil {
		return x.SyncTimeOverSsh
	}
	return false
}

type Isolation_Vetu struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Image    string                 `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	User     string                 `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
	Password string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Port     uint32                 `protobuf:"varint,9,opt,name=port,proto3" json:"port,omitempty"`
	Cpu      uint32                 `protobuf:"varint,4,opt,name=cpu,proto3" json:"cpu,omitempty"`       // requested number of CPUs
	Memory   uint32                 `protobuf:"varint,5,opt,name=memory,proto3" json:"memory,omitempty"` // requested amount of memory in mebibytes
	// Types that are valid to be assigned to Networking:
	//
	//	*Isolation_Vetu_Bridged_
	//	*Isolation_Vetu_Host_
	Networking           isIsolation_Vetu_Networking `protobuf_oneof:"networking"`
	DiskSize             uint32                      `protobuf:"varint,8,opt,name=disk_size,json=diskSize,proto3" json:"disk_size,omitempty"` // requested disk size in gigabytes
	SyncTimeOverSsh      bool                        `protobuf:"varint,10,opt,name=sync_time_over_ssh,json=syncTimeOverSsh,proto3" json:"sync_time_over_ssh,omitempty"`
	StandardOutputToLogs bool                        `protobuf:"varint,11,opt,name=standard_output_to_logs,json=standardOutputToLogs,proto3" json:"standard_output_to_logs,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *Isolation_Vetu) Reset() {
	*x = Isolation_Vetu{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[130]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Vetu) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Vetu) ProtoMessage() {}

func (x *Isolation_Vetu) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[130]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Vetu.ProtoReflect.Descriptor instead.
func (*Isolation_Vetu) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 4}
}

func (x *Isolation_Vetu) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *Isolation_Vetu) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *Isolation_Vetu) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *Isolation_Vetu) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Isolation_Vetu) GetCpu() uint32 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *Isolation_Vetu) GetMemory() uint32 {
	if x != nil {
		return x.Memory
	}
	return 0
}

func (x *Isolation_Vetu) GetNetworking() isIsolation_Vetu_Networking {
	if x != nil {
		return x.Networking
	}
	return nil
}

func (x *Isolation_Vetu) GetBridged() *Isolation_Vetu_Bridged {
	if x != nil {
		if x, ok := x.Networking.(*Isolation_Vetu_Bridged_); ok {
			return x.Bridged
		}
	}
	return nil
}

func (x *Isolation_Vetu) GetHost() *Isolation_Vetu_Host {
	if x != nil {
		if x, ok := x.Networking.(*Isolation_Vetu_Host_); ok {
			return x.Host
		}
	}
	return nil
}

func (x *Isolation_Vetu) GetDiskSize() uint32 {
	if x != nil {
		return x.DiskSize
	}
	return 0
}

func (x *Isolation_Vetu) GetSyncTimeOverSsh() bool {
	if x != nil {
		return x.SyncTimeOverSsh
	}
	return false
}

func (x *Isolation_Vetu) GetStandardOutputToLogs() bool {
	if x != nil {
		return x.StandardOutputToLogs
	}
	return false
}

type isIsolation_Vetu_Networking interface {
	isIsolation_Vetu_Networking()
}

type Isolation_Vetu_Bridged_ struct {
	Bridged *Isolation_Vetu_Bridged `protobuf:"bytes,6,opt,name=bridged,proto3,oneof"`
}

type Isolation_Vetu_Host_ struct {
	Host *Isolation_Vetu_Host `protobuf:"bytes,7,opt,name=host,proto3,oneof"`
}

func (*Isolation_Vetu_Bridged_) isIsolation_Vetu_Networking() {}

func (*Isolation_Vetu_Host_) isIsolation_Vetu_Networking() {}

type Isolation_Tart_Volume struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Source        string                 `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	Target        string                 `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	ReadOnly      bool                   `protobuf:"varint,4,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	Cleanup       bool                   `protobuf:"varint,5,opt,name=cleanup,proto3" json:"cleanup,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation_Tart_Volume) Reset() {
	*x = Isolation_Tart_Volume{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[132]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Tart_Volume) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Tart_Volume) ProtoMessage() {}

func (x *Isolation_Tart_Volume) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[132]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Tart_Volume.ProtoReflect.Descriptor instead.
func (*Isolation_Tart_Volume) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 3, 0}
}

func (x *Isolation_Tart_Volume) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Isolation_Tart_Volume) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *Isolation_Tart_Volume) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *Isolation_Tart_Volume) GetReadOnly() bool {
	if x != nil {
		return x.ReadOnly
	}
	return false
}

func (x *Isolation_Tart_Volume) GetCleanup() bool {
	if x != nil {
		return x.Cleanup
	}
	return false
}

type Isolation_Vetu_Bridged struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Interface     string                 `protobuf:"bytes,1,opt,name=interface,proto3" json:"interface,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation_Vetu_Bridged) Reset() {
	*x = Isolation_Vetu_Bridged{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[133]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Vetu_Bridged) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Vetu_Bridged) ProtoMessage() {}

func (x *Isolation_Vetu_Bridged) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[133]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Vetu_Bridged.ProtoReflect.Descriptor instead.
func (*Isolation_Vetu_Bridged) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 4, 0}
}

func (x *Isolation_Vetu_Bridged) GetInterface() string {
	if x != nil {
		return x.Interface
	}
	return ""
}

type Isolation_Vetu_Host struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Isolation_Vetu_Host) Reset() {
	*x = Isolation_Vetu_Host{}
	mi := &file_api_cirrus_ci_service_proto_msgTypes[134]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Isolation_Vetu_Host) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Isolation_Vetu_Host) ProtoMessage() {}

func (x *Isolation_Vetu_Host) ProtoReflect() protoreflect.Message {
	mi := &file_api_cirrus_ci_service_proto_msgTypes[134]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Isolation_Vetu_Host.ProtoReflect.Descriptor instead.
func (*Isolation_Vetu_Host) Descriptor() ([]byte, []int) {
	return file_api_cirrus_ci_service_proto_rawDescGZIP(), []int{86, 4, 1}
}

var File_api_cirrus_ci_service_proto protoreflect.FileDescriptor

var file_api_cirrus_ci_service_proto_rawDesc = []byte{
	0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x5f, 0x63, 0x69, 0x5f,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 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, 0x20,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 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, 0x22, 0x15,
	0x0a, 0x13, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
	0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71,
	0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x73,
	0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x73, 0x22, 0x91, 0x02, 0x0a, 0x17, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x6d, 0x0a,
	0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x4f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e,
	0x66, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0e,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 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, 0x22, 0xe8, 0x04, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61,
	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1f, 0x0a, 0x0b, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x6c, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x6c,
	0x61, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x0b, 0x65, 0x6e, 0x76,
	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d,
	0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c,
	0x65, 0x73, 0x12, 0x7c, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x63, 0x0a, 0x1a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74,
	0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x18, 0x61, 0x64, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x02, 0x66, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x02, 0x66, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x45, 0x6e,
	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 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, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06,
	0x22, 0x89, 0x05, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12,
	0x54, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x06, 0x6d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x54, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x47, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x48, 0x00, 0x52, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x1a, 0xbf, 0x01, 0x0a, 0x06,
	0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x73, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74,
	0x65, 0x6d, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x69,
	0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x46,
	0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 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, 0x1a, 0x84, 0x02,
	0x0a, 0x06, 0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12,
	0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65,
	0x70, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x63, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e,
	0x47, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x48,
	0x54, 0x54, 0x50, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
	0x73, 0x69, 0x7a, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x6d, 0x70, 0x6c, 0x22, 0xb8, 0x02, 0x0a,
	0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3f, 0x0a,
	0x1c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x66,
	0x6f, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42,
	0x65, 0x66, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x29,
	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x06, 0x69, 0x73, 0x73,
	0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65,
	0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x7c, 0x0a, 0x09, 0x52, 0x69, 0x63, 0x68, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29,
	0x0a, 0x10, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63,
	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x05, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12,
	0x4a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x4c,
	0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69,
	0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06,
	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x29, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
	0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52,
	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
	0x02, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x19, 0x61, 0x64, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f,
	0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x61, 0x64,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2c, 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68,
	0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68,
	0x65, 0x6d, 0x61, 0x22, 0x9b, 0x03, 0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65,
	0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x6c, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x6c, 0x61,
	0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a,
	0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 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, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x61, 0x72,
	0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x73, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72,
	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46,
	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x02,
	0x66, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x02, 0x66,
	0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	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, 0xb7, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x75,
	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23,
	0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x6f,
	0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x4c, 0x6f, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x0f,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x67,
	0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x54,
	0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x49, 0x6e, 0x66, 0x6f, 0x22, 0x37, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x04,
	0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a,
	0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69,
	0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61,
	0x73, 0x6b, 0x73, 0x12, 0x72, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x55,
	0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x73, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69,
	0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x9a, 0x01, 0x0a,
	0x27, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64,
	0x62, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x24, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74,
	0x61, 0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e,
	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x13, 0x52, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x55, 0x73, 0x65, 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,
	0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x63, 0x0a, 0x18,
	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66,
	0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69,
	0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x35, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e,
	0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61,
	0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6f,
	0x6c, 0x64, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23,
	0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61,
	0x73, 0x6b, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73,
	0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe7, 0x07, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f,
	0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x54, 0x6f, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
	0x64, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73,
	0x54, 0x6f, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x6e,
	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12,
	0x1a, 0x0a, 0x08, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74,
	0x61, 0x73, 0x6b, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x54, 0x6f, 0x53, 0x74, 0x6f, 0x70, 0x12,
	0x7e, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64,
	0x62, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
	0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53,
	0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a,
	0xbd, 0x04, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x54, 0x61,
	0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6f, 0x6c, 0x64,
	0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x12, 0x50, 0x0a, 0x09, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73,
	0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x61,
	0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
	0x6c, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x63, 0x6c, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x82, 0x01, 0x0a,
	0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73,
	0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41,
	0x67, 0x65, 0x6e, 0x74, 0x41, 0x77, 0x61, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x73,
	0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72,
	0x61, 0x63, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
	0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x41, 0x0a, 0x13,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x6f, 0x55, 0x73, 0x65, 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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0xa1, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62,
	0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
	0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
	0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x73, 0x22, 0xca, 0x03, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
	0x73, 0x12, 0x50, 0x0a, 0x09, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49,
	0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x6f, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x06, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x52,
	0x06, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x1a, 0x49, 0x0a, 0x06, 0x57, 0x61, 0x72, 0x6d, 0x75,
	0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
	0x22, 0xd5, 0x02, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x3f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x70, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x47, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 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, 0x41, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 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, 0x01, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x0c, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64,
	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64,
	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x22, 0x4d, 0x75, 0x6c, 0x74, 0x69,
	0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a,
	0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x1f, 0x4d,
	0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e,
	0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x4b, 0x65, 0x79, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1b,
	0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70,
	0x61, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e,
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x22, 0xb4, 0x02, 0x0a, 0x21, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d,
	0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x63, 0x61, 0x63,
	0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x52,
	0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x65, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x1a, 0x3b, 0x0a,
	0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x52,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x74, 0x74,
	0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13,
	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b,
	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
	0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x73,
	0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22,
	0x20, 0x0a, 0x1e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
	0x6c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x93, 0x03, 0x0a, 0x1e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d,
	0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b,
	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c,
	0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x12, 0x6e, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69,
	0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45,
	0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x65, 0x78, 0x70, 0x69, 0x72,
	0x69, 0x6e, 0x67, 0x1a, 0x09, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x1a, 0x0a,
	0x0a, 0x08, 0x45, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x69,
	0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x70, 0x6f, 0x72,
	0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
	0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x12, 0x54, 0x61,
	0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63,
	0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x22, 0x42, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x12,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75,
	0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x55, 0x72, 0x6c, 0x22, 0xfd, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
	0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12,
	0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x6f, 0x63,
	0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x32, 0x0a, 0x15, 0x63,
	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74,
	0x69, 0x6e, 0x75, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12,
	0x14, 0x0a, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
	0x72, 0x65, 0x74, 0x72, 0x79, 0x22, 0xdf, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x4c, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x38, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x4a, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68,
	0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0xaf, 0x01, 0x0a,
	0x06, 0x4c, 0x6f, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f,
	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54,
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03,
	0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x42, 0x07,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x37, 0x0a, 0x12, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64,
	0x22, 0x99, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x70, 0x0a,
	0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73,
	0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa8, 0x01, 0x0a,
	0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x45, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61,
	0x43, 0x68, 0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x42, 0x07,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f,
	0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x53, 0x61, 0x76, 0x65, 0x64, 0x22,
	0xfb, 0x03, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x73, 0x0a, 0x10, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5f, 0x75,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x5c, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x41, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x63,
	0x68, 0x75, 0x6e, 0x6b, 0x1a, 0xc3, 0x01, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
	0x74, 0x73, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b,
	0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x48, 0x0a, 0x0d, 0x41, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61,
	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68,
	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3a, 0x0a,
	0x17, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x53, 0x61, 0x76, 0x65, 0x64, 0x22, 0x4a, 0x0a, 0x10, 0x41, 0x72, 0x74,
	0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74,
	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74,
	0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x4f, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66,
	0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x6c,
	0x65, 0x73, 0x22, 0xe9, 0x02, 0x0a, 0x22, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41,
	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x04, 0x75, 0x72, 0x6c,
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
	0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x52, 0x04,
	0x75, 0x72, 0x6c, 0x73, 0x1a, 0xd7, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55,
	0x52, 0x4c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x75, 0x72, 0x6c, 0x12, 0x7c, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x2e, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 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, 0x22, 0xa3,
	0x02, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65,
	0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x12, 0x4f, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x72, 0x74,
	0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x66,
	0x69, 0x6c, 0x65, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12,
	0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x22,
	0xb7, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73,
	0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e,
	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
	0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d,
	0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x63, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x74,
	0x4c, 0x65, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x63, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x45, 0x6e, 0x76,
	0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 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, 0xe1, 0x01, 0x0a, 0x1b, 0x52, 0x65,
	0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73,
	0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x07, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x1e, 0x0a,
	0x1c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01,
	0x0a, 0x1f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61,
	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9b, 0x05, 0x0a, 0x0a, 0x41,
	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x77, 0x44, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61,
	0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65,
	0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
	0x66, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, 0x01, 0x0a,
	0x0c, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x69, 0x6e, 0x65,
	0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1d,
	0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x2d, 0x0a,
	0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45,
	0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12,
	0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x22, 0x4a, 0x0a, 0x04,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10,
	0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54,
	0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c,
	0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f,
	0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x03, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x48, 0x65, 0x61,
	0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a,
	0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73,
	0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0x13, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73,
	0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72,
	0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69,
	0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73,
	0x69, 0x7a, 0x65, 0x49, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x6c, 0x64,
	0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b,
	0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x6f,
	0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49,
	0x64, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f,
	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5b,
	0x0a, 0x11, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x12,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65,
	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65,
	0x79, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x70,
	0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61,
	0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x70,
	0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41,
	0x67, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x22, 0x9e, 0x01, 0x0a, 0x16,
	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61,
	0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x9d, 0x04, 0x0a,
	0x15, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41,
	0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x03,
	0x68, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76,
	0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x48, 0x69, 0x74, 0x48, 0x00, 0x52,
	0x03, 0x68, 0x69, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d,
	0x70, 0x74, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x69, 0x73, 0x73, 0x1a,
	0x82, 0x01, 0x0a, 0x03, 0x48, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f,
	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x69, 0x7a,
	0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49,
	0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63,
	0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x4e,
	0x61, 0x6e, 0x6f, 0x73, 0x1a, 0xab, 0x01, 0x0a, 0x04, 0x4d, 0x69, 0x73, 0x73, 0x12, 0x1d, 0x0a,
	0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12,
	0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e,
	0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61,
	0x74, 0x65, 0x64, 0x49, 0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x72,
	0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x49,
	0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x4e, 0x61, 0x6e,
	0x6f, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xff, 0x01, 0x0a,
	0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x68, 0x61, 0x72,
	0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x70,
	0x75, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x1b,
	0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x50,
	0x0a, 0x0a, 0x43, 0x68, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12,
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x73, 0x75, 0x63, 0x63, 0x65, 0x64,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x64, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x2a, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x6e,
	0x61, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73,
	0x69, 0x67, 0x6e, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x65, 0x64, 0x54,
	0x6f, 0x45, 0x78, 0x69, 0x74, 0x22, 0x86, 0x05, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
	0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x13, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b,
	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x97, 0x01, 0x0a, 0x16, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d,
	0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x61, 0x63, 0x68, 0x65, 0x52,
	0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73,
	0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x12, 0x6f, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x74,
	0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x1a, 0x89, 0x01, 0x0a, 0x1b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x74, 0x72,
	0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 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, 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65,
	0x6d, 0x70, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d,
	0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x06,
	0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f,
	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47,
	0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x18, 0x09, 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, 0x08,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0xd6, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f,
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e,
	0x69, 0x71, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 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, 0x3e, 0x0a, 0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	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, 0xbb, 0x0b, 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, 0x65, 0x0a, 0x10, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x69, 0x74, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x12, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x48, 0x00, 0x52, 0x11, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72,
	0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
	0x6e, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e,
	0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x11, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x18,
	0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x00, 0x52, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e,
	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x11, 0x63, 0x6c, 0x6f,
	0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43,
	0x6c, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48,
	0x00, 0x52, 0x10, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x49,
	0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x74, 0x0a, 0x15, 0x61, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x61, 0x72, 0x74, 0x69,
	0x66, 0x61, 0x63, 0x74, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x88, 0x01, 0x0a, 0x1d, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x74, 0x65,
	0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e,
	0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x1a, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c,
	0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 0x0a, 0x13, 0x65,
	0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
	0x75, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76,
	0x69, 0x6f, 0x72, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x65,
	0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x12, 0x60, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x50, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 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, 0x22, 0x56, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61,
	0x76, 0x69, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45,
	0x53, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55,
	0x52, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f,
	0x55, 0x54, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x02,
	0x42, 0x0d, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0x11, 0x0a, 0x0f, 0x45, 0x78, 0x69, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x22, 0x2d, 0x0a, 0x11, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x73, 0x22, 0x37, 0x0a, 0x1b, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x22, 0xbe, 0x02, 0x0a, 0x10, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x16, 0x0a, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65,
	0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72,
	0x73, 0x12, 0x2f, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74,
	0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12,
	0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e,
	0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6e,
	0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70,
	0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x53,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x75, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x6e, 0x43,
	0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69,
	0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
	0x5f, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b,
	0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x22, 0x37, 0x0a, 0x16, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x4e, 0x61, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6c,
	0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10,
	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3c, 0x0a, 0x19, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69,
	0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17, 0x66, 0x72,
	0x6f, 0x6d, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72,
	0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c,
	0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x14, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
	0x63, 0x74, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
	0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70,
	0x61, 0x74, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x22, 0x54, 0x0a, 0x1a, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x69,
	0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36,
	0x0a, 0x17, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x15, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x50, 0x69, 0x70, 0x65, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f,
	0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
	0x22, 0x83, 0x06, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03,
	0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16,
	0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x71, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x52, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x63, 0x6b,
	0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f,
	0x63, 0x6b, 0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x7a, 0x0a, 0x10, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x72, 0x67,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64, 0x6f, 0x63,
	0x6b, 0x65, 0x72, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
	0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x12,
	0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x64, 0x69,
	0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x4d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x65,
	0x65, 0x64, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x67, 0x72, 0x65, 0x65, 0x64,
	0x79, 0x12, 0x59, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72,
	0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0c,
	0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x42, 0x0a, 0x14,
	0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 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,
	0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x22, 0x51, 0x0a, 0x0b, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61,
	0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09,
	0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x08, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x91, 0x04, 0x0a, 0x13, 0x41, 0x64,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 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, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63,
	0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a,
	0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d,
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x6f, 0x0a, 0x0b,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x4d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e,
	0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a,
	0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x69,
	0x6e, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
	0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c,
	0x65, 0x67, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72,
	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x72,
	0x74, 0x12, 0x4a, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x34, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d,
	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x3e, 0x0a,
	0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 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, 0xfb, 0x02,
	0x0a, 0x15, 0x50, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x66, 0x69,
	0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x6b, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 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, 0x4a,
	0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x55, 0x0a, 0x06, 0x56,
	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e,
	0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e,
	0x6c, 0x79, 0x22, 0x8f, 0x11, 0x0a, 0x09, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12,
	0x5c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f,
	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x73,
	0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x73, 0x12, 0x5c, 0x0a,
	0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x00,
	0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x04, 0x74,
	0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61,
	0x72, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x76, 0x65,
	0x74, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x74,
	0x75, 0x48, 0x00, 0x52, 0x04, 0x76, 0x65, 0x74, 0x75, 0x1a, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x6e,
	0x65, 0x1a, 0xa0, 0x01, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73,
	0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73,
	0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x1a, 0xc7, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f,
	0x72, 0x79, 0x12, 0x49, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x6f,
	0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a,
	0x0a, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x7c, 0x0a,
	0x10, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x72, 0x67, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x6b,
	0x65, 0x72, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x1a, 0x42, 0x0a, 0x14, 0x44, 0x6f,
	0x63, 0x6b, 0x65, 0x72, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 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, 0xdd,
	0x04, 0x0a, 0x04, 0x54, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65,
	0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72,
	0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
	0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x6f, 0x66, 0x74, 0x6e, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x6f,
	0x66, 0x74, 0x6e, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18,
	0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x5b, 0x0a,
	0x2b, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79,
	0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x26, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61,
	0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69,
	0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x73,
	0x70, 0x6c, 0x61, 0x79, 0x12, 0x58, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18,
	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x72, 0x74, 0x2e, 0x56,
	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x1b,
	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73,
	0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x73,
	0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d,
	0x65, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x73, 0x68, 0x1a, 0x83, 0x01, 0x0a, 0x06, 0x56, 0x6f, 0x6c,
	0x75, 0x6d, 0x65, 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, 0x12,
	0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
	0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64,
	0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x1a, 0xfb,
	0x03, 0x0a, 0x04, 0x56, 0x65, 0x74, 0x75, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65,
	0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72,
	0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
	0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x5b, 0x0a, 0x07, 0x62,
	0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x56, 0x65, 0x74, 0x75, 0x2e, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x48, 0x00, 0x52,
	0x07, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x52, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x74, 0x75, 0x2e,
	0x48, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
	0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x79, 0x6e,
	0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x73, 0x68, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x4f,
	0x76, 0x65, 0x72, 0x53, 0x73, 0x68, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
	0x72, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67,
	0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
	0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x73, 0x1a, 0x27, 0x0a,
	0x07, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0c,
	0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x06, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0xbc, 0x03, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x12, 0x65, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x4d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x69, 0x73, 0x6f, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x09, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x09, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	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, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x22, 0x7f, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x4f, 0x53, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a,
	0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70,
	0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06,
	0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x22, 0x7d, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
	0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
	0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x73, 0x0a,
	0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x72, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 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, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55,
	0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75,
	0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x2a,
	0x77, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45,
	0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45,
	0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c,
	0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4e,
	0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x04,
	0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09,
	0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x53,
	0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x2e, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x4e, 0x55, 0x58, 0x10, 0x00, 0x12,
	0x0b, 0x0a, 0x07, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
	0x44, 0x41, 0x52, 0x57, 0x49, 0x4e, 0x10, 0x02, 0x2a, 0x24, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68,
	0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4d, 0x44, 0x36,
	0x34, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0x01, 0x32, 0xdb,
	0x03, 0x0a, 0x23, 0x43, 0x69, 0x72, 0x72, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x45, 0x76, 0x61, 0x6c, 0x75,
	0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x0a, 0x4a,
	0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46,
	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xab, 0x01, 0x0a,
	0x1b, 0x43, 0x69, 0x72, 0x72, 0x75, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x78, 0x65,
	0x63, 0x75, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a,
	0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x2e,
	0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63,
	0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69,
	0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69,
	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd9, 0x06, 0x0a, 0x14, 0x43,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x12, 0x7f, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
	0x38, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x04, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c,
	0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x54, 0x61, 0x73,
	0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72,
	0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x60, 0x0a,
	0x0a, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x3a, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
	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,
	0x62, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x3b,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x83, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x11, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12,
	0x41, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65,
	0x72, 0x79, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x86, 0x1d, 0x0a, 0x0f, 0x43, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x43, 0x49, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0f, 0x49,
	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x3f,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa5, 0x01, 0x0a,
	0x14, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
	0x61, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e,
	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 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, 0x22, 0x00, 0x12, 0x80, 0x01,
	0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x31, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a,
	0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01,
	0x12, 0x7e, 0x0a, 0x08, 0x53, 0x61, 0x76, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x31, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a,
	0x3b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01,
	0x12, 0x84, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x12, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x1a, 0x40, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0xb5, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x12, 0x4a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
	0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x4b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0xac, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x47, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43,
	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x41, 0x72, 0x74,
	0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86,
	0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x12, 0x3d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x32, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73,
	0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68,
	0x75, 0x6e, 0x6b, 0x22, 0x00, 0x30, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a,
	0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x3b,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09,
	0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x39, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48,
	0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70,
	0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x3e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x48, 0x6f, 0x6f, 0x6b, 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, 0x22, 0x00, 0x12, 0x70,
	0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x12, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c,
	0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70,
	0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 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, 0x22, 0x00,
	0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x57,
	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x62,
	0x6c, 0x65, 0x6d, 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, 0x22, 0x00, 0x12, 0x70, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67,
	0x65, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x41, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53,
	0x69, 0x67, 0x6e, 0x61, 0x6c, 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, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
	0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
	0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c,
	0x6f, 0x67, 0x73, 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, 0x22, 0x00, 0x12, 0xa2, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41,
	0x67, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x43, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x67, 0x65,
	0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x44, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61,
	0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63,
	0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xab, 0x01, 0x0a, 0x16, 0x52, 0x65,
	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x61,
	0x63, 0x68, 0x65, 0x64, 0x12, 0x46, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52,
	0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x74, 0x74,
	0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72,
	0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xae, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x6f,
	0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79,
	0x63, 0x6c, 0x65, 0x12, 0x47, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65,
	0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x66, 0x65,
	0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x6f,
	0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69,
	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x72,
	0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x55, 0x52, 0x4c, 0x12, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73,
	0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x3c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x55, 0x52, 0x4c, 0x73, 0x12, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x55, 0x52, 0x4c, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9c, 0x01, 0x0a, 0x1a, 0x4d, 0x75, 0x6c,
	0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70,
	0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x4b, 0x2e, 0x6f, 0x72, 0x67,
	0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x18, 0x4d, 0x75, 0x6c, 0x74,
	0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x50, 0x61, 0x72, 0x74, 0x12, 0x48, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75,
	0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d,
	0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c,
	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e,
	0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72,
	0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a,
	0x1a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x4a, 0x2e, 0x6f, 0x72,
	0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2e, 0x63, 0x69, 0x2e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x63,
	0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 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, 0x42,
	0x6a, 0x0a, 0x2c, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x6c, 0x61, 0x62,
	0x73, 0x2e, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x63, 0x69,
	0x72, 0x72, 0x75, 0x73, 0x63, 0x69, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x42,
	0x0d, 0x43, 0x69, 0x72, 0x72, 0x75, 0x73, 0x43, 0x49, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
	0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x69, 0x72,
	0x72, 0x75, 0x73, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x63, 0x69, 0x72, 0x72, 0x75, 0x73, 0x2d, 0x63,
	0x69, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x33,
}

var (
	file_api_cirrus_ci_service_proto_rawDescOnce sync.Once
	file_api_cirrus_ci_service_proto_rawDescData = file_api_cirrus_ci_service_proto_rawDesc
)

func file_api_cirrus_ci_service_proto_rawDescGZIP() []byte {
	file_api_cirrus_ci_service_proto_rawDescOnce.Do(func() {
		file_api_cirrus_ci_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_cirrus_ci_service_proto_rawDescData)
	})
	return file_api_cirrus_ci_service_proto_rawDescData
}

var file_api_cirrus_ci_service_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_api_cirrus_ci_service_proto_msgTypes = make([]protoimpl.MessageInfo, 138)
var file_api_cirrus_ci_service_proto_goTypes = []any{
	(Status)(0),                                          // 0: org.cirruslabs.ci.services.cirruscigrpc.Status
	(Platform)(0),                                        // 1: org.cirruslabs.ci.services.cirruscigrpc.Platform
	(Architecture)(0),                                    // 2: org.cirruslabs.ci.services.cirruscigrpc.Architecture
	(Issue_Level)(0),                                     // 3: org.cirruslabs.ci.services.cirruscigrpc.Issue.Level
	(Annotation_Level)(0),                                // 4: org.cirruslabs.ci.services.cirruscigrpc.Annotation.Level
	(Annotation_Type)(0),                                 // 5: org.cirruslabs.ci.services.cirruscigrpc.Annotation.Type
	(Command_CommandExecutionBehavior)(0),                // 6: org.cirruslabs.ci.services.cirruscigrpc.Command.CommandExecutionBehavior
	(*CapabilitiesRequest)(nil),                          // 7: org.cirruslabs.ci.services.cirruscigrpc.CapabilitiesRequest
	(*CapabilitiesResponse)(nil),                         // 8: org.cirruslabs.ci.services.cirruscigrpc.CapabilitiesResponse
	(*AdditionalInstancesInfo)(nil),                      // 9: org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo
	(*EvaluateConfigRequest)(nil),                        // 10: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest
	(*FileSystem)(nil),                                   // 11: org.cirruslabs.ci.services.cirruscigrpc.FileSystem
	(*EvaluateConfigResponse)(nil),                       // 12: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigResponse
	(*RichError)(nil),                                    // 13: org.cirruslabs.ci.services.cirruscigrpc.RichError
	(*Issue)(nil),                                        // 14: org.cirruslabs.ci.services.cirruscigrpc.Issue
	(*JSONSchemaRequest)(nil),                            // 15: org.cirruslabs.ci.services.cirruscigrpc.JSONSchemaRequest
	(*JSONSchemaResponse)(nil),                           // 16: org.cirruslabs.ci.services.cirruscigrpc.JSONSchemaResponse
	(*EvaluateFunctionRequest)(nil),                      // 17: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest
	(*EvaluateFunctionResponse)(nil),                     // 18: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionResponse
	(*RegisterRequest)(nil),                              // 19: org.cirruslabs.ci.services.cirruscigrpc.RegisterRequest
	(*RegisterResponse)(nil),                             // 20: org.cirruslabs.ci.services.cirruscigrpc.RegisterResponse
	(*PollRequest)(nil),                                  // 21: org.cirruslabs.ci.services.cirruscigrpc.PollRequest
	(*QueryRunningTasksRequest)(nil),                     // 22: org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksRequest
	(*QueryRunningTasksResponse)(nil),                    // 23: org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksResponse
	(*TaskFailedRequest)(nil),                            // 24: org.cirruslabs.ci.services.cirruscigrpc.TaskFailedRequest
	(*PollResponse)(nil),                                 // 25: org.cirruslabs.ci.services.cirruscigrpc.PollResponse
	(*StandbyInstanceInformation)(nil),                   // 26: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceInformation
	(*StandbyInstanceParameters)(nil),                    // 27: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters
	(*WorkerInfo)(nil),                                   // 28: org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo
	(*UpdateStatusRequest)(nil),                          // 29: org.cirruslabs.ci.services.cirruscigrpc.UpdateStatusRequest
	(*WorkerStatus)(nil),                                 // 30: org.cirruslabs.ci.services.cirruscigrpc.WorkerStatus
	(*MultipartCacheUploadCreateResponse)(nil),           // 31: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCreateResponse
	(*MultipartCacheUploadPartRequest)(nil),              // 32: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadPartRequest
	(*MultipartCacheUploadCommitRequest)(nil),            // 33: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest
	(*ReportTerminalAttachedRequest)(nil),                // 34: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalAttachedRequest
	(*ReportTerminalAttachedResponse)(nil),               // 35: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalAttachedResponse
	(*ReportTerminalLifecycleRequest)(nil),               // 36: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest
	(*ReportTerminalLifecycleResponse)(nil),              // 37: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleResponse
	(*TaskIdentification)(nil),                           // 38: org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	(*DataChunk)(nil),                                    // 39: org.cirruslabs.ci.services.cirruscigrpc.DataChunk
	(*InitialCommandsRequest)(nil),                       // 40: org.cirruslabs.ci.services.cirruscigrpc.InitialCommandsRequest
	(*LogEntry)(nil),                                     // 41: org.cirruslabs.ci.services.cirruscigrpc.LogEntry
	(*UploadLogsResponse)(nil),                           // 42: org.cirruslabs.ci.services.cirruscigrpc.UploadLogsResponse
	(*CacheKey)(nil),                                     // 43: org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	(*CacheEntry)(nil),                                   // 44: org.cirruslabs.ci.services.cirruscigrpc.CacheEntry
	(*UploadCacheResponse)(nil),                          // 45: org.cirruslabs.ci.services.cirruscigrpc.UploadCacheResponse
	(*ArtifactEntry)(nil),                                // 46: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry
	(*UploadArtifactsResponse)(nil),                      // 47: org.cirruslabs.ci.services.cirruscigrpc.UploadArtifactsResponse
	(*ArtifactFileInfo)(nil),                             // 48: org.cirruslabs.ci.services.cirruscigrpc.ArtifactFileInfo
	(*GenerateArtifactUploadURLsRequest)(nil),            // 49: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsRequest
	(*GenerateArtifactUploadURLsResponse)(nil),           // 50: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse
	(*CommitUploadedArtifactsRequest)(nil),               // 51: org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsRequest
	(*CommitUploadedArtifactsResponse)(nil),              // 52: org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsResponse
	(*DownloadCacheRequest)(nil),                         // 53: org.cirruslabs.ci.services.cirruscigrpc.DownloadCacheRequest
	(*CommandsResponse)(nil),                             // 54: org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse
	(*ReportCommandUpdatesRequest)(nil),                  // 55: org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesRequest
	(*ReportCommandUpdatesResponse)(nil),                 // 56: org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesResponse
	(*ReportAnnotationsCommandRequest)(nil),              // 57: org.cirruslabs.ci.services.cirruscigrpc.ReportAnnotationsCommandRequest
	(*Annotation)(nil),                                   // 58: org.cirruslabs.ci.services.cirruscigrpc.Annotation
	(*HeartbeatRequest)(nil),                             // 59: org.cirruslabs.ci.services.cirruscigrpc.HeartbeatRequest
	(*HeartbeatResponse)(nil),                            // 60: org.cirruslabs.ci.services.cirruscigrpc.HeartbeatResponse
	(*CacheInfoRequest)(nil),                             // 61: org.cirruslabs.ci.services.cirruscigrpc.CacheInfoRequest
	(*CacheInfo)(nil),                                    // 62: org.cirruslabs.ci.services.cirruscigrpc.CacheInfo
	(*CacheInfoResponse)(nil),                            // 63: org.cirruslabs.ci.services.cirruscigrpc.CacheInfoResponse
	(*DeleteCacheRequest)(nil),                           // 64: org.cirruslabs.ci.services.cirruscigrpc.DeleteCacheRequest
	(*DeleteCacheResponse)(nil),                          // 65: org.cirruslabs.ci.services.cirruscigrpc.DeleteCacheResponse
	(*ReportAgentProblemRequest)(nil),                    // 66: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentProblemRequest
	(*ReportStopHookRequest)(nil),                        // 67: org.cirruslabs.ci.services.cirruscigrpc.ReportStopHookRequest
	(*ReportAgentSignalRequest)(nil),                     // 68: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentSignalRequest
	(*ReportAgentLogsRequest)(nil),                       // 69: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentLogsRequest
	(*CacheRetrievalAttempt)(nil),                        // 70: org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt
	(*ResourceUtilization)(nil),                          // 71: org.cirruslabs.ci.services.cirruscigrpc.ResourceUtilization
	(*ChartPoint)(nil),                                   // 72: org.cirruslabs.ci.services.cirruscigrpc.ChartPoint
	(*CommandResult)(nil),                                // 73: org.cirruslabs.ci.services.cirruscigrpc.CommandResult
	(*ReportAgentFinishedRequest)(nil),                   // 74: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest
	(*ReportAgentFinishedResponse)(nil),                  // 75: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedResponse
	(*Task)(nil),                                         // 76: org.cirruslabs.ci.services.cirruscigrpc.Task
	(*Command)(nil),                                      // 77: org.cirruslabs.ci.services.cirruscigrpc.Command
	(*ExitInstruction)(nil),                              // 78: org.cirruslabs.ci.services.cirruscigrpc.ExitInstruction
	(*ScriptInstruction)(nil),                            // 79: org.cirruslabs.ci.services.cirruscigrpc.ScriptInstruction
	(*BackgroundScriptInstruction)(nil),                  // 80: org.cirruslabs.ci.services.cirruscigrpc.BackgroundScriptInstruction
	(*CacheInstruction)(nil),                             // 81: org.cirruslabs.ci.services.cirruscigrpc.CacheInstruction
	(*UploadCacheInstruction)(nil),                       // 82: org.cirruslabs.ci.services.cirruscigrpc.UploadCacheInstruction
	(*CloneInstruction)(nil),                             // 83: org.cirruslabs.ci.services.cirruscigrpc.CloneInstruction
	(*FileInstruction)(nil),                              // 84: org.cirruslabs.ci.services.cirruscigrpc.FileInstruction
	(*ArtifactsInstruction)(nil),                         // 85: org.cirruslabs.ci.services.cirruscigrpc.ArtifactsInstruction
	(*WaitForTerminalInstruction)(nil),                   // 86: org.cirruslabs.ci.services.cirruscigrpc.WaitForTerminalInstruction
	(*PipeInstance)(nil),                                 // 87: org.cirruslabs.ci.services.cirruscigrpc.PipeInstance
	(*ContainerInstance)(nil),                            // 88: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance
	(*PortMapping)(nil),                                  // 89: org.cirruslabs.ci.services.cirruscigrpc.PortMapping
	(*AdditionalContainer)(nil),                          // 90: org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer
	(*PrebuiltImageInstance)(nil),                        // 91: org.cirruslabs.ci.services.cirruscigrpc.PrebuiltImageInstance
	(*Volume)(nil),                                       // 92: org.cirruslabs.ci.services.cirruscigrpc.Volume
	(*Isolation)(nil),                                    // 93: org.cirruslabs.ci.services.cirruscigrpc.Isolation
	(*PersistentWorkerInstance)(nil),                     // 94: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance
	(*MacOSInstance)(nil),                                // 95: org.cirruslabs.ci.services.cirruscigrpc.MacOSInstance
	(*DockerBuilder)(nil),                                // 96: org.cirruslabs.ci.services.cirruscigrpc.DockerBuilder
	(*GenerateURLResponse)(nil),                          // 97: org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse
	(*GenerateURLsResponse)(nil),                         // 98: org.cirruslabs.ci.services.cirruscigrpc.GenerateURLsResponse
	nil,                                                  // 99: org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo.InstancesEntry
	nil,                                                  // 100: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.EnvironmentEntry
	(*FileSystem_Memory)(nil),                            // 101: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Memory
	(*FileSystem_Github)(nil),                            // 102: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Github
	nil,                                                  // 103: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Memory.FilesContentsEntry
	(*FileSystem_Github_HTTPCache)(nil),                  // 104: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Github.HTTPCache
	nil,                                                  // 105: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest.EnvironmentEntry
	nil,                                                  // 106: org.cirruslabs.ci.services.cirruscigrpc.PollRequest.ResourcesInUseEntry
	(*PollResponse_AgentAwareTask)(nil),                  // 107: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask
	nil,                                                  // 108: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask.ResourcesToUseEntry
	(*StandbyInstanceParameters_Warmup)(nil),             // 109: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.Warmup
	nil,                                                  // 110: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.ResourcesEntry
	nil,                                                  // 111: org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.LabelsEntry
	nil,                                                  // 112: org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.ResourcesTotalEntry
	(*MultipartCacheUploadCommitRequest_Part)(nil),       // 113: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest.Part
	(*ReportTerminalLifecycleRequest_Started)(nil),       // 114: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.Started
	(*ReportTerminalLifecycleRequest_Expiring)(nil),      // 115: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.Expiring
	(*LogEntry_LogKey)(nil),                              // 116: org.cirruslabs.ci.services.cirruscigrpc.LogEntry.LogKey
	(*ArtifactEntry_ArtifactsUpload)(nil),                // 117: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.ArtifactsUpload
	(*ArtifactEntry_ArtifactChunk)(nil),                  // 118: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.ArtifactChunk
	(*GenerateArtifactUploadURLsResponse_UploadURL)(nil), // 119: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.UploadURL
	nil,                                    // 120: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.UploadURL.HeadersEntry
	nil,                                    // 121: org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse.EnvironmentEntry
	(*Annotation_FileLocation)(nil),        // 122: org.cirruslabs.ci.services.cirruscigrpc.Annotation.FileLocation
	(*CacheRetrievalAttempt_Hit)(nil),      // 123: org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.Hit
	(*CacheRetrievalAttempt_Miss)(nil),     // 124: org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.Miss
	nil,                                    // 125: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.CacheRetrievalAttemptsEntry
	(*Task_Metadata)(nil),                  // 126: org.cirruslabs.ci.services.cirruscigrpc.Task.Metadata
	nil,                                    // 127: org.cirruslabs.ci.services.cirruscigrpc.Task.EnvironmentEntry
	nil,                                    // 128: org.cirruslabs.ci.services.cirruscigrpc.Task.Metadata.PropertiesEntry
	nil,                                    // 129: org.cirruslabs.ci.services.cirruscigrpc.Command.PropertiesEntry
	nil,                                    // 130: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.DockerArgumentsEntry
	nil,                                    // 131: org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer.EnvironmentEntry
	nil,                                    // 132: org.cirruslabs.ci.services.cirruscigrpc.PrebuiltImageInstance.ArgumentsEntry
	(*Isolation_None)(nil),                 // 133: org.cirruslabs.ci.services.cirruscigrpc.Isolation.None
	(*Isolation_Parallels)(nil),            // 134: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Parallels
	(*Isolation_Container)(nil),            // 135: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container
	(*Isolation_Tart)(nil),                 // 136: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Tart
	(*Isolation_Vetu)(nil),                 // 137: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu
	nil,                                    // 138: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container.DockerArgumentsEntry
	(*Isolation_Tart_Volume)(nil),          // 139: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Tart.Volume
	(*Isolation_Vetu_Bridged)(nil),         // 140: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.Bridged
	(*Isolation_Vetu_Host)(nil),            // 141: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.Host
	nil,                                    // 142: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.LabelsEntry
	nil,                                    // 143: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.ResourcesEntry
	nil,                                    // 144: org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse.ExtraHeadersEntry
	(*descriptorpb.FileDescriptorSet)(nil), // 145: google.protobuf.FileDescriptorSet
	(*descriptorpb.FieldDescriptorProto)(nil), // 146: google.protobuf.FieldDescriptorProto
	(*structpb.ListValue)(nil),                // 147: google.protobuf.ListValue
	(*structpb.Value)(nil),                    // 148: google.protobuf.Value
	(*anypb.Any)(nil),                         // 149: google.protobuf.Any
	(*emptypb.Empty)(nil),                     // 150: google.protobuf.Empty
}
var file_api_cirrus_ci_service_proto_depIdxs = []int32{
	9,   // 0: org.cirruslabs.ci.services.cirruscigrpc.CapabilitiesResponse.supported_instances:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo
	99,  // 1: org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo.instances:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo.InstancesEntry
	145, // 2: org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo.descriptor_set:type_name -> google.protobuf.FileDescriptorSet
	100, // 3: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.environment:type_name -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.EnvironmentEntry
	9,   // 4: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.additional_instances_info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo
	146, // 5: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.additional_task_properties:type_name -> google.protobuf.FieldDescriptorProto
	11,  // 6: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest.fs:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem
	101, // 7: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.memory:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Memory
	102, // 8: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.github:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Github
	76,  // 9: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigResponse.tasks:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Task
	14,  // 10: org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigResponse.issues:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Issue
	3,   // 11: org.cirruslabs.ci.services.cirruscigrpc.Issue.level:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Issue.Level
	9,   // 12: org.cirruslabs.ci.services.cirruscigrpc.JSONSchemaRequest.additional_instances_info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalInstancesInfo
	147, // 13: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest.arguments:type_name -> google.protobuf.ListValue
	105, // 14: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest.environment:type_name -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest.EnvironmentEntry
	11,  // 15: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest.fs:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem
	148, // 16: org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionResponse.result:type_name -> google.protobuf.Value
	28,  // 17: org.cirruslabs.ci.services.cirruscigrpc.RegisterRequest.worker_info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo
	28,  // 18: org.cirruslabs.ci.services.cirruscigrpc.PollRequest.worker_info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo
	106, // 19: org.cirruslabs.ci.services.cirruscigrpc.PollRequest.resources_in_use:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PollRequest.ResourcesInUseEntry
	26,  // 20: org.cirruslabs.ci.services.cirruscigrpc.PollRequest.available_standby_instances_information:type_name -> org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceInformation
	28,  // 21: org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksRequest.info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo
	30,  // 22: org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksResponse.status:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerStatus
	38,  // 23: org.cirruslabs.ci.services.cirruscigrpc.TaskFailedRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	107, // 24: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.tasks_to_start:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask
	27,  // 25: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.updated_standby_instances:type_name -> org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters
	27,  // 26: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceInformation.parameters:type_name -> org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters
	93,  // 27: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.isolation:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation
	110, // 28: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.resources:type_name -> org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.ResourcesEntry
	109, // 29: org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.warmup:type_name -> org.cirruslabs.ci.services.cirruscigrpc.StandbyInstanceParameters.Warmup
	111, // 30: org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.labels:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.LabelsEntry
	112, // 31: org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.resources_total:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WorkerInfo.ResourcesTotalEntry
	43,  // 32: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadPartRequest.cache_key:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	43,  // 33: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest.cache_key:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	113, // 34: org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest.parts:type_name -> org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest.Part
	38,  // 35: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalAttachedRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 36: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	114, // 37: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.started:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.Started
	115, // 38: org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.expiring:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest.Expiring
	38,  // 39: org.cirruslabs.ci.services.cirruscigrpc.InitialCommandsRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	116, // 40: org.cirruslabs.ci.services.cirruscigrpc.LogEntry.key:type_name -> org.cirruslabs.ci.services.cirruscigrpc.LogEntry.LogKey
	39,  // 41: org.cirruslabs.ci.services.cirruscigrpc.LogEntry.chunk:type_name -> org.cirruslabs.ci.services.cirruscigrpc.DataChunk
	38,  // 42: org.cirruslabs.ci.services.cirruscigrpc.CacheKey.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	43,  // 43: org.cirruslabs.ci.services.cirruscigrpc.CacheEntry.key:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	39,  // 44: org.cirruslabs.ci.services.cirruscigrpc.CacheEntry.chunk:type_name -> org.cirruslabs.ci.services.cirruscigrpc.DataChunk
	117, // 45: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.artifacts_upload:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.ArtifactsUpload
	118, // 46: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.chunk:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.ArtifactChunk
	38,  // 47: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	48,  // 48: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsRequest.files:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactFileInfo
	119, // 49: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.urls:type_name -> org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.UploadURL
	38,  // 50: org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	48,  // 51: org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsRequest.files:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactFileInfo
	38,  // 52: org.cirruslabs.ci.services.cirruscigrpc.DownloadCacheRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	121, // 53: org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse.environment:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse.EnvironmentEntry
	77,  // 54: org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse.commands:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Command
	38,  // 55: org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	73,  // 56: org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesRequest.updates:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CommandResult
	38,  // 57: org.cirruslabs.ci.services.cirruscigrpc.ReportAnnotationsCommandRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	58,  // 58: org.cirruslabs.ci.services.cirruscigrpc.ReportAnnotationsCommandRequest.annotations:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Annotation
	5,   // 59: org.cirruslabs.ci.services.cirruscigrpc.Annotation.type:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Annotation.Type
	4,   // 60: org.cirruslabs.ci.services.cirruscigrpc.Annotation.level:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Annotation.Level
	122, // 61: org.cirruslabs.ci.services.cirruscigrpc.Annotation.file_location:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Annotation.FileLocation
	38,  // 62: org.cirruslabs.ci.services.cirruscigrpc.HeartbeatRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 63: org.cirruslabs.ci.services.cirruscigrpc.CacheInfoRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	62,  // 64: org.cirruslabs.ci.services.cirruscigrpc.CacheInfoResponse.info:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheInfo
	38,  // 65: org.cirruslabs.ci.services.cirruscigrpc.DeleteCacheRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 66: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentProblemRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 67: org.cirruslabs.ci.services.cirruscigrpc.ReportStopHookRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 68: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentSignalRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 69: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentLogsRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	123, // 70: org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.hit:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.Hit
	124, // 71: org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.miss:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt.Miss
	72,  // 72: org.cirruslabs.ci.services.cirruscigrpc.ResourceUtilization.cpu_chart:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ChartPoint
	72,  // 73: org.cirruslabs.ci.services.cirruscigrpc.ResourceUtilization.memory_chart:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ChartPoint
	0,   // 74: org.cirruslabs.ci.services.cirruscigrpc.CommandResult.status:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Status
	38,  // 75: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	125, // 76: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.cacheRetrievalAttempts:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.CacheRetrievalAttemptsEntry
	73,  // 77: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.command_results:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CommandResult
	71,  // 78: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.resource_utilization:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ResourceUtilization
	0,   // 79: org.cirruslabs.ci.services.cirruscigrpc.Task.status:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Status
	127, // 80: org.cirruslabs.ci.services.cirruscigrpc.Task.environment:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Task.EnvironmentEntry
	126, // 81: org.cirruslabs.ci.services.cirruscigrpc.Task.metadata:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Task.Metadata
	77,  // 82: org.cirruslabs.ci.services.cirruscigrpc.Task.commands:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Command
	149, // 83: org.cirruslabs.ci.services.cirruscigrpc.Task.instance:type_name -> google.protobuf.Any
	78,  // 84: org.cirruslabs.ci.services.cirruscigrpc.Command.exit_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ExitInstruction
	79,  // 85: org.cirruslabs.ci.services.cirruscigrpc.Command.script_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ScriptInstruction
	80,  // 86: org.cirruslabs.ci.services.cirruscigrpc.Command.background_script_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.BackgroundScriptInstruction
	81,  // 87: org.cirruslabs.ci.services.cirruscigrpc.Command.cache_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheInstruction
	82,  // 88: org.cirruslabs.ci.services.cirruscigrpc.Command.upload_cache_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.UploadCacheInstruction
	83,  // 89: org.cirruslabs.ci.services.cirruscigrpc.Command.clone_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CloneInstruction
	84,  // 90: org.cirruslabs.ci.services.cirruscigrpc.Command.file_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileInstruction
	85,  // 91: org.cirruslabs.ci.services.cirruscigrpc.Command.artifacts_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactsInstruction
	86,  // 92: org.cirruslabs.ci.services.cirruscigrpc.Command.wait_for_terminal_instruction:type_name -> org.cirruslabs.ci.services.cirruscigrpc.WaitForTerminalInstruction
	6,   // 93: org.cirruslabs.ci.services.cirruscigrpc.Command.execution_behaviour:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Command.CommandExecutionBehavior
	129, // 94: org.cirruslabs.ci.services.cirruscigrpc.Command.properties:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Command.PropertiesEntry
	90,  // 95: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.additional_containers:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer
	1,   // 96: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.platform:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Platform
	130, // 97: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.docker_arguments:type_name -> org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.DockerArgumentsEntry
	2,   // 98: org.cirruslabs.ci.services.cirruscigrpc.ContainerInstance.architecture:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Architecture
	131, // 99: org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer.environment:type_name -> org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer.EnvironmentEntry
	89,  // 100: org.cirruslabs.ci.services.cirruscigrpc.AdditionalContainer.ports:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PortMapping
	1,   // 101: org.cirruslabs.ci.services.cirruscigrpc.PrebuiltImageInstance.platform:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Platform
	132, // 102: org.cirruslabs.ci.services.cirruscigrpc.PrebuiltImageInstance.arguments:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PrebuiltImageInstance.ArgumentsEntry
	133, // 103: org.cirruslabs.ci.services.cirruscigrpc.Isolation.none:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.None
	134, // 104: org.cirruslabs.ci.services.cirruscigrpc.Isolation.parallels:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Parallels
	135, // 105: org.cirruslabs.ci.services.cirruscigrpc.Isolation.container:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container
	136, // 106: org.cirruslabs.ci.services.cirruscigrpc.Isolation.tart:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Tart
	137, // 107: org.cirruslabs.ci.services.cirruscigrpc.Isolation.vetu:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu
	142, // 108: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.labels:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.LabelsEntry
	93,  // 109: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.isolation:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation
	143, // 110: org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.resources:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PersistentWorkerInstance.ResourcesEntry
	1,   // 111: org.cirruslabs.ci.services.cirruscigrpc.DockerBuilder.platform:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Platform
	144, // 112: org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse.extra_headers:type_name -> org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse.ExtraHeadersEntry
	103, // 113: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Memory.filesContents:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Memory.FilesContentsEntry
	104, // 114: org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Github.http_cache:type_name -> org.cirruslabs.ci.services.cirruscigrpc.FileSystem.Github.HTTPCache
	93,  // 115: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask.isolation:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation
	108, // 116: org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask.resources_to_use:type_name -> org.cirruslabs.ci.services.cirruscigrpc.PollResponse.AgentAwareTask.ResourcesToUseEntry
	38,  // 117: org.cirruslabs.ci.services.cirruscigrpc.LogEntry.LogKey.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	38,  // 118: org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry.ArtifactsUpload.task_identification:type_name -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	120, // 119: org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.UploadURL.headers:type_name -> org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse.UploadURL.HeadersEntry
	70,  // 120: org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest.CacheRetrievalAttemptsEntry.value:type_name -> org.cirruslabs.ci.services.cirruscigrpc.CacheRetrievalAttempt
	128, // 121: org.cirruslabs.ci.services.cirruscigrpc.Task.Metadata.properties:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Task.Metadata.PropertiesEntry
	1,   // 122: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Parallels.platform:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Platform
	92,  // 123: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container.volumes:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Volume
	138, // 124: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container.docker_arguments:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container.DockerArgumentsEntry
	1,   // 125: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Container.platform:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Platform
	139, // 126: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Tart.volumes:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Tart.Volume
	140, // 127: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.bridged:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.Bridged
	141, // 128: org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.host:type_name -> org.cirruslabs.ci.services.cirruscigrpc.Isolation.Vetu.Host
	10,  // 129: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.EvaluateConfig:input_type -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigRequest
	15,  // 130: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.JSONSchema:input_type -> org.cirruslabs.ci.services.cirruscigrpc.JSONSchemaRequest
	17,  // 131: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.EvaluateFunction:input_type -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionRequest
	7,   // 132: org.cirruslabs.ci.services.cirruscigrpc.CirrusRemoteExecutorService.Capabilities:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CapabilitiesRequest
	19,  // 133: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.Register:input_type -> org.cirruslabs.ci.services.cirruscigrpc.RegisterRequest
	21,  // 134: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.Poll:input_type -> org.cirruslabs.ci.services.cirruscigrpc.PollRequest
	38,  // 135: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskStarted:input_type -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	24,  // 136: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskFailed:input_type -> org.cirruslabs.ci.services.cirruscigrpc.TaskFailedRequest
	38,  // 137: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskStopped:input_type -> org.cirruslabs.ci.services.cirruscigrpc.TaskIdentification
	29,  // 138: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.UpdateStatus:input_type -> org.cirruslabs.ci.services.cirruscigrpc.UpdateStatusRequest
	22,  // 139: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.QueryRunningTasks:input_type -> org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksRequest
	40,  // 140: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.InitialCommands:input_type -> org.cirruslabs.ci.services.cirruscigrpc.InitialCommandsRequest
	55,  // 141: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportCommandUpdates:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesRequest
	57,  // 142: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAnnotations:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAnnotationsCommandRequest
	41,  // 143: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.StreamLogs:input_type -> org.cirruslabs.ci.services.cirruscigrpc.LogEntry
	41,  // 144: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.SaveLogs:input_type -> org.cirruslabs.ci.services.cirruscigrpc.LogEntry
	44,  // 145: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.UploadCache:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheEntry
	46,  // 146: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.UploadArtifacts:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ArtifactEntry
	49,  // 147: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateArtifactUploadURLs:input_type -> org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsRequest
	51,  // 148: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.CommitUploadedArtifacts:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsRequest
	53,  // 149: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.DownloadCache:input_type -> org.cirruslabs.ci.services.cirruscigrpc.DownloadCacheRequest
	61,  // 150: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.CacheInfo:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheInfoRequest
	64,  // 151: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.DeleteCache:input_type -> org.cirruslabs.ci.services.cirruscigrpc.DeleteCacheRequest
	59,  // 152: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.Heartbeat:input_type -> org.cirruslabs.ci.services.cirruscigrpc.HeartbeatRequest
	67,  // 153: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportStopHook:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportStopHookRequest
	66,  // 154: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentError:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentProblemRequest
	66,  // 155: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentWarning:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentProblemRequest
	68,  // 156: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentSignal:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentSignalRequest
	69,  // 157: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentLogs:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentLogsRequest
	74,  // 158: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentFinished:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedRequest
	34,  // 159: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportTerminalAttached:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalAttachedRequest
	36,  // 160: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportTerminalLifecycle:input_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleRequest
	43,  // 161: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateCacheUploadURL:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	43,  // 162: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateCacheDownloadURLs:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	43,  // 163: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadCreate:input_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheKey
	32,  // 164: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadPart:input_type -> org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadPartRequest
	33,  // 165: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadCommit:input_type -> org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCommitRequest
	12,  // 166: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.EvaluateConfig:output_type -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateConfigResponse
	16,  // 167: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.JSONSchema:output_type -> org.cirruslabs.ci.services.cirruscigrpc.JSONSchemaResponse
	18,  // 168: org.cirruslabs.ci.services.cirruscigrpc.CirrusConfigurationEvaluatorService.EvaluateFunction:output_type -> org.cirruslabs.ci.services.cirruscigrpc.EvaluateFunctionResponse
	8,   // 169: org.cirruslabs.ci.services.cirruscigrpc.CirrusRemoteExecutorService.Capabilities:output_type -> org.cirruslabs.ci.services.cirruscigrpc.CapabilitiesResponse
	20,  // 170: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.Register:output_type -> org.cirruslabs.ci.services.cirruscigrpc.RegisterResponse
	25,  // 171: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.Poll:output_type -> org.cirruslabs.ci.services.cirruscigrpc.PollResponse
	150, // 172: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskStarted:output_type -> google.protobuf.Empty
	150, // 173: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskFailed:output_type -> google.protobuf.Empty
	150, // 174: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.TaskStopped:output_type -> google.protobuf.Empty
	30,  // 175: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.UpdateStatus:output_type -> org.cirruslabs.ci.services.cirruscigrpc.WorkerStatus
	23,  // 176: org.cirruslabs.ci.services.cirruscigrpc.CirrusWorkersService.QueryRunningTasks:output_type -> org.cirruslabs.ci.services.cirruscigrpc.QueryRunningTasksResponse
	54,  // 177: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.InitialCommands:output_type -> org.cirruslabs.ci.services.cirruscigrpc.CommandsResponse
	56,  // 178: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportCommandUpdates:output_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportCommandUpdatesResponse
	150, // 179: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAnnotations:output_type -> google.protobuf.Empty
	42,  // 180: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.StreamLogs:output_type -> org.cirruslabs.ci.services.cirruscigrpc.UploadLogsResponse
	42,  // 181: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.SaveLogs:output_type -> org.cirruslabs.ci.services.cirruscigrpc.UploadLogsResponse
	45,  // 182: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.UploadCache:output_type -> org.cirruslabs.ci.services.cirruscigrpc.UploadCacheResponse
	47,  // 183: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.UploadArtifacts:output_type -> org.cirruslabs.ci.services.cirruscigrpc.UploadArtifactsResponse
	50,  // 184: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateArtifactUploadURLs:output_type -> org.cirruslabs.ci.services.cirruscigrpc.GenerateArtifactUploadURLsResponse
	52,  // 185: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.CommitUploadedArtifacts:output_type -> org.cirruslabs.ci.services.cirruscigrpc.CommitUploadedArtifactsResponse
	39,  // 186: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.DownloadCache:output_type -> org.cirruslabs.ci.services.cirruscigrpc.DataChunk
	63,  // 187: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.CacheInfo:output_type -> org.cirruslabs.ci.services.cirruscigrpc.CacheInfoResponse
	65,  // 188: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.DeleteCache:output_type -> org.cirruslabs.ci.services.cirruscigrpc.DeleteCacheResponse
	60,  // 189: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.Heartbeat:output_type -> org.cirruslabs.ci.services.cirruscigrpc.HeartbeatResponse
	150, // 190: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportStopHook:output_type -> google.protobuf.Empty
	150, // 191: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentError:output_type -> google.protobuf.Empty
	150, // 192: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentWarning:output_type -> google.protobuf.Empty
	150, // 193: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentSignal:output_type -> google.protobuf.Empty
	150, // 194: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentLogs:output_type -> google.protobuf.Empty
	75,  // 195: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportAgentFinished:output_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportAgentFinishedResponse
	35,  // 196: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportTerminalAttached:output_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalAttachedResponse
	37,  // 197: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.ReportTerminalLifecycle:output_type -> org.cirruslabs.ci.services.cirruscigrpc.ReportTerminalLifecycleResponse
	97,  // 198: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateCacheUploadURL:output_type -> org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse
	98,  // 199: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.GenerateCacheDownloadURLs:output_type -> org.cirruslabs.ci.services.cirruscigrpc.GenerateURLsResponse
	31,  // 200: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadCreate:output_type -> org.cirruslabs.ci.services.cirruscigrpc.MultipartCacheUploadCreateResponse
	97,  // 201: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadPart:output_type -> org.cirruslabs.ci.services.cirruscigrpc.GenerateURLResponse
	150, // 202: org.cirruslabs.ci.services.cirruscigrpc.CirrusCIService.MultipartCacheUploadCommit:output_type -> google.protobuf.Empty
	166, // [166:203] is the sub-list for method output_type
	129, // [129:166] is the sub-list for method input_type
	129, // [129:129] is the sub-list for extension type_name
	129, // [129:129] is the sub-list for extension extendee
	0,   // [0:129] is the sub-list for field type_name
}

func init() { file_api_cirrus_ci_service_proto_init() }
func file_api_cirrus_ci_service_proto_init() {
	if File_api_cirrus_ci_service_proto != nil {
		return
	}
	file_api_cirrus_ci_service_proto_msgTypes[4].OneofWrappers = []any{
		(*FileSystem_Memory_)(nil),
		(*FileSystem_Github_)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[29].OneofWrappers = []any{
		(*ReportTerminalLifecycleRequest_Started_)(nil),
		(*ReportTerminalLifecycleRequest_Expiring_)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[34].OneofWrappers = []any{
		(*LogEntry_Key)(nil),
		(*LogEntry_Chunk)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[37].OneofWrappers = []any{
		(*CacheEntry_Key)(nil),
		(*CacheEntry_Chunk)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[39].OneofWrappers = []any{
		(*ArtifactEntry_ArtifactsUpload_)(nil),
		(*ArtifactEntry_Chunk)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[63].OneofWrappers = []any{
		(*CacheRetrievalAttempt_Hit_)(nil),
		(*CacheRetrievalAttempt_Miss_)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[70].OneofWrappers = []any{
		(*Command_ExitInstruction)(nil),
		(*Command_ScriptInstruction)(nil),
		(*Command_BackgroundScriptInstruction)(nil),
		(*Command_CacheInstruction)(nil),
		(*Command_UploadCacheInstruction)(nil),
		(*Command_CloneInstruction)(nil),
		(*Command_FileInstruction)(nil),
		(*Command_ArtifactsInstruction)(nil),
		(*Command_WaitForTerminalInstruction)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[77].OneofWrappers = []any{
		(*FileInstruction_FromEnvironmentVariable)(nil),
		(*FileInstruction_FromContents)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[86].OneofWrappers = []any{
		(*Isolation_None_)(nil),
		(*Isolation_Parallels_)(nil),
		(*Isolation_Container_)(nil),
		(*Isolation_Tart_)(nil),
		(*Isolation_Vetu_)(nil),
	}
	file_api_cirrus_ci_service_proto_msgTypes[130].OneofWrappers = []any{
		(*Isolation_Vetu_Bridged_)(nil),
		(*Isolation_Vetu_Host_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_api_cirrus_ci_service_proto_rawDesc,
			NumEnums:      7,
			NumMessages:   138,
			NumExtensions: 0,
			NumServices:   4,
		},
		GoTypes:           file_api_cirrus_ci_service_proto_goTypes,
		DependencyIndexes: file_api_cirrus_ci_service_proto_depIdxs,
		EnumInfos:         file_api_cirrus_ci_service_proto_enumTypes,
		MessageInfos:      file_api_cirrus_ci_service_proto_msgTypes,
	}.Build()
	File_api_cirrus_ci_service_proto = out.File
	file_api_cirrus_ci_service_proto_rawDesc = nil
	file_api_cirrus_ci_service_proto_goTypes = nil
	file_api_cirrus_ci_service_proto_depIdxs = nil
}
