go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/buildbucket/proto/build.pb.go (about)

     1  // Copyright 2018 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.32.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/buildbucket/proto/build.proto
    20  
    21  package buildbucketpb
    22  
    23  import (
    24  	v1 "go.chromium.org/luci/resultdb/proto/v1"
    25  	_ "google.golang.org/genproto/googleapis/api/annotations"
    26  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    27  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    28  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    29  	structpb "google.golang.org/protobuf/types/known/structpb"
    30  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    31  	reflect "reflect"
    32  	sync "sync"
    33  )
    34  
    35  const (
    36  	// Verify that this generated code is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    38  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    40  )
    41  
    42  type BuildInfra_Buildbucket_ExperimentReason int32
    43  
    44  const (
    45  	// This value is unused (i.e. if you see this, it's a bug).
    46  	BuildInfra_Buildbucket_EXPERIMENT_REASON_UNSET BuildInfra_Buildbucket_ExperimentReason = 0
    47  	// This experiment was configured from the 'default_value' of a global
    48  	// experiment.
    49  	//
    50  	// See go/buildbucket-settings.cfg for the list of global experiments.
    51  	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_DEFAULT BuildInfra_Buildbucket_ExperimentReason = 1
    52  	// This experiment was configured from the Builder configuration.
    53  	BuildInfra_Buildbucket_EXPERIMENT_REASON_BUILDER_CONFIG BuildInfra_Buildbucket_ExperimentReason = 2
    54  	// This experiment was configured from the 'minimum_value' of a global
    55  	// experiment.
    56  	//
    57  	// See go/buildbucket-settings.cfg for the list of global experiments.
    58  	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_MINIMUM BuildInfra_Buildbucket_ExperimentReason = 3
    59  	// This experiment was explicitly set from the ScheduleBuildRequest.
    60  	BuildInfra_Buildbucket_EXPERIMENT_REASON_REQUESTED BuildInfra_Buildbucket_ExperimentReason = 4
    61  	// This experiment is inactive and so was removed from the Build.
    62  	//
    63  	// See go/buildbucket-settings.cfg for the list of global experiments.
    64  	BuildInfra_Buildbucket_EXPERIMENT_REASON_GLOBAL_INACTIVE BuildInfra_Buildbucket_ExperimentReason = 5
    65  )
    66  
    67  // Enum value maps for BuildInfra_Buildbucket_ExperimentReason.
    68  var (
    69  	BuildInfra_Buildbucket_ExperimentReason_name = map[int32]string{
    70  		0: "EXPERIMENT_REASON_UNSET",
    71  		1: "EXPERIMENT_REASON_GLOBAL_DEFAULT",
    72  		2: "EXPERIMENT_REASON_BUILDER_CONFIG",
    73  		3: "EXPERIMENT_REASON_GLOBAL_MINIMUM",
    74  		4: "EXPERIMENT_REASON_REQUESTED",
    75  		5: "EXPERIMENT_REASON_GLOBAL_INACTIVE",
    76  	}
    77  	BuildInfra_Buildbucket_ExperimentReason_value = map[string]int32{
    78  		"EXPERIMENT_REASON_UNSET":           0,
    79  		"EXPERIMENT_REASON_GLOBAL_DEFAULT":  1,
    80  		"EXPERIMENT_REASON_BUILDER_CONFIG":  2,
    81  		"EXPERIMENT_REASON_GLOBAL_MINIMUM":  3,
    82  		"EXPERIMENT_REASON_REQUESTED":       4,
    83  		"EXPERIMENT_REASON_GLOBAL_INACTIVE": 5,
    84  	}
    85  )
    86  
    87  func (x BuildInfra_Buildbucket_ExperimentReason) Enum() *BuildInfra_Buildbucket_ExperimentReason {
    88  	p := new(BuildInfra_Buildbucket_ExperimentReason)
    89  	*p = x
    90  	return p
    91  }
    92  
    93  func (x BuildInfra_Buildbucket_ExperimentReason) String() string {
    94  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    95  }
    96  
    97  func (BuildInfra_Buildbucket_ExperimentReason) Descriptor() protoreflect.EnumDescriptor {
    98  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes[0].Descriptor()
    99  }
   100  
   101  func (BuildInfra_Buildbucket_ExperimentReason) Type() protoreflect.EnumType {
   102  	return &file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes[0]
   103  }
   104  
   105  func (x BuildInfra_Buildbucket_ExperimentReason) Number() protoreflect.EnumNumber {
   106  	return protoreflect.EnumNumber(x)
   107  }
   108  
   109  // Deprecated: Use BuildInfra_Buildbucket_ExperimentReason.Descriptor instead.
   110  func (BuildInfra_Buildbucket_ExperimentReason) EnumDescriptor() ([]byte, []int) {
   111  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0}
   112  }
   113  
   114  type BuildInfra_Buildbucket_Agent_Purpose int32
   115  
   116  const (
   117  	// No categorized/known purpose.
   118  	BuildInfra_Buildbucket_Agent_PURPOSE_UNSPECIFIED BuildInfra_Buildbucket_Agent_Purpose = 0
   119  	// This path contains the contents of the build's `exe.cipd_package`.
   120  	BuildInfra_Buildbucket_Agent_PURPOSE_EXE_PAYLOAD BuildInfra_Buildbucket_Agent_Purpose = 1
   121  	// This path contains data specifically for bbagent's own use.
   122  	//
   123  	// There's a proposal currently to add `nsjail` support to bbagent, and it
   124  	// would need to bring a copy of `nsjail` in order to run the user binary
   125  	// but we wouldn't necessarily want to expose it to the user binary.
   126  	BuildInfra_Buildbucket_Agent_PURPOSE_BBAGENT_UTILITY BuildInfra_Buildbucket_Agent_Purpose = 2
   127  )
   128  
   129  // Enum value maps for BuildInfra_Buildbucket_Agent_Purpose.
   130  var (
   131  	BuildInfra_Buildbucket_Agent_Purpose_name = map[int32]string{
   132  		0: "PURPOSE_UNSPECIFIED",
   133  		1: "PURPOSE_EXE_PAYLOAD",
   134  		2: "PURPOSE_BBAGENT_UTILITY",
   135  	}
   136  	BuildInfra_Buildbucket_Agent_Purpose_value = map[string]int32{
   137  		"PURPOSE_UNSPECIFIED":     0,
   138  		"PURPOSE_EXE_PAYLOAD":     1,
   139  		"PURPOSE_BBAGENT_UTILITY": 2,
   140  	}
   141  )
   142  
   143  func (x BuildInfra_Buildbucket_Agent_Purpose) Enum() *BuildInfra_Buildbucket_Agent_Purpose {
   144  	p := new(BuildInfra_Buildbucket_Agent_Purpose)
   145  	*p = x
   146  	return p
   147  }
   148  
   149  func (x BuildInfra_Buildbucket_Agent_Purpose) String() string {
   150  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   151  }
   152  
   153  func (BuildInfra_Buildbucket_Agent_Purpose) Descriptor() protoreflect.EnumDescriptor {
   154  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes[1].Descriptor()
   155  }
   156  
   157  func (BuildInfra_Buildbucket_Agent_Purpose) Type() protoreflect.EnumType {
   158  	return &file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes[1]
   159  }
   160  
   161  func (x BuildInfra_Buildbucket_Agent_Purpose) Number() protoreflect.EnumNumber {
   162  	return protoreflect.EnumNumber(x)
   163  }
   164  
   165  // Deprecated: Use BuildInfra_Buildbucket_Agent_Purpose.Descriptor instead.
   166  func (BuildInfra_Buildbucket_Agent_Purpose) EnumDescriptor() ([]byte, []int) {
   167  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0, 0}
   168  }
   169  
   170  // A single build, identified by an int64 ID.
   171  // Belongs to a builder.
   172  //
   173  // RPC: see Builds service for build creation and retrieval.
   174  // Some Build fields are marked as excluded from responses by default.
   175  // Use "mask" request field to specify that a field must be included.
   176  //
   177  // BigQuery: this message also defines schema of a BigQuery table of completed
   178  // builds. A BigQuery row is inserted soon after build ends, i.e. a row
   179  // represents a state of a build at completion time and does not change after
   180  // that. All fields are included.
   181  //
   182  // Next id: 36.
   183  type Build struct {
   184  	state         protoimpl.MessageState
   185  	sizeCache     protoimpl.SizeCache
   186  	unknownFields protoimpl.UnknownFields
   187  
   188  	// Identifier of the build, unique per LUCI deployment.
   189  	// IDs are monotonically decreasing.
   190  	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   191  	// Required. The builder this build belongs to.
   192  	//
   193  	// Tuple (builder.project, builder.bucket) defines build ACL
   194  	// which may change after build has ended.
   195  	Builder     *BuilderID         `protobuf:"bytes,2,opt,name=builder,proto3" json:"builder,omitempty"`
   196  	BuilderInfo *Build_BuilderInfo `protobuf:"bytes,34,opt,name=builder_info,json=builderInfo,proto3" json:"builder_info,omitempty"`
   197  	// Human-readable identifier of the build with the following properties:
   198  	// - unique within the builder
   199  	// - a monotonically increasing number
   200  	// - mostly contiguous
   201  	// - much shorter than id
   202  	//
   203  	// Caution: populated (positive number) iff build numbers were enabled
   204  	// in the builder configuration at the time of build creation.
   205  	//
   206  	// Caution: Build numbers are not guaranteed to be contiguous.
   207  	// There may be gaps during outages.
   208  	//
   209  	// Caution: Build numbers, while monotonically increasing, do not
   210  	// necessarily reflect source-code order. For example, force builds
   211  	// or rebuilds can allocate new, higher, numbers, but build an older-
   212  	// than-HEAD version of the source.
   213  	Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"`
   214  	// Verified LUCI identity that created this build.
   215  	CreatedBy string `protobuf:"bytes,4,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
   216  	// Redirect url for the build.
   217  	ViewUrl string `protobuf:"bytes,5,opt,name=view_url,json=viewUrl,proto3" json:"view_url,omitempty"`
   218  	// Verified LUCI identity that canceled this build.
   219  	//
   220  	// Special values:
   221  	// * buildbucket: The build is canceled by buildbucket. This can happen if the
   222  	// build's parent has ended, and the build cannot outlive its parent.
   223  	// * backend: The build's backend task is canceled. For example the build's
   224  	// Swarming task is killed.
   225  	CanceledBy string `protobuf:"bytes,23,opt,name=canceled_by,json=canceledBy,proto3" json:"canceled_by,omitempty"`
   226  	// When the build was created.
   227  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   228  	// When the build started.
   229  	// Required iff status is STARTED, SUCCESS or FAILURE.
   230  	StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   231  	// When the build ended.
   232  	// Present iff status is terminal.
   233  	// MUST NOT be before start_time.
   234  	EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
   235  	// When the build was most recently updated.
   236  	//
   237  	// RPC: can be > end_time if, e.g. new tags were attached to a completed
   238  	// build.
   239  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   240  	// When the cancel process of the build started.
   241  	// Note it's not the time that the cancellation completed, which would be
   242  	// tracked by end_time.
   243  	//
   244  	// During the cancel process, the build still accepts updates.
   245  	//
   246  	// bbagent checks this field at the frequency of
   247  	// buildbucket.MinUpdateBuildInterval. When bbagent sees the build is in
   248  	// cancel process, there are two states:
   249  	//   - it has NOT yet started the exe payload,
   250  	//   - it HAS started the exe payload.
   251  	//
   252  	// In the first state, bbagent will immediately terminate the build without
   253  	// invoking the exe payload at all.
   254  	//
   255  	// In the second state, bbagent will send SIGTERM/CTRL-BREAK to the exe
   256  	// (according to the deadline protocol described in
   257  	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md).
   258  	// After grace_period it will then try to kill the exe.
   259  	//
   260  	// NOTE: There is a race condition here; If bbagent starts the luciexe and
   261  	// then immediately notices that the build is canceled, it's possible that
   262  	// bbagent can send SIGTERM/CTRL-BREAK to the exe before that exe sets up
   263  	// interrupt handlers. There is a bug on file (crbug.com/1311821)
   264  	// which we plan to implement at some point as a mitigation for this.
   265  	//
   266  	// Additionally, the Buildbucket service itself will launch an asynchronous
   267  	// task to terminate the build via the backend API (e.g. Swarming cancellation)
   268  	// if bbagent cannot successfully terminate the exe in time.
   269  	CancelTime *timestamppb.Timestamp `protobuf:"bytes,32,opt,name=cancel_time,json=cancelTime,proto3" json:"cancel_time,omitempty"`
   270  	// Status of the build.
   271  	// Must be specified, i.e. not STATUS_UNSPECIFIED.
   272  	//
   273  	// RPC: Responses have most current status.
   274  	//
   275  	// BigQuery: Final status of the build. Cannot be SCHEDULED or STARTED.
   276  	Status Status `protobuf:"varint,12,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
   277  	// Human-readable summary of the build in Markdown format
   278  	// (https://spec.commonmark.org/0.28/).
   279  	// Explains status.
   280  	// Up to 4 KB.
   281  	SummaryMarkdown string `protobuf:"bytes,20,opt,name=summary_markdown,json=summaryMarkdown,proto3" json:"summary_markdown,omitempty"`
   282  	// Markdown reasoning for cancelling the build.
   283  	// Human readable and should be following https://spec.commonmark.org/0.28/.
   284  	CancellationMarkdown string `protobuf:"bytes,33,opt,name=cancellation_markdown,json=cancellationMarkdown,proto3" json:"cancellation_markdown,omitempty"`
   285  	// If NO, then the build status SHOULD NOT be used to assess correctness of
   286  	// the input gitiles_commit or gerrit_changes.
   287  	// For example, if a pre-submit build has failed, CQ MAY still land the CL.
   288  	// For example, if a post-submit build has failed, CLs MAY continue landing.
   289  	Critical Trinary `protobuf:"varint,21,opt,name=critical,proto3,enum=buildbucket.v2.Trinary" json:"critical,omitempty"`
   290  	// Machine-readable details of the current status.
   291  	// Human-readable status reason is available in summary_markdown.
   292  	StatusDetails *StatusDetails `protobuf:"bytes,22,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
   293  	// Input to the build executable.
   294  	Input *Build_Input `protobuf:"bytes,15,opt,name=input,proto3" json:"input,omitempty"`
   295  	// Output of the build executable.
   296  	// SHOULD depend only on input field and NOT other fields.
   297  	// MUST be unset if build status is SCHEDULED.
   298  	//
   299  	// RPC: By default, this field is excluded from responses.
   300  	// Updated while the build is running and finalized when the build ends.
   301  	Output *Build_Output `protobuf:"bytes,16,opt,name=output,proto3" json:"output,omitempty"`
   302  	// Current list of build steps.
   303  	// Updated as build runs.
   304  	//
   305  	// May take up to 1MB after zlib compression.
   306  	// MUST be unset if build status is SCHEDULED.
   307  	//
   308  	// RPC: By default, this field is excluded from responses.
   309  	Steps []*Step `protobuf:"bytes,17,rep,name=steps,proto3" json:"steps,omitempty"`
   310  	// Build infrastructure used by the build.
   311  	//
   312  	// RPC: By default, this field is excluded from responses.
   313  	Infra *BuildInfra `protobuf:"bytes,18,opt,name=infra,proto3" json:"infra,omitempty"`
   314  	// Arbitrary annotations for the build.
   315  	// One key may have multiple values, which is why this is not a map<string,string>.
   316  	// Indexed by the server, see also BuildPredicate.tags.
   317  	Tags []*StringPair `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"`
   318  	// What to run when the build is ready to start.
   319  	Exe *Executable `protobuf:"bytes,24,opt,name=exe,proto3" json:"exe,omitempty"`
   320  	// DEPRECATED
   321  	//
   322  	// Equivalent to `"luci.buildbucket.canary_software" in input.experiments`.
   323  	//
   324  	// See `Builder.experiments` for well-known experiments.
   325  	Canary bool `protobuf:"varint,25,opt,name=canary,proto3" json:"canary,omitempty"`
   326  	// Maximum build pending time.
   327  	// If the timeout is reached, the build is marked as INFRA_FAILURE status
   328  	// and both status_details.{timeout, resource_exhaustion} are set.
   329  	SchedulingTimeout *durationpb.Duration `protobuf:"bytes,26,opt,name=scheduling_timeout,json=schedulingTimeout,proto3" json:"scheduling_timeout,omitempty"`
   330  	// Maximum build execution time.
   331  	//
   332  	// Not to be confused with scheduling_timeout.
   333  	//
   334  	// If the timeout is reached, the task will be signaled according to the
   335  	// `deadline` section of
   336  	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md
   337  	// and status_details.timeout is set.
   338  	//
   339  	// The task will have `grace_period` amount of time to handle cleanup
   340  	// before being forcefully terminated.
   341  	ExecutionTimeout *durationpb.Duration `protobuf:"bytes,27,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"`
   342  	// Amount of cleanup time after execution_timeout.
   343  	//
   344  	// After being signaled according to execution_timeout, the task will
   345  	// have this duration to clean up before being forcefully terminated.
   346  	//
   347  	// The signalling process is explained in the `deadline` section of
   348  	// https://chromium.googlesource.com/infra/luci/luci-py/+/HEAD/client/LUCI_CONTEXT.md.
   349  	GracePeriod *durationpb.Duration `protobuf:"bytes,29,opt,name=grace_period,json=gracePeriod,proto3" json:"grace_period,omitempty"`
   350  	// If set, swarming was requested to wait until it sees at least one bot
   351  	// report a superset of the build's requested dimensions.
   352  	WaitForCapacity bool `protobuf:"varint,28,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"`
   353  	// Flag to control if the build can outlive its parent.
   354  	//
   355  	// This field is only meaningful if the build has ancestors.
   356  	// If the build has ancestors and the value is false, it means that the build
   357  	// SHOULD reach a terminal status (SUCCESS, FAILURE, INFRA_FAILURE or
   358  	// CANCELED) before its parent. If the child fails to do so, Buildbucket will
   359  	// cancel it some time after the parent build reaches a terminal status.
   360  	//
   361  	// A build that can outlive its parent can also outlive its parent's ancestors.
   362  	CanOutliveParent bool `protobuf:"varint,30,opt,name=can_outlive_parent,json=canOutliveParent,proto3" json:"can_outlive_parent,omitempty"`
   363  	// IDs of the build's ancestors. This includes all parents/grandparents/etc.
   364  	// This is ordered from top-to-bottom so `ancestor_ids[0]` is the root of
   365  	// the builds tree, and `ancestor_ids[-1]` is this build's immediate parent.
   366  	// This does not include any "siblings" at higher levels of the tree, just
   367  	// the direct chain of ancestors from root to this build.
   368  	AncestorIds []int64 `protobuf:"varint,31,rep,packed,name=ancestor_ids,json=ancestorIds,proto3" json:"ancestor_ids,omitempty"`
   369  	// If UNSET, retrying the build is implicitly allowed;
   370  	// If YES, retrying the build is explicitly allowed;
   371  	// If NO, retrying the build is explicitly disallowed,
   372  	//   - any UI displaying the build should remove "retry" button(s),
   373  	//   - ScheduleBuild using the build as template should fail,
   374  	//   - but the build can still be synthesized by SynthesizeBuild.
   375  	Retriable Trinary `protobuf:"varint,35,opt,name=retriable,proto3,enum=buildbucket.v2.Trinary" json:"retriable,omitempty"`
   376  }
   377  
   378  func (x *Build) Reset() {
   379  	*x = Build{}
   380  	if protoimpl.UnsafeEnabled {
   381  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[0]
   382  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   383  		ms.StoreMessageInfo(mi)
   384  	}
   385  }
   386  
   387  func (x *Build) String() string {
   388  	return protoimpl.X.MessageStringOf(x)
   389  }
   390  
   391  func (*Build) ProtoMessage() {}
   392  
   393  func (x *Build) ProtoReflect() protoreflect.Message {
   394  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[0]
   395  	if protoimpl.UnsafeEnabled && x != nil {
   396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   397  		if ms.LoadMessageInfo() == nil {
   398  			ms.StoreMessageInfo(mi)
   399  		}
   400  		return ms
   401  	}
   402  	return mi.MessageOf(x)
   403  }
   404  
   405  // Deprecated: Use Build.ProtoReflect.Descriptor instead.
   406  func (*Build) Descriptor() ([]byte, []int) {
   407  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{0}
   408  }
   409  
   410  func (x *Build) GetId() int64 {
   411  	if x != nil {
   412  		return x.Id
   413  	}
   414  	return 0
   415  }
   416  
   417  func (x *Build) GetBuilder() *BuilderID {
   418  	if x != nil {
   419  		return x.Builder
   420  	}
   421  	return nil
   422  }
   423  
   424  func (x *Build) GetBuilderInfo() *Build_BuilderInfo {
   425  	if x != nil {
   426  		return x.BuilderInfo
   427  	}
   428  	return nil
   429  }
   430  
   431  func (x *Build) GetNumber() int32 {
   432  	if x != nil {
   433  		return x.Number
   434  	}
   435  	return 0
   436  }
   437  
   438  func (x *Build) GetCreatedBy() string {
   439  	if x != nil {
   440  		return x.CreatedBy
   441  	}
   442  	return ""
   443  }
   444  
   445  func (x *Build) GetViewUrl() string {
   446  	if x != nil {
   447  		return x.ViewUrl
   448  	}
   449  	return ""
   450  }
   451  
   452  func (x *Build) GetCanceledBy() string {
   453  	if x != nil {
   454  		return x.CanceledBy
   455  	}
   456  	return ""
   457  }
   458  
   459  func (x *Build) GetCreateTime() *timestamppb.Timestamp {
   460  	if x != nil {
   461  		return x.CreateTime
   462  	}
   463  	return nil
   464  }
   465  
   466  func (x *Build) GetStartTime() *timestamppb.Timestamp {
   467  	if x != nil {
   468  		return x.StartTime
   469  	}
   470  	return nil
   471  }
   472  
   473  func (x *Build) GetEndTime() *timestamppb.Timestamp {
   474  	if x != nil {
   475  		return x.EndTime
   476  	}
   477  	return nil
   478  }
   479  
   480  func (x *Build) GetUpdateTime() *timestamppb.Timestamp {
   481  	if x != nil {
   482  		return x.UpdateTime
   483  	}
   484  	return nil
   485  }
   486  
   487  func (x *Build) GetCancelTime() *timestamppb.Timestamp {
   488  	if x != nil {
   489  		return x.CancelTime
   490  	}
   491  	return nil
   492  }
   493  
   494  func (x *Build) GetStatus() Status {
   495  	if x != nil {
   496  		return x.Status
   497  	}
   498  	return Status_STATUS_UNSPECIFIED
   499  }
   500  
   501  func (x *Build) GetSummaryMarkdown() string {
   502  	if x != nil {
   503  		return x.SummaryMarkdown
   504  	}
   505  	return ""
   506  }
   507  
   508  func (x *Build) GetCancellationMarkdown() string {
   509  	if x != nil {
   510  		return x.CancellationMarkdown
   511  	}
   512  	return ""
   513  }
   514  
   515  func (x *Build) GetCritical() Trinary {
   516  	if x != nil {
   517  		return x.Critical
   518  	}
   519  	return Trinary_UNSET
   520  }
   521  
   522  func (x *Build) GetStatusDetails() *StatusDetails {
   523  	if x != nil {
   524  		return x.StatusDetails
   525  	}
   526  	return nil
   527  }
   528  
   529  func (x *Build) GetInput() *Build_Input {
   530  	if x != nil {
   531  		return x.Input
   532  	}
   533  	return nil
   534  }
   535  
   536  func (x *Build) GetOutput() *Build_Output {
   537  	if x != nil {
   538  		return x.Output
   539  	}
   540  	return nil
   541  }
   542  
   543  func (x *Build) GetSteps() []*Step {
   544  	if x != nil {
   545  		return x.Steps
   546  	}
   547  	return nil
   548  }
   549  
   550  func (x *Build) GetInfra() *BuildInfra {
   551  	if x != nil {
   552  		return x.Infra
   553  	}
   554  	return nil
   555  }
   556  
   557  func (x *Build) GetTags() []*StringPair {
   558  	if x != nil {
   559  		return x.Tags
   560  	}
   561  	return nil
   562  }
   563  
   564  func (x *Build) GetExe() *Executable {
   565  	if x != nil {
   566  		return x.Exe
   567  	}
   568  	return nil
   569  }
   570  
   571  func (x *Build) GetCanary() bool {
   572  	if x != nil {
   573  		return x.Canary
   574  	}
   575  	return false
   576  }
   577  
   578  func (x *Build) GetSchedulingTimeout() *durationpb.Duration {
   579  	if x != nil {
   580  		return x.SchedulingTimeout
   581  	}
   582  	return nil
   583  }
   584  
   585  func (x *Build) GetExecutionTimeout() *durationpb.Duration {
   586  	if x != nil {
   587  		return x.ExecutionTimeout
   588  	}
   589  	return nil
   590  }
   591  
   592  func (x *Build) GetGracePeriod() *durationpb.Duration {
   593  	if x != nil {
   594  		return x.GracePeriod
   595  	}
   596  	return nil
   597  }
   598  
   599  func (x *Build) GetWaitForCapacity() bool {
   600  	if x != nil {
   601  		return x.WaitForCapacity
   602  	}
   603  	return false
   604  }
   605  
   606  func (x *Build) GetCanOutliveParent() bool {
   607  	if x != nil {
   608  		return x.CanOutliveParent
   609  	}
   610  	return false
   611  }
   612  
   613  func (x *Build) GetAncestorIds() []int64 {
   614  	if x != nil {
   615  		return x.AncestorIds
   616  	}
   617  	return nil
   618  }
   619  
   620  func (x *Build) GetRetriable() Trinary {
   621  	if x != nil {
   622  		return x.Retriable
   623  	}
   624  	return Trinary_UNSET
   625  }
   626  
   627  type InputDataRef struct {
   628  	state         protoimpl.MessageState
   629  	sizeCache     protoimpl.SizeCache
   630  	unknownFields protoimpl.UnknownFields
   631  
   632  	// Types that are assignable to DataType:
   633  	//
   634  	//	*InputDataRef_Cas
   635  	//	*InputDataRef_Cipd
   636  	DataType isInputDataRef_DataType `protobuf_oneof:"data_type"`
   637  	// TODO(crbug.com/1266060): TBD. `on_path` may need to move out to be incorporated into a field which captures other envvars.
   638  	// Subdirectories relative to the root of `ref` which should be set as a prefix to
   639  	// the $PATH variable.
   640  	//
   641  	// A substitute of `env_prefixes` in SwarmingRpcsTaskProperties field -
   642  	// https://chromium.googlesource.com/infra/luci/luci-go/+/0048a84944e872776fba3542aa96d5943ae64bab/common/api/swarming/swarming/v1/swarming-gen.go#1495
   643  	OnPath []string `protobuf:"bytes,3,rep,name=on_path,json=onPath,proto3" json:"on_path,omitempty"`
   644  }
   645  
   646  func (x *InputDataRef) Reset() {
   647  	*x = InputDataRef{}
   648  	if protoimpl.UnsafeEnabled {
   649  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[1]
   650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   651  		ms.StoreMessageInfo(mi)
   652  	}
   653  }
   654  
   655  func (x *InputDataRef) String() string {
   656  	return protoimpl.X.MessageStringOf(x)
   657  }
   658  
   659  func (*InputDataRef) ProtoMessage() {}
   660  
   661  func (x *InputDataRef) ProtoReflect() protoreflect.Message {
   662  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[1]
   663  	if protoimpl.UnsafeEnabled && x != nil {
   664  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   665  		if ms.LoadMessageInfo() == nil {
   666  			ms.StoreMessageInfo(mi)
   667  		}
   668  		return ms
   669  	}
   670  	return mi.MessageOf(x)
   671  }
   672  
   673  // Deprecated: Use InputDataRef.ProtoReflect.Descriptor instead.
   674  func (*InputDataRef) Descriptor() ([]byte, []int) {
   675  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{1}
   676  }
   677  
   678  func (m *InputDataRef) GetDataType() isInputDataRef_DataType {
   679  	if m != nil {
   680  		return m.DataType
   681  	}
   682  	return nil
   683  }
   684  
   685  func (x *InputDataRef) GetCas() *InputDataRef_CAS {
   686  	if x, ok := x.GetDataType().(*InputDataRef_Cas); ok {
   687  		return x.Cas
   688  	}
   689  	return nil
   690  }
   691  
   692  func (x *InputDataRef) GetCipd() *InputDataRef_CIPD {
   693  	if x, ok := x.GetDataType().(*InputDataRef_Cipd); ok {
   694  		return x.Cipd
   695  	}
   696  	return nil
   697  }
   698  
   699  func (x *InputDataRef) GetOnPath() []string {
   700  	if x != nil {
   701  		return x.OnPath
   702  	}
   703  	return nil
   704  }
   705  
   706  type isInputDataRef_DataType interface {
   707  	isInputDataRef_DataType()
   708  }
   709  
   710  type InputDataRef_Cas struct {
   711  	Cas *InputDataRef_CAS `protobuf:"bytes,1,opt,name=cas,proto3,oneof"`
   712  }
   713  
   714  type InputDataRef_Cipd struct {
   715  	Cipd *InputDataRef_CIPD `protobuf:"bytes,2,opt,name=cipd,proto3,oneof"`
   716  }
   717  
   718  func (*InputDataRef_Cas) isInputDataRef_DataType() {}
   719  
   720  func (*InputDataRef_Cipd) isInputDataRef_DataType() {}
   721  
   722  type ResolvedDataRef struct {
   723  	state         protoimpl.MessageState
   724  	sizeCache     protoimpl.SizeCache
   725  	unknownFields protoimpl.UnknownFields
   726  
   727  	// Types that are assignable to DataType:
   728  	//
   729  	//	*ResolvedDataRef_Cas
   730  	//	*ResolvedDataRef_Cipd
   731  	DataType isResolvedDataRef_DataType `protobuf_oneof:"data_type"`
   732  }
   733  
   734  func (x *ResolvedDataRef) Reset() {
   735  	*x = ResolvedDataRef{}
   736  	if protoimpl.UnsafeEnabled {
   737  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[2]
   738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   739  		ms.StoreMessageInfo(mi)
   740  	}
   741  }
   742  
   743  func (x *ResolvedDataRef) String() string {
   744  	return protoimpl.X.MessageStringOf(x)
   745  }
   746  
   747  func (*ResolvedDataRef) ProtoMessage() {}
   748  
   749  func (x *ResolvedDataRef) ProtoReflect() protoreflect.Message {
   750  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[2]
   751  	if protoimpl.UnsafeEnabled && x != nil {
   752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   753  		if ms.LoadMessageInfo() == nil {
   754  			ms.StoreMessageInfo(mi)
   755  		}
   756  		return ms
   757  	}
   758  	return mi.MessageOf(x)
   759  }
   760  
   761  // Deprecated: Use ResolvedDataRef.ProtoReflect.Descriptor instead.
   762  func (*ResolvedDataRef) Descriptor() ([]byte, []int) {
   763  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{2}
   764  }
   765  
   766  func (m *ResolvedDataRef) GetDataType() isResolvedDataRef_DataType {
   767  	if m != nil {
   768  		return m.DataType
   769  	}
   770  	return nil
   771  }
   772  
   773  func (x *ResolvedDataRef) GetCas() *ResolvedDataRef_CAS {
   774  	if x, ok := x.GetDataType().(*ResolvedDataRef_Cas); ok {
   775  		return x.Cas
   776  	}
   777  	return nil
   778  }
   779  
   780  func (x *ResolvedDataRef) GetCipd() *ResolvedDataRef_CIPD {
   781  	if x, ok := x.GetDataType().(*ResolvedDataRef_Cipd); ok {
   782  		return x.Cipd
   783  	}
   784  	return nil
   785  }
   786  
   787  type isResolvedDataRef_DataType interface {
   788  	isResolvedDataRef_DataType()
   789  }
   790  
   791  type ResolvedDataRef_Cas struct {
   792  	Cas *ResolvedDataRef_CAS `protobuf:"bytes,1,opt,name=cas,proto3,oneof"`
   793  }
   794  
   795  type ResolvedDataRef_Cipd struct {
   796  	Cipd *ResolvedDataRef_CIPD `protobuf:"bytes,2,opt,name=cipd,proto3,oneof"`
   797  }
   798  
   799  func (*ResolvedDataRef_Cas) isResolvedDataRef_DataType() {}
   800  
   801  func (*ResolvedDataRef_Cipd) isResolvedDataRef_DataType() {}
   802  
   803  // Build infrastructure that was used for a particular build.
   804  type BuildInfra struct {
   805  	state         protoimpl.MessageState
   806  	sizeCache     protoimpl.SizeCache
   807  	unknownFields protoimpl.UnknownFields
   808  
   809  	Buildbucket *BuildInfra_Buildbucket `protobuf:"bytes,1,opt,name=buildbucket,proto3" json:"buildbucket,omitempty"`
   810  	Swarming    *BuildInfra_Swarming    `protobuf:"bytes,2,opt,name=swarming,proto3" json:"swarming,omitempty"`
   811  	Logdog      *BuildInfra_LogDog      `protobuf:"bytes,3,opt,name=logdog,proto3" json:"logdog,omitempty"`
   812  	Recipe      *BuildInfra_Recipe      `protobuf:"bytes,4,opt,name=recipe,proto3" json:"recipe,omitempty"`
   813  	Resultdb    *BuildInfra_ResultDB    `protobuf:"bytes,5,opt,name=resultdb,proto3" json:"resultdb,omitempty"`
   814  	Bbagent     *BuildInfra_BBAgent     `protobuf:"bytes,6,opt,name=bbagent,proto3" json:"bbagent,omitempty"`
   815  	Backend     *BuildInfra_Backend     `protobuf:"bytes,7,opt,name=backend,proto3" json:"backend,omitempty"`
   816  	// It should only be set for led builds.
   817  	Led *BuildInfra_Led `protobuf:"bytes,8,opt,name=led,proto3" json:"led,omitempty"`
   818  }
   819  
   820  func (x *BuildInfra) Reset() {
   821  	*x = BuildInfra{}
   822  	if protoimpl.UnsafeEnabled {
   823  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[3]
   824  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   825  		ms.StoreMessageInfo(mi)
   826  	}
   827  }
   828  
   829  func (x *BuildInfra) String() string {
   830  	return protoimpl.X.MessageStringOf(x)
   831  }
   832  
   833  func (*BuildInfra) ProtoMessage() {}
   834  
   835  func (x *BuildInfra) ProtoReflect() protoreflect.Message {
   836  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[3]
   837  	if protoimpl.UnsafeEnabled && x != nil {
   838  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   839  		if ms.LoadMessageInfo() == nil {
   840  			ms.StoreMessageInfo(mi)
   841  		}
   842  		return ms
   843  	}
   844  	return mi.MessageOf(x)
   845  }
   846  
   847  // Deprecated: Use BuildInfra.ProtoReflect.Descriptor instead.
   848  func (*BuildInfra) Descriptor() ([]byte, []int) {
   849  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3}
   850  }
   851  
   852  func (x *BuildInfra) GetBuildbucket() *BuildInfra_Buildbucket {
   853  	if x != nil {
   854  		return x.Buildbucket
   855  	}
   856  	return nil
   857  }
   858  
   859  func (x *BuildInfra) GetSwarming() *BuildInfra_Swarming {
   860  	if x != nil {
   861  		return x.Swarming
   862  	}
   863  	return nil
   864  }
   865  
   866  func (x *BuildInfra) GetLogdog() *BuildInfra_LogDog {
   867  	if x != nil {
   868  		return x.Logdog
   869  	}
   870  	return nil
   871  }
   872  
   873  func (x *BuildInfra) GetRecipe() *BuildInfra_Recipe {
   874  	if x != nil {
   875  		return x.Recipe
   876  	}
   877  	return nil
   878  }
   879  
   880  func (x *BuildInfra) GetResultdb() *BuildInfra_ResultDB {
   881  	if x != nil {
   882  		return x.Resultdb
   883  	}
   884  	return nil
   885  }
   886  
   887  func (x *BuildInfra) GetBbagent() *BuildInfra_BBAgent {
   888  	if x != nil {
   889  		return x.Bbagent
   890  	}
   891  	return nil
   892  }
   893  
   894  func (x *BuildInfra) GetBackend() *BuildInfra_Backend {
   895  	if x != nil {
   896  		return x.Backend
   897  	}
   898  	return nil
   899  }
   900  
   901  func (x *BuildInfra) GetLed() *BuildInfra_Led {
   902  	if x != nil {
   903  		return x.Led
   904  	}
   905  	return nil
   906  }
   907  
   908  // Defines what to build/test.
   909  //
   910  // Behavior of a build executable MAY depend on Input.
   911  // It MAY NOT modify its behavior based on anything outside of Input.
   912  // It MAY read non-Input fields to display for debugging or to pass-through to
   913  // triggered builds. For example the "tags" field may be passed to triggered
   914  // builds, or the "infra" field may be printed for debugging purposes.
   915  type Build_Input struct {
   916  	state         protoimpl.MessageState
   917  	sizeCache     protoimpl.SizeCache
   918  	unknownFields protoimpl.UnknownFields
   919  
   920  	// Arbitrary JSON object. Available at build run time.
   921  	//
   922  	// RPC: By default, this field is excluded from responses.
   923  	//
   924  	// V1 equivalent: corresponds to "properties" key in "parameters_json".
   925  	Properties *structpb.Struct `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
   926  	// The Gitiles commit to run against.
   927  	// Usually present in CI builds, set by LUCI Scheduler.
   928  	// If not present, the build may checkout "refs/heads/master".
   929  	// NOT a blamelist.
   930  	//
   931  	// V1 equivalent: supersedes "revision" property and "buildset"
   932  	// tag that starts with "commit/gitiles/".
   933  	GitilesCommit *GitilesCommit `protobuf:"bytes,2,opt,name=gitiles_commit,json=gitilesCommit,proto3" json:"gitiles_commit,omitempty"`
   934  	// Gerrit patchsets to run against.
   935  	// Usually present in tryjobs, set by CQ, Gerrit, git-cl-try.
   936  	// Applied on top of gitiles_commit if specified, otherwise tip of the tree.
   937  	//
   938  	// V1 equivalent: supersedes patch_* properties and "buildset"
   939  	// tag that starts with "patch/gerrit/".
   940  	GerritChanges []*GerritChange `protobuf:"bytes,3,rep,name=gerrit_changes,json=gerritChanges,proto3" json:"gerrit_changes,omitempty"`
   941  	// DEPRECATED
   942  	//
   943  	// Equivalent to `"luci.non_production" in experiments`.
   944  	//
   945  	// See `Builder.experiments` for well-known experiments.
   946  	Experimental bool `protobuf:"varint,5,opt,name=experimental,proto3" json:"experimental,omitempty"`
   947  	// The sorted list of experiments enabled on this build.
   948  	//
   949  	// See `Builder.experiments` for a detailed breakdown on how experiments
   950  	// work, and go/buildbucket-settings.cfg for the current state of global
   951  	// experiments.
   952  	Experiments []string `protobuf:"bytes,6,rep,name=experiments,proto3" json:"experiments,omitempty"`
   953  }
   954  
   955  func (x *Build_Input) Reset() {
   956  	*x = Build_Input{}
   957  	if protoimpl.UnsafeEnabled {
   958  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[4]
   959  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   960  		ms.StoreMessageInfo(mi)
   961  	}
   962  }
   963  
   964  func (x *Build_Input) String() string {
   965  	return protoimpl.X.MessageStringOf(x)
   966  }
   967  
   968  func (*Build_Input) ProtoMessage() {}
   969  
   970  func (x *Build_Input) ProtoReflect() protoreflect.Message {
   971  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[4]
   972  	if protoimpl.UnsafeEnabled && x != nil {
   973  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   974  		if ms.LoadMessageInfo() == nil {
   975  			ms.StoreMessageInfo(mi)
   976  		}
   977  		return ms
   978  	}
   979  	return mi.MessageOf(x)
   980  }
   981  
   982  // Deprecated: Use Build_Input.ProtoReflect.Descriptor instead.
   983  func (*Build_Input) Descriptor() ([]byte, []int) {
   984  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{0, 0}
   985  }
   986  
   987  func (x *Build_Input) GetProperties() *structpb.Struct {
   988  	if x != nil {
   989  		return x.Properties
   990  	}
   991  	return nil
   992  }
   993  
   994  func (x *Build_Input) GetGitilesCommit() *GitilesCommit {
   995  	if x != nil {
   996  		return x.GitilesCommit
   997  	}
   998  	return nil
   999  }
  1000  
  1001  func (x *Build_Input) GetGerritChanges() []*GerritChange {
  1002  	if x != nil {
  1003  		return x.GerritChanges
  1004  	}
  1005  	return nil
  1006  }
  1007  
  1008  func (x *Build_Input) GetExperimental() bool {
  1009  	if x != nil {
  1010  		return x.Experimental
  1011  	}
  1012  	return false
  1013  }
  1014  
  1015  func (x *Build_Input) GetExperiments() []string {
  1016  	if x != nil {
  1017  		return x.Experiments
  1018  	}
  1019  	return nil
  1020  }
  1021  
  1022  // Result of the build executable.
  1023  type Build_Output struct {
  1024  	state         protoimpl.MessageState
  1025  	sizeCache     protoimpl.SizeCache
  1026  	unknownFields protoimpl.UnknownFields
  1027  
  1028  	// Arbitrary JSON object produced by the build.
  1029  	//
  1030  	// In recipes, use step_result.presentation.properties to set these,
  1031  	// for example
  1032  	//
  1033  	//	step_result = api.step(['echo'])
  1034  	//	step_result.presentation.properties['foo'] = 'bar'
  1035  	//
  1036  	// More docs: https://chromium.googlesource.com/infra/luci/recipes-py/+/HEAD/doc/old_user_guide.md#Setting-properties
  1037  	//
  1038  	// V1 equivalent: corresponds to "properties" key in
  1039  	// "result_details_json".
  1040  	// In V1 output properties are not populated until build ends.
  1041  	Properties *structpb.Struct `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
  1042  	// Build checked out and executed on this commit.
  1043  	//
  1044  	// Should correspond to Build.Input.gitiles_commit.
  1045  	// May be present even if Build.Input.gitiles_commit is not set, for example
  1046  	// in cron builders.
  1047  	//
  1048  	// V1 equivalent: this supersedes all got_revision output property.
  1049  	GitilesCommit *GitilesCommit `protobuf:"bytes,3,opt,name=gitiles_commit,json=gitilesCommit,proto3" json:"gitiles_commit,omitempty"`
  1050  	// Logs produced by the build script, typically "stdout" and "stderr".
  1051  	Logs []*Log `protobuf:"bytes,5,rep,name=logs,proto3" json:"logs,omitempty"`
  1052  	// Build status which is reported by the client via StartBuild or UpdateBuild.
  1053  	Status        Status         `protobuf:"varint,6,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
  1054  	StatusDetails *StatusDetails `protobuf:"bytes,7,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
  1055  	// Deprecated. Use summary_markdown instead.
  1056  	//
  1057  	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  1058  	SummaryHtml     string `protobuf:"bytes,8,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
  1059  	SummaryMarkdown string `protobuf:"bytes,2,opt,name=summary_markdown,json=summaryMarkdown,proto3" json:"summary_markdown,omitempty"`
  1060  }
  1061  
  1062  func (x *Build_Output) Reset() {
  1063  	*x = Build_Output{}
  1064  	if protoimpl.UnsafeEnabled {
  1065  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[5]
  1066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1067  		ms.StoreMessageInfo(mi)
  1068  	}
  1069  }
  1070  
  1071  func (x *Build_Output) String() string {
  1072  	return protoimpl.X.MessageStringOf(x)
  1073  }
  1074  
  1075  func (*Build_Output) ProtoMessage() {}
  1076  
  1077  func (x *Build_Output) ProtoReflect() protoreflect.Message {
  1078  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[5]
  1079  	if protoimpl.UnsafeEnabled && x != nil {
  1080  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1081  		if ms.LoadMessageInfo() == nil {
  1082  			ms.StoreMessageInfo(mi)
  1083  		}
  1084  		return ms
  1085  	}
  1086  	return mi.MessageOf(x)
  1087  }
  1088  
  1089  // Deprecated: Use Build_Output.ProtoReflect.Descriptor instead.
  1090  func (*Build_Output) Descriptor() ([]byte, []int) {
  1091  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{0, 1}
  1092  }
  1093  
  1094  func (x *Build_Output) GetProperties() *structpb.Struct {
  1095  	if x != nil {
  1096  		return x.Properties
  1097  	}
  1098  	return nil
  1099  }
  1100  
  1101  func (x *Build_Output) GetGitilesCommit() *GitilesCommit {
  1102  	if x != nil {
  1103  		return x.GitilesCommit
  1104  	}
  1105  	return nil
  1106  }
  1107  
  1108  func (x *Build_Output) GetLogs() []*Log {
  1109  	if x != nil {
  1110  		return x.Logs
  1111  	}
  1112  	return nil
  1113  }
  1114  
  1115  func (x *Build_Output) GetStatus() Status {
  1116  	if x != nil {
  1117  		return x.Status
  1118  	}
  1119  	return Status_STATUS_UNSPECIFIED
  1120  }
  1121  
  1122  func (x *Build_Output) GetStatusDetails() *StatusDetails {
  1123  	if x != nil {
  1124  		return x.StatusDetails
  1125  	}
  1126  	return nil
  1127  }
  1128  
  1129  // Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  1130  func (x *Build_Output) GetSummaryHtml() string {
  1131  	if x != nil {
  1132  		return x.SummaryHtml
  1133  	}
  1134  	return ""
  1135  }
  1136  
  1137  func (x *Build_Output) GetSummaryMarkdown() string {
  1138  	if x != nil {
  1139  		return x.SummaryMarkdown
  1140  	}
  1141  	return ""
  1142  }
  1143  
  1144  // Information of the builder, propagated from builder config.
  1145  //
  1146  // The info captures the state of the builder at creation time.
  1147  // If any information is updated, all future builds will have the new
  1148  // information, while the historical builds persist the old information.
  1149  type Build_BuilderInfo struct {
  1150  	state         protoimpl.MessageState
  1151  	sizeCache     protoimpl.SizeCache
  1152  	unknownFields protoimpl.UnknownFields
  1153  
  1154  	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
  1155  }
  1156  
  1157  func (x *Build_BuilderInfo) Reset() {
  1158  	*x = Build_BuilderInfo{}
  1159  	if protoimpl.UnsafeEnabled {
  1160  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[6]
  1161  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1162  		ms.StoreMessageInfo(mi)
  1163  	}
  1164  }
  1165  
  1166  func (x *Build_BuilderInfo) String() string {
  1167  	return protoimpl.X.MessageStringOf(x)
  1168  }
  1169  
  1170  func (*Build_BuilderInfo) ProtoMessage() {}
  1171  
  1172  func (x *Build_BuilderInfo) ProtoReflect() protoreflect.Message {
  1173  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[6]
  1174  	if protoimpl.UnsafeEnabled && x != nil {
  1175  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1176  		if ms.LoadMessageInfo() == nil {
  1177  			ms.StoreMessageInfo(mi)
  1178  		}
  1179  		return ms
  1180  	}
  1181  	return mi.MessageOf(x)
  1182  }
  1183  
  1184  // Deprecated: Use Build_BuilderInfo.ProtoReflect.Descriptor instead.
  1185  func (*Build_BuilderInfo) Descriptor() ([]byte, []int) {
  1186  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{0, 2}
  1187  }
  1188  
  1189  func (x *Build_BuilderInfo) GetDescription() string {
  1190  	if x != nil {
  1191  		return x.Description
  1192  	}
  1193  	return ""
  1194  }
  1195  
  1196  type InputDataRef_CAS struct {
  1197  	state         protoimpl.MessageState
  1198  	sizeCache     protoimpl.SizeCache
  1199  	unknownFields protoimpl.UnknownFields
  1200  
  1201  	// Full name of RBE-CAS instance. `projects/{project_id}/instances/{instance}`.
  1202  	// e.g. projects/chromium-swarm/instances/default_instance
  1203  	CasInstance string                   `protobuf:"bytes,1,opt,name=cas_instance,json=casInstance,proto3" json:"cas_instance,omitempty"`
  1204  	Digest      *InputDataRef_CAS_Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
  1205  }
  1206  
  1207  func (x *InputDataRef_CAS) Reset() {
  1208  	*x = InputDataRef_CAS{}
  1209  	if protoimpl.UnsafeEnabled {
  1210  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[7]
  1211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1212  		ms.StoreMessageInfo(mi)
  1213  	}
  1214  }
  1215  
  1216  func (x *InputDataRef_CAS) String() string {
  1217  	return protoimpl.X.MessageStringOf(x)
  1218  }
  1219  
  1220  func (*InputDataRef_CAS) ProtoMessage() {}
  1221  
  1222  func (x *InputDataRef_CAS) ProtoReflect() protoreflect.Message {
  1223  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[7]
  1224  	if protoimpl.UnsafeEnabled && x != nil {
  1225  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1226  		if ms.LoadMessageInfo() == nil {
  1227  			ms.StoreMessageInfo(mi)
  1228  		}
  1229  		return ms
  1230  	}
  1231  	return mi.MessageOf(x)
  1232  }
  1233  
  1234  // Deprecated: Use InputDataRef_CAS.ProtoReflect.Descriptor instead.
  1235  func (*InputDataRef_CAS) Descriptor() ([]byte, []int) {
  1236  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{1, 0}
  1237  }
  1238  
  1239  func (x *InputDataRef_CAS) GetCasInstance() string {
  1240  	if x != nil {
  1241  		return x.CasInstance
  1242  	}
  1243  	return ""
  1244  }
  1245  
  1246  func (x *InputDataRef_CAS) GetDigest() *InputDataRef_CAS_Digest {
  1247  	if x != nil {
  1248  		return x.Digest
  1249  	}
  1250  	return nil
  1251  }
  1252  
  1253  type InputDataRef_CIPD struct {
  1254  	state         protoimpl.MessageState
  1255  	sizeCache     protoimpl.SizeCache
  1256  	unknownFields protoimpl.UnknownFields
  1257  
  1258  	Server string                       `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
  1259  	Specs  []*InputDataRef_CIPD_PkgSpec `protobuf:"bytes,2,rep,name=specs,proto3" json:"specs,omitempty"`
  1260  }
  1261  
  1262  func (x *InputDataRef_CIPD) Reset() {
  1263  	*x = InputDataRef_CIPD{}
  1264  	if protoimpl.UnsafeEnabled {
  1265  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[8]
  1266  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1267  		ms.StoreMessageInfo(mi)
  1268  	}
  1269  }
  1270  
  1271  func (x *InputDataRef_CIPD) String() string {
  1272  	return protoimpl.X.MessageStringOf(x)
  1273  }
  1274  
  1275  func (*InputDataRef_CIPD) ProtoMessage() {}
  1276  
  1277  func (x *InputDataRef_CIPD) ProtoReflect() protoreflect.Message {
  1278  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[8]
  1279  	if protoimpl.UnsafeEnabled && x != nil {
  1280  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1281  		if ms.LoadMessageInfo() == nil {
  1282  			ms.StoreMessageInfo(mi)
  1283  		}
  1284  		return ms
  1285  	}
  1286  	return mi.MessageOf(x)
  1287  }
  1288  
  1289  // Deprecated: Use InputDataRef_CIPD.ProtoReflect.Descriptor instead.
  1290  func (*InputDataRef_CIPD) Descriptor() ([]byte, []int) {
  1291  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{1, 1}
  1292  }
  1293  
  1294  func (x *InputDataRef_CIPD) GetServer() string {
  1295  	if x != nil {
  1296  		return x.Server
  1297  	}
  1298  	return ""
  1299  }
  1300  
  1301  func (x *InputDataRef_CIPD) GetSpecs() []*InputDataRef_CIPD_PkgSpec {
  1302  	if x != nil {
  1303  		return x.Specs
  1304  	}
  1305  	return nil
  1306  }
  1307  
  1308  // This is a [Digest][build.bazel.remote.execution.v2.Digest] of a blob on
  1309  // RBE-CAS. See the explanations at the original definition.
  1310  // https://github.com/bazelbuild/remote-apis/blob/77cfb44a88577a7ade5dd2400425f6d50469ec6d/build/bazel/remote/execution/v2/remote_execution.proto#L753-L791
  1311  type InputDataRef_CAS_Digest struct {
  1312  	state         protoimpl.MessageState
  1313  	sizeCache     protoimpl.SizeCache
  1314  	unknownFields protoimpl.UnknownFields
  1315  
  1316  	Hash      string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
  1317  	SizeBytes int64  `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
  1318  }
  1319  
  1320  func (x *InputDataRef_CAS_Digest) Reset() {
  1321  	*x = InputDataRef_CAS_Digest{}
  1322  	if protoimpl.UnsafeEnabled {
  1323  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[9]
  1324  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1325  		ms.StoreMessageInfo(mi)
  1326  	}
  1327  }
  1328  
  1329  func (x *InputDataRef_CAS_Digest) String() string {
  1330  	return protoimpl.X.MessageStringOf(x)
  1331  }
  1332  
  1333  func (*InputDataRef_CAS_Digest) ProtoMessage() {}
  1334  
  1335  func (x *InputDataRef_CAS_Digest) ProtoReflect() protoreflect.Message {
  1336  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[9]
  1337  	if protoimpl.UnsafeEnabled && x != nil {
  1338  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1339  		if ms.LoadMessageInfo() == nil {
  1340  			ms.StoreMessageInfo(mi)
  1341  		}
  1342  		return ms
  1343  	}
  1344  	return mi.MessageOf(x)
  1345  }
  1346  
  1347  // Deprecated: Use InputDataRef_CAS_Digest.ProtoReflect.Descriptor instead.
  1348  func (*InputDataRef_CAS_Digest) Descriptor() ([]byte, []int) {
  1349  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{1, 0, 0}
  1350  }
  1351  
  1352  func (x *InputDataRef_CAS_Digest) GetHash() string {
  1353  	if x != nil {
  1354  		return x.Hash
  1355  	}
  1356  	return ""
  1357  }
  1358  
  1359  func (x *InputDataRef_CAS_Digest) GetSizeBytes() int64 {
  1360  	if x != nil {
  1361  		return x.SizeBytes
  1362  	}
  1363  	return 0
  1364  }
  1365  
  1366  type InputDataRef_CIPD_PkgSpec struct {
  1367  	state         protoimpl.MessageState
  1368  	sizeCache     protoimpl.SizeCache
  1369  	unknownFields protoimpl.UnknownFields
  1370  
  1371  	// Package MAY include CIPD variables, including conditional variables like
  1372  	// `${os=windows}`. Additionally, version may be a ref or a tag.
  1373  	Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"`
  1374  	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1375  }
  1376  
  1377  func (x *InputDataRef_CIPD_PkgSpec) Reset() {
  1378  	*x = InputDataRef_CIPD_PkgSpec{}
  1379  	if protoimpl.UnsafeEnabled {
  1380  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[10]
  1381  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1382  		ms.StoreMessageInfo(mi)
  1383  	}
  1384  }
  1385  
  1386  func (x *InputDataRef_CIPD_PkgSpec) String() string {
  1387  	return protoimpl.X.MessageStringOf(x)
  1388  }
  1389  
  1390  func (*InputDataRef_CIPD_PkgSpec) ProtoMessage() {}
  1391  
  1392  func (x *InputDataRef_CIPD_PkgSpec) ProtoReflect() protoreflect.Message {
  1393  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[10]
  1394  	if protoimpl.UnsafeEnabled && x != nil {
  1395  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1396  		if ms.LoadMessageInfo() == nil {
  1397  			ms.StoreMessageInfo(mi)
  1398  		}
  1399  		return ms
  1400  	}
  1401  	return mi.MessageOf(x)
  1402  }
  1403  
  1404  // Deprecated: Use InputDataRef_CIPD_PkgSpec.ProtoReflect.Descriptor instead.
  1405  func (*InputDataRef_CIPD_PkgSpec) Descriptor() ([]byte, []int) {
  1406  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{1, 1, 0}
  1407  }
  1408  
  1409  func (x *InputDataRef_CIPD_PkgSpec) GetPackage() string {
  1410  	if x != nil {
  1411  		return x.Package
  1412  	}
  1413  	return ""
  1414  }
  1415  
  1416  func (x *InputDataRef_CIPD_PkgSpec) GetVersion() string {
  1417  	if x != nil {
  1418  		return x.Version
  1419  	}
  1420  	return ""
  1421  }
  1422  
  1423  type ResolvedDataRef_Timing struct {
  1424  	state         protoimpl.MessageState
  1425  	sizeCache     protoimpl.SizeCache
  1426  	unknownFields protoimpl.UnknownFields
  1427  
  1428  	FetchDuration   *durationpb.Duration `protobuf:"bytes,1,opt,name=fetch_duration,json=fetchDuration,proto3" json:"fetch_duration,omitempty"`
  1429  	InstallDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=install_duration,json=installDuration,proto3" json:"install_duration,omitempty"`
  1430  }
  1431  
  1432  func (x *ResolvedDataRef_Timing) Reset() {
  1433  	*x = ResolvedDataRef_Timing{}
  1434  	if protoimpl.UnsafeEnabled {
  1435  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[11]
  1436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1437  		ms.StoreMessageInfo(mi)
  1438  	}
  1439  }
  1440  
  1441  func (x *ResolvedDataRef_Timing) String() string {
  1442  	return protoimpl.X.MessageStringOf(x)
  1443  }
  1444  
  1445  func (*ResolvedDataRef_Timing) ProtoMessage() {}
  1446  
  1447  func (x *ResolvedDataRef_Timing) ProtoReflect() protoreflect.Message {
  1448  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[11]
  1449  	if protoimpl.UnsafeEnabled && x != nil {
  1450  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1451  		if ms.LoadMessageInfo() == nil {
  1452  			ms.StoreMessageInfo(mi)
  1453  		}
  1454  		return ms
  1455  	}
  1456  	return mi.MessageOf(x)
  1457  }
  1458  
  1459  // Deprecated: Use ResolvedDataRef_Timing.ProtoReflect.Descriptor instead.
  1460  func (*ResolvedDataRef_Timing) Descriptor() ([]byte, []int) {
  1461  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{2, 0}
  1462  }
  1463  
  1464  func (x *ResolvedDataRef_Timing) GetFetchDuration() *durationpb.Duration {
  1465  	if x != nil {
  1466  		return x.FetchDuration
  1467  	}
  1468  	return nil
  1469  }
  1470  
  1471  func (x *ResolvedDataRef_Timing) GetInstallDuration() *durationpb.Duration {
  1472  	if x != nil {
  1473  		return x.InstallDuration
  1474  	}
  1475  	return nil
  1476  }
  1477  
  1478  type ResolvedDataRef_CAS struct {
  1479  	state         protoimpl.MessageState
  1480  	sizeCache     protoimpl.SizeCache
  1481  	unknownFields protoimpl.UnknownFields
  1482  
  1483  	// TODO(crbug.com/1266060): potential fields can be
  1484  	// int64 cache_hits = ?;
  1485  	// int64 cache_hit_size = ?:
  1486  	// int64 cache_misses = ?;
  1487  	// int64 cache_miss_size = ?;
  1488  	// need more thinking and better to determine when starting writing code
  1489  	// to download binaries in bbagent.
  1490  	Timing *ResolvedDataRef_Timing `protobuf:"bytes,1,opt,name=timing,proto3" json:"timing,omitempty"`
  1491  }
  1492  
  1493  func (x *ResolvedDataRef_CAS) Reset() {
  1494  	*x = ResolvedDataRef_CAS{}
  1495  	if protoimpl.UnsafeEnabled {
  1496  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[12]
  1497  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1498  		ms.StoreMessageInfo(mi)
  1499  	}
  1500  }
  1501  
  1502  func (x *ResolvedDataRef_CAS) String() string {
  1503  	return protoimpl.X.MessageStringOf(x)
  1504  }
  1505  
  1506  func (*ResolvedDataRef_CAS) ProtoMessage() {}
  1507  
  1508  func (x *ResolvedDataRef_CAS) ProtoReflect() protoreflect.Message {
  1509  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[12]
  1510  	if protoimpl.UnsafeEnabled && x != nil {
  1511  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1512  		if ms.LoadMessageInfo() == nil {
  1513  			ms.StoreMessageInfo(mi)
  1514  		}
  1515  		return ms
  1516  	}
  1517  	return mi.MessageOf(x)
  1518  }
  1519  
  1520  // Deprecated: Use ResolvedDataRef_CAS.ProtoReflect.Descriptor instead.
  1521  func (*ResolvedDataRef_CAS) Descriptor() ([]byte, []int) {
  1522  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{2, 1}
  1523  }
  1524  
  1525  func (x *ResolvedDataRef_CAS) GetTiming() *ResolvedDataRef_Timing {
  1526  	if x != nil {
  1527  		return x.Timing
  1528  	}
  1529  	return nil
  1530  }
  1531  
  1532  type ResolvedDataRef_CIPD struct {
  1533  	state         protoimpl.MessageState
  1534  	sizeCache     protoimpl.SizeCache
  1535  	unknownFields protoimpl.UnknownFields
  1536  
  1537  	Specs []*ResolvedDataRef_CIPD_PkgSpec `protobuf:"bytes,2,rep,name=specs,proto3" json:"specs,omitempty"`
  1538  }
  1539  
  1540  func (x *ResolvedDataRef_CIPD) Reset() {
  1541  	*x = ResolvedDataRef_CIPD{}
  1542  	if protoimpl.UnsafeEnabled {
  1543  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[13]
  1544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1545  		ms.StoreMessageInfo(mi)
  1546  	}
  1547  }
  1548  
  1549  func (x *ResolvedDataRef_CIPD) String() string {
  1550  	return protoimpl.X.MessageStringOf(x)
  1551  }
  1552  
  1553  func (*ResolvedDataRef_CIPD) ProtoMessage() {}
  1554  
  1555  func (x *ResolvedDataRef_CIPD) ProtoReflect() protoreflect.Message {
  1556  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[13]
  1557  	if protoimpl.UnsafeEnabled && x != nil {
  1558  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1559  		if ms.LoadMessageInfo() == nil {
  1560  			ms.StoreMessageInfo(mi)
  1561  		}
  1562  		return ms
  1563  	}
  1564  	return mi.MessageOf(x)
  1565  }
  1566  
  1567  // Deprecated: Use ResolvedDataRef_CIPD.ProtoReflect.Descriptor instead.
  1568  func (*ResolvedDataRef_CIPD) Descriptor() ([]byte, []int) {
  1569  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{2, 2}
  1570  }
  1571  
  1572  func (x *ResolvedDataRef_CIPD) GetSpecs() []*ResolvedDataRef_CIPD_PkgSpec {
  1573  	if x != nil {
  1574  		return x.Specs
  1575  	}
  1576  	return nil
  1577  }
  1578  
  1579  type ResolvedDataRef_CIPD_PkgSpec struct {
  1580  	state         protoimpl.MessageState
  1581  	sizeCache     protoimpl.SizeCache
  1582  	unknownFields protoimpl.UnknownFields
  1583  
  1584  	// True if this package wasn't installed because `package` contained a
  1585  	// non-applicable conditional (e.g. ${os=windows} on a mac machine).
  1586  	Skipped   bool                    `protobuf:"varint,1,opt,name=skipped,proto3" json:"skipped,omitempty"`
  1587  	Package   string                  `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"` // fully resolved
  1588  	Version   string                  `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // fully resolved
  1589  	WasCached Trinary                 `protobuf:"varint,4,opt,name=was_cached,json=wasCached,proto3,enum=buildbucket.v2.Trinary" json:"was_cached,omitempty"`
  1590  	Timing    *ResolvedDataRef_Timing `protobuf:"bytes,5,opt,name=timing,proto3" json:"timing,omitempty"` // optional
  1591  }
  1592  
  1593  func (x *ResolvedDataRef_CIPD_PkgSpec) Reset() {
  1594  	*x = ResolvedDataRef_CIPD_PkgSpec{}
  1595  	if protoimpl.UnsafeEnabled {
  1596  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[14]
  1597  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1598  		ms.StoreMessageInfo(mi)
  1599  	}
  1600  }
  1601  
  1602  func (x *ResolvedDataRef_CIPD_PkgSpec) String() string {
  1603  	return protoimpl.X.MessageStringOf(x)
  1604  }
  1605  
  1606  func (*ResolvedDataRef_CIPD_PkgSpec) ProtoMessage() {}
  1607  
  1608  func (x *ResolvedDataRef_CIPD_PkgSpec) ProtoReflect() protoreflect.Message {
  1609  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[14]
  1610  	if protoimpl.UnsafeEnabled && x != nil {
  1611  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1612  		if ms.LoadMessageInfo() == nil {
  1613  			ms.StoreMessageInfo(mi)
  1614  		}
  1615  		return ms
  1616  	}
  1617  	return mi.MessageOf(x)
  1618  }
  1619  
  1620  // Deprecated: Use ResolvedDataRef_CIPD_PkgSpec.ProtoReflect.Descriptor instead.
  1621  func (*ResolvedDataRef_CIPD_PkgSpec) Descriptor() ([]byte, []int) {
  1622  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{2, 2, 0}
  1623  }
  1624  
  1625  func (x *ResolvedDataRef_CIPD_PkgSpec) GetSkipped() bool {
  1626  	if x != nil {
  1627  		return x.Skipped
  1628  	}
  1629  	return false
  1630  }
  1631  
  1632  func (x *ResolvedDataRef_CIPD_PkgSpec) GetPackage() string {
  1633  	if x != nil {
  1634  		return x.Package
  1635  	}
  1636  	return ""
  1637  }
  1638  
  1639  func (x *ResolvedDataRef_CIPD_PkgSpec) GetVersion() string {
  1640  	if x != nil {
  1641  		return x.Version
  1642  	}
  1643  	return ""
  1644  }
  1645  
  1646  func (x *ResolvedDataRef_CIPD_PkgSpec) GetWasCached() Trinary {
  1647  	if x != nil {
  1648  		return x.WasCached
  1649  	}
  1650  	return Trinary_UNSET
  1651  }
  1652  
  1653  func (x *ResolvedDataRef_CIPD_PkgSpec) GetTiming() *ResolvedDataRef_Timing {
  1654  	if x != nil {
  1655  		return x.Timing
  1656  	}
  1657  	return nil
  1658  }
  1659  
  1660  // Buildbucket-specific information, captured at the build creation time.
  1661  type BuildInfra_Buildbucket struct {
  1662  	state         protoimpl.MessageState
  1663  	sizeCache     protoimpl.SizeCache
  1664  	unknownFields protoimpl.UnknownFields
  1665  
  1666  	// Version of swarming task template. Defines
  1667  	// versions of kitchen, git, git wrapper, python, vpython, etc.
  1668  	ServiceConfigRevision string `protobuf:"bytes,2,opt,name=service_config_revision,json=serviceConfigRevision,proto3" json:"service_config_revision,omitempty"`
  1669  	// Properties that were specified in ScheduleBuildRequest to create this
  1670  	// build.
  1671  	//
  1672  	// In particular, CQ uses this to decide whether the build created by
  1673  	// someone else is appropriate for CQ, e.g. it was created with the same
  1674  	// properties that CQ would use.
  1675  	RequestedProperties *structpb.Struct `protobuf:"bytes,5,opt,name=requested_properties,json=requestedProperties,proto3" json:"requested_properties,omitempty"`
  1676  	// Dimensions that were specified in ScheduleBuildRequest to create this
  1677  	// build.
  1678  	RequestedDimensions []*RequestedDimension `protobuf:"bytes,6,rep,name=requested_dimensions,json=requestedDimensions,proto3" json:"requested_dimensions,omitempty"`
  1679  	// Buildbucket hostname, e.g. "cr-buildbucket.appspot.com".
  1680  	Hostname string `protobuf:"bytes,7,opt,name=hostname,proto3" json:"hostname,omitempty"`
  1681  	// This contains a map of all the experiments involved for this build, as
  1682  	// well as which bit of configuration lead to them being set (or unset).
  1683  	//
  1684  	// Note that if the reason here is EXPERIMENT_REASON_GLOBAL_INACTIVE,
  1685  	// then that means that the experiment is completely disabled and has no
  1686  	// effect, but your builder or ScheduleBuildRequest still indicated that
  1687  	// the experiment should be set. If you see this, then please remove it
  1688  	// from your configuration and/or requests.
  1689  	ExperimentReasons map[string]BuildInfra_Buildbucket_ExperimentReason `protobuf:"bytes,8,rep,name=experiment_reasons,json=experimentReasons,proto3" json:"experiment_reasons,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=buildbucket.v2.BuildInfra_Buildbucket_ExperimentReason"`
  1690  	// The agent binary (bbagent or kitchen) resolutions Buildbucket made for this build.
  1691  	// This includes all agent_executable references supplied to
  1692  	// the TaskBackend in "original" (CIPD) form, to facilitate debugging.
  1693  	// DEPRECATED: Use agent.source instead.
  1694  	//
  1695  	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  1696  	AgentExecutable        map[string]*ResolvedDataRef   `protobuf:"bytes,9,rep,name=agent_executable,json=agentExecutable,proto3" json:"agent_executable,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1697  	Agent                  *BuildInfra_Buildbucket_Agent `protobuf:"bytes,10,opt,name=agent,proto3" json:"agent,omitempty"`
  1698  	KnownPublicGerritHosts []string                      `protobuf:"bytes,11,rep,name=known_public_gerrit_hosts,json=knownPublicGerritHosts,proto3" json:"known_public_gerrit_hosts,omitempty"`
  1699  	// Flag for if the build should have a build number.
  1700  	BuildNumber bool `protobuf:"varint,12,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
  1701  }
  1702  
  1703  func (x *BuildInfra_Buildbucket) Reset() {
  1704  	*x = BuildInfra_Buildbucket{}
  1705  	if protoimpl.UnsafeEnabled {
  1706  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[15]
  1707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1708  		ms.StoreMessageInfo(mi)
  1709  	}
  1710  }
  1711  
  1712  func (x *BuildInfra_Buildbucket) String() string {
  1713  	return protoimpl.X.MessageStringOf(x)
  1714  }
  1715  
  1716  func (*BuildInfra_Buildbucket) ProtoMessage() {}
  1717  
  1718  func (x *BuildInfra_Buildbucket) ProtoReflect() protoreflect.Message {
  1719  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[15]
  1720  	if protoimpl.UnsafeEnabled && x != nil {
  1721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1722  		if ms.LoadMessageInfo() == nil {
  1723  			ms.StoreMessageInfo(mi)
  1724  		}
  1725  		return ms
  1726  	}
  1727  	return mi.MessageOf(x)
  1728  }
  1729  
  1730  // Deprecated: Use BuildInfra_Buildbucket.ProtoReflect.Descriptor instead.
  1731  func (*BuildInfra_Buildbucket) Descriptor() ([]byte, []int) {
  1732  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0}
  1733  }
  1734  
  1735  func (x *BuildInfra_Buildbucket) GetServiceConfigRevision() string {
  1736  	if x != nil {
  1737  		return x.ServiceConfigRevision
  1738  	}
  1739  	return ""
  1740  }
  1741  
  1742  func (x *BuildInfra_Buildbucket) GetRequestedProperties() *structpb.Struct {
  1743  	if x != nil {
  1744  		return x.RequestedProperties
  1745  	}
  1746  	return nil
  1747  }
  1748  
  1749  func (x *BuildInfra_Buildbucket) GetRequestedDimensions() []*RequestedDimension {
  1750  	if x != nil {
  1751  		return x.RequestedDimensions
  1752  	}
  1753  	return nil
  1754  }
  1755  
  1756  func (x *BuildInfra_Buildbucket) GetHostname() string {
  1757  	if x != nil {
  1758  		return x.Hostname
  1759  	}
  1760  	return ""
  1761  }
  1762  
  1763  func (x *BuildInfra_Buildbucket) GetExperimentReasons() map[string]BuildInfra_Buildbucket_ExperimentReason {
  1764  	if x != nil {
  1765  		return x.ExperimentReasons
  1766  	}
  1767  	return nil
  1768  }
  1769  
  1770  // Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  1771  func (x *BuildInfra_Buildbucket) GetAgentExecutable() map[string]*ResolvedDataRef {
  1772  	if x != nil {
  1773  		return x.AgentExecutable
  1774  	}
  1775  	return nil
  1776  }
  1777  
  1778  func (x *BuildInfra_Buildbucket) GetAgent() *BuildInfra_Buildbucket_Agent {
  1779  	if x != nil {
  1780  		return x.Agent
  1781  	}
  1782  	return nil
  1783  }
  1784  
  1785  func (x *BuildInfra_Buildbucket) GetKnownPublicGerritHosts() []string {
  1786  	if x != nil {
  1787  		return x.KnownPublicGerritHosts
  1788  	}
  1789  	return nil
  1790  }
  1791  
  1792  func (x *BuildInfra_Buildbucket) GetBuildNumber() bool {
  1793  	if x != nil {
  1794  		return x.BuildNumber
  1795  	}
  1796  	return false
  1797  }
  1798  
  1799  // Swarming-specific information.
  1800  //
  1801  // Next ID: 10.
  1802  type BuildInfra_Swarming struct {
  1803  	state         protoimpl.MessageState
  1804  	sizeCache     protoimpl.SizeCache
  1805  	unknownFields protoimpl.UnknownFields
  1806  
  1807  	// Swarming hostname, e.g. "chromium-swarm.appspot.com".
  1808  	// Populated at the build creation time.
  1809  	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
  1810  	// Swarming task id.
  1811  	// Not guaranteed to be populated at the build creation time.
  1812  	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  1813  	// Swarming run id of the parent task from which this build is triggered.
  1814  	// If set, swarming promises to ensure this build won't outlive its parent
  1815  	// swarming task (which may or may not itself be a Buildbucket build).
  1816  	// Populated at the build creation time.
  1817  	ParentRunId string `protobuf:"bytes,9,opt,name=parent_run_id,json=parentRunId,proto3" json:"parent_run_id,omitempty"`
  1818  	// Task service account email address.
  1819  	// This is the service account used for all authenticated requests by the
  1820  	// build.
  1821  	TaskServiceAccount string `protobuf:"bytes,3,opt,name=task_service_account,json=taskServiceAccount,proto3" json:"task_service_account,omitempty"`
  1822  	// Priority of the task. The lower the more important.
  1823  	// Valid values are [20..255].
  1824  	Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
  1825  	// Swarming dimensions for the task.
  1826  	TaskDimensions []*RequestedDimension `protobuf:"bytes,5,rep,name=task_dimensions,json=taskDimensions,proto3" json:"task_dimensions,omitempty"`
  1827  	// Swarming dimensions of the bot used for the task.
  1828  	BotDimensions []*StringPair `protobuf:"bytes,6,rep,name=bot_dimensions,json=botDimensions,proto3" json:"bot_dimensions,omitempty"`
  1829  	// Caches requested by this build.
  1830  	Caches []*BuildInfra_Swarming_CacheEntry `protobuf:"bytes,7,rep,name=caches,proto3" json:"caches,omitempty"`
  1831  }
  1832  
  1833  func (x *BuildInfra_Swarming) Reset() {
  1834  	*x = BuildInfra_Swarming{}
  1835  	if protoimpl.UnsafeEnabled {
  1836  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[16]
  1837  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1838  		ms.StoreMessageInfo(mi)
  1839  	}
  1840  }
  1841  
  1842  func (x *BuildInfra_Swarming) String() string {
  1843  	return protoimpl.X.MessageStringOf(x)
  1844  }
  1845  
  1846  func (*BuildInfra_Swarming) ProtoMessage() {}
  1847  
  1848  func (x *BuildInfra_Swarming) ProtoReflect() protoreflect.Message {
  1849  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[16]
  1850  	if protoimpl.UnsafeEnabled && x != nil {
  1851  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1852  		if ms.LoadMessageInfo() == nil {
  1853  			ms.StoreMessageInfo(mi)
  1854  		}
  1855  		return ms
  1856  	}
  1857  	return mi.MessageOf(x)
  1858  }
  1859  
  1860  // Deprecated: Use BuildInfra_Swarming.ProtoReflect.Descriptor instead.
  1861  func (*BuildInfra_Swarming) Descriptor() ([]byte, []int) {
  1862  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 1}
  1863  }
  1864  
  1865  func (x *BuildInfra_Swarming) GetHostname() string {
  1866  	if x != nil {
  1867  		return x.Hostname
  1868  	}
  1869  	return ""
  1870  }
  1871  
  1872  func (x *BuildInfra_Swarming) GetTaskId() string {
  1873  	if x != nil {
  1874  		return x.TaskId
  1875  	}
  1876  	return ""
  1877  }
  1878  
  1879  func (x *BuildInfra_Swarming) GetParentRunId() string {
  1880  	if x != nil {
  1881  		return x.ParentRunId
  1882  	}
  1883  	return ""
  1884  }
  1885  
  1886  func (x *BuildInfra_Swarming) GetTaskServiceAccount() string {
  1887  	if x != nil {
  1888  		return x.TaskServiceAccount
  1889  	}
  1890  	return ""
  1891  }
  1892  
  1893  func (x *BuildInfra_Swarming) GetPriority() int32 {
  1894  	if x != nil {
  1895  		return x.Priority
  1896  	}
  1897  	return 0
  1898  }
  1899  
  1900  func (x *BuildInfra_Swarming) GetTaskDimensions() []*RequestedDimension {
  1901  	if x != nil {
  1902  		return x.TaskDimensions
  1903  	}
  1904  	return nil
  1905  }
  1906  
  1907  func (x *BuildInfra_Swarming) GetBotDimensions() []*StringPair {
  1908  	if x != nil {
  1909  		return x.BotDimensions
  1910  	}
  1911  	return nil
  1912  }
  1913  
  1914  func (x *BuildInfra_Swarming) GetCaches() []*BuildInfra_Swarming_CacheEntry {
  1915  	if x != nil {
  1916  		return x.Caches
  1917  	}
  1918  	return nil
  1919  }
  1920  
  1921  // LogDog-specific information.
  1922  type BuildInfra_LogDog struct {
  1923  	state         protoimpl.MessageState
  1924  	sizeCache     protoimpl.SizeCache
  1925  	unknownFields protoimpl.UnknownFields
  1926  
  1927  	// LogDog hostname, e.g. "logs.chromium.org".
  1928  	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
  1929  	// LogDog project, e.g. "chromium".
  1930  	// Typically matches Build.builder.project.
  1931  	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
  1932  	// A slash-separated path prefix shared by all logs and artifacts of this
  1933  	// build.
  1934  	// No other build can have the same prefix.
  1935  	// Can be used to discover logs and/or load log contents.
  1936  	Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
  1937  }
  1938  
  1939  func (x *BuildInfra_LogDog) Reset() {
  1940  	*x = BuildInfra_LogDog{}
  1941  	if protoimpl.UnsafeEnabled {
  1942  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[17]
  1943  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1944  		ms.StoreMessageInfo(mi)
  1945  	}
  1946  }
  1947  
  1948  func (x *BuildInfra_LogDog) String() string {
  1949  	return protoimpl.X.MessageStringOf(x)
  1950  }
  1951  
  1952  func (*BuildInfra_LogDog) ProtoMessage() {}
  1953  
  1954  func (x *BuildInfra_LogDog) ProtoReflect() protoreflect.Message {
  1955  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[17]
  1956  	if protoimpl.UnsafeEnabled && x != nil {
  1957  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1958  		if ms.LoadMessageInfo() == nil {
  1959  			ms.StoreMessageInfo(mi)
  1960  		}
  1961  		return ms
  1962  	}
  1963  	return mi.MessageOf(x)
  1964  }
  1965  
  1966  // Deprecated: Use BuildInfra_LogDog.ProtoReflect.Descriptor instead.
  1967  func (*BuildInfra_LogDog) Descriptor() ([]byte, []int) {
  1968  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 2}
  1969  }
  1970  
  1971  func (x *BuildInfra_LogDog) GetHostname() string {
  1972  	if x != nil {
  1973  		return x.Hostname
  1974  	}
  1975  	return ""
  1976  }
  1977  
  1978  func (x *BuildInfra_LogDog) GetProject() string {
  1979  	if x != nil {
  1980  		return x.Project
  1981  	}
  1982  	return ""
  1983  }
  1984  
  1985  func (x *BuildInfra_LogDog) GetPrefix() string {
  1986  	if x != nil {
  1987  		return x.Prefix
  1988  	}
  1989  	return ""
  1990  }
  1991  
  1992  // Recipe-specific information.
  1993  type BuildInfra_Recipe struct {
  1994  	state         protoimpl.MessageState
  1995  	sizeCache     protoimpl.SizeCache
  1996  	unknownFields protoimpl.UnknownFields
  1997  
  1998  	// CIPD package name containing the recipe used to run this build.
  1999  	CipdPackage string `protobuf:"bytes,1,opt,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty"`
  2000  	// Name of the recipe used to run this build.
  2001  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  2002  }
  2003  
  2004  func (x *BuildInfra_Recipe) Reset() {
  2005  	*x = BuildInfra_Recipe{}
  2006  	if protoimpl.UnsafeEnabled {
  2007  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[18]
  2008  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2009  		ms.StoreMessageInfo(mi)
  2010  	}
  2011  }
  2012  
  2013  func (x *BuildInfra_Recipe) String() string {
  2014  	return protoimpl.X.MessageStringOf(x)
  2015  }
  2016  
  2017  func (*BuildInfra_Recipe) ProtoMessage() {}
  2018  
  2019  func (x *BuildInfra_Recipe) ProtoReflect() protoreflect.Message {
  2020  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[18]
  2021  	if protoimpl.UnsafeEnabled && x != nil {
  2022  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2023  		if ms.LoadMessageInfo() == nil {
  2024  			ms.StoreMessageInfo(mi)
  2025  		}
  2026  		return ms
  2027  	}
  2028  	return mi.MessageOf(x)
  2029  }
  2030  
  2031  // Deprecated: Use BuildInfra_Recipe.ProtoReflect.Descriptor instead.
  2032  func (*BuildInfra_Recipe) Descriptor() ([]byte, []int) {
  2033  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 3}
  2034  }
  2035  
  2036  func (x *BuildInfra_Recipe) GetCipdPackage() string {
  2037  	if x != nil {
  2038  		return x.CipdPackage
  2039  	}
  2040  	return ""
  2041  }
  2042  
  2043  func (x *BuildInfra_Recipe) GetName() string {
  2044  	if x != nil {
  2045  		return x.Name
  2046  	}
  2047  	return ""
  2048  }
  2049  
  2050  // ResultDB-specific information.
  2051  type BuildInfra_ResultDB struct {
  2052  	state         protoimpl.MessageState
  2053  	sizeCache     protoimpl.SizeCache
  2054  	unknownFields protoimpl.UnknownFields
  2055  
  2056  	// Hostname of the ResultDB instance, such as "results.api.cr.dev".
  2057  	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
  2058  	// Name of the invocation for results of this build.
  2059  	// Typically "invocations/build:<build_id>".
  2060  	Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"`
  2061  	// Whether to enable ResultDB:Buildbucket integration.
  2062  	Enable bool `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"`
  2063  	// Configuration for exporting test results to BigQuery.
  2064  	// This can have multiple values to export results to multiple BigQuery
  2065  	// tables, or to support multiple test result predicates.
  2066  	BqExports []*v1.BigQueryExport `protobuf:"bytes,4,rep,name=bq_exports,json=bqExports,proto3" json:"bq_exports,omitempty"`
  2067  	// Deprecated. Any values specified here are ignored.
  2068  	HistoryOptions *v1.HistoryOptions `protobuf:"bytes,5,opt,name=history_options,json=historyOptions,proto3" json:"history_options,omitempty"`
  2069  }
  2070  
  2071  func (x *BuildInfra_ResultDB) Reset() {
  2072  	*x = BuildInfra_ResultDB{}
  2073  	if protoimpl.UnsafeEnabled {
  2074  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[19]
  2075  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2076  		ms.StoreMessageInfo(mi)
  2077  	}
  2078  }
  2079  
  2080  func (x *BuildInfra_ResultDB) String() string {
  2081  	return protoimpl.X.MessageStringOf(x)
  2082  }
  2083  
  2084  func (*BuildInfra_ResultDB) ProtoMessage() {}
  2085  
  2086  func (x *BuildInfra_ResultDB) ProtoReflect() protoreflect.Message {
  2087  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[19]
  2088  	if protoimpl.UnsafeEnabled && x != nil {
  2089  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2090  		if ms.LoadMessageInfo() == nil {
  2091  			ms.StoreMessageInfo(mi)
  2092  		}
  2093  		return ms
  2094  	}
  2095  	return mi.MessageOf(x)
  2096  }
  2097  
  2098  // Deprecated: Use BuildInfra_ResultDB.ProtoReflect.Descriptor instead.
  2099  func (*BuildInfra_ResultDB) Descriptor() ([]byte, []int) {
  2100  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 4}
  2101  }
  2102  
  2103  func (x *BuildInfra_ResultDB) GetHostname() string {
  2104  	if x != nil {
  2105  		return x.Hostname
  2106  	}
  2107  	return ""
  2108  }
  2109  
  2110  func (x *BuildInfra_ResultDB) GetInvocation() string {
  2111  	if x != nil {
  2112  		return x.Invocation
  2113  	}
  2114  	return ""
  2115  }
  2116  
  2117  func (x *BuildInfra_ResultDB) GetEnable() bool {
  2118  	if x != nil {
  2119  		return x.Enable
  2120  	}
  2121  	return false
  2122  }
  2123  
  2124  func (x *BuildInfra_ResultDB) GetBqExports() []*v1.BigQueryExport {
  2125  	if x != nil {
  2126  		return x.BqExports
  2127  	}
  2128  	return nil
  2129  }
  2130  
  2131  func (x *BuildInfra_ResultDB) GetHistoryOptions() *v1.HistoryOptions {
  2132  	if x != nil {
  2133  		return x.HistoryOptions
  2134  	}
  2135  	return nil
  2136  }
  2137  
  2138  // Led specific information.
  2139  type BuildInfra_Led struct {
  2140  	state         protoimpl.MessageState
  2141  	sizeCache     protoimpl.SizeCache
  2142  	unknownFields protoimpl.UnknownFields
  2143  
  2144  	// The original bucket this led build is shadowing.
  2145  	ShadowedBucket string `protobuf:"bytes,1,opt,name=shadowed_bucket,json=shadowedBucket,proto3" json:"shadowed_bucket,omitempty"`
  2146  }
  2147  
  2148  func (x *BuildInfra_Led) Reset() {
  2149  	*x = BuildInfra_Led{}
  2150  	if protoimpl.UnsafeEnabled {
  2151  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[20]
  2152  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2153  		ms.StoreMessageInfo(mi)
  2154  	}
  2155  }
  2156  
  2157  func (x *BuildInfra_Led) String() string {
  2158  	return protoimpl.X.MessageStringOf(x)
  2159  }
  2160  
  2161  func (*BuildInfra_Led) ProtoMessage() {}
  2162  
  2163  func (x *BuildInfra_Led) ProtoReflect() protoreflect.Message {
  2164  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[20]
  2165  	if protoimpl.UnsafeEnabled && x != nil {
  2166  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2167  		if ms.LoadMessageInfo() == nil {
  2168  			ms.StoreMessageInfo(mi)
  2169  		}
  2170  		return ms
  2171  	}
  2172  	return mi.MessageOf(x)
  2173  }
  2174  
  2175  // Deprecated: Use BuildInfra_Led.ProtoReflect.Descriptor instead.
  2176  func (*BuildInfra_Led) Descriptor() ([]byte, []int) {
  2177  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 5}
  2178  }
  2179  
  2180  func (x *BuildInfra_Led) GetShadowedBucket() string {
  2181  	if x != nil {
  2182  		return x.ShadowedBucket
  2183  	}
  2184  	return ""
  2185  }
  2186  
  2187  // BBAgent-specific information.
  2188  //
  2189  // All paths are relateive to bbagent's working directory, and must be delimited
  2190  // with slashes ("/"), regardless of the host OS.
  2191  type BuildInfra_BBAgent struct {
  2192  	state         protoimpl.MessageState
  2193  	sizeCache     protoimpl.SizeCache
  2194  	unknownFields protoimpl.UnknownFields
  2195  
  2196  	// Path to the base of the user executable package.
  2197  	//
  2198  	// Required.
  2199  	PayloadPath string `protobuf:"bytes,1,opt,name=payload_path,json=payloadPath,proto3" json:"payload_path,omitempty"`
  2200  	// Path to a directory where each subdirectory is a cache dir.
  2201  	//
  2202  	// Required.
  2203  	CacheDir string `protobuf:"bytes,2,opt,name=cache_dir,json=cacheDir,proto3" json:"cache_dir,omitempty"`
  2204  	// List of Gerrit hosts to force git authentication for.
  2205  	//
  2206  	// By default public hosts are accessed anonymously, and the anonymous access
  2207  	// has very low quota. Context needs to know all such hostnames in advance to
  2208  	// be able to force authenticated access to them.
  2209  	//
  2210  	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2211  	KnownPublicGerritHosts []string `protobuf:"bytes,3,rep,name=known_public_gerrit_hosts,json=knownPublicGerritHosts,proto3" json:"known_public_gerrit_hosts,omitempty"`
  2212  	// DEPRECATED: Use build.Infra.Buildbucket.Agent.Input instead.
  2213  	//
  2214  	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2215  	Input *BuildInfra_BBAgent_Input `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"`
  2216  }
  2217  
  2218  func (x *BuildInfra_BBAgent) Reset() {
  2219  	*x = BuildInfra_BBAgent{}
  2220  	if protoimpl.UnsafeEnabled {
  2221  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[21]
  2222  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2223  		ms.StoreMessageInfo(mi)
  2224  	}
  2225  }
  2226  
  2227  func (x *BuildInfra_BBAgent) String() string {
  2228  	return protoimpl.X.MessageStringOf(x)
  2229  }
  2230  
  2231  func (*BuildInfra_BBAgent) ProtoMessage() {}
  2232  
  2233  func (x *BuildInfra_BBAgent) ProtoReflect() protoreflect.Message {
  2234  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[21]
  2235  	if protoimpl.UnsafeEnabled && x != nil {
  2236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2237  		if ms.LoadMessageInfo() == nil {
  2238  			ms.StoreMessageInfo(mi)
  2239  		}
  2240  		return ms
  2241  	}
  2242  	return mi.MessageOf(x)
  2243  }
  2244  
  2245  // Deprecated: Use BuildInfra_BBAgent.ProtoReflect.Descriptor instead.
  2246  func (*BuildInfra_BBAgent) Descriptor() ([]byte, []int) {
  2247  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 6}
  2248  }
  2249  
  2250  func (x *BuildInfra_BBAgent) GetPayloadPath() string {
  2251  	if x != nil {
  2252  		return x.PayloadPath
  2253  	}
  2254  	return ""
  2255  }
  2256  
  2257  func (x *BuildInfra_BBAgent) GetCacheDir() string {
  2258  	if x != nil {
  2259  		return x.CacheDir
  2260  	}
  2261  	return ""
  2262  }
  2263  
  2264  // Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2265  func (x *BuildInfra_BBAgent) GetKnownPublicGerritHosts() []string {
  2266  	if x != nil {
  2267  		return x.KnownPublicGerritHosts
  2268  	}
  2269  	return nil
  2270  }
  2271  
  2272  // Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2273  func (x *BuildInfra_BBAgent) GetInput() *BuildInfra_BBAgent_Input {
  2274  	if x != nil {
  2275  		return x.Input
  2276  	}
  2277  	return nil
  2278  }
  2279  
  2280  // Backend-specific information.
  2281  type BuildInfra_Backend struct {
  2282  	state         protoimpl.MessageState
  2283  	sizeCache     protoimpl.SizeCache
  2284  	unknownFields protoimpl.UnknownFields
  2285  
  2286  	// Configuration supplied to the backend at the time it was instructed to
  2287  	// run this build.
  2288  	Config *structpb.Struct `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
  2289  	// Current backend task status.
  2290  	// Updated as build runs.
  2291  	Task *Task `protobuf:"bytes,2,opt,name=task,proto3" json:"task,omitempty"`
  2292  	// Caches requested by this build.
  2293  	Caches []*CacheEntry `protobuf:"bytes,3,rep,name=caches,proto3" json:"caches,omitempty"`
  2294  	// Dimensions for the task.
  2295  	TaskDimensions []*RequestedDimension `protobuf:"bytes,5,rep,name=task_dimensions,json=taskDimensions,proto3" json:"task_dimensions,omitempty"`
  2296  	// Hostname is the hostname for the backend itself.
  2297  	Hostname string `protobuf:"bytes,6,opt,name=hostname,proto3" json:"hostname,omitempty"`
  2298  }
  2299  
  2300  func (x *BuildInfra_Backend) Reset() {
  2301  	*x = BuildInfra_Backend{}
  2302  	if protoimpl.UnsafeEnabled {
  2303  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[22]
  2304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2305  		ms.StoreMessageInfo(mi)
  2306  	}
  2307  }
  2308  
  2309  func (x *BuildInfra_Backend) String() string {
  2310  	return protoimpl.X.MessageStringOf(x)
  2311  }
  2312  
  2313  func (*BuildInfra_Backend) ProtoMessage() {}
  2314  
  2315  func (x *BuildInfra_Backend) ProtoReflect() protoreflect.Message {
  2316  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[22]
  2317  	if protoimpl.UnsafeEnabled && x != nil {
  2318  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2319  		if ms.LoadMessageInfo() == nil {
  2320  			ms.StoreMessageInfo(mi)
  2321  		}
  2322  		return ms
  2323  	}
  2324  	return mi.MessageOf(x)
  2325  }
  2326  
  2327  // Deprecated: Use BuildInfra_Backend.ProtoReflect.Descriptor instead.
  2328  func (*BuildInfra_Backend) Descriptor() ([]byte, []int) {
  2329  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 7}
  2330  }
  2331  
  2332  func (x *BuildInfra_Backend) GetConfig() *structpb.Struct {
  2333  	if x != nil {
  2334  		return x.Config
  2335  	}
  2336  	return nil
  2337  }
  2338  
  2339  func (x *BuildInfra_Backend) GetTask() *Task {
  2340  	if x != nil {
  2341  		return x.Task
  2342  	}
  2343  	return nil
  2344  }
  2345  
  2346  func (x *BuildInfra_Backend) GetCaches() []*CacheEntry {
  2347  	if x != nil {
  2348  		return x.Caches
  2349  	}
  2350  	return nil
  2351  }
  2352  
  2353  func (x *BuildInfra_Backend) GetTaskDimensions() []*RequestedDimension {
  2354  	if x != nil {
  2355  		return x.TaskDimensions
  2356  	}
  2357  	return nil
  2358  }
  2359  
  2360  func (x *BuildInfra_Backend) GetHostname() string {
  2361  	if x != nil {
  2362  		return x.Hostname
  2363  	}
  2364  	return ""
  2365  }
  2366  
  2367  // bbagent will interpret Agent.input, as well as update Agent.output.
  2368  type BuildInfra_Buildbucket_Agent struct {
  2369  	state         protoimpl.MessageState
  2370  	sizeCache     protoimpl.SizeCache
  2371  	unknownFields protoimpl.UnknownFields
  2372  
  2373  	// TODO(crbug.com/1297809): for a long-term solution, we may need to add
  2374  	// a top-level `on_path` array field in the input and read the value from
  2375  	// configuration files (eg.settings.cfg, builder configs). So it can store
  2376  	// the intended order of PATH env var. Then the per-inputDataRef level
  2377  	// `on_path` field will be deprecated.
  2378  	// Currently, the new BBagent flow merges all inputDataRef-level `on_path`
  2379  	// values and sort. This mimics the same behavior of PyBB backend in order
  2380  	// to have the cipd_installation migration to roll out first under a minimal risk.
  2381  	Input  *BuildInfra_Buildbucket_Agent_Input  `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
  2382  	Output *BuildInfra_Buildbucket_Agent_Output `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
  2383  	Source *BuildInfra_Buildbucket_Agent_Source `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
  2384  	// Maps the relative-to-root directory path in both `input` and `output`
  2385  	// to the Purpose of the software in that directory.
  2386  	//
  2387  	// If a path is not listed here, it is the same as PURPOSE_UNSPECIFIED.
  2388  	Purposes map[string]BuildInfra_Buildbucket_Agent_Purpose `protobuf:"bytes,4,rep,name=purposes,proto3" json:"purposes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=buildbucket.v2.BuildInfra_Buildbucket_Agent_Purpose"`
  2389  	// Cache for the cipd client.
  2390  	// The cache name should be in the format like `cipd_client_<sha(client_version)>`.
  2391  	CipdClientCache *CacheEntry `protobuf:"bytes,5,opt,name=cipd_client_cache,json=cipdClientCache,proto3" json:"cipd_client_cache,omitempty"`
  2392  	// Cache for the cipd packages.
  2393  	// The cache name should be in the format like `cipd_cache_<sha(task_service_account)>`.
  2394  	CipdPackagesCache *CacheEntry `protobuf:"bytes,6,opt,name=cipd_packages_cache,json=cipdPackagesCache,proto3" json:"cipd_packages_cache,omitempty"`
  2395  }
  2396  
  2397  func (x *BuildInfra_Buildbucket_Agent) Reset() {
  2398  	*x = BuildInfra_Buildbucket_Agent{}
  2399  	if protoimpl.UnsafeEnabled {
  2400  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[23]
  2401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2402  		ms.StoreMessageInfo(mi)
  2403  	}
  2404  }
  2405  
  2406  func (x *BuildInfra_Buildbucket_Agent) String() string {
  2407  	return protoimpl.X.MessageStringOf(x)
  2408  }
  2409  
  2410  func (*BuildInfra_Buildbucket_Agent) ProtoMessage() {}
  2411  
  2412  func (x *BuildInfra_Buildbucket_Agent) ProtoReflect() protoreflect.Message {
  2413  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[23]
  2414  	if protoimpl.UnsafeEnabled && x != nil {
  2415  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2416  		if ms.LoadMessageInfo() == nil {
  2417  			ms.StoreMessageInfo(mi)
  2418  		}
  2419  		return ms
  2420  	}
  2421  	return mi.MessageOf(x)
  2422  }
  2423  
  2424  // Deprecated: Use BuildInfra_Buildbucket_Agent.ProtoReflect.Descriptor instead.
  2425  func (*BuildInfra_Buildbucket_Agent) Descriptor() ([]byte, []int) {
  2426  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0}
  2427  }
  2428  
  2429  func (x *BuildInfra_Buildbucket_Agent) GetInput() *BuildInfra_Buildbucket_Agent_Input {
  2430  	if x != nil {
  2431  		return x.Input
  2432  	}
  2433  	return nil
  2434  }
  2435  
  2436  func (x *BuildInfra_Buildbucket_Agent) GetOutput() *BuildInfra_Buildbucket_Agent_Output {
  2437  	if x != nil {
  2438  		return x.Output
  2439  	}
  2440  	return nil
  2441  }
  2442  
  2443  func (x *BuildInfra_Buildbucket_Agent) GetSource() *BuildInfra_Buildbucket_Agent_Source {
  2444  	if x != nil {
  2445  		return x.Source
  2446  	}
  2447  	return nil
  2448  }
  2449  
  2450  func (x *BuildInfra_Buildbucket_Agent) GetPurposes() map[string]BuildInfra_Buildbucket_Agent_Purpose {
  2451  	if x != nil {
  2452  		return x.Purposes
  2453  	}
  2454  	return nil
  2455  }
  2456  
  2457  func (x *BuildInfra_Buildbucket_Agent) GetCipdClientCache() *CacheEntry {
  2458  	if x != nil {
  2459  		return x.CipdClientCache
  2460  	}
  2461  	return nil
  2462  }
  2463  
  2464  func (x *BuildInfra_Buildbucket_Agent) GetCipdPackagesCache() *CacheEntry {
  2465  	if x != nil {
  2466  		return x.CipdPackagesCache
  2467  	}
  2468  	return nil
  2469  }
  2470  
  2471  // Source describes where the Agent should be fetched from.
  2472  type BuildInfra_Buildbucket_Agent_Source struct {
  2473  	state         protoimpl.MessageState
  2474  	sizeCache     protoimpl.SizeCache
  2475  	unknownFields protoimpl.UnknownFields
  2476  
  2477  	// Types that are assignable to DataType:
  2478  	//
  2479  	//	*BuildInfra_Buildbucket_Agent_Source_Cipd
  2480  	DataType isBuildInfra_Buildbucket_Agent_Source_DataType `protobuf_oneof:"data_type"`
  2481  }
  2482  
  2483  func (x *BuildInfra_Buildbucket_Agent_Source) Reset() {
  2484  	*x = BuildInfra_Buildbucket_Agent_Source{}
  2485  	if protoimpl.UnsafeEnabled {
  2486  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[26]
  2487  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2488  		ms.StoreMessageInfo(mi)
  2489  	}
  2490  }
  2491  
  2492  func (x *BuildInfra_Buildbucket_Agent_Source) String() string {
  2493  	return protoimpl.X.MessageStringOf(x)
  2494  }
  2495  
  2496  func (*BuildInfra_Buildbucket_Agent_Source) ProtoMessage() {}
  2497  
  2498  func (x *BuildInfra_Buildbucket_Agent_Source) ProtoReflect() protoreflect.Message {
  2499  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[26]
  2500  	if protoimpl.UnsafeEnabled && x != nil {
  2501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2502  		if ms.LoadMessageInfo() == nil {
  2503  			ms.StoreMessageInfo(mi)
  2504  		}
  2505  		return ms
  2506  	}
  2507  	return mi.MessageOf(x)
  2508  }
  2509  
  2510  // Deprecated: Use BuildInfra_Buildbucket_Agent_Source.ProtoReflect.Descriptor instead.
  2511  func (*BuildInfra_Buildbucket_Agent_Source) Descriptor() ([]byte, []int) {
  2512  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0, 0}
  2513  }
  2514  
  2515  func (m *BuildInfra_Buildbucket_Agent_Source) GetDataType() isBuildInfra_Buildbucket_Agent_Source_DataType {
  2516  	if m != nil {
  2517  		return m.DataType
  2518  	}
  2519  	return nil
  2520  }
  2521  
  2522  func (x *BuildInfra_Buildbucket_Agent_Source) GetCipd() *BuildInfra_Buildbucket_Agent_Source_CIPD {
  2523  	if x, ok := x.GetDataType().(*BuildInfra_Buildbucket_Agent_Source_Cipd); ok {
  2524  		return x.Cipd
  2525  	}
  2526  	return nil
  2527  }
  2528  
  2529  type isBuildInfra_Buildbucket_Agent_Source_DataType interface {
  2530  	isBuildInfra_Buildbucket_Agent_Source_DataType()
  2531  }
  2532  
  2533  type BuildInfra_Buildbucket_Agent_Source_Cipd struct {
  2534  	Cipd *BuildInfra_Buildbucket_Agent_Source_CIPD `protobuf:"bytes,1,opt,name=cipd,proto3,oneof"`
  2535  }
  2536  
  2537  func (*BuildInfra_Buildbucket_Agent_Source_Cipd) isBuildInfra_Buildbucket_Agent_Source_DataType() {}
  2538  
  2539  type BuildInfra_Buildbucket_Agent_Input struct {
  2540  	state         protoimpl.MessageState
  2541  	sizeCache     protoimpl.SizeCache
  2542  	unknownFields protoimpl.UnknownFields
  2543  
  2544  	// Maps relative-to-root directory to the data.
  2545  	//
  2546  	// For now, data is only allowed at the 'leaves', e.g. you cannot
  2547  	// specify data at "a/b/c" and "a/b" (but "a/b/c" and "a/q" would be OK).
  2548  	// All directories beginning with "luci." are reserved for Buildbucket's own use.
  2549  	//
  2550  	// TODO(crbug.com/1266060): Enforce the above constraints in a later phase.
  2551  	// Currently users don't have the flexibility to set the parent directory path.
  2552  	Data map[string]*InputDataRef `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2553  	// Maps relative-to-root directory to the cipd package itself.
  2554  	// This is the CIPD client itself and  should be downloaded first so that
  2555  	// the packages in the data field above can be downloaded.
  2556  	CipdSource map[string]*InputDataRef `protobuf:"bytes,2,rep,name=cipd_source,json=cipdSource,proto3" json:"cipd_source,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2557  }
  2558  
  2559  func (x *BuildInfra_Buildbucket_Agent_Input) Reset() {
  2560  	*x = BuildInfra_Buildbucket_Agent_Input{}
  2561  	if protoimpl.UnsafeEnabled {
  2562  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[27]
  2563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2564  		ms.StoreMessageInfo(mi)
  2565  	}
  2566  }
  2567  
  2568  func (x *BuildInfra_Buildbucket_Agent_Input) String() string {
  2569  	return protoimpl.X.MessageStringOf(x)
  2570  }
  2571  
  2572  func (*BuildInfra_Buildbucket_Agent_Input) ProtoMessage() {}
  2573  
  2574  func (x *BuildInfra_Buildbucket_Agent_Input) ProtoReflect() protoreflect.Message {
  2575  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[27]
  2576  	if protoimpl.UnsafeEnabled && x != nil {
  2577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2578  		if ms.LoadMessageInfo() == nil {
  2579  			ms.StoreMessageInfo(mi)
  2580  		}
  2581  		return ms
  2582  	}
  2583  	return mi.MessageOf(x)
  2584  }
  2585  
  2586  // Deprecated: Use BuildInfra_Buildbucket_Agent_Input.ProtoReflect.Descriptor instead.
  2587  func (*BuildInfra_Buildbucket_Agent_Input) Descriptor() ([]byte, []int) {
  2588  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0, 1}
  2589  }
  2590  
  2591  func (x *BuildInfra_Buildbucket_Agent_Input) GetData() map[string]*InputDataRef {
  2592  	if x != nil {
  2593  		return x.Data
  2594  	}
  2595  	return nil
  2596  }
  2597  
  2598  func (x *BuildInfra_Buildbucket_Agent_Input) GetCipdSource() map[string]*InputDataRef {
  2599  	if x != nil {
  2600  		return x.CipdSource
  2601  	}
  2602  	return nil
  2603  }
  2604  
  2605  type BuildInfra_Buildbucket_Agent_Output struct {
  2606  	state         protoimpl.MessageState
  2607  	sizeCache     protoimpl.SizeCache
  2608  	unknownFields protoimpl.UnknownFields
  2609  
  2610  	// Maps relative-to-root directory to the fully-resolved ref.
  2611  	//
  2612  	// This will always have 1:1 mapping to Agent.Input.data
  2613  	ResolvedData  map[string]*ResolvedDataRef `protobuf:"bytes,1,rep,name=resolved_data,json=resolvedData,proto3" json:"resolved_data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2614  	Status        Status                      `protobuf:"varint,2,opt,name=status,proto3,enum=buildbucket.v2.Status" json:"status,omitempty"`
  2615  	StatusDetails *StatusDetails              `protobuf:"bytes,3,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"`
  2616  	// Deprecated. Use summary_markdown instead.
  2617  	//
  2618  	// Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2619  	SummaryHtml string `protobuf:"bytes,4,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
  2620  	// The agent's resolved CIPD ${platform} (e.g. "linux-amd64",
  2621  	// "windows-386", etc.).
  2622  	//
  2623  	// This is trivial for bbagent to calculate (unlike trying to embed
  2624  	// its cipd package version inside or along with the executable).
  2625  	// Buildbucket is doing a full package -> instance ID resolution at
  2626  	// CreateBuild time anyway, so Agent.Source.resolved_instances
  2627  	// will give the mapping from `agent_platform` to a precise instance_id
  2628  	// which was used.
  2629  	AgentPlatform string `protobuf:"bytes,5,opt,name=agent_platform,json=agentPlatform,proto3" json:"agent_platform,omitempty"`
  2630  	// Total installation duration for all input data. Currently only record
  2631  	// cipd packages installation time.
  2632  	TotalDuration   *durationpb.Duration `protobuf:"bytes,6,opt,name=total_duration,json=totalDuration,proto3" json:"total_duration,omitempty"`
  2633  	SummaryMarkdown string               `protobuf:"bytes,7,opt,name=summary_markdown,json=summaryMarkdown,proto3" json:"summary_markdown,omitempty"`
  2634  }
  2635  
  2636  func (x *BuildInfra_Buildbucket_Agent_Output) Reset() {
  2637  	*x = BuildInfra_Buildbucket_Agent_Output{}
  2638  	if protoimpl.UnsafeEnabled {
  2639  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[28]
  2640  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2641  		ms.StoreMessageInfo(mi)
  2642  	}
  2643  }
  2644  
  2645  func (x *BuildInfra_Buildbucket_Agent_Output) String() string {
  2646  	return protoimpl.X.MessageStringOf(x)
  2647  }
  2648  
  2649  func (*BuildInfra_Buildbucket_Agent_Output) ProtoMessage() {}
  2650  
  2651  func (x *BuildInfra_Buildbucket_Agent_Output) ProtoReflect() protoreflect.Message {
  2652  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[28]
  2653  	if protoimpl.UnsafeEnabled && x != nil {
  2654  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2655  		if ms.LoadMessageInfo() == nil {
  2656  			ms.StoreMessageInfo(mi)
  2657  		}
  2658  		return ms
  2659  	}
  2660  	return mi.MessageOf(x)
  2661  }
  2662  
  2663  // Deprecated: Use BuildInfra_Buildbucket_Agent_Output.ProtoReflect.Descriptor instead.
  2664  func (*BuildInfra_Buildbucket_Agent_Output) Descriptor() ([]byte, []int) {
  2665  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0, 2}
  2666  }
  2667  
  2668  func (x *BuildInfra_Buildbucket_Agent_Output) GetResolvedData() map[string]*ResolvedDataRef {
  2669  	if x != nil {
  2670  		return x.ResolvedData
  2671  	}
  2672  	return nil
  2673  }
  2674  
  2675  func (x *BuildInfra_Buildbucket_Agent_Output) GetStatus() Status {
  2676  	if x != nil {
  2677  		return x.Status
  2678  	}
  2679  	return Status_STATUS_UNSPECIFIED
  2680  }
  2681  
  2682  func (x *BuildInfra_Buildbucket_Agent_Output) GetStatusDetails() *StatusDetails {
  2683  	if x != nil {
  2684  		return x.StatusDetails
  2685  	}
  2686  	return nil
  2687  }
  2688  
  2689  // Deprecated: Marked as deprecated in go.chromium.org/luci/buildbucket/proto/build.proto.
  2690  func (x *BuildInfra_Buildbucket_Agent_Output) GetSummaryHtml() string {
  2691  	if x != nil {
  2692  		return x.SummaryHtml
  2693  	}
  2694  	return ""
  2695  }
  2696  
  2697  func (x *BuildInfra_Buildbucket_Agent_Output) GetAgentPlatform() string {
  2698  	if x != nil {
  2699  		return x.AgentPlatform
  2700  	}
  2701  	return ""
  2702  }
  2703  
  2704  func (x *BuildInfra_Buildbucket_Agent_Output) GetTotalDuration() *durationpb.Duration {
  2705  	if x != nil {
  2706  		return x.TotalDuration
  2707  	}
  2708  	return nil
  2709  }
  2710  
  2711  func (x *BuildInfra_Buildbucket_Agent_Output) GetSummaryMarkdown() string {
  2712  	if x != nil {
  2713  		return x.SummaryMarkdown
  2714  	}
  2715  	return ""
  2716  }
  2717  
  2718  type BuildInfra_Buildbucket_Agent_Source_CIPD struct {
  2719  	state         protoimpl.MessageState
  2720  	sizeCache     protoimpl.SizeCache
  2721  	unknownFields protoimpl.UnknownFields
  2722  
  2723  	// The CIPD package to use for the agent.
  2724  	//
  2725  	// Must end in "/${platform}" with no other CIPD variables.
  2726  	//
  2727  	// If using an experimental agent binary, please make sure the package
  2728  	// prefix has been configured here -
  2729  	// https://chrome-internal.googlesource.com/infradata/config/+/refs/heads/main/configs/chrome-infra-packages/bootstrap.cfg
  2730  	Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"`
  2731  	// The CIPD version to use for the agent.
  2732  	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  2733  	// The CIPD server to use.
  2734  	Server string `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"`
  2735  	// maps ${platform} -> instance_id for resolved agent packages.
  2736  	//
  2737  	// Will be overwritten at CreateBuild time, should be left empty
  2738  	// when creating a new Build.
  2739  	ResolvedInstances map[string]string `protobuf:"bytes,4,rep,name=resolved_instances,json=resolvedInstances,proto3" json:"resolved_instances,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2740  }
  2741  
  2742  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) Reset() {
  2743  	*x = BuildInfra_Buildbucket_Agent_Source_CIPD{}
  2744  	if protoimpl.UnsafeEnabled {
  2745  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[30]
  2746  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2747  		ms.StoreMessageInfo(mi)
  2748  	}
  2749  }
  2750  
  2751  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) String() string {
  2752  	return protoimpl.X.MessageStringOf(x)
  2753  }
  2754  
  2755  func (*BuildInfra_Buildbucket_Agent_Source_CIPD) ProtoMessage() {}
  2756  
  2757  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) ProtoReflect() protoreflect.Message {
  2758  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[30]
  2759  	if protoimpl.UnsafeEnabled && x != nil {
  2760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2761  		if ms.LoadMessageInfo() == nil {
  2762  			ms.StoreMessageInfo(mi)
  2763  		}
  2764  		return ms
  2765  	}
  2766  	return mi.MessageOf(x)
  2767  }
  2768  
  2769  // Deprecated: Use BuildInfra_Buildbucket_Agent_Source_CIPD.ProtoReflect.Descriptor instead.
  2770  func (*BuildInfra_Buildbucket_Agent_Source_CIPD) Descriptor() ([]byte, []int) {
  2771  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 0, 0, 0, 0}
  2772  }
  2773  
  2774  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) GetPackage() string {
  2775  	if x != nil {
  2776  		return x.Package
  2777  	}
  2778  	return ""
  2779  }
  2780  
  2781  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) GetVersion() string {
  2782  	if x != nil {
  2783  		return x.Version
  2784  	}
  2785  	return ""
  2786  }
  2787  
  2788  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) GetServer() string {
  2789  	if x != nil {
  2790  		return x.Server
  2791  	}
  2792  	return ""
  2793  }
  2794  
  2795  func (x *BuildInfra_Buildbucket_Agent_Source_CIPD) GetResolvedInstances() map[string]string {
  2796  	if x != nil {
  2797  		return x.ResolvedInstances
  2798  	}
  2799  	return nil
  2800  }
  2801  
  2802  // Describes a cache directory persisted on a bot.
  2803  //
  2804  // If a build requested a cache, the cache directory is available on build
  2805  // startup. If the cache was present on the bot, the directory contains
  2806  // files from the previous run on that bot.
  2807  // The build can read/write to the cache directory while it runs.
  2808  // After build completes, the cache directory is persisted.
  2809  // The next time another build requests the same cache and runs on the same
  2810  // bot, the files will still be there (unless the cache was evicted,
  2811  // perhaps due to disk space reasons).
  2812  //
  2813  // One bot can keep multiple caches at the same time and one build can request
  2814  // multiple different caches.
  2815  // A cache is identified by its name and mapped to a path.
  2816  //
  2817  // If the bot is running out of space, caches are evicted in LRU manner
  2818  // before the next build on this bot starts.
  2819  //
  2820  // Builder cache.
  2821  //
  2822  // Buildbucket implicitly declares cache
  2823  //
  2824  //	{"name": "<hash(project/bucket/builder)>", "path": "builder"}.
  2825  //
  2826  // This means that any LUCI builder has a "personal disk space" on the bot.
  2827  // Builder cache is often a good start before customizing caching.
  2828  // In recipes, it is available at api.buildbucket.builder_cache_path.
  2829  type BuildInfra_Swarming_CacheEntry struct {
  2830  	state         protoimpl.MessageState
  2831  	sizeCache     protoimpl.SizeCache
  2832  	unknownFields protoimpl.UnknownFields
  2833  
  2834  	// Identifier of the cache. Required. Length is limited to 128.
  2835  	// Must be unique in the build.
  2836  	//
  2837  	// If the pool of swarming bots is shared among multiple LUCI projects and
  2838  	// projects use same cache name, the cache will be shared across projects.
  2839  	// To avoid affecting and being affected by other projects, prefix the
  2840  	// cache name with something project-specific, e.g. "v8-".
  2841  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2842  	// Relative path where the cache in mapped into. Required.
  2843  	//
  2844  	// Must use POSIX format (forward slashes).
  2845  	// In most cases, it does not need slashes at all.
  2846  	//
  2847  	// In recipes, use api.path['cache'].join(path) to get absolute path.
  2848  	//
  2849  	// Must be unique in the build.
  2850  	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
  2851  	// Duration to wait for a bot with a warm cache to pick up the
  2852  	// task, before falling back to a bot with a cold (non-existent) cache.
  2853  	//
  2854  	// The default is 0, which means that no preference will be chosen for a
  2855  	// bot with this or without this cache, and a bot without this cache may
  2856  	// be chosen instead.
  2857  	//
  2858  	// If no bot has this cache warm, the task will skip this wait and will
  2859  	// immediately fallback to a cold cache request.
  2860  	//
  2861  	// The value must be multiples of 60 seconds.
  2862  	WaitForWarmCache *durationpb.Duration `protobuf:"bytes,3,opt,name=wait_for_warm_cache,json=waitForWarmCache,proto3" json:"wait_for_warm_cache,omitempty"`
  2863  	// Environment variable with this name will be set to the path to the cache
  2864  	// directory.
  2865  	EnvVar string `protobuf:"bytes,4,opt,name=env_var,json=envVar,proto3" json:"env_var,omitempty"`
  2866  }
  2867  
  2868  func (x *BuildInfra_Swarming_CacheEntry) Reset() {
  2869  	*x = BuildInfra_Swarming_CacheEntry{}
  2870  	if protoimpl.UnsafeEnabled {
  2871  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[35]
  2872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2873  		ms.StoreMessageInfo(mi)
  2874  	}
  2875  }
  2876  
  2877  func (x *BuildInfra_Swarming_CacheEntry) String() string {
  2878  	return protoimpl.X.MessageStringOf(x)
  2879  }
  2880  
  2881  func (*BuildInfra_Swarming_CacheEntry) ProtoMessage() {}
  2882  
  2883  func (x *BuildInfra_Swarming_CacheEntry) ProtoReflect() protoreflect.Message {
  2884  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[35]
  2885  	if protoimpl.UnsafeEnabled && x != nil {
  2886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2887  		if ms.LoadMessageInfo() == nil {
  2888  			ms.StoreMessageInfo(mi)
  2889  		}
  2890  		return ms
  2891  	}
  2892  	return mi.MessageOf(x)
  2893  }
  2894  
  2895  // Deprecated: Use BuildInfra_Swarming_CacheEntry.ProtoReflect.Descriptor instead.
  2896  func (*BuildInfra_Swarming_CacheEntry) Descriptor() ([]byte, []int) {
  2897  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 1, 0}
  2898  }
  2899  
  2900  func (x *BuildInfra_Swarming_CacheEntry) GetName() string {
  2901  	if x != nil {
  2902  		return x.Name
  2903  	}
  2904  	return ""
  2905  }
  2906  
  2907  func (x *BuildInfra_Swarming_CacheEntry) GetPath() string {
  2908  	if x != nil {
  2909  		return x.Path
  2910  	}
  2911  	return ""
  2912  }
  2913  
  2914  func (x *BuildInfra_Swarming_CacheEntry) GetWaitForWarmCache() *durationpb.Duration {
  2915  	if x != nil {
  2916  		return x.WaitForWarmCache
  2917  	}
  2918  	return nil
  2919  }
  2920  
  2921  func (x *BuildInfra_Swarming_CacheEntry) GetEnvVar() string {
  2922  	if x != nil {
  2923  		return x.EnvVar
  2924  	}
  2925  	return ""
  2926  }
  2927  
  2928  // BBAgent-specific input.
  2929  type BuildInfra_BBAgent_Input struct {
  2930  	state         protoimpl.MessageState
  2931  	sizeCache     protoimpl.SizeCache
  2932  	unknownFields protoimpl.UnknownFields
  2933  
  2934  	CipdPackages []*BuildInfra_BBAgent_Input_CIPDPackage `protobuf:"bytes,1,rep,name=cipd_packages,json=cipdPackages,proto3" json:"cipd_packages,omitempty"`
  2935  }
  2936  
  2937  func (x *BuildInfra_BBAgent_Input) Reset() {
  2938  	*x = BuildInfra_BBAgent_Input{}
  2939  	if protoimpl.UnsafeEnabled {
  2940  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[36]
  2941  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2942  		ms.StoreMessageInfo(mi)
  2943  	}
  2944  }
  2945  
  2946  func (x *BuildInfra_BBAgent_Input) String() string {
  2947  	return protoimpl.X.MessageStringOf(x)
  2948  }
  2949  
  2950  func (*BuildInfra_BBAgent_Input) ProtoMessage() {}
  2951  
  2952  func (x *BuildInfra_BBAgent_Input) ProtoReflect() protoreflect.Message {
  2953  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[36]
  2954  	if protoimpl.UnsafeEnabled && x != nil {
  2955  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2956  		if ms.LoadMessageInfo() == nil {
  2957  			ms.StoreMessageInfo(mi)
  2958  		}
  2959  		return ms
  2960  	}
  2961  	return mi.MessageOf(x)
  2962  }
  2963  
  2964  // Deprecated: Use BuildInfra_BBAgent_Input.ProtoReflect.Descriptor instead.
  2965  func (*BuildInfra_BBAgent_Input) Descriptor() ([]byte, []int) {
  2966  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 6, 0}
  2967  }
  2968  
  2969  func (x *BuildInfra_BBAgent_Input) GetCipdPackages() []*BuildInfra_BBAgent_Input_CIPDPackage {
  2970  	if x != nil {
  2971  		return x.CipdPackages
  2972  	}
  2973  	return nil
  2974  }
  2975  
  2976  // CIPD Packages to make available for this build.
  2977  type BuildInfra_BBAgent_Input_CIPDPackage struct {
  2978  	state         protoimpl.MessageState
  2979  	sizeCache     protoimpl.SizeCache
  2980  	unknownFields protoimpl.UnknownFields
  2981  
  2982  	// Name of this CIPD package.
  2983  	//
  2984  	// Required.
  2985  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2986  	// CIPD package version.
  2987  	//
  2988  	// Required.
  2989  	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  2990  	// CIPD server to fetch this package from.
  2991  	//
  2992  	// Required.
  2993  	Server string `protobuf:"bytes,3,opt,name=server,proto3" json:"server,omitempty"`
  2994  	// Path where this CIPD package should be installed.
  2995  	//
  2996  	// Required.
  2997  	Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
  2998  }
  2999  
  3000  func (x *BuildInfra_BBAgent_Input_CIPDPackage) Reset() {
  3001  	*x = BuildInfra_BBAgent_Input_CIPDPackage{}
  3002  	if protoimpl.UnsafeEnabled {
  3003  		mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[37]
  3004  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3005  		ms.StoreMessageInfo(mi)
  3006  	}
  3007  }
  3008  
  3009  func (x *BuildInfra_BBAgent_Input_CIPDPackage) String() string {
  3010  	return protoimpl.X.MessageStringOf(x)
  3011  }
  3012  
  3013  func (*BuildInfra_BBAgent_Input_CIPDPackage) ProtoMessage() {}
  3014  
  3015  func (x *BuildInfra_BBAgent_Input_CIPDPackage) ProtoReflect() protoreflect.Message {
  3016  	mi := &file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[37]
  3017  	if protoimpl.UnsafeEnabled && x != nil {
  3018  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3019  		if ms.LoadMessageInfo() == nil {
  3020  			ms.StoreMessageInfo(mi)
  3021  		}
  3022  		return ms
  3023  	}
  3024  	return mi.MessageOf(x)
  3025  }
  3026  
  3027  // Deprecated: Use BuildInfra_BBAgent_Input_CIPDPackage.ProtoReflect.Descriptor instead.
  3028  func (*BuildInfra_BBAgent_Input_CIPDPackage) Descriptor() ([]byte, []int) {
  3029  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP(), []int{3, 6, 0, 0}
  3030  }
  3031  
  3032  func (x *BuildInfra_BBAgent_Input_CIPDPackage) GetName() string {
  3033  	if x != nil {
  3034  		return x.Name
  3035  	}
  3036  	return ""
  3037  }
  3038  
  3039  func (x *BuildInfra_BBAgent_Input_CIPDPackage) GetVersion() string {
  3040  	if x != nil {
  3041  		return x.Version
  3042  	}
  3043  	return ""
  3044  }
  3045  
  3046  func (x *BuildInfra_BBAgent_Input_CIPDPackage) GetServer() string {
  3047  	if x != nil {
  3048  		return x.Server
  3049  	}
  3050  	return ""
  3051  }
  3052  
  3053  func (x *BuildInfra_BBAgent_Input_CIPDPackage) GetPath() string {
  3054  	if x != nil {
  3055  		return x.Path
  3056  	}
  3057  	return ""
  3058  }
  3059  
  3060  var File_go_chromium_org_luci_buildbucket_proto_build_proto protoreflect.FileDescriptor
  3061  
  3062  var file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDesc = []byte{
  3063  	0x0a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  3064  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
  3065  	0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70,
  3066  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3067  	0x74, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  3068  	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
  3069  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  3070  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  3071  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  3072  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  3073  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
  3074  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70,
  3075  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
  3076  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3077  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x75, 0x69,
  3078  	0x6c, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
  3079  	0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68,
  3080  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
  3081  	0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  3082  	0x6f, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
  3083  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  3084  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69,
  3085  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63,
  3086  	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x2e,
  3087  	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63,
  3088  	0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72,
  3089  	0x6f, 0x74, 0x6f, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  3090  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  3091  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69,
  3092  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73,
  3093  	0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68,
  3094  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
  3095  	0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  3096  	0x6f, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f,
  3097  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
  3098  	0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  3099  	0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
  3100  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x13, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12,
  3101  	0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x08, 0xe0, 0x41, 0x03,
  3102  	0xb8, 0xce, 0xbc, 0x03, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x07, 0x62, 0x75, 0x69,
  3103  	0x6c, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x75, 0x69,
  3104  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c,
  3105  	0x64, 0x65, 0x72, 0x49, 0x44, 0x42, 0x0b, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0xb8, 0xce, 0xbc,
  3106  	0x03, 0x02, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x62,
  3107  	0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x22, 0x20, 0x01, 0x28,
  3108  	0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
  3109  	0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72,
  3110  	0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3111  	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
  3112  	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x08, 0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x02,
  3113  	0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
  3114  	0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  3115  	0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x08,
  3116  	0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  3117  	0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65,
  3118  	0x6c, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  3119  	0x03, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x12, 0x45, 0x0a,
  3120  	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
  3121  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3122  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08,
  3123  	0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  3124  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
  3125  	0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3126  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  3127  	0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x09,
  3128  	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x65, 0x6e, 0x64,
  3129  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  3130  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  3131  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03,
  3132  	0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x75, 0x70,
  3133  	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3134  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  3135  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xe0, 0x41, 0x03,
  3136  	0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
  3137  	0x65, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  3138  	0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  3139  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  3140  	0x6d, 0x70, 0x42, 0x08, 0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x0a, 0x63, 0x61,
  3141  	0x6e, 0x63, 0x65, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
  3142  	0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3143  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
  3144  	0x42, 0x0b, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x03, 0x52, 0x06, 0x73,
  3145  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
  3146  	0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42,
  3147  	0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03, 0x52, 0x0f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
  3148  	0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x3b, 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x63,
  3149  	0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77,
  3150  	0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03, 0x52,
  3151  	0x14, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72,
  3152  	0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61,
  3153  	0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3154  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x69, 0x6e, 0x61, 0x72, 0x79,
  3155  	0x42, 0x05, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x08, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61,
  3156  	0x6c, 0x12, 0x51, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61,
  3157  	0x69, 0x6c, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c,
  3158  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
  3159  	0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x0b, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03,
  3160  	0xb8, 0xce, 0xbc, 0x03, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74,
  3161  	0x61, 0x69, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0f, 0x20,
  3162  	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3163  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74,
  3164  	0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12,
  3165  	0x3c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3166  	0x1c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32,
  3167  	0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x06, 0x8a,
  3168  	0xc3, 0x1a, 0x02, 0x08, 0x03, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x32, 0x0a,
  3169  	0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62,
  3170  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
  3171  	0x65, 0x70, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70,
  3172  	0x73, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
  3173  	0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3174  	0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x42, 0x06, 0x8a, 0xc3,
  3175  	0x1a, 0x02, 0x08, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x12, 0x2e, 0x0a, 0x04, 0x74,
  3176  	0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c,
  3177  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
  3178  	0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x65,
  3179  	0x78, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3180  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
  3181  	0x61, 0x62, 0x6c, 0x65, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x03, 0x65, 0x78,
  3182  	0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28,
  3183  	0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x73, 0x63, 0x68,
  3184  	0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
  3185  	0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  3186  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3187  	0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65,
  3188  	0x6f, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
  3189  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  3190  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3191  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75,
  3192  	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x67,
  3193  	0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28,
  3194  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3195  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x67, 0x72,
  3196  	0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x61, 0x69,
  3197  	0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x1c,
  3198  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61, 0x70,
  3199  	0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x5f, 0x6f, 0x75, 0x74,
  3200  	0x6c, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28,
  3201  	0x08, 0x42, 0x05, 0xb8, 0xce, 0xbc, 0x03, 0x03, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x4f, 0x75, 0x74,
  3202  	0x6c, 0x69, 0x76, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x6e,
  3203  	0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03,
  3204  	0x42, 0x08, 0xe0, 0x41, 0x03, 0xb8, 0xce, 0xbc, 0x03, 0x03, 0x52, 0x0b, 0x61, 0x6e, 0x63, 0x65,
  3205  	0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x72, 0x69,
  3206  	0x61, 0x62, 0x6c, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x69,
  3207  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x69, 0x6e,
  3208  	0x61, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x9f,
  3209  	0x02, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70,
  3210  	0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
  3211  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
  3212  	0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
  3213  	0x73, 0x12, 0x4b, 0x0a, 0x0e, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d,
  3214  	0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c,
  3215  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c,
  3216  	0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x42, 0x05, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52,
  3217  	0x0d, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x4a,
  3218  	0x0a, 0x0e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
  3219  	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3220  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x68,
  3221  	0x61, 0x6e, 0x67, 0x65, 0x42, 0x05, 0xb8, 0xce, 0xbc, 0x03, 0x02, 0x52, 0x0d, 0x67, 0x65, 0x72,
  3222  	0x72, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78,
  3223  	0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
  3224  	0x52, 0x0c, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x20,
  3225  	0x0a, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20,
  3226  	0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  3227  	0x1a, 0xfe, 0x02, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x70,
  3228  	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3229  	0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  3230  	0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
  3231  	0x74, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f,
  3232  	0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62,
  3233  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69,
  3234  	0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x0d, 0x67, 0x69, 0x74,
  3235  	0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x6c, 0x6f,
  3236  	0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3237  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x6c,
  3238  	0x6f, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20,
  3239  	0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3240  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
  3241  	0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65,
  3242  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75,
  3243  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61,
  3244  	0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74,
  3245  	0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x73, 0x75, 0x6d,
  3246  	0x6d, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x74, 0x6d, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42,
  3247  	0x02, 0x18, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x74, 0x6d, 0x6c,
  3248  	0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x72, 0x6b,
  3249  	0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x6d, 0x6d,
  3250  	0x61, 0x72, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x4a, 0x04, 0x08, 0x04, 0x10,
  3251  	0x05, 0x1a, 0x2f, 0x0a, 0x0b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
  3252  	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  3253  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  3254  	0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x22, 0xf3,
  3255  	0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x12,
  3256  	0x34, 0x0a, 0x03, 0x63, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62,
  3257  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e,
  3258  	0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x41, 0x53, 0x48, 0x00,
  3259  	0x52, 0x03, 0x63, 0x61, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x63, 0x69, 0x70, 0x64, 0x18, 0x02, 0x20,
  3260  	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3261  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
  3262  	0x66, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x48, 0x00, 0x52, 0x04, 0x63, 0x69, 0x70, 0x64, 0x12, 0x17,
  3263  	0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
  3264  	0x06, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x1a, 0xa6, 0x01, 0x0a, 0x03, 0x43, 0x41, 0x53, 0x12,
  3265  	0x21, 0x0a, 0x0c, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18,
  3266  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  3267  	0x63, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
  3268  	0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
  3269  	0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66,
  3270  	0x2e, 0x43, 0x41, 0x53, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06, 0x64, 0x69, 0x67,
  3271  	0x65, 0x73, 0x74, 0x1a, 0x3b, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
  3272  	0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73,
  3273  	0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
  3274  	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73,
  3275  	0x1a, 0x9e, 0x01, 0x0a, 0x04, 0x43, 0x49, 0x50, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72,
  3276  	0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65,
  3277  	0x72, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  3278  	0x32, 0x29, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3279  	0x32, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x2e, 0x43,
  3280  	0x49, 0x50, 0x44, 0x2e, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x73, 0x70, 0x65,
  3281  	0x63, 0x73, 0x1a, 0x3d, 0x0a, 0x07, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a,
  3282  	0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  3283  	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  3284  	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  3285  	0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04,
  3286  	0x08, 0x04, 0x10, 0x05, 0x22, 0x8c, 0x05, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
  3287  	0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x12, 0x37, 0x0a, 0x03, 0x63, 0x61, 0x73, 0x18,
  3288  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
  3289  	0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44,
  3290  	0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x2e, 0x43, 0x41, 0x53, 0x48, 0x00, 0x52, 0x03, 0x63, 0x61,
  3291  	0x73, 0x12, 0x3a, 0x0a, 0x04, 0x63, 0x69, 0x70, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3292  	0x24, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32,
  3293  	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66,
  3294  	0x2e, 0x43, 0x49, 0x50, 0x44, 0x48, 0x00, 0x52, 0x04, 0x63, 0x69, 0x70, 0x64, 0x1a, 0x90, 0x01,
  3295  	0x0a, 0x06, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0e, 0x66, 0x65, 0x74, 0x63,
  3296  	0x68, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  3297  	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  3298  	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x65, 0x74,
  3299  	0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x69, 0x6e,
  3300  	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  3301  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  3302  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  3303  	0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3304  	0x1a, 0x45, 0x0a, 0x03, 0x43, 0x41, 0x53, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e,
  3305  	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3306  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
  3307  	0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52,
  3308  	0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0x9c, 0x02, 0x0a, 0x04, 0x43, 0x49, 0x50, 0x44,
  3309  	0x12, 0x42, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3310  	0x2c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32,
  3311  	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66,
  3312  	0x2e, 0x43, 0x49, 0x50, 0x44, 0x2e, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x73,
  3313  	0x70, 0x65, 0x63, 0x73, 0x1a, 0xcf, 0x01, 0x0a, 0x07, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63,
  3314  	0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  3315  	0x08, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
  3316  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63,
  3317  	0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
  3318  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36,
  3319  	0x0a, 0x0a, 0x77, 0x61, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01,
  3320  	0x28, 0x0e, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
  3321  	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x09, 0x77, 0x61, 0x73,
  3322  	0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67,
  3323  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3324  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64,
  3325  	0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x06,
  3326  	0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74,
  3327  	0x79, 0x70, 0x65, 0x22, 0xda, 0x29, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66,
  3328  	0x72, 0x61, 0x12, 0x50, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3329  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3330  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e,
  3331  	0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42,
  3332  	0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3333  	0x63, 0x6b, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  3334  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3335  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66,
  3336  	0x72, 0x61, 0x2e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x77, 0x61,
  3337  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x18,
  3338  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
  3339  	0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72,
  3340  	0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x67, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02,
  3341  	0x52, 0x06, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x69,
  3342  	0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3343  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49,
  3344  	0x6e, 0x66, 0x72, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63,
  3345  	0x69, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x18,
  3346  	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
  3347  	0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72,
  3348  	0x61, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x42, 0x05, 0xb8, 0xce, 0xbc, 0x03,
  3349  	0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x12, 0x3c, 0x0a, 0x07, 0x62,
  3350  	0x62, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62,
  3351  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
  3352  	0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x42, 0x41, 0x67, 0x65, 0x6e, 0x74,
  3353  	0x52, 0x07, 0x62, 0x62, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x61, 0x63,
  3354  	0x6b, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75, 0x69,
  3355  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c,
  3356  	0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x07,
  3357  	0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x03, 0x6c, 0x65, 0x64, 0x18, 0x08,
  3358  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
  3359  	0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61,
  3360  	0x2e, 0x4c, 0x65, 0x64, 0x52, 0x03, 0x6c, 0x65, 0x64, 0x1a, 0xa5, 0x18, 0x0a, 0x0b, 0x42, 0x75,
  3361  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x72,
  3362  	0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x76, 0x69,
  3363  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76,
  3364  	0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
  3365  	0x6e, 0x12, 0x4a, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70,
  3366  	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3367  	0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  3368  	0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  3369  	0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x55, 0x0a,
  3370  	0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e,
  3371  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75,
  3372  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71,
  3373  	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  3374  	0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  3375  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
  3376  	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
  3377  	0x12, 0x6c, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72,
  3378  	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x62,
  3379  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
  3380  	0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3381  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52,
  3382  	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x78, 0x70,
  3383  	0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x6a,
  3384  	0x0a, 0x10, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62,
  3385  	0x6c, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3386  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49,
  3387  	0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
  3388  	0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65,
  3389  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74,
  3390  	0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x61, 0x67,
  3391  	0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x75, 0x69, 0x6c,
  3392  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64,
  3393  	0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3394  	0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52,
  3395  	0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f,
  3396  	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x68, 0x6f,
  3397  	0x73, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
  3398  	0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74,
  3399  	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
  3400  	0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75,
  3401  	0x6d, 0x62, 0x65, 0x72, 0x1a, 0xc4, 0x0f, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x50,
  3402  	0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
  3403  	0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42,
  3404  	0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3405  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75,
  3406  	0x74, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74,
  3407  	0x12, 0x53, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  3408  	0x32, 0x33, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3409  	0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69,
  3410  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4f,
  3411  	0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x03, 0x52, 0x06, 0x6f,
  3412  	0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
  3413  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
  3414  	0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72,
  3415  	0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67,
  3416  	0x65, 0x6e, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02,
  3417  	0x08, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x70, 0x75,
  3418  	0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x62,
  3419  	0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
  3420  	0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3421  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x75, 0x72, 0x70, 0x6f,
  3422  	0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73,
  3423  	0x65, 0x73, 0x12, 0x46, 0x0a, 0x11, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
  3424  	0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  3425  	0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x43,
  3426  	0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x69, 0x70, 0x64, 0x43,
  3427  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x63, 0x69,
  3428  	0x70, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68,
  3429  	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3430  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e,
  3431  	0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
  3432  	0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0x86, 0x03, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63,
  3433  	0x65, 0x12, 0x4e, 0x0a, 0x04, 0x63, 0x69, 0x70, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3434  	0x38, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32,
  3435  	0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c,
  3436  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x6f,
  3437  	0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x48, 0x00, 0x52, 0x04, 0x63, 0x69, 0x70,
  3438  	0x64, 0x1a, 0x9e, 0x02, 0x0a, 0x04, 0x43, 0x49, 0x50, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
  3439  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63,
  3440  	0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
  3441  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16,
  3442  	0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  3443  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c,
  3444  	0x76, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20,
  3445  	0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3446  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e,
  3447  	0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e,
  3448  	0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x2e, 0x52, 0x65,
  3449  	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45,
  3450  	0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c,
  3451  	0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x44, 0x0a, 0x16,
  3452  	0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  3453  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
  3454  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  3455  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
  3456  	0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a,
  3457  	0xf2, 0x02, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x64, 0x61, 0x74,
  3458  	0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3459  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e,
  3460  	0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
  3461  	0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61,
  3462  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x0b, 0x63,
  3463  	0x69, 0x70, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  3464  	0x32, 0x42, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3465  	0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69,
  3466  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49,
  3467  	0x6e, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45,
  3468  	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  3469  	0x1a, 0x55, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
  3470  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  3471  	0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
  3472  	0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e,
  3473  	0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61,
  3474  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x0f, 0x43, 0x69, 0x70, 0x64, 0x53,
  3475  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  3476  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05,
  3477  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x75,
  3478  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x70,
  3479  	0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  3480  	0x3a, 0x02, 0x38, 0x01, 0x1a, 0x87, 0x04, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12,
  3481  	0x6a, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61,
  3482  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3483  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66,
  3484  	0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41,
  3485  	0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f,
  3486  	0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x72,
  3487  	0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x06, 0x73,
  3488  	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75,
  3489  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61,
  3490  	0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x73,
  3491  	0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20,
  3492  	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3493  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69,
  3494  	0x6c, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
  3495  	0x73, 0x12, 0x25, 0x0a, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x74, 0x6d,
  3496  	0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x6d,
  3497  	0x6d, 0x61, 0x72, 0x79, 0x48, 0x74, 0x6d, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e,
  3498  	0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
  3499  	0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
  3500  	0x40, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  3501  	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3502  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
  3503  	0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  3504  	0x6e, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x72,
  3505  	0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x6d,
  3506  	0x6d, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x60, 0x0a, 0x11,
  3507  	0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
  3508  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  3509  	0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  3510  	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
  3511  	0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61,
  3512  	0x52, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x71,
  3513  	0x0a, 0x0d, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
  3514  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
  3515  	0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
  3516  	0x32, 0x34, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3517  	0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x75, 0x69,
  3518  	0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50,
  3519  	0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  3520  	0x01, 0x22, 0x58, 0x0a, 0x07, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x13,
  3521  	0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
  3522  	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45,
  3523  	0x5f, 0x45, 0x58, 0x45, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, 0x1b,
  3524  	0x0a, 0x17, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x42, 0x41, 0x47, 0x45, 0x4e,
  3525  	0x54, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x1a, 0x7d, 0x0a, 0x16, 0x45,
  3526  	0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73,
  3527  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  3528  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  3529  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3530  	0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66,
  3531  	0x72, 0x61, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45,
  3532  	0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
  3533  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x14, 0x41, 0x67,
  3534  	0x65, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74,
  3535  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  3536  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  3537  	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3538  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74,
  3539  	0x61, 0x52, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
  3540  	0xe9, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
  3541  	0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45,
  3542  	0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10,
  3543  	0x00, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
  3544  	0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x44, 0x45,
  3545  	0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x45, 0x52,
  3546  	0x49, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49,
  3547  	0x4c, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x02, 0x12, 0x24, 0x0a,
  3548  	0x20, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53,
  3549  	0x4f, 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x55,
  3550  	0x4d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e,
  3551  	0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
  3552  	0x45, 0x44, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45,
  3553  	0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c,
  3554  	0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x04, 0x10,
  3555  	0x05, 0x1a, 0xb0, 0x04, 0x0a, 0x08, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x22,
  3556  	0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  3557  	0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61,
  3558  	0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
  3559  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
  3560  	0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69,
  3561  	0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52,
  3562  	0x75, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x65, 0x72,
  3563  	0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
  3564  	0x28, 0x09, 0x52, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
  3565  	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
  3566  	0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
  3567  	0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e,
  3568  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x75,
  3569  	0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x71,
  3570  	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52,
  3571  	0x0e, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  3572  	0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  3573  	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3574  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50,
  3575  	0x61, 0x69, 0x72, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  3576  	0x6e, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
  3577  	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
  3578  	0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x53,
  3579  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74,
  3580  	0x72, 0x79, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x97, 0x01, 0x0a, 0x0a, 0x43,
  3581  	0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  3582  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
  3583  	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
  3584  	0x68, 0x12, 0x48, 0x0a, 0x13, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x77, 0x61,
  3585  	0x72, 0x6d, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  3586  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3587  	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x77, 0x61, 0x69, 0x74, 0x46,
  3588  	0x6f, 0x72, 0x57, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x65,
  3589  	0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e,
  3590  	0x76, 0x56, 0x61, 0x72, 0x1a, 0x5e, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x44, 0x6f, 0x67, 0x12, 0x22,
  3591  	0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  3592  	0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61,
  3593  	0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20,
  3594  	0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06,
  3595  	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72,
  3596  	0x65, 0x66, 0x69, 0x78, 0x1a, 0x3f, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x21,
  3597  	0x0a, 0x0c, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01,
  3598  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
  3599  	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  3600  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xf7, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  3601  	0x44, 0x42, 0x12, 0x22, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  3602  	0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0x8a, 0xc3, 0x1a, 0x02, 0x08, 0x02, 0x52, 0x08, 0x68, 0x6f,
  3603  	0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
  3604  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  3605  	0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65,
  3606  	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61,
  3607  	0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x62, 0x71, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74,
  3608  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72,
  3609  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75,
  3610  	0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x62, 0x71, 0x45, 0x78, 0x70,
  3611  	0x6f, 0x72, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f,
  3612  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
  3613  	0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31,
  3614  	0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
  3615  	0x0e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
  3616  	0x2e, 0x0a, 0x03, 0x4c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77,
  3617  	0x65, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  3618  	0x0e, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a,
  3619  	0x9a, 0x03, 0x0a, 0x07, 0x42, 0x42, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70,
  3620  	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
  3621  	0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b,
  3622  	0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
  3623  	0x09, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x12, 0x3d, 0x0a, 0x19, 0x6b,
  3624  	0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x67, 0x65, 0x72, 0x72,
  3625  	0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02,
  3626  	0x18, 0x01, 0x52, 0x16, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x47,
  3627  	0x65, 0x72, 0x72, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6e,
  3628  	0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x75, 0x69, 0x6c,
  3629  	0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64,
  3630  	0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x42, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e,
  3631  	0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0xcb,
  3632  	0x01, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x0d, 0x63, 0x69, 0x70, 0x64,
  3633  	0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3634  	0x34, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32,
  3635  	0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x42, 0x42, 0x41, 0x67,
  3636  	0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61,
  3637  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61,
  3638  	0x67, 0x65, 0x73, 0x1a, 0x67, 0x0a, 0x0b, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61,
  3639  	0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  3640  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  3641  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  3642  	0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  3643  	0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
  3644  	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x81, 0x02, 0x0a,
  3645  	0x07, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
  3646  	0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3647  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
  3648  	0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x61, 0x73,
  3649  	0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  3650  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74,
  3651  	0x61, 0x73, 0x6b, 0x12, 0x32, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20,
  3652  	0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
  3653  	0x74, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
  3654  	0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x5f,
  3655  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
  3656  	0x32, 0x22, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76,
  3657  	0x32, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e,
  3658  	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  3659  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
  3660  	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
  3661  	0x42, 0x36, 0x5a, 0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
  3662  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75,
  3663  	0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3664  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  3665  }
  3666  
  3667  var (
  3668  	file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescOnce sync.Once
  3669  	file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescData = file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDesc
  3670  )
  3671  
  3672  func file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescGZIP() []byte {
  3673  	file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescOnce.Do(func() {
  3674  		file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescData)
  3675  	})
  3676  	return file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDescData
  3677  }
  3678  
  3679  var file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  3680  var file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes = make([]protoimpl.MessageInfo, 38)
  3681  var file_go_chromium_org_luci_buildbucket_proto_build_proto_goTypes = []interface{}{
  3682  	(BuildInfra_Buildbucket_ExperimentReason)(0), // 0: buildbucket.v2.BuildInfra.Buildbucket.ExperimentReason
  3683  	(BuildInfra_Buildbucket_Agent_Purpose)(0),    // 1: buildbucket.v2.BuildInfra.Buildbucket.Agent.Purpose
  3684  	(*Build)(nil),                               // 2: buildbucket.v2.Build
  3685  	(*InputDataRef)(nil),                        // 3: buildbucket.v2.InputDataRef
  3686  	(*ResolvedDataRef)(nil),                     // 4: buildbucket.v2.ResolvedDataRef
  3687  	(*BuildInfra)(nil),                          // 5: buildbucket.v2.BuildInfra
  3688  	(*Build_Input)(nil),                         // 6: buildbucket.v2.Build.Input
  3689  	(*Build_Output)(nil),                        // 7: buildbucket.v2.Build.Output
  3690  	(*Build_BuilderInfo)(nil),                   // 8: buildbucket.v2.Build.BuilderInfo
  3691  	(*InputDataRef_CAS)(nil),                    // 9: buildbucket.v2.InputDataRef.CAS
  3692  	(*InputDataRef_CIPD)(nil),                   // 10: buildbucket.v2.InputDataRef.CIPD
  3693  	(*InputDataRef_CAS_Digest)(nil),             // 11: buildbucket.v2.InputDataRef.CAS.Digest
  3694  	(*InputDataRef_CIPD_PkgSpec)(nil),           // 12: buildbucket.v2.InputDataRef.CIPD.PkgSpec
  3695  	(*ResolvedDataRef_Timing)(nil),              // 13: buildbucket.v2.ResolvedDataRef.Timing
  3696  	(*ResolvedDataRef_CAS)(nil),                 // 14: buildbucket.v2.ResolvedDataRef.CAS
  3697  	(*ResolvedDataRef_CIPD)(nil),                // 15: buildbucket.v2.ResolvedDataRef.CIPD
  3698  	(*ResolvedDataRef_CIPD_PkgSpec)(nil),        // 16: buildbucket.v2.ResolvedDataRef.CIPD.PkgSpec
  3699  	(*BuildInfra_Buildbucket)(nil),              // 17: buildbucket.v2.BuildInfra.Buildbucket
  3700  	(*BuildInfra_Swarming)(nil),                 // 18: buildbucket.v2.BuildInfra.Swarming
  3701  	(*BuildInfra_LogDog)(nil),                   // 19: buildbucket.v2.BuildInfra.LogDog
  3702  	(*BuildInfra_Recipe)(nil),                   // 20: buildbucket.v2.BuildInfra.Recipe
  3703  	(*BuildInfra_ResultDB)(nil),                 // 21: buildbucket.v2.BuildInfra.ResultDB
  3704  	(*BuildInfra_Led)(nil),                      // 22: buildbucket.v2.BuildInfra.Led
  3705  	(*BuildInfra_BBAgent)(nil),                  // 23: buildbucket.v2.BuildInfra.BBAgent
  3706  	(*BuildInfra_Backend)(nil),                  // 24: buildbucket.v2.BuildInfra.Backend
  3707  	(*BuildInfra_Buildbucket_Agent)(nil),        // 25: buildbucket.v2.BuildInfra.Buildbucket.Agent
  3708  	nil,                                         // 26: buildbucket.v2.BuildInfra.Buildbucket.ExperimentReasonsEntry
  3709  	nil,                                         // 27: buildbucket.v2.BuildInfra.Buildbucket.AgentExecutableEntry
  3710  	(*BuildInfra_Buildbucket_Agent_Source)(nil), // 28: buildbucket.v2.BuildInfra.Buildbucket.Agent.Source
  3711  	(*BuildInfra_Buildbucket_Agent_Input)(nil),  // 29: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input
  3712  	(*BuildInfra_Buildbucket_Agent_Output)(nil), // 30: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output
  3713  	nil, // 31: buildbucket.v2.BuildInfra.Buildbucket.Agent.PurposesEntry
  3714  	(*BuildInfra_Buildbucket_Agent_Source_CIPD)(nil), // 32: buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.CIPD
  3715  	nil,                                    // 33: buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.CIPD.ResolvedInstancesEntry
  3716  	nil,                                    // 34: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.DataEntry
  3717  	nil,                                    // 35: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.CipdSourceEntry
  3718  	nil,                                    // 36: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.ResolvedDataEntry
  3719  	(*BuildInfra_Swarming_CacheEntry)(nil), // 37: buildbucket.v2.BuildInfra.Swarming.CacheEntry
  3720  	(*BuildInfra_BBAgent_Input)(nil),       // 38: buildbucket.v2.BuildInfra.BBAgent.Input
  3721  	(*BuildInfra_BBAgent_Input_CIPDPackage)(nil), // 39: buildbucket.v2.BuildInfra.BBAgent.Input.CIPDPackage
  3722  	(*BuilderID)(nil),             // 40: buildbucket.v2.BuilderID
  3723  	(*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp
  3724  	(Status)(0),                   // 42: buildbucket.v2.Status
  3725  	(Trinary)(0),                  // 43: buildbucket.v2.Trinary
  3726  	(*StatusDetails)(nil),         // 44: buildbucket.v2.StatusDetails
  3727  	(*Step)(nil),                  // 45: buildbucket.v2.Step
  3728  	(*StringPair)(nil),            // 46: buildbucket.v2.StringPair
  3729  	(*Executable)(nil),            // 47: buildbucket.v2.Executable
  3730  	(*durationpb.Duration)(nil),   // 48: google.protobuf.Duration
  3731  	(*structpb.Struct)(nil),       // 49: google.protobuf.Struct
  3732  	(*GitilesCommit)(nil),         // 50: buildbucket.v2.GitilesCommit
  3733  	(*GerritChange)(nil),          // 51: buildbucket.v2.GerritChange
  3734  	(*Log)(nil),                   // 52: buildbucket.v2.Log
  3735  	(*RequestedDimension)(nil),    // 53: buildbucket.v2.RequestedDimension
  3736  	(*v1.BigQueryExport)(nil),     // 54: luci.resultdb.v1.BigQueryExport
  3737  	(*v1.HistoryOptions)(nil),     // 55: luci.resultdb.v1.HistoryOptions
  3738  	(*Task)(nil),                  // 56: buildbucket.v2.Task
  3739  	(*CacheEntry)(nil),            // 57: buildbucket.v2.CacheEntry
  3740  }
  3741  var file_go_chromium_org_luci_buildbucket_proto_build_proto_depIdxs = []int32{
  3742  	40, // 0: buildbucket.v2.Build.builder:type_name -> buildbucket.v2.BuilderID
  3743  	8,  // 1: buildbucket.v2.Build.builder_info:type_name -> buildbucket.v2.Build.BuilderInfo
  3744  	41, // 2: buildbucket.v2.Build.create_time:type_name -> google.protobuf.Timestamp
  3745  	41, // 3: buildbucket.v2.Build.start_time:type_name -> google.protobuf.Timestamp
  3746  	41, // 4: buildbucket.v2.Build.end_time:type_name -> google.protobuf.Timestamp
  3747  	41, // 5: buildbucket.v2.Build.update_time:type_name -> google.protobuf.Timestamp
  3748  	41, // 6: buildbucket.v2.Build.cancel_time:type_name -> google.protobuf.Timestamp
  3749  	42, // 7: buildbucket.v2.Build.status:type_name -> buildbucket.v2.Status
  3750  	43, // 8: buildbucket.v2.Build.critical:type_name -> buildbucket.v2.Trinary
  3751  	44, // 9: buildbucket.v2.Build.status_details:type_name -> buildbucket.v2.StatusDetails
  3752  	6,  // 10: buildbucket.v2.Build.input:type_name -> buildbucket.v2.Build.Input
  3753  	7,  // 11: buildbucket.v2.Build.output:type_name -> buildbucket.v2.Build.Output
  3754  	45, // 12: buildbucket.v2.Build.steps:type_name -> buildbucket.v2.Step
  3755  	5,  // 13: buildbucket.v2.Build.infra:type_name -> buildbucket.v2.BuildInfra
  3756  	46, // 14: buildbucket.v2.Build.tags:type_name -> buildbucket.v2.StringPair
  3757  	47, // 15: buildbucket.v2.Build.exe:type_name -> buildbucket.v2.Executable
  3758  	48, // 16: buildbucket.v2.Build.scheduling_timeout:type_name -> google.protobuf.Duration
  3759  	48, // 17: buildbucket.v2.Build.execution_timeout:type_name -> google.protobuf.Duration
  3760  	48, // 18: buildbucket.v2.Build.grace_period:type_name -> google.protobuf.Duration
  3761  	43, // 19: buildbucket.v2.Build.retriable:type_name -> buildbucket.v2.Trinary
  3762  	9,  // 20: buildbucket.v2.InputDataRef.cas:type_name -> buildbucket.v2.InputDataRef.CAS
  3763  	10, // 21: buildbucket.v2.InputDataRef.cipd:type_name -> buildbucket.v2.InputDataRef.CIPD
  3764  	14, // 22: buildbucket.v2.ResolvedDataRef.cas:type_name -> buildbucket.v2.ResolvedDataRef.CAS
  3765  	15, // 23: buildbucket.v2.ResolvedDataRef.cipd:type_name -> buildbucket.v2.ResolvedDataRef.CIPD
  3766  	17, // 24: buildbucket.v2.BuildInfra.buildbucket:type_name -> buildbucket.v2.BuildInfra.Buildbucket
  3767  	18, // 25: buildbucket.v2.BuildInfra.swarming:type_name -> buildbucket.v2.BuildInfra.Swarming
  3768  	19, // 26: buildbucket.v2.BuildInfra.logdog:type_name -> buildbucket.v2.BuildInfra.LogDog
  3769  	20, // 27: buildbucket.v2.BuildInfra.recipe:type_name -> buildbucket.v2.BuildInfra.Recipe
  3770  	21, // 28: buildbucket.v2.BuildInfra.resultdb:type_name -> buildbucket.v2.BuildInfra.ResultDB
  3771  	23, // 29: buildbucket.v2.BuildInfra.bbagent:type_name -> buildbucket.v2.BuildInfra.BBAgent
  3772  	24, // 30: buildbucket.v2.BuildInfra.backend:type_name -> buildbucket.v2.BuildInfra.Backend
  3773  	22, // 31: buildbucket.v2.BuildInfra.led:type_name -> buildbucket.v2.BuildInfra.Led
  3774  	49, // 32: buildbucket.v2.Build.Input.properties:type_name -> google.protobuf.Struct
  3775  	50, // 33: buildbucket.v2.Build.Input.gitiles_commit:type_name -> buildbucket.v2.GitilesCommit
  3776  	51, // 34: buildbucket.v2.Build.Input.gerrit_changes:type_name -> buildbucket.v2.GerritChange
  3777  	49, // 35: buildbucket.v2.Build.Output.properties:type_name -> google.protobuf.Struct
  3778  	50, // 36: buildbucket.v2.Build.Output.gitiles_commit:type_name -> buildbucket.v2.GitilesCommit
  3779  	52, // 37: buildbucket.v2.Build.Output.logs:type_name -> buildbucket.v2.Log
  3780  	42, // 38: buildbucket.v2.Build.Output.status:type_name -> buildbucket.v2.Status
  3781  	44, // 39: buildbucket.v2.Build.Output.status_details:type_name -> buildbucket.v2.StatusDetails
  3782  	11, // 40: buildbucket.v2.InputDataRef.CAS.digest:type_name -> buildbucket.v2.InputDataRef.CAS.Digest
  3783  	12, // 41: buildbucket.v2.InputDataRef.CIPD.specs:type_name -> buildbucket.v2.InputDataRef.CIPD.PkgSpec
  3784  	48, // 42: buildbucket.v2.ResolvedDataRef.Timing.fetch_duration:type_name -> google.protobuf.Duration
  3785  	48, // 43: buildbucket.v2.ResolvedDataRef.Timing.install_duration:type_name -> google.protobuf.Duration
  3786  	13, // 44: buildbucket.v2.ResolvedDataRef.CAS.timing:type_name -> buildbucket.v2.ResolvedDataRef.Timing
  3787  	16, // 45: buildbucket.v2.ResolvedDataRef.CIPD.specs:type_name -> buildbucket.v2.ResolvedDataRef.CIPD.PkgSpec
  3788  	43, // 46: buildbucket.v2.ResolvedDataRef.CIPD.PkgSpec.was_cached:type_name -> buildbucket.v2.Trinary
  3789  	13, // 47: buildbucket.v2.ResolvedDataRef.CIPD.PkgSpec.timing:type_name -> buildbucket.v2.ResolvedDataRef.Timing
  3790  	49, // 48: buildbucket.v2.BuildInfra.Buildbucket.requested_properties:type_name -> google.protobuf.Struct
  3791  	53, // 49: buildbucket.v2.BuildInfra.Buildbucket.requested_dimensions:type_name -> buildbucket.v2.RequestedDimension
  3792  	26, // 50: buildbucket.v2.BuildInfra.Buildbucket.experiment_reasons:type_name -> buildbucket.v2.BuildInfra.Buildbucket.ExperimentReasonsEntry
  3793  	27, // 51: buildbucket.v2.BuildInfra.Buildbucket.agent_executable:type_name -> buildbucket.v2.BuildInfra.Buildbucket.AgentExecutableEntry
  3794  	25, // 52: buildbucket.v2.BuildInfra.Buildbucket.agent:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent
  3795  	53, // 53: buildbucket.v2.BuildInfra.Swarming.task_dimensions:type_name -> buildbucket.v2.RequestedDimension
  3796  	46, // 54: buildbucket.v2.BuildInfra.Swarming.bot_dimensions:type_name -> buildbucket.v2.StringPair
  3797  	37, // 55: buildbucket.v2.BuildInfra.Swarming.caches:type_name -> buildbucket.v2.BuildInfra.Swarming.CacheEntry
  3798  	54, // 56: buildbucket.v2.BuildInfra.ResultDB.bq_exports:type_name -> luci.resultdb.v1.BigQueryExport
  3799  	55, // 57: buildbucket.v2.BuildInfra.ResultDB.history_options:type_name -> luci.resultdb.v1.HistoryOptions
  3800  	38, // 58: buildbucket.v2.BuildInfra.BBAgent.input:type_name -> buildbucket.v2.BuildInfra.BBAgent.Input
  3801  	49, // 59: buildbucket.v2.BuildInfra.Backend.config:type_name -> google.protobuf.Struct
  3802  	56, // 60: buildbucket.v2.BuildInfra.Backend.task:type_name -> buildbucket.v2.Task
  3803  	57, // 61: buildbucket.v2.BuildInfra.Backend.caches:type_name -> buildbucket.v2.CacheEntry
  3804  	53, // 62: buildbucket.v2.BuildInfra.Backend.task_dimensions:type_name -> buildbucket.v2.RequestedDimension
  3805  	29, // 63: buildbucket.v2.BuildInfra.Buildbucket.Agent.input:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Input
  3806  	30, // 64: buildbucket.v2.BuildInfra.Buildbucket.Agent.output:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Output
  3807  	28, // 65: buildbucket.v2.BuildInfra.Buildbucket.Agent.source:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Source
  3808  	31, // 66: buildbucket.v2.BuildInfra.Buildbucket.Agent.purposes:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.PurposesEntry
  3809  	57, // 67: buildbucket.v2.BuildInfra.Buildbucket.Agent.cipd_client_cache:type_name -> buildbucket.v2.CacheEntry
  3810  	57, // 68: buildbucket.v2.BuildInfra.Buildbucket.Agent.cipd_packages_cache:type_name -> buildbucket.v2.CacheEntry
  3811  	0,  // 69: buildbucket.v2.BuildInfra.Buildbucket.ExperimentReasonsEntry.value:type_name -> buildbucket.v2.BuildInfra.Buildbucket.ExperimentReason
  3812  	4,  // 70: buildbucket.v2.BuildInfra.Buildbucket.AgentExecutableEntry.value:type_name -> buildbucket.v2.ResolvedDataRef
  3813  	32, // 71: buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.cipd:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.CIPD
  3814  	34, // 72: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.data:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.DataEntry
  3815  	35, // 73: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.cipd_source:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.CipdSourceEntry
  3816  	36, // 74: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.resolved_data:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.ResolvedDataEntry
  3817  	42, // 75: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.status:type_name -> buildbucket.v2.Status
  3818  	44, // 76: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.status_details:type_name -> buildbucket.v2.StatusDetails
  3819  	48, // 77: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.total_duration:type_name -> google.protobuf.Duration
  3820  	1,  // 78: buildbucket.v2.BuildInfra.Buildbucket.Agent.PurposesEntry.value:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Purpose
  3821  	33, // 79: buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.CIPD.resolved_instances:type_name -> buildbucket.v2.BuildInfra.Buildbucket.Agent.Source.CIPD.ResolvedInstancesEntry
  3822  	3,  // 80: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.DataEntry.value:type_name -> buildbucket.v2.InputDataRef
  3823  	3,  // 81: buildbucket.v2.BuildInfra.Buildbucket.Agent.Input.CipdSourceEntry.value:type_name -> buildbucket.v2.InputDataRef
  3824  	4,  // 82: buildbucket.v2.BuildInfra.Buildbucket.Agent.Output.ResolvedDataEntry.value:type_name -> buildbucket.v2.ResolvedDataRef
  3825  	48, // 83: buildbucket.v2.BuildInfra.Swarming.CacheEntry.wait_for_warm_cache:type_name -> google.protobuf.Duration
  3826  	39, // 84: buildbucket.v2.BuildInfra.BBAgent.Input.cipd_packages:type_name -> buildbucket.v2.BuildInfra.BBAgent.Input.CIPDPackage
  3827  	85, // [85:85] is the sub-list for method output_type
  3828  	85, // [85:85] is the sub-list for method input_type
  3829  	85, // [85:85] is the sub-list for extension type_name
  3830  	85, // [85:85] is the sub-list for extension extendee
  3831  	0,  // [0:85] is the sub-list for field type_name
  3832  }
  3833  
  3834  func init() { file_go_chromium_org_luci_buildbucket_proto_build_proto_init() }
  3835  func file_go_chromium_org_luci_buildbucket_proto_build_proto_init() {
  3836  	if File_go_chromium_org_luci_buildbucket_proto_build_proto != nil {
  3837  		return
  3838  	}
  3839  	file_go_chromium_org_luci_buildbucket_proto_build_field_visibility_proto_init()
  3840  	file_go_chromium_org_luci_buildbucket_proto_builder_common_proto_init()
  3841  	file_go_chromium_org_luci_buildbucket_proto_common_proto_init()
  3842  	file_go_chromium_org_luci_buildbucket_proto_field_option_proto_init()
  3843  	file_go_chromium_org_luci_buildbucket_proto_step_proto_init()
  3844  	file_go_chromium_org_luci_buildbucket_proto_task_proto_init()
  3845  	if !protoimpl.UnsafeEnabled {
  3846  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3847  			switch v := v.(*Build); i {
  3848  			case 0:
  3849  				return &v.state
  3850  			case 1:
  3851  				return &v.sizeCache
  3852  			case 2:
  3853  				return &v.unknownFields
  3854  			default:
  3855  				return nil
  3856  			}
  3857  		}
  3858  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3859  			switch v := v.(*InputDataRef); i {
  3860  			case 0:
  3861  				return &v.state
  3862  			case 1:
  3863  				return &v.sizeCache
  3864  			case 2:
  3865  				return &v.unknownFields
  3866  			default:
  3867  				return nil
  3868  			}
  3869  		}
  3870  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3871  			switch v := v.(*ResolvedDataRef); i {
  3872  			case 0:
  3873  				return &v.state
  3874  			case 1:
  3875  				return &v.sizeCache
  3876  			case 2:
  3877  				return &v.unknownFields
  3878  			default:
  3879  				return nil
  3880  			}
  3881  		}
  3882  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3883  			switch v := v.(*BuildInfra); i {
  3884  			case 0:
  3885  				return &v.state
  3886  			case 1:
  3887  				return &v.sizeCache
  3888  			case 2:
  3889  				return &v.unknownFields
  3890  			default:
  3891  				return nil
  3892  			}
  3893  		}
  3894  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3895  			switch v := v.(*Build_Input); i {
  3896  			case 0:
  3897  				return &v.state
  3898  			case 1:
  3899  				return &v.sizeCache
  3900  			case 2:
  3901  				return &v.unknownFields
  3902  			default:
  3903  				return nil
  3904  			}
  3905  		}
  3906  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3907  			switch v := v.(*Build_Output); i {
  3908  			case 0:
  3909  				return &v.state
  3910  			case 1:
  3911  				return &v.sizeCache
  3912  			case 2:
  3913  				return &v.unknownFields
  3914  			default:
  3915  				return nil
  3916  			}
  3917  		}
  3918  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3919  			switch v := v.(*Build_BuilderInfo); i {
  3920  			case 0:
  3921  				return &v.state
  3922  			case 1:
  3923  				return &v.sizeCache
  3924  			case 2:
  3925  				return &v.unknownFields
  3926  			default:
  3927  				return nil
  3928  			}
  3929  		}
  3930  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3931  			switch v := v.(*InputDataRef_CAS); i {
  3932  			case 0:
  3933  				return &v.state
  3934  			case 1:
  3935  				return &v.sizeCache
  3936  			case 2:
  3937  				return &v.unknownFields
  3938  			default:
  3939  				return nil
  3940  			}
  3941  		}
  3942  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3943  			switch v := v.(*InputDataRef_CIPD); i {
  3944  			case 0:
  3945  				return &v.state
  3946  			case 1:
  3947  				return &v.sizeCache
  3948  			case 2:
  3949  				return &v.unknownFields
  3950  			default:
  3951  				return nil
  3952  			}
  3953  		}
  3954  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3955  			switch v := v.(*InputDataRef_CAS_Digest); i {
  3956  			case 0:
  3957  				return &v.state
  3958  			case 1:
  3959  				return &v.sizeCache
  3960  			case 2:
  3961  				return &v.unknownFields
  3962  			default:
  3963  				return nil
  3964  			}
  3965  		}
  3966  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3967  			switch v := v.(*InputDataRef_CIPD_PkgSpec); i {
  3968  			case 0:
  3969  				return &v.state
  3970  			case 1:
  3971  				return &v.sizeCache
  3972  			case 2:
  3973  				return &v.unknownFields
  3974  			default:
  3975  				return nil
  3976  			}
  3977  		}
  3978  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3979  			switch v := v.(*ResolvedDataRef_Timing); i {
  3980  			case 0:
  3981  				return &v.state
  3982  			case 1:
  3983  				return &v.sizeCache
  3984  			case 2:
  3985  				return &v.unknownFields
  3986  			default:
  3987  				return nil
  3988  			}
  3989  		}
  3990  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3991  			switch v := v.(*ResolvedDataRef_CAS); i {
  3992  			case 0:
  3993  				return &v.state
  3994  			case 1:
  3995  				return &v.sizeCache
  3996  			case 2:
  3997  				return &v.unknownFields
  3998  			default:
  3999  				return nil
  4000  			}
  4001  		}
  4002  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  4003  			switch v := v.(*ResolvedDataRef_CIPD); i {
  4004  			case 0:
  4005  				return &v.state
  4006  			case 1:
  4007  				return &v.sizeCache
  4008  			case 2:
  4009  				return &v.unknownFields
  4010  			default:
  4011  				return nil
  4012  			}
  4013  		}
  4014  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  4015  			switch v := v.(*ResolvedDataRef_CIPD_PkgSpec); i {
  4016  			case 0:
  4017  				return &v.state
  4018  			case 1:
  4019  				return &v.sizeCache
  4020  			case 2:
  4021  				return &v.unknownFields
  4022  			default:
  4023  				return nil
  4024  			}
  4025  		}
  4026  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  4027  			switch v := v.(*BuildInfra_Buildbucket); i {
  4028  			case 0:
  4029  				return &v.state
  4030  			case 1:
  4031  				return &v.sizeCache
  4032  			case 2:
  4033  				return &v.unknownFields
  4034  			default:
  4035  				return nil
  4036  			}
  4037  		}
  4038  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  4039  			switch v := v.(*BuildInfra_Swarming); i {
  4040  			case 0:
  4041  				return &v.state
  4042  			case 1:
  4043  				return &v.sizeCache
  4044  			case 2:
  4045  				return &v.unknownFields
  4046  			default:
  4047  				return nil
  4048  			}
  4049  		}
  4050  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  4051  			switch v := v.(*BuildInfra_LogDog); i {
  4052  			case 0:
  4053  				return &v.state
  4054  			case 1:
  4055  				return &v.sizeCache
  4056  			case 2:
  4057  				return &v.unknownFields
  4058  			default:
  4059  				return nil
  4060  			}
  4061  		}
  4062  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  4063  			switch v := v.(*BuildInfra_Recipe); i {
  4064  			case 0:
  4065  				return &v.state
  4066  			case 1:
  4067  				return &v.sizeCache
  4068  			case 2:
  4069  				return &v.unknownFields
  4070  			default:
  4071  				return nil
  4072  			}
  4073  		}
  4074  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  4075  			switch v := v.(*BuildInfra_ResultDB); i {
  4076  			case 0:
  4077  				return &v.state
  4078  			case 1:
  4079  				return &v.sizeCache
  4080  			case 2:
  4081  				return &v.unknownFields
  4082  			default:
  4083  				return nil
  4084  			}
  4085  		}
  4086  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  4087  			switch v := v.(*BuildInfra_Led); i {
  4088  			case 0:
  4089  				return &v.state
  4090  			case 1:
  4091  				return &v.sizeCache
  4092  			case 2:
  4093  				return &v.unknownFields
  4094  			default:
  4095  				return nil
  4096  			}
  4097  		}
  4098  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  4099  			switch v := v.(*BuildInfra_BBAgent); i {
  4100  			case 0:
  4101  				return &v.state
  4102  			case 1:
  4103  				return &v.sizeCache
  4104  			case 2:
  4105  				return &v.unknownFields
  4106  			default:
  4107  				return nil
  4108  			}
  4109  		}
  4110  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  4111  			switch v := v.(*BuildInfra_Backend); i {
  4112  			case 0:
  4113  				return &v.state
  4114  			case 1:
  4115  				return &v.sizeCache
  4116  			case 2:
  4117  				return &v.unknownFields
  4118  			default:
  4119  				return nil
  4120  			}
  4121  		}
  4122  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  4123  			switch v := v.(*BuildInfra_Buildbucket_Agent); i {
  4124  			case 0:
  4125  				return &v.state
  4126  			case 1:
  4127  				return &v.sizeCache
  4128  			case 2:
  4129  				return &v.unknownFields
  4130  			default:
  4131  				return nil
  4132  			}
  4133  		}
  4134  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  4135  			switch v := v.(*BuildInfra_Buildbucket_Agent_Source); i {
  4136  			case 0:
  4137  				return &v.state
  4138  			case 1:
  4139  				return &v.sizeCache
  4140  			case 2:
  4141  				return &v.unknownFields
  4142  			default:
  4143  				return nil
  4144  			}
  4145  		}
  4146  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  4147  			switch v := v.(*BuildInfra_Buildbucket_Agent_Input); i {
  4148  			case 0:
  4149  				return &v.state
  4150  			case 1:
  4151  				return &v.sizeCache
  4152  			case 2:
  4153  				return &v.unknownFields
  4154  			default:
  4155  				return nil
  4156  			}
  4157  		}
  4158  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  4159  			switch v := v.(*BuildInfra_Buildbucket_Agent_Output); i {
  4160  			case 0:
  4161  				return &v.state
  4162  			case 1:
  4163  				return &v.sizeCache
  4164  			case 2:
  4165  				return &v.unknownFields
  4166  			default:
  4167  				return nil
  4168  			}
  4169  		}
  4170  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  4171  			switch v := v.(*BuildInfra_Buildbucket_Agent_Source_CIPD); i {
  4172  			case 0:
  4173  				return &v.state
  4174  			case 1:
  4175  				return &v.sizeCache
  4176  			case 2:
  4177  				return &v.unknownFields
  4178  			default:
  4179  				return nil
  4180  			}
  4181  		}
  4182  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  4183  			switch v := v.(*BuildInfra_Swarming_CacheEntry); i {
  4184  			case 0:
  4185  				return &v.state
  4186  			case 1:
  4187  				return &v.sizeCache
  4188  			case 2:
  4189  				return &v.unknownFields
  4190  			default:
  4191  				return nil
  4192  			}
  4193  		}
  4194  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  4195  			switch v := v.(*BuildInfra_BBAgent_Input); i {
  4196  			case 0:
  4197  				return &v.state
  4198  			case 1:
  4199  				return &v.sizeCache
  4200  			case 2:
  4201  				return &v.unknownFields
  4202  			default:
  4203  				return nil
  4204  			}
  4205  		}
  4206  		file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  4207  			switch v := v.(*BuildInfra_BBAgent_Input_CIPDPackage); i {
  4208  			case 0:
  4209  				return &v.state
  4210  			case 1:
  4211  				return &v.sizeCache
  4212  			case 2:
  4213  				return &v.unknownFields
  4214  			default:
  4215  				return nil
  4216  			}
  4217  		}
  4218  	}
  4219  	file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[1].OneofWrappers = []interface{}{
  4220  		(*InputDataRef_Cas)(nil),
  4221  		(*InputDataRef_Cipd)(nil),
  4222  	}
  4223  	file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[2].OneofWrappers = []interface{}{
  4224  		(*ResolvedDataRef_Cas)(nil),
  4225  		(*ResolvedDataRef_Cipd)(nil),
  4226  	}
  4227  	file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes[26].OneofWrappers = []interface{}{
  4228  		(*BuildInfra_Buildbucket_Agent_Source_Cipd)(nil),
  4229  	}
  4230  	type x struct{}
  4231  	out := protoimpl.TypeBuilder{
  4232  		File: protoimpl.DescBuilder{
  4233  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  4234  			RawDescriptor: file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDesc,
  4235  			NumEnums:      2,
  4236  			NumMessages:   38,
  4237  			NumExtensions: 0,
  4238  			NumServices:   0,
  4239  		},
  4240  		GoTypes:           file_go_chromium_org_luci_buildbucket_proto_build_proto_goTypes,
  4241  		DependencyIndexes: file_go_chromium_org_luci_buildbucket_proto_build_proto_depIdxs,
  4242  		EnumInfos:         file_go_chromium_org_luci_buildbucket_proto_build_proto_enumTypes,
  4243  		MessageInfos:      file_go_chromium_org_luci_buildbucket_proto_build_proto_msgTypes,
  4244  	}.Build()
  4245  	File_go_chromium_org_luci_buildbucket_proto_build_proto = out.File
  4246  	file_go_chromium_org_luci_buildbucket_proto_build_proto_rawDesc = nil
  4247  	file_go_chromium_org_luci_buildbucket_proto_build_proto_goTypes = nil
  4248  	file_go_chromium_org_luci_buildbucket_proto_build_proto_depIdxs = nil
  4249  }