// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.12.2
// source: google/devtools/resultstore/v2/resultstore_download.proto

package resultstore

import (
	context "context"
	reflect "reflect"
	sync "sync"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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)
)

// Request passed into GetInvocation
type GetInvocationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the invocation to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}
	// where INVOCATION_ID must be an RFC 4122-compliant UUID.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetInvocationRequest) Reset() {
	*x = GetInvocationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetInvocationRequest) ProtoMessage() {}

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

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

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

// Request passed into SearchInvocations
type SearchInvocationsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The maximum number of items to return. Zero means all, but may be capped by
	// the server.
	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*SearchInvocationsRequest_PageToken
	//	*SearchInvocationsRequest_Offset
	PageStart isSearchInvocationsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filtering query string.
	//
	// Only a limited number of fields and operators are supported. Not every
	// field supports every operator.
	//
	// Fields that support equals ("=") restrictions:
	//
	// name
	// status_attributes.status
	// workspace_info.hostname
	//
	// Fields that support contains (":") restrictions:
	//
	// invocation_attributes.users
	// invocation_attributes.labels
	//
	// Fields that support comparison ("<", "<=", ">", ">=") restrictions;
	//
	// timing.start_time
	//
	// Supported custom function global restrictions:
	//
	// propertyEquals("key", "value")
	Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"`
	// The project id to search under.
	ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// If true, all equals or contains restrictions on string fields in query will
	// require exact match. Otherwise, a string field restriction may ignore case
	// and punctuation.
	ExactMatch bool `protobuf:"varint,7,opt,name=exact_match,json=exactMatch,proto3" json:"exact_match,omitempty"`
}

func (x *SearchInvocationsRequest) Reset() {
	*x = SearchInvocationsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SearchInvocationsRequest) ProtoMessage() {}

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

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

func (x *SearchInvocationsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *SearchInvocationsRequest) GetPageStart() isSearchInvocationsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *SearchInvocationsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*SearchInvocationsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *SearchInvocationsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*SearchInvocationsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *SearchInvocationsRequest) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *SearchInvocationsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *SearchInvocationsRequest) GetExactMatch() bool {
	if x != nil {
		return x.ExactMatch
	}
	return false
}

type isSearchInvocationsRequest_PageStart interface {
	isSearchInvocationsRequest_PageStart()
}

type SearchInvocationsRequest_PageToken struct {
	// The next_page_token value returned from a previous Search request, if
	// any.
	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type SearchInvocationsRequest_Offset struct {
	// Absolute number of results to skip. May be rejected if too high.
	Offset int64 `protobuf:"varint,3,opt,name=offset,proto3,oneof"`
}

func (*SearchInvocationsRequest_PageToken) isSearchInvocationsRequest_PageStart() {}

func (*SearchInvocationsRequest_Offset) isSearchInvocationsRequest_PageStart() {}

// Response from calling SearchInvocations
type SearchInvocationsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Invocations matching the search, possibly capped at request.page_size or a
	// server limit.
	Invocations []*Invocation `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *SearchInvocationsResponse) Reset() {
	*x = SearchInvocationsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SearchInvocationsResponse) ProtoMessage() {}

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

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

func (x *SearchInvocationsResponse) GetInvocations() []*Invocation {
	if x != nil {
		return x.Invocations
	}
	return nil
}

func (x *SearchInvocationsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into ExportInvocationRequest
type ExportInvocationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the invocation to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}
	// where INVOCATION_ID must be an RFC 4122-compliant UUID.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The maximum number of items to return. Zero means all, but may be capped by
	// the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ExportInvocationRequest_PageToken
	//	*ExportInvocationRequest_Offset
	PageStart isExportInvocationRequest_PageStart `protobuf_oneof:"page_start"`
}

func (x *ExportInvocationRequest) Reset() {
	*x = ExportInvocationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ExportInvocationRequest) ProtoMessage() {}

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

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

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

func (x *ExportInvocationRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ExportInvocationRequest) GetPageStart() isExportInvocationRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ExportInvocationRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ExportInvocationRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ExportInvocationRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ExportInvocationRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

type isExportInvocationRequest_PageStart interface {
	isExportInvocationRequest_PageStart()
}

type ExportInvocationRequest_PageToken struct {
	// The next_page_token value returned from a previous export request, if
	// any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ExportInvocationRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ExportInvocationRequest_PageToken) isExportInvocationRequest_PageStart() {}

func (*ExportInvocationRequest_Offset) isExportInvocationRequest_PageStart() {}

// Response from calling ExportInvocationResponse.
// Possibly capped at request.page_size or a server limit.
type ExportInvocationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Parent Invocation resource.
	Invocation *Invocation `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"`
	// Targets matching the request invocation.
	Targets []*Target `protobuf:"bytes,2,rep,name=targets,proto3" json:"targets,omitempty"`
	// Configurations matching the request invocation.
	Configurations []*Configuration `protobuf:"bytes,3,rep,name=configurations,proto3" json:"configurations,omitempty"`
	// ConfiguredTargets matching the request invocation.
	ConfiguredTargets []*ConfiguredTarget `protobuf:"bytes,4,rep,name=configured_targets,json=configuredTargets,proto3" json:"configured_targets,omitempty"`
	// Actions matching the request invocation.
	Actions []*Action `protobuf:"bytes,5,rep,name=actions,proto3" json:"actions,omitempty"`
	// FileSets matching the request invocation.
	FileSets []*FileSet `protobuf:"bytes,6,rep,name=file_sets,json=fileSets,proto3" json:"file_sets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,7,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ExportInvocationResponse) Reset() {
	*x = ExportInvocationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ExportInvocationResponse) ProtoMessage() {}

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

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

func (x *ExportInvocationResponse) GetInvocation() *Invocation {
	if x != nil {
		return x.Invocation
	}
	return nil
}

func (x *ExportInvocationResponse) GetTargets() []*Target {
	if x != nil {
		return x.Targets
	}
	return nil
}

func (x *ExportInvocationResponse) GetConfigurations() []*Configuration {
	if x != nil {
		return x.Configurations
	}
	return nil
}

func (x *ExportInvocationResponse) GetConfiguredTargets() []*ConfiguredTarget {
	if x != nil {
		return x.ConfiguredTargets
	}
	return nil
}

func (x *ExportInvocationResponse) GetActions() []*Action {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *ExportInvocationResponse) GetFileSets() []*FileSet {
	if x != nil {
		return x.FileSets
	}
	return nil
}

func (x *ExportInvocationResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into GetInvocationDownloadMetadata
type GetInvocationDownloadMetadataRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the download metadata to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/downloadMetadata
	// where INVOCATION_ID must be an RFC 4122-compliant UUID.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetInvocationDownloadMetadataRequest) Reset() {
	*x = GetInvocationDownloadMetadataRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetInvocationDownloadMetadataRequest) ProtoMessage() {}

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

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

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

// Request passed into GetConfiguration
type GetConfigurationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the configuration to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/configs/${CONFIGURATION_ID}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetConfigurationRequest) Reset() {
	*x = GetConfigurationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetConfigurationRequest) ProtoMessage() {}

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

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

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

// Request passed into ListConfigurations
type ListConfigurationsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation name of the configurations to retrieve.
	// It must match this format: invocations/${INVOCATION_ID}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ListConfigurationsRequest_PageToken
	//	*ListConfigurationsRequest_Offset
	PageStart isListConfigurationsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListConfigurationsRequest) Reset() {
	*x = ListConfigurationsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListConfigurationsRequest) ProtoMessage() {}

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

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

func (x *ListConfigurationsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListConfigurationsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ListConfigurationsRequest) GetPageStart() isListConfigurationsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ListConfigurationsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ListConfigurationsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ListConfigurationsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ListConfigurationsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *ListConfigurationsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isListConfigurationsRequest_PageStart interface {
	isListConfigurationsRequest_PageStart()
}

type ListConfigurationsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ListConfigurationsRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ListConfigurationsRequest_PageToken) isListConfigurationsRequest_PageStart() {}

func (*ListConfigurationsRequest_Offset) isListConfigurationsRequest_PageStart() {}

// Response from calling ListConfigurations
type ListConfigurationsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Configurations matching the request invocation,
	// possibly capped at request.page_size or a server limit.
	Configurations []*Configuration `protobuf:"bytes,1,rep,name=configurations,proto3" json:"configurations,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListConfigurationsResponse) Reset() {
	*x = ListConfigurationsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListConfigurationsResponse) ProtoMessage() {}

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

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

func (x *ListConfigurationsResponse) GetConfigurations() []*Configuration {
	if x != nil {
		return x.Configurations
	}
	return nil
}

func (x *ListConfigurationsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into GetTarget
type GetTargetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the target to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetTargetRequest) Reset() {
	*x = GetTargetRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTargetRequest) ProtoMessage() {}

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

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

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

// Request passed into ListTargets
type ListTargetsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation name of the targets to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ListTargetsRequest_PageToken
	//	*ListTargetsRequest_Offset
	PageStart isListTargetsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListTargetsRequest) Reset() {
	*x = ListTargetsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTargetsRequest) ProtoMessage() {}

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

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

func (x *ListTargetsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListTargetsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ListTargetsRequest) GetPageStart() isListTargetsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ListTargetsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ListTargetsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ListTargetsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ListTargetsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *ListTargetsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isListTargetsRequest_PageStart interface {
	isListTargetsRequest_PageStart()
}

type ListTargetsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ListTargetsRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ListTargetsRequest_PageToken) isListTargetsRequest_PageStart() {}

func (*ListTargetsRequest_Offset) isListTargetsRequest_PageStart() {}

// Response from calling ListTargetsResponse
type ListTargetsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Targets matching the request invocation,
	// possibly capped at request.page_size or a server limit.
	Targets []*Target `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListTargetsResponse) Reset() {
	*x = ListTargetsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListTargetsResponse) ProtoMessage() {}

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

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

func (x *ListTargetsResponse) GetTargets() []*Target {
	if x != nil {
		return x.Targets
	}
	return nil
}

func (x *ListTargetsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into GetConfiguredTarget
type GetConfiguredTargetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the configured target to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}/configuredTargets/${CONFIGURATION_ID}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetConfiguredTargetRequest) Reset() {
	*x = GetConfiguredTargetRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetConfiguredTargetRequest) ProtoMessage() {}

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

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

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

// Request passed into ListConfiguredTargets
type ListConfiguredTargetsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation and target name of the configured targets to retrieve.
	// It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}
	// Supports '-' for ${TARGET_ID} meaning all targets.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ListConfiguredTargetsRequest_PageToken
	//	*ListConfiguredTargetsRequest_Offset
	PageStart isListConfiguredTargetsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListConfiguredTargetsRequest) Reset() {
	*x = ListConfiguredTargetsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListConfiguredTargetsRequest) ProtoMessage() {}

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

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

func (x *ListConfiguredTargetsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListConfiguredTargetsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ListConfiguredTargetsRequest) GetPageStart() isListConfiguredTargetsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ListConfiguredTargetsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ListConfiguredTargetsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ListConfiguredTargetsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ListConfiguredTargetsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *ListConfiguredTargetsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isListConfiguredTargetsRequest_PageStart interface {
	isListConfiguredTargetsRequest_PageStart()
}

type ListConfiguredTargetsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ListConfiguredTargetsRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ListConfiguredTargetsRequest_PageToken) isListConfiguredTargetsRequest_PageStart() {}

func (*ListConfiguredTargetsRequest_Offset) isListConfiguredTargetsRequest_PageStart() {}

// Response from calling ListConfiguredTargets
type ListConfiguredTargetsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// ConfiguredTargets matching the request,
	// possibly capped at request.page_size or a server limit.
	ConfiguredTargets []*ConfiguredTarget `protobuf:"bytes,1,rep,name=configured_targets,json=configuredTargets,proto3" json:"configured_targets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListConfiguredTargetsResponse) Reset() {
	*x = ListConfiguredTargetsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListConfiguredTargetsResponse) ProtoMessage() {}

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

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

func (x *ListConfiguredTargetsResponse) GetConfiguredTargets() []*ConfiguredTarget {
	if x != nil {
		return x.ConfiguredTargets
	}
	return nil
}

func (x *ListConfiguredTargetsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into SearchConfiguredTargets
type SearchConfiguredTargetsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Must be set to invocations/-/targets/-
	// This only supports searching all ConfiguredTargets across all Invocations.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return. Zero means all, but may be capped by
	// the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*SearchConfiguredTargetsRequest_PageToken
	//	*SearchConfiguredTargetsRequest_Offset
	PageStart isSearchConfiguredTargetsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filtering query string.
	//
	// Only a limited number of fields and operators are supported. Not every
	// field supports every operator. Access to parent resources is provided
	// via synthetic fields ‘invocation’, ‘configuration’, and ‘target’.
	//
	// Any search must contain an equals restriction on id.target_id.
	//
	// Fields that support equals ("=") restrictions:
	//
	// id.target_id
	// status_attributes.status
	//
	// target.target_attributes.type
	// target.target_attributes.language
	// target.test_attributes.size
	//
	// configuration.configuration_attributes.cpu
	//
	// invocation.workspace_info.hostname
	//
	// Fields that support contains (":") restrictions:
	//
	// target.target_attributes.tags
	//
	// invocation.invocation_attributes.users
	// invocation.invocation_attributes.labels
	//
	// Fields that support comparison ("<", "<=", ">", ">=") restrictions;
	//
	// timing.start_time
	//
	// Supported custom function global restrictions:
	//
	// invocationPropertyEquals("key", "value")
	// targetPropertyEquals("key", "value")
	// configurationPropertyEquals("key", "value")
	// configuredTargetPropertyEquals("key", "value")
	Query string `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"`
	// The project id to search under.
	ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// If true, all equals or contains restrictions on string fields in query will
	// require exact match. Otherwise, a string field restriction may ignore case
	// and punctuation.
	ExactMatch bool `protobuf:"varint,7,opt,name=exact_match,json=exactMatch,proto3" json:"exact_match,omitempty"`
}

func (x *SearchConfiguredTargetsRequest) Reset() {
	*x = SearchConfiguredTargetsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SearchConfiguredTargetsRequest) ProtoMessage() {}

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

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

func (x *SearchConfiguredTargetsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *SearchConfiguredTargetsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *SearchConfiguredTargetsRequest) GetPageStart() isSearchConfiguredTargetsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *SearchConfiguredTargetsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*SearchConfiguredTargetsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *SearchConfiguredTargetsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*SearchConfiguredTargetsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *SearchConfiguredTargetsRequest) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *SearchConfiguredTargetsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *SearchConfiguredTargetsRequest) GetExactMatch() bool {
	if x != nil {
		return x.ExactMatch
	}
	return false
}

type isSearchConfiguredTargetsRequest_PageStart interface {
	isSearchConfiguredTargetsRequest_PageStart()
}

type SearchConfiguredTargetsRequest_PageToken struct {
	// The next_page_token value returned from a previous Search request, if
	// any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type SearchConfiguredTargetsRequest_Offset struct {
	// Absolute number of results to skip. May be rejected if too high.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*SearchConfiguredTargetsRequest_PageToken) isSearchConfiguredTargetsRequest_PageStart() {}

func (*SearchConfiguredTargetsRequest_Offset) isSearchConfiguredTargetsRequest_PageStart() {}

// Response from calling SearchConfiguredTargets
type SearchConfiguredTargetsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// ConfiguredTargets matching the search, possibly capped at request.page_size
	// or a server limit.
	ConfiguredTargets []*ConfiguredTarget `protobuf:"bytes,1,rep,name=configured_targets,json=configuredTargets,proto3" json:"configured_targets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *SearchConfiguredTargetsResponse) Reset() {
	*x = SearchConfiguredTargetsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SearchConfiguredTargetsResponse) ProtoMessage() {}

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

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

func (x *SearchConfiguredTargetsResponse) GetConfiguredTargets() []*ConfiguredTarget {
	if x != nil {
		return x.ConfiguredTargets
	}
	return nil
}

func (x *SearchConfiguredTargetsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into GetAction
type GetActionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the action to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}/configuredTargets/${CONFIGURATION_ID}/actions/${ACTION_ID}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetActionRequest) Reset() {
	*x = GetActionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetActionRequest) ProtoMessage() {}

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

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

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

// Request passed into ListActions
type ListActionsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation, target, and configuration name of the action to retrieve.
	// It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}/configuredTargets/${CONFIGURATION_ID}
	// Supports '-' for ${CONFIGURATION_ID} to mean all Actions for all
	// Configurations for a Target, or '-' for ${TARGET_ID} and
	// ${CONFIGURATION_ID} to mean all Actions for all Configurations and all
	// Targets. Does not support ${TARGET_ID} '-' with a specified configuration.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ListActionsRequest_PageToken
	//	*ListActionsRequest_Offset
	PageStart isListActionsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListActionsRequest) Reset() {
	*x = ListActionsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListActionsRequest) ProtoMessage() {}

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

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

func (x *ListActionsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListActionsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ListActionsRequest) GetPageStart() isListActionsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ListActionsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ListActionsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ListActionsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ListActionsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *ListActionsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isListActionsRequest_PageStart interface {
	isListActionsRequest_PageStart()
}

type ListActionsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ListActionsRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ListActionsRequest_PageToken) isListActionsRequest_PageStart() {}

func (*ListActionsRequest_Offset) isListActionsRequest_PageStart() {}

// Response from calling ListActions
type ListActionsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Actions matching the request,
	// possibly capped at request.page_size or a server limit.
	Actions []*Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListActionsResponse) Reset() {
	*x = ListActionsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListActionsResponse) ProtoMessage() {}

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

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

func (x *ListActionsResponse) GetActions() []*Action {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *ListActionsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into BatchListActionsRequest
type BatchListActionsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation name of the actions to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The names of the configured targets to retrieve.
	// It must match this format:
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}/configuredTargets/${CONFIGURATION_ID}
	ConfiguredTargets []string `protobuf:"bytes,2,rep,name=configured_targets,json=configuredTargets,proto3" json:"configured_targets,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*BatchListActionsRequest_PageToken
	//	*BatchListActionsRequest_Offset
	PageStart isBatchListActionsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,6,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *BatchListActionsRequest) Reset() {
	*x = BatchListActionsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BatchListActionsRequest) ProtoMessage() {}

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

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

func (x *BatchListActionsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *BatchListActionsRequest) GetConfiguredTargets() []string {
	if x != nil {
		return x.ConfiguredTargets
	}
	return nil
}

func (x *BatchListActionsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *BatchListActionsRequest) GetPageStart() isBatchListActionsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *BatchListActionsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*BatchListActionsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *BatchListActionsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*BatchListActionsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *BatchListActionsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isBatchListActionsRequest_PageStart interface {
	isBatchListActionsRequest_PageStart()
}

type BatchListActionsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	// Page tokens will become larger with every page returned, and if a page
	// token becomes too large, it will no longer be possible to continue to
	// calculate the transitive dependencies. The API will return a 400
	// Bad request (HTTPS), or a INVALID_ARGUMENT (gRPC ) when
	// this happens.
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type BatchListActionsRequest_Offset struct {
	// Absolute number of results to skip.
	// Not yet implemented. 0 for default.
	Offset int64 `protobuf:"varint,5,opt,name=offset,proto3,oneof"`
}

func (*BatchListActionsRequest_PageToken) isBatchListActionsRequest_PageStart() {}

func (*BatchListActionsRequest_Offset) isBatchListActionsRequest_PageStart() {}

// Response from calling BatchListActionsResponse
type BatchListActionsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Actions matching the request,
	// possibly capped at request.page_size or a server limit.
	Actions []*Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// Not found configured target names.
	NotFound []string `protobuf:"bytes,3,rep,name=not_found,json=notFound,proto3" json:"not_found,omitempty"`
}

func (x *BatchListActionsResponse) Reset() {
	*x = BatchListActionsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BatchListActionsResponse) ProtoMessage() {}

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

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

func (x *BatchListActionsResponse) GetActions() []*Action {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *BatchListActionsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

func (x *BatchListActionsResponse) GetNotFound() []string {
	if x != nil {
		return x.NotFound
	}
	return nil
}

// Request passed into GetFileSet
type GetFileSetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the file set to retrieve. It must match this format:
	// invocations/${INVOCATION_ID}/fileSets/${FILE_SET_ID}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetFileSetRequest) Reset() {
	*x = GetFileSetRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetFileSetRequest) ProtoMessage() {}

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

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

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

// Request passed into ListFileSets
type ListFileSetsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The invocation name of the file sets to retrieve.
	// It must match this format: invocations/${INVOCATION_ID}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*ListFileSetsRequest_PageToken
	//	*ListFileSetsRequest_Offset
	PageStart isListFileSetsRequest_PageStart `protobuf_oneof:"page_start"`
	// A filter to return only resources that match it.
	// Any fields used in the filter must be also specified in the field mask.
	// May cause pages with 0 results and a next_page_token to be returned.
	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListFileSetsRequest) Reset() {
	*x = ListFileSetsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListFileSetsRequest) ProtoMessage() {}

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

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

func (x *ListFileSetsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListFileSetsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *ListFileSetsRequest) GetPageStart() isListFileSetsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *ListFileSetsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*ListFileSetsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *ListFileSetsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*ListFileSetsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

func (x *ListFileSetsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

type isListFileSetsRequest_PageStart interface {
	isListFileSetsRequest_PageStart()
}

type ListFileSetsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type ListFileSetsRequest_Offset struct {
	// Absolute number of results to skip.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*ListFileSetsRequest_PageToken) isListFileSetsRequest_PageStart() {}

func (*ListFileSetsRequest_Offset) isListFileSetsRequest_PageStart() {}

// Response from calling ListFileSets
type ListFileSetsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// File sets matching the request,
	// possibly capped at request.page_size or a server limit.
	FileSets []*FileSet `protobuf:"bytes,1,rep,name=file_sets,json=fileSets,proto3" json:"file_sets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListFileSetsResponse) Reset() {
	*x = ListFileSetsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ListFileSetsResponse) ProtoMessage() {}

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

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

func (x *ListFileSetsResponse) GetFileSets() []*FileSet {
	if x != nil {
		return x.FileSets
	}
	return nil
}

func (x *ListFileSetsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request passed into TraverseFileSets
type TraverseFileSetsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the resource to traverse.
	// It must match one of the following formats:
	//
	// invocations/${INVOCATION_ID}/fileSets/${FILE_SET_ID}
	// This returns the transitive closure of FileSets referenced by the given
	// FileSet, including itself.
	//
	// invocations/${INVOCATION_ID}/targets/${url_encode(TARGET_ID)}/configuredTargets/${CONFIGURATION_ID}/actions/${ACTION_ID}
	// This returns the transitive closure of FileSets referenced by the given
	// Action. If ${ACTION_ID} is "-", this returns the transitive closure of
	// FileSets referenced by all Actions under the given ConfiguredTarget.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The maximum number of items to return.
	// Zero means all, but may be capped by the server.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Options for pagination.
	//
	// Types that are assignable to PageStart:
	//	*TraverseFileSetsRequest_PageToken
	//	*TraverseFileSetsRequest_Offset
	PageStart isTraverseFileSetsRequest_PageStart `protobuf_oneof:"page_start"`
}

func (x *TraverseFileSetsRequest) Reset() {
	*x = TraverseFileSetsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TraverseFileSetsRequest) ProtoMessage() {}

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

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

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

func (x *TraverseFileSetsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (m *TraverseFileSetsRequest) GetPageStart() isTraverseFileSetsRequest_PageStart {
	if m != nil {
		return m.PageStart
	}
	return nil
}

func (x *TraverseFileSetsRequest) GetPageToken() string {
	if x, ok := x.GetPageStart().(*TraverseFileSetsRequest_PageToken); ok {
		return x.PageToken
	}
	return ""
}

func (x *TraverseFileSetsRequest) GetOffset() int64 {
	if x, ok := x.GetPageStart().(*TraverseFileSetsRequest_Offset); ok {
		return x.Offset
	}
	return 0
}

type isTraverseFileSetsRequest_PageStart interface {
	isTraverseFileSetsRequest_PageStart()
}

type TraverseFileSetsRequest_PageToken struct {
	// The next_page_token value returned from a previous List request, if any.
	// Page tokens will become larger with every page returned, and if a page
	// token becomes too large, it will no longer be possible to continue to
	// calculate the transitive dependencies. The API will return a 400
	// Bad request (HTTPS), or a INVALID_ARGUMENT (gRPC ) when
	// this happens.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3,oneof"`
}

type TraverseFileSetsRequest_Offset struct {
	// Absolute number of results to skip.
	// Not yet implemented. 0 for default.
	Offset int64 `protobuf:"varint,4,opt,name=offset,proto3,oneof"`
}

func (*TraverseFileSetsRequest_PageToken) isTraverseFileSetsRequest_PageStart() {}

func (*TraverseFileSetsRequest_Offset) isTraverseFileSetsRequest_PageStart() {}

// Response from calling TraverseFileSets
type TraverseFileSetsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// File sets matching the request.
	// The order in which results are returned is undefined, but stable.
	FileSets []*FileSet `protobuf:"bytes,1,rep,name=file_sets,json=fileSets,proto3" json:"file_sets,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no
	// more results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *TraverseFileSetsResponse) Reset() {
	*x = TraverseFileSetsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TraverseFileSetsResponse) ProtoMessage() {}

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

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

func (x *TraverseFileSetsResponse) GetFileSets() []*FileSet {
	if x != nil {
		return x.FileSets
	}
	return nil
}

func (x *TraverseFileSetsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

var File_google_devtools_resultstore_v2_resultstore_download_proto protoreflect.FileDescriptor

var file_google_devtools_resultstore_v2_resultstore_download_proto_rawDesc = []byte{
	0x0a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32,
	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66,
	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f,
	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x69,
	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x2f,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x14,
	0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74,
	0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x22, 0x91, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c,
	0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f,
	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49,
	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d,
	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74,
	0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x70,
	0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x90, 0x04, 0x0a, 0x18, 0x45, 0x78,
	0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x12, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x07,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44,
	0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
	0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65,
	0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x24,
	0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a,
	0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe0,
	0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41,
	0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66,
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x55, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
	0x51, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41,
	0x27, 0x0a, 0x25, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e,
	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a,
	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18,
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x7f,
	0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x07,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
	0x65, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02,
	0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a,
	0x21, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x22, 0x9f, 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f,
	0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x61,
	0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74,
	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65,
	0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
	0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x22, 0x51, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41,
	0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x7f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40,
	0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32,
	0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74,
	0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74,
	0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
	0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x53, 0x0a, 0x11,
	0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x22, 0xda, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65,
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41,
	0x27, 0x0a, 0x25, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e,
	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a,
	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18,
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x84,
	0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f,
	0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x65,
	0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a,
	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72,
	0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a,
	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18,
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00,
	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
	0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x76, 0x65,
	0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x52,
	0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
	0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
	0x6e, 0x32, 0xb3, 0x1a, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x6f, 0x72,
	0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x9a, 0x01, 0x0a, 0x0d, 0x47, 0x65,
	0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74,
	0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x27, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
	0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e,
	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x32, 0x2f, 0x69,
	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x12, 0xb1, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e,
	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32,
	0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x24, 0x22, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xd1, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22,
	0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
	0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
	0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x47, 0x65,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e,
	0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22,
	0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f,
	0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x4c, 0x69,
	0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12,
	0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e, 0x76,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x98, 0x01, 0x0a,
	0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76,
	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xca, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47,
	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x45, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69,
	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65,
	0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x3c, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x38, 0x12, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69,
	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x12, 0xe1, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x3e,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e,
	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e,
	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x3a,
	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0xb6, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x41, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f,
	0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
	0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0xc9, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72,
	0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42,
	0x12, 0x40, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e,
	0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64,
	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbb, 0x01, 0x0a, 0x10,
	0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
	0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
	0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x32,
	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
	0x62, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x9c, 0x01, 0x0a, 0x0a, 0x47, 0x65,
	0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c,
	0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c,
	0x65, 0x53, 0x65, 0x74, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76,
	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a,
	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73,
	0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46,
	0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x76,
	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74,
	0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9a, 0x02, 0x0a, 0x10, 0x54,
	0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12,
	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32,
	0x2e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x76, 0x65, 0x72,
	0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x92, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8b, 0x01, 0x12, 0x34, 0x2f, 0x76,
	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x2f, 0x2a,
	0x7d, 0x3a, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65,
	0x74, 0x73, 0x5a, 0x53, 0x12, 0x51, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
	0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x46,
	0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x73, 0x1a, 0x4e, 0xca, 0x41, 0x1a, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x8b, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x18,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65,
	0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescOnce sync.Once
	file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescData = file_google_devtools_resultstore_v2_resultstore_download_proto_rawDesc
)

func file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescGZIP() []byte {
	file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescOnce.Do(func() {
		file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescData)
	})
	return file_google_devtools_resultstore_v2_resultstore_download_proto_rawDescData
}

var file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_google_devtools_resultstore_v2_resultstore_download_proto_goTypes = []interface{}{
	(*GetInvocationRequest)(nil),                 // 0: google.devtools.resultstore.v2.GetInvocationRequest
	(*SearchInvocationsRequest)(nil),             // 1: google.devtools.resultstore.v2.SearchInvocationsRequest
	(*SearchInvocationsResponse)(nil),            // 2: google.devtools.resultstore.v2.SearchInvocationsResponse
	(*ExportInvocationRequest)(nil),              // 3: google.devtools.resultstore.v2.ExportInvocationRequest
	(*ExportInvocationResponse)(nil),             // 4: google.devtools.resultstore.v2.ExportInvocationResponse
	(*GetInvocationDownloadMetadataRequest)(nil), // 5: google.devtools.resultstore.v2.GetInvocationDownloadMetadataRequest
	(*GetConfigurationRequest)(nil),              // 6: google.devtools.resultstore.v2.GetConfigurationRequest
	(*ListConfigurationsRequest)(nil),            // 7: google.devtools.resultstore.v2.ListConfigurationsRequest
	(*ListConfigurationsResponse)(nil),           // 8: google.devtools.resultstore.v2.ListConfigurationsResponse
	(*GetTargetRequest)(nil),                     // 9: google.devtools.resultstore.v2.GetTargetRequest
	(*ListTargetsRequest)(nil),                   // 10: google.devtools.resultstore.v2.ListTargetsRequest
	(*ListTargetsResponse)(nil),                  // 11: google.devtools.resultstore.v2.ListTargetsResponse
	(*GetConfiguredTargetRequest)(nil),           // 12: google.devtools.resultstore.v2.GetConfiguredTargetRequest
	(*ListConfiguredTargetsRequest)(nil),         // 13: google.devtools.resultstore.v2.ListConfiguredTargetsRequest
	(*ListConfiguredTargetsResponse)(nil),        // 14: google.devtools.resultstore.v2.ListConfiguredTargetsResponse
	(*SearchConfiguredTargetsRequest)(nil),       // 15: google.devtools.resultstore.v2.SearchConfiguredTargetsRequest
	(*SearchConfiguredTargetsResponse)(nil),      // 16: google.devtools.resultstore.v2.SearchConfiguredTargetsResponse
	(*GetActionRequest)(nil),                     // 17: google.devtools.resultstore.v2.GetActionRequest
	(*ListActionsRequest)(nil),                   // 18: google.devtools.resultstore.v2.ListActionsRequest
	(*ListActionsResponse)(nil),                  // 19: google.devtools.resultstore.v2.ListActionsResponse
	(*BatchListActionsRequest)(nil),              // 20: google.devtools.resultstore.v2.BatchListActionsRequest
	(*BatchListActionsResponse)(nil),             // 21: google.devtools.resultstore.v2.BatchListActionsResponse
	(*GetFileSetRequest)(nil),                    // 22: google.devtools.resultstore.v2.GetFileSetRequest
	(*ListFileSetsRequest)(nil),                  // 23: google.devtools.resultstore.v2.ListFileSetsRequest
	(*ListFileSetsResponse)(nil),                 // 24: google.devtools.resultstore.v2.ListFileSetsResponse
	(*TraverseFileSetsRequest)(nil),              // 25: google.devtools.resultstore.v2.TraverseFileSetsRequest
	(*TraverseFileSetsResponse)(nil),             // 26: google.devtools.resultstore.v2.TraverseFileSetsResponse
	(*Invocation)(nil),                           // 27: google.devtools.resultstore.v2.Invocation
	(*Target)(nil),                               // 28: google.devtools.resultstore.v2.Target
	(*Configuration)(nil),                        // 29: google.devtools.resultstore.v2.Configuration
	(*ConfiguredTarget)(nil),                     // 30: google.devtools.resultstore.v2.ConfiguredTarget
	(*Action)(nil),                               // 31: google.devtools.resultstore.v2.Action
	(*FileSet)(nil),                              // 32: google.devtools.resultstore.v2.FileSet
	(*DownloadMetadata)(nil),                     // 33: google.devtools.resultstore.v2.DownloadMetadata
}
var file_google_devtools_resultstore_v2_resultstore_download_proto_depIdxs = []int32{
	27, // 0: google.devtools.resultstore.v2.SearchInvocationsResponse.invocations:type_name -> google.devtools.resultstore.v2.Invocation
	27, // 1: google.devtools.resultstore.v2.ExportInvocationResponse.invocation:type_name -> google.devtools.resultstore.v2.Invocation
	28, // 2: google.devtools.resultstore.v2.ExportInvocationResponse.targets:type_name -> google.devtools.resultstore.v2.Target
	29, // 3: google.devtools.resultstore.v2.ExportInvocationResponse.configurations:type_name -> google.devtools.resultstore.v2.Configuration
	30, // 4: google.devtools.resultstore.v2.ExportInvocationResponse.configured_targets:type_name -> google.devtools.resultstore.v2.ConfiguredTarget
	31, // 5: google.devtools.resultstore.v2.ExportInvocationResponse.actions:type_name -> google.devtools.resultstore.v2.Action
	32, // 6: google.devtools.resultstore.v2.ExportInvocationResponse.file_sets:type_name -> google.devtools.resultstore.v2.FileSet
	29, // 7: google.devtools.resultstore.v2.ListConfigurationsResponse.configurations:type_name -> google.devtools.resultstore.v2.Configuration
	28, // 8: google.devtools.resultstore.v2.ListTargetsResponse.targets:type_name -> google.devtools.resultstore.v2.Target
	30, // 9: google.devtools.resultstore.v2.ListConfiguredTargetsResponse.configured_targets:type_name -> google.devtools.resultstore.v2.ConfiguredTarget
	30, // 10: google.devtools.resultstore.v2.SearchConfiguredTargetsResponse.configured_targets:type_name -> google.devtools.resultstore.v2.ConfiguredTarget
	31, // 11: google.devtools.resultstore.v2.ListActionsResponse.actions:type_name -> google.devtools.resultstore.v2.Action
	31, // 12: google.devtools.resultstore.v2.BatchListActionsResponse.actions:type_name -> google.devtools.resultstore.v2.Action
	32, // 13: google.devtools.resultstore.v2.ListFileSetsResponse.file_sets:type_name -> google.devtools.resultstore.v2.FileSet
	32, // 14: google.devtools.resultstore.v2.TraverseFileSetsResponse.file_sets:type_name -> google.devtools.resultstore.v2.FileSet
	0,  // 15: google.devtools.resultstore.v2.ResultStoreDownload.GetInvocation:input_type -> google.devtools.resultstore.v2.GetInvocationRequest
	1,  // 16: google.devtools.resultstore.v2.ResultStoreDownload.SearchInvocations:input_type -> google.devtools.resultstore.v2.SearchInvocationsRequest
	3,  // 17: google.devtools.resultstore.v2.ResultStoreDownload.ExportInvocation:input_type -> google.devtools.resultstore.v2.ExportInvocationRequest
	5,  // 18: google.devtools.resultstore.v2.ResultStoreDownload.GetInvocationDownloadMetadata:input_type -> google.devtools.resultstore.v2.GetInvocationDownloadMetadataRequest
	6,  // 19: google.devtools.resultstore.v2.ResultStoreDownload.GetConfiguration:input_type -> google.devtools.resultstore.v2.GetConfigurationRequest
	7,  // 20: google.devtools.resultstore.v2.ResultStoreDownload.ListConfigurations:input_type -> google.devtools.resultstore.v2.ListConfigurationsRequest
	9,  // 21: google.devtools.resultstore.v2.ResultStoreDownload.GetTarget:input_type -> google.devtools.resultstore.v2.GetTargetRequest
	10, // 22: google.devtools.resultstore.v2.ResultStoreDownload.ListTargets:input_type -> google.devtools.resultstore.v2.ListTargetsRequest
	12, // 23: google.devtools.resultstore.v2.ResultStoreDownload.GetConfiguredTarget:input_type -> google.devtools.resultstore.v2.GetConfiguredTargetRequest
	13, // 24: google.devtools.resultstore.v2.ResultStoreDownload.ListConfiguredTargets:input_type -> google.devtools.resultstore.v2.ListConfiguredTargetsRequest
	15, // 25: google.devtools.resultstore.v2.ResultStoreDownload.SearchConfiguredTargets:input_type -> google.devtools.resultstore.v2.SearchConfiguredTargetsRequest
	17, // 26: google.devtools.resultstore.v2.ResultStoreDownload.GetAction:input_type -> google.devtools.resultstore.v2.GetActionRequest
	18, // 27: google.devtools.resultstore.v2.ResultStoreDownload.ListActions:input_type -> google.devtools.resultstore.v2.ListActionsRequest
	20, // 28: google.devtools.resultstore.v2.ResultStoreDownload.BatchListActions:input_type -> google.devtools.resultstore.v2.BatchListActionsRequest
	22, // 29: google.devtools.resultstore.v2.ResultStoreDownload.GetFileSet:input_type -> google.devtools.resultstore.v2.GetFileSetRequest
	23, // 30: google.devtools.resultstore.v2.ResultStoreDownload.ListFileSets:input_type -> google.devtools.resultstore.v2.ListFileSetsRequest
	25, // 31: google.devtools.resultstore.v2.ResultStoreDownload.TraverseFileSets:input_type -> google.devtools.resultstore.v2.TraverseFileSetsRequest
	27, // 32: google.devtools.resultstore.v2.ResultStoreDownload.GetInvocation:output_type -> google.devtools.resultstore.v2.Invocation
	2,  // 33: google.devtools.resultstore.v2.ResultStoreDownload.SearchInvocations:output_type -> google.devtools.resultstore.v2.SearchInvocationsResponse
	4,  // 34: google.devtools.resultstore.v2.ResultStoreDownload.ExportInvocation:output_type -> google.devtools.resultstore.v2.ExportInvocationResponse
	33, // 35: google.devtools.resultstore.v2.ResultStoreDownload.GetInvocationDownloadMetadata:output_type -> google.devtools.resultstore.v2.DownloadMetadata
	29, // 36: google.devtools.resultstore.v2.ResultStoreDownload.GetConfiguration:output_type -> google.devtools.resultstore.v2.Configuration
	8,  // 37: google.devtools.resultstore.v2.ResultStoreDownload.ListConfigurations:output_type -> google.devtools.resultstore.v2.ListConfigurationsResponse
	28, // 38: google.devtools.resultstore.v2.ResultStoreDownload.GetTarget:output_type -> google.devtools.resultstore.v2.Target
	11, // 39: google.devtools.resultstore.v2.ResultStoreDownload.ListTargets:output_type -> google.devtools.resultstore.v2.ListTargetsResponse
	30, // 40: google.devtools.resultstore.v2.ResultStoreDownload.GetConfiguredTarget:output_type -> google.devtools.resultstore.v2.ConfiguredTarget
	14, // 41: google.devtools.resultstore.v2.ResultStoreDownload.ListConfiguredTargets:output_type -> google.devtools.resultstore.v2.ListConfiguredTargetsResponse
	16, // 42: google.devtools.resultstore.v2.ResultStoreDownload.SearchConfiguredTargets:output_type -> google.devtools.resultstore.v2.SearchConfiguredTargetsResponse
	31, // 43: google.devtools.resultstore.v2.ResultStoreDownload.GetAction:output_type -> google.devtools.resultstore.v2.Action
	19, // 44: google.devtools.resultstore.v2.ResultStoreDownload.ListActions:output_type -> google.devtools.resultstore.v2.ListActionsResponse
	21, // 45: google.devtools.resultstore.v2.ResultStoreDownload.BatchListActions:output_type -> google.devtools.resultstore.v2.BatchListActionsResponse
	32, // 46: google.devtools.resultstore.v2.ResultStoreDownload.GetFileSet:output_type -> google.devtools.resultstore.v2.FileSet
	24, // 47: google.devtools.resultstore.v2.ResultStoreDownload.ListFileSets:output_type -> google.devtools.resultstore.v2.ListFileSetsResponse
	26, // 48: google.devtools.resultstore.v2.ResultStoreDownload.TraverseFileSets:output_type -> google.devtools.resultstore.v2.TraverseFileSetsResponse
	32, // [32:49] is the sub-list for method output_type
	15, // [15:32] is the sub-list for method input_type
	15, // [15:15] is the sub-list for extension type_name
	15, // [15:15] is the sub-list for extension extendee
	0,  // [0:15] is the sub-list for field type_name
}

func init() { file_google_devtools_resultstore_v2_resultstore_download_proto_init() }
func file_google_devtools_resultstore_v2_resultstore_download_proto_init() {
	if File_google_devtools_resultstore_v2_resultstore_download_proto != nil {
		return
	}
	file_google_devtools_resultstore_v2_action_proto_init()
	file_google_devtools_resultstore_v2_configuration_proto_init()
	file_google_devtools_resultstore_v2_configured_target_proto_init()
	file_google_devtools_resultstore_v2_download_metadata_proto_init()
	file_google_devtools_resultstore_v2_file_set_proto_init()
	file_google_devtools_resultstore_v2_invocation_proto_init()
	file_google_devtools_resultstore_v2_target_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetInvocationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchInvocationsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchInvocationsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExportInvocationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExportInvocationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetInvocationDownloadMetadataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetConfigurationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListConfigurationsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListConfigurationsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTargetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTargetsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListTargetsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetConfiguredTargetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListConfiguredTargetsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListConfiguredTargetsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchConfiguredTargetsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchConfiguredTargetsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetActionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListActionsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListActionsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BatchListActionsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BatchListActionsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetFileSetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListFileSetsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListFileSetsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TraverseFileSetsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TraverseFileSetsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*SearchInvocationsRequest_PageToken)(nil),
		(*SearchInvocationsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*ExportInvocationRequest_PageToken)(nil),
		(*ExportInvocationRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*ListConfigurationsRequest_PageToken)(nil),
		(*ListConfigurationsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*ListTargetsRequest_PageToken)(nil),
		(*ListTargetsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*ListConfiguredTargetsRequest_PageToken)(nil),
		(*ListConfiguredTargetsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*SearchConfiguredTargetsRequest_PageToken)(nil),
		(*SearchConfiguredTargetsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[18].OneofWrappers = []interface{}{
		(*ListActionsRequest_PageToken)(nil),
		(*ListActionsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[20].OneofWrappers = []interface{}{
		(*BatchListActionsRequest_PageToken)(nil),
		(*BatchListActionsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[23].OneofWrappers = []interface{}{
		(*ListFileSetsRequest_PageToken)(nil),
		(*ListFileSetsRequest_Offset)(nil),
	}
	file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*TraverseFileSetsRequest_PageToken)(nil),
		(*TraverseFileSetsRequest_Offset)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_devtools_resultstore_v2_resultstore_download_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   27,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_devtools_resultstore_v2_resultstore_download_proto_goTypes,
		DependencyIndexes: file_google_devtools_resultstore_v2_resultstore_download_proto_depIdxs,
		MessageInfos:      file_google_devtools_resultstore_v2_resultstore_download_proto_msgTypes,
	}.Build()
	File_google_devtools_resultstore_v2_resultstore_download_proto = out.File
	file_google_devtools_resultstore_v2_resultstore_download_proto_rawDesc = nil
	file_google_devtools_resultstore_v2_resultstore_download_proto_goTypes = nil
	file_google_devtools_resultstore_v2_resultstore_download_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// ResultStoreDownloadClient is the client API for ResultStoreDownload service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ResultStoreDownloadClient interface {
	// Retrieves the invocation with the given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	// - If no field mask was given.
	GetInvocation(ctx context.Context, in *GetInvocationRequest, opts ...grpc.CallOption) (*Invocation, error)
	// Searches for invocations matching the given query parameters. Results will
	// be ordered by timing.start_time with most recent first, but total ordering
	// of results is not guaranteed when difference in timestamps is very small.
	// Results may be stale. Results may be omitted.
	//
	//
	// An error will be reported in the following cases:
	// - If a query string is not provided
	// - If no field mask was given.
	SearchInvocations(ctx context.Context, in *SearchInvocationsRequest, opts ...grpc.CallOption) (*SearchInvocationsResponse, error)
	// Exports the invocation and its child resources with a given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	// - If no field mask was given.
	ExportInvocation(ctx context.Context, in *ExportInvocationRequest, opts ...grpc.CallOption) (*ExportInvocationResponse, error)
	// Retrieves the metadata for an invocation with the given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	GetInvocationDownloadMetadata(ctx context.Context, in *GetInvocationDownloadMetadataRequest, opts ...grpc.CallOption) (*DownloadMetadata, error)
	// Retrieves the configuration with the given name.
	//
	// An error will be reported in the following cases:
	// - If the configuration or its parent invocation is not found.
	// - If the given configuration name is badly formatted.
	// - If no field mask was given.
	GetConfiguration(ctx context.Context, in *GetConfigurationRequest, opts ...grpc.CallOption) (*Configuration, error)
	// Retrieves all configurations for a parent invocation.
	// This might be limited by user or server,
	// in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent invocation is not found.
	// - If the given parent invocation name is badly formatted.
	// - If no field mask was given.
	ListConfigurations(ctx context.Context, in *ListConfigurationsRequest, opts ...grpc.CallOption) (*ListConfigurationsResponse, error)
	// Retrieves the target with the given name.
	//
	// An error will be reported in the following cases:
	// - If the target or its parent invocation is not found.
	// - If the given target name is badly formatted.
	// - If no field mask was given.
	GetTarget(ctx context.Context, in *GetTargetRequest, opts ...grpc.CallOption) (*Target, error)
	// Retrieves all targets for a parent invocation.  This might be limited by
	// user or server, in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListTargets(ctx context.Context, in *ListTargetsRequest, opts ...grpc.CallOption) (*ListTargetsResponse, error)
	// Retrieves the configured target with the given name.
	//
	// An error will be reported in the following cases:
	// - If the configured target is not found.
	// - If the given name is badly formatted.
	// - If no field mask was given.
	GetConfiguredTarget(ctx context.Context, in *GetConfiguredTargetRequest, opts ...grpc.CallOption) (*ConfiguredTarget, error)
	// Retrieves all configured targets for a parent invocation/target.
	// This might be limited by user or server, in which case a continuation
	// token is provided. Supports '-' for targetId meaning all targets.
	// The order in which results are returned is undefined, but stable and
	// consistent with ListTargets and ListConfigurations.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListConfiguredTargets(ctx context.Context, in *ListConfiguredTargetsRequest, opts ...grpc.CallOption) (*ListConfiguredTargetsResponse, error)
	// Searches for ConfiguredTargets matching the given query parameters. Results
	// will be ordered by timing.start_time with most recent first, but total
	// ordering of results is not guaranteed when difference in timestamps is
	// very small. Results may be stale. Results may be omitted.
	//
	//
	// Field masks are supported for only these fields and their subfields:
	// - configured_targets.name
	// - configured_targets.id
	// - configured_targets.status_attributes
	// - configured_targets.timing
	// - next_page_token
	//
	// An error will be reported in the following cases:
	// - If a query string is not provided
	// - If no field mask was given.
	SearchConfiguredTargets(ctx context.Context, in *SearchConfiguredTargetsRequest, opts ...grpc.CallOption) (*SearchConfiguredTargetsResponse, error)
	// Retrieves the action with the given name.
	//
	// An error will be reported in the following cases:
	// - If the action is not found.
	// - If the given name is badly formatted.
	// - If no field mask was given.
	GetAction(ctx context.Context, in *GetActionRequest, opts ...grpc.CallOption) (*Action, error)
	// Retrieves all actions for a parent invocation/target/configuration.
	// This might be limited by user or server, in which case a continuation
	// token is provided. Supports '-' for configurationId to mean all
	// actions for all configurations for a target, or '-' for targetId and
	// configurationId to mean all actions for all configurations and all targets.
	// Does not support targetId '-' with a specified configuration.
	// The order in which results are returned is undefined, but stable and
	// consistent with ListConfiguredTargets.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListActions(ctx context.Context, in *ListActionsRequest, opts ...grpc.CallOption) (*ListActionsResponse, error)
	// Retrieves a list of actions for a parent invocation or multiple parents
	// target/configuration. This might be limited by user or server, in which
	// case a continuation token is provided. The order in which results are
	// returned is undefined, but stable and consistent with
	// ListConfiguredTargets.
	//
	// An error will be reported in the following cases:
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	BatchListActions(ctx context.Context, in *BatchListActionsRequest, opts ...grpc.CallOption) (*BatchListActionsResponse, error)
	// Retrieves the file set with the given name.
	//
	// An error will be reported in the following cases:
	// - If the file set or its parent invocation is not found.
	// - If the given file set name is badly formatted.
	// - If no field mask was given.
	GetFileSet(ctx context.Context, in *GetFileSetRequest, opts ...grpc.CallOption) (*FileSet, error)
	// Retrieves all file sets for a parent invocation.
	// This might be limited by user or server,
	// in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent invocation is not found.
	// - If the given parent invocation name is badly formatted.
	// - If no field mask was given.
	ListFileSets(ctx context.Context, in *ListFileSetsRequest, opts ...grpc.CallOption) (*ListFileSetsResponse, error)
	// Returns the transitive closure of FileSets. This might be limited by user
	// or server, in which case a continuation token is provided.
	// The order in which results are returned is undefined, and unstable.
	//
	// An error will be reported in the following cases:
	// - If page_token is too large to continue the calculation.
	// - If the resource is not found.
	// - If the given resource name is badly formatted.
	// - If no field mask was given.
	TraverseFileSets(ctx context.Context, in *TraverseFileSetsRequest, opts ...grpc.CallOption) (*TraverseFileSetsResponse, error)
}

type resultStoreDownloadClient struct {
	cc grpc.ClientConnInterface
}

func NewResultStoreDownloadClient(cc grpc.ClientConnInterface) ResultStoreDownloadClient {
	return &resultStoreDownloadClient{cc}
}

func (c *resultStoreDownloadClient) GetInvocation(ctx context.Context, in *GetInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) {
	out := new(Invocation)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetInvocation", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) SearchInvocations(ctx context.Context, in *SearchInvocationsRequest, opts ...grpc.CallOption) (*SearchInvocationsResponse, error) {
	out := new(SearchInvocationsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/SearchInvocations", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ExportInvocation(ctx context.Context, in *ExportInvocationRequest, opts ...grpc.CallOption) (*ExportInvocationResponse, error) {
	out := new(ExportInvocationResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ExportInvocation", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetInvocationDownloadMetadata(ctx context.Context, in *GetInvocationDownloadMetadataRequest, opts ...grpc.CallOption) (*DownloadMetadata, error) {
	out := new(DownloadMetadata)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetInvocationDownloadMetadata", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetConfiguration(ctx context.Context, in *GetConfigurationRequest, opts ...grpc.CallOption) (*Configuration, error) {
	out := new(Configuration)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetConfiguration", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ListConfigurations(ctx context.Context, in *ListConfigurationsRequest, opts ...grpc.CallOption) (*ListConfigurationsResponse, error) {
	out := new(ListConfigurationsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ListConfigurations", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetTarget(ctx context.Context, in *GetTargetRequest, opts ...grpc.CallOption) (*Target, error) {
	out := new(Target)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetTarget", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ListTargets(ctx context.Context, in *ListTargetsRequest, opts ...grpc.CallOption) (*ListTargetsResponse, error) {
	out := new(ListTargetsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ListTargets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetConfiguredTarget(ctx context.Context, in *GetConfiguredTargetRequest, opts ...grpc.CallOption) (*ConfiguredTarget, error) {
	out := new(ConfiguredTarget)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetConfiguredTarget", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ListConfiguredTargets(ctx context.Context, in *ListConfiguredTargetsRequest, opts ...grpc.CallOption) (*ListConfiguredTargetsResponse, error) {
	out := new(ListConfiguredTargetsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ListConfiguredTargets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) SearchConfiguredTargets(ctx context.Context, in *SearchConfiguredTargetsRequest, opts ...grpc.CallOption) (*SearchConfiguredTargetsResponse, error) {
	out := new(SearchConfiguredTargetsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/SearchConfiguredTargets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetAction(ctx context.Context, in *GetActionRequest, opts ...grpc.CallOption) (*Action, error) {
	out := new(Action)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetAction", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ListActions(ctx context.Context, in *ListActionsRequest, opts ...grpc.CallOption) (*ListActionsResponse, error) {
	out := new(ListActionsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ListActions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) BatchListActions(ctx context.Context, in *BatchListActionsRequest, opts ...grpc.CallOption) (*BatchListActionsResponse, error) {
	out := new(BatchListActionsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/BatchListActions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) GetFileSet(ctx context.Context, in *GetFileSetRequest, opts ...grpc.CallOption) (*FileSet, error) {
	out := new(FileSet)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/GetFileSet", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) ListFileSets(ctx context.Context, in *ListFileSetsRequest, opts ...grpc.CallOption) (*ListFileSetsResponse, error) {
	out := new(ListFileSetsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/ListFileSets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resultStoreDownloadClient) TraverseFileSets(ctx context.Context, in *TraverseFileSetsRequest, opts ...grpc.CallOption) (*TraverseFileSetsResponse, error) {
	out := new(TraverseFileSetsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.resultstore.v2.ResultStoreDownload/TraverseFileSets", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ResultStoreDownloadServer is the server API for ResultStoreDownload service.
type ResultStoreDownloadServer interface {
	// Retrieves the invocation with the given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	// - If no field mask was given.
	GetInvocation(context.Context, *GetInvocationRequest) (*Invocation, error)
	// Searches for invocations matching the given query parameters. Results will
	// be ordered by timing.start_time with most recent first, but total ordering
	// of results is not guaranteed when difference in timestamps is very small.
	// Results may be stale. Results may be omitted.
	//
	//
	// An error will be reported in the following cases:
	// - If a query string is not provided
	// - If no field mask was given.
	SearchInvocations(context.Context, *SearchInvocationsRequest) (*SearchInvocationsResponse, error)
	// Exports the invocation and its child resources with a given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	// - If no field mask was given.
	ExportInvocation(context.Context, *ExportInvocationRequest) (*ExportInvocationResponse, error)
	// Retrieves the metadata for an invocation with the given name.
	//
	// An error will be reported in the following cases:
	// - If the invocation is not found.
	// - If the given invocation name is badly formatted.
	GetInvocationDownloadMetadata(context.Context, *GetInvocationDownloadMetadataRequest) (*DownloadMetadata, error)
	// Retrieves the configuration with the given name.
	//
	// An error will be reported in the following cases:
	// - If the configuration or its parent invocation is not found.
	// - If the given configuration name is badly formatted.
	// - If no field mask was given.
	GetConfiguration(context.Context, *GetConfigurationRequest) (*Configuration, error)
	// Retrieves all configurations for a parent invocation.
	// This might be limited by user or server,
	// in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent invocation is not found.
	// - If the given parent invocation name is badly formatted.
	// - If no field mask was given.
	ListConfigurations(context.Context, *ListConfigurationsRequest) (*ListConfigurationsResponse, error)
	// Retrieves the target with the given name.
	//
	// An error will be reported in the following cases:
	// - If the target or its parent invocation is not found.
	// - If the given target name is badly formatted.
	// - If no field mask was given.
	GetTarget(context.Context, *GetTargetRequest) (*Target, error)
	// Retrieves all targets for a parent invocation.  This might be limited by
	// user or server, in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListTargets(context.Context, *ListTargetsRequest) (*ListTargetsResponse, error)
	// Retrieves the configured target with the given name.
	//
	// An error will be reported in the following cases:
	// - If the configured target is not found.
	// - If the given name is badly formatted.
	// - If no field mask was given.
	GetConfiguredTarget(context.Context, *GetConfiguredTargetRequest) (*ConfiguredTarget, error)
	// Retrieves all configured targets for a parent invocation/target.
	// This might be limited by user or server, in which case a continuation
	// token is provided. Supports '-' for targetId meaning all targets.
	// The order in which results are returned is undefined, but stable and
	// consistent with ListTargets and ListConfigurations.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListConfiguredTargets(context.Context, *ListConfiguredTargetsRequest) (*ListConfiguredTargetsResponse, error)
	// Searches for ConfiguredTargets matching the given query parameters. Results
	// will be ordered by timing.start_time with most recent first, but total
	// ordering of results is not guaranteed when difference in timestamps is
	// very small. Results may be stale. Results may be omitted.
	//
	//
	// Field masks are supported for only these fields and their subfields:
	// - configured_targets.name
	// - configured_targets.id
	// - configured_targets.status_attributes
	// - configured_targets.timing
	// - next_page_token
	//
	// An error will be reported in the following cases:
	// - If a query string is not provided
	// - If no field mask was given.
	SearchConfiguredTargets(context.Context, *SearchConfiguredTargetsRequest) (*SearchConfiguredTargetsResponse, error)
	// Retrieves the action with the given name.
	//
	// An error will be reported in the following cases:
	// - If the action is not found.
	// - If the given name is badly formatted.
	// - If no field mask was given.
	GetAction(context.Context, *GetActionRequest) (*Action, error)
	// Retrieves all actions for a parent invocation/target/configuration.
	// This might be limited by user or server, in which case a continuation
	// token is provided. Supports '-' for configurationId to mean all
	// actions for all configurations for a target, or '-' for targetId and
	// configurationId to mean all actions for all configurations and all targets.
	// Does not support targetId '-' with a specified configuration.
	// The order in which results are returned is undefined, but stable and
	// consistent with ListConfiguredTargets.
	//
	// An error will be reported in the following cases:
	// - If the parent is not found.
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	ListActions(context.Context, *ListActionsRequest) (*ListActionsResponse, error)
	// Retrieves a list of actions for a parent invocation or multiple parents
	// target/configuration. This might be limited by user or server, in which
	// case a continuation token is provided. The order in which results are
	// returned is undefined, but stable and consistent with
	// ListConfiguredTargets.
	//
	// An error will be reported in the following cases:
	// - If the given parent name is badly formatted.
	// - If no field mask was given.
	BatchListActions(context.Context, *BatchListActionsRequest) (*BatchListActionsResponse, error)
	// Retrieves the file set with the given name.
	//
	// An error will be reported in the following cases:
	// - If the file set or its parent invocation is not found.
	// - If the given file set name is badly formatted.
	// - If no field mask was given.
	GetFileSet(context.Context, *GetFileSetRequest) (*FileSet, error)
	// Retrieves all file sets for a parent invocation.
	// This might be limited by user or server,
	// in which case a continuation token is provided.
	// The order in which results are returned is undefined, but stable.
	//
	// An error will be reported in the following cases:
	// - If the parent invocation is not found.
	// - If the given parent invocation name is badly formatted.
	// - If no field mask was given.
	ListFileSets(context.Context, *ListFileSetsRequest) (*ListFileSetsResponse, error)
	// Returns the transitive closure of FileSets. This might be limited by user
	// or server, in which case a continuation token is provided.
	// The order in which results are returned is undefined, and unstable.
	//
	// An error will be reported in the following cases:
	// - If page_token is too large to continue the calculation.
	// - If the resource is not found.
	// - If the given resource name is badly formatted.
	// - If no field mask was given.
	TraverseFileSets(context.Context, *TraverseFileSetsRequest) (*TraverseFileSetsResponse, error)
}

// UnimplementedResultStoreDownloadServer can be embedded to have forward compatible implementations.
type UnimplementedResultStoreDownloadServer struct {
}

func (*UnimplementedResultStoreDownloadServer) GetInvocation(context.Context, *GetInvocationRequest) (*Invocation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInvocation not implemented")
}
func (*UnimplementedResultStoreDownloadServer) SearchInvocations(context.Context, *SearchInvocationsRequest) (*SearchInvocationsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SearchInvocations not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ExportInvocation(context.Context, *ExportInvocationRequest) (*ExportInvocationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportInvocation not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetInvocationDownloadMetadata(context.Context, *GetInvocationDownloadMetadataRequest) (*DownloadMetadata, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInvocationDownloadMetadata not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetConfiguration(context.Context, *GetConfigurationRequest) (*Configuration, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConfiguration not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ListConfigurations(context.Context, *ListConfigurationsRequest) (*ListConfigurationsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListConfigurations not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetTarget(context.Context, *GetTargetRequest) (*Target, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTarget not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ListTargets(context.Context, *ListTargetsRequest) (*ListTargetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListTargets not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetConfiguredTarget(context.Context, *GetConfiguredTargetRequest) (*ConfiguredTarget, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConfiguredTarget not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ListConfiguredTargets(context.Context, *ListConfiguredTargetsRequest) (*ListConfiguredTargetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListConfiguredTargets not implemented")
}
func (*UnimplementedResultStoreDownloadServer) SearchConfiguredTargets(context.Context, *SearchConfiguredTargetsRequest) (*SearchConfiguredTargetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SearchConfiguredTargets not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetAction(context.Context, *GetActionRequest) (*Action, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAction not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ListActions(context.Context, *ListActionsRequest) (*ListActionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListActions not implemented")
}
func (*UnimplementedResultStoreDownloadServer) BatchListActions(context.Context, *BatchListActionsRequest) (*BatchListActionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BatchListActions not implemented")
}
func (*UnimplementedResultStoreDownloadServer) GetFileSet(context.Context, *GetFileSetRequest) (*FileSet, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetFileSet not implemented")
}
func (*UnimplementedResultStoreDownloadServer) ListFileSets(context.Context, *ListFileSetsRequest) (*ListFileSetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFileSets not implemented")
}
func (*UnimplementedResultStoreDownloadServer) TraverseFileSets(context.Context, *TraverseFileSetsRequest) (*TraverseFileSetsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TraverseFileSets not implemented")
}

func RegisterResultStoreDownloadServer(s *grpc.Server, srv ResultStoreDownloadServer) {
	s.RegisterService(&_ResultStoreDownload_serviceDesc, srv)
}

func _ResultStoreDownload_GetInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInvocationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetInvocation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetInvocation",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetInvocation(ctx, req.(*GetInvocationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_SearchInvocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SearchInvocationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).SearchInvocations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/SearchInvocations",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).SearchInvocations(ctx, req.(*SearchInvocationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ExportInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExportInvocationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ExportInvocation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ExportInvocation",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ExportInvocation(ctx, req.(*ExportInvocationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetInvocationDownloadMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInvocationDownloadMetadataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetInvocationDownloadMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetInvocationDownloadMetadata",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetInvocationDownloadMetadata(ctx, req.(*GetInvocationDownloadMetadataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetConfigurationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetConfiguration(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetConfiguration",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetConfiguration(ctx, req.(*GetConfigurationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ListConfigurations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListConfigurationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ListConfigurations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ListConfigurations",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ListConfigurations(ctx, req.(*ListConfigurationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetTarget_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTargetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetTarget(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetTarget",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetTarget(ctx, req.(*GetTargetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ListTargets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListTargetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ListTargets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ListTargets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ListTargets(ctx, req.(*ListTargetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetConfiguredTarget_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetConfiguredTargetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetConfiguredTarget(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetConfiguredTarget",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetConfiguredTarget(ctx, req.(*GetConfiguredTargetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ListConfiguredTargets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListConfiguredTargetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ListConfiguredTargets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ListConfiguredTargets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ListConfiguredTargets(ctx, req.(*ListConfiguredTargetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_SearchConfiguredTargets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SearchConfiguredTargetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).SearchConfiguredTargets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/SearchConfiguredTargets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).SearchConfiguredTargets(ctx, req.(*SearchConfiguredTargetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetActionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetAction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetAction",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetAction(ctx, req.(*GetActionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ListActions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListActionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ListActions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ListActions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ListActions(ctx, req.(*ListActionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_BatchListActions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BatchListActionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).BatchListActions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/BatchListActions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).BatchListActions(ctx, req.(*BatchListActionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_GetFileSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetFileSetRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).GetFileSet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/GetFileSet",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).GetFileSet(ctx, req.(*GetFileSetRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_ListFileSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFileSetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).ListFileSets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/ListFileSets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).ListFileSets(ctx, req.(*ListFileSetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResultStoreDownload_TraverseFileSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TraverseFileSetsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResultStoreDownloadServer).TraverseFileSets(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.resultstore.v2.ResultStoreDownload/TraverseFileSets",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResultStoreDownloadServer).TraverseFileSets(ctx, req.(*TraverseFileSetsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ResultStoreDownload_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.devtools.resultstore.v2.ResultStoreDownload",
	HandlerType: (*ResultStoreDownloadServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetInvocation",
			Handler:    _ResultStoreDownload_GetInvocation_Handler,
		},
		{
			MethodName: "SearchInvocations",
			Handler:    _ResultStoreDownload_SearchInvocations_Handler,
		},
		{
			MethodName: "ExportInvocation",
			Handler:    _ResultStoreDownload_ExportInvocation_Handler,
		},
		{
			MethodName: "GetInvocationDownloadMetadata",
			Handler:    _ResultStoreDownload_GetInvocationDownloadMetadata_Handler,
		},
		{
			MethodName: "GetConfiguration",
			Handler:    _ResultStoreDownload_GetConfiguration_Handler,
		},
		{
			MethodName: "ListConfigurations",
			Handler:    _ResultStoreDownload_ListConfigurations_Handler,
		},
		{
			MethodName: "GetTarget",
			Handler:    _ResultStoreDownload_GetTarget_Handler,
		},
		{
			MethodName: "ListTargets",
			Handler:    _ResultStoreDownload_ListTargets_Handler,
		},
		{
			MethodName: "GetConfiguredTarget",
			Handler:    _ResultStoreDownload_GetConfiguredTarget_Handler,
		},
		{
			MethodName: "ListConfiguredTargets",
			Handler:    _ResultStoreDownload_ListConfiguredTargets_Handler,
		},
		{
			MethodName: "SearchConfiguredTargets",
			Handler:    _ResultStoreDownload_SearchConfiguredTargets_Handler,
		},
		{
			MethodName: "GetAction",
			Handler:    _ResultStoreDownload_GetAction_Handler,
		},
		{
			MethodName: "ListActions",
			Handler:    _ResultStoreDownload_ListActions_Handler,
		},
		{
			MethodName: "BatchListActions",
			Handler:    _ResultStoreDownload_BatchListActions_Handler,
		},
		{
			MethodName: "GetFileSet",
			Handler:    _ResultStoreDownload_GetFileSet_Handler,
		},
		{
			MethodName: "ListFileSets",
			Handler:    _ResultStoreDownload_ListFileSets_Handler,
		},
		{
			MethodName: "TraverseFileSets",
			Handler:    _ResultStoreDownload_TraverseFileSets_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/devtools/resultstore/v2/resultstore_download.proto",
}
