go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/bisection/proto/v1/common.pb.go (about)

     1  // Copyright 2023 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.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/bisection/proto/v1/common.proto
    20  
    21  package bisectionpb
    22  
    23  import (
    24  	proto "go.chromium.org/luci/buildbucket/proto"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // AnalysisStatus represents the result status of an analysis.
    40  type AnalysisStatus int32
    41  
    42  const (
    43  	AnalysisStatus_ANALYSIS_STATUS_UNSPECIFIED AnalysisStatus = 0
    44  	// The analysis has been created, but not yet started.
    45  	// We don't have this status in code. It's here for backward-compatability.
    46  	AnalysisStatus_CREATED AnalysisStatus = 1
    47  	// The analysis is running, but results have not been finalised.
    48  	AnalysisStatus_RUNNING AnalysisStatus = 2
    49  	// The analysis has finished and found (and verified) the culprit.
    50  	AnalysisStatus_FOUND AnalysisStatus = 3
    51  	// The analysis has finished but no culprit/suspect has been found.
    52  	AnalysisStatus_NOTFOUND AnalysisStatus = 4
    53  	// The analysis resulted in an error.
    54  	AnalysisStatus_ERROR AnalysisStatus = 5
    55  	// The analysis found some suspects, either from heuristic or nth-section.
    56  	AnalysisStatus_SUSPECTFOUND AnalysisStatus = 6
    57  	// The analysis is unsupported (unsupported project, test...).
    58  	AnalysisStatus_UNSUPPORTED AnalysisStatus = 7
    59  	// The analysis was disabled (e.g. from config).
    60  	AnalysisStatus_DISABLED AnalysisStatus = 8
    61  	// This status is to mark for the case when an analysis was created,
    62  	// but was not sent to bisector, because we couldn't get sufficient data
    63  	// to proceed.
    64  	// One example is if we cannot get the commit ID for the regression range
    65  	// because the commit was too old.
    66  	AnalysisStatus_INSUFFICENTDATA AnalysisStatus = 9
    67  )
    68  
    69  // Enum value maps for AnalysisStatus.
    70  var (
    71  	AnalysisStatus_name = map[int32]string{
    72  		0: "ANALYSIS_STATUS_UNSPECIFIED",
    73  		1: "CREATED",
    74  		2: "RUNNING",
    75  		3: "FOUND",
    76  		4: "NOTFOUND",
    77  		5: "ERROR",
    78  		6: "SUSPECTFOUND",
    79  		7: "UNSUPPORTED",
    80  		8: "DISABLED",
    81  		9: "INSUFFICENTDATA",
    82  	}
    83  	AnalysisStatus_value = map[string]int32{
    84  		"ANALYSIS_STATUS_UNSPECIFIED": 0,
    85  		"CREATED":                     1,
    86  		"RUNNING":                     2,
    87  		"FOUND":                       3,
    88  		"NOTFOUND":                    4,
    89  		"ERROR":                       5,
    90  		"SUSPECTFOUND":                6,
    91  		"UNSUPPORTED":                 7,
    92  		"DISABLED":                    8,
    93  		"INSUFFICENTDATA":             9,
    94  	}
    95  )
    96  
    97  func (x AnalysisStatus) Enum() *AnalysisStatus {
    98  	p := new(AnalysisStatus)
    99  	*p = x
   100  	return p
   101  }
   102  
   103  func (x AnalysisStatus) String() string {
   104  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   105  }
   106  
   107  func (AnalysisStatus) Descriptor() protoreflect.EnumDescriptor {
   108  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[0].Descriptor()
   109  }
   110  
   111  func (AnalysisStatus) Type() protoreflect.EnumType {
   112  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[0]
   113  }
   114  
   115  func (x AnalysisStatus) Number() protoreflect.EnumNumber {
   116  	return protoreflect.EnumNumber(x)
   117  }
   118  
   119  // Deprecated: Use AnalysisStatus.Descriptor instead.
   120  func (AnalysisStatus) EnumDescriptor() ([]byte, []int) {
   121  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{0}
   122  }
   123  
   124  type RerunStatus int32
   125  
   126  const (
   127  	RerunStatus_RERUN_STATUS_UNSPECIFIED RerunStatus = 0
   128  	// The rerun is in progress.
   129  	// It may be scheduled or started, but not finished yet.
   130  	RerunStatus_RERUN_STATUS_IN_PROGRESS RerunStatus = 1
   131  	// For compile failure, it means the rerun succeeded.
   132  	// For deterministic test failure, it means that the primary test failure
   133  	// got expected result.
   134  	RerunStatus_RERUN_STATUS_PASSED RerunStatus = 2
   135  	// For compile failure, it means the compile was unsuccessful.
   136  	// For deterministic test failure, it means that the primary test failure
   137  	// got unexpected result.
   138  	RerunStatus_RERUN_STATUS_FAILED RerunStatus = 3
   139  	// The rerun ended with infra failure.
   140  	// It means we will not know which direction to continue the bisection.
   141  	// This case usually mean that the bisection will not be able to
   142  	// find culprit.
   143  	RerunStatus_RERUN_STATUS_INFRA_FAILED RerunStatus = 4
   144  	// The rerun was canceled.
   145  	RerunStatus_RERUN_STATUS_CANCELED RerunStatus = 5
   146  	// Only used for test failure rerun.
   147  	// The rerun ended, but the primary test failure was not run.
   148  	// It usually means that we won't be able to continue the bisection.
   149  	RerunStatus_RERUN_STATUS_TEST_SKIPPED RerunStatus = 6
   150  )
   151  
   152  // Enum value maps for RerunStatus.
   153  var (
   154  	RerunStatus_name = map[int32]string{
   155  		0: "RERUN_STATUS_UNSPECIFIED",
   156  		1: "RERUN_STATUS_IN_PROGRESS",
   157  		2: "RERUN_STATUS_PASSED",
   158  		3: "RERUN_STATUS_FAILED",
   159  		4: "RERUN_STATUS_INFRA_FAILED",
   160  		5: "RERUN_STATUS_CANCELED",
   161  		6: "RERUN_STATUS_TEST_SKIPPED",
   162  	}
   163  	RerunStatus_value = map[string]int32{
   164  		"RERUN_STATUS_UNSPECIFIED":  0,
   165  		"RERUN_STATUS_IN_PROGRESS":  1,
   166  		"RERUN_STATUS_PASSED":       2,
   167  		"RERUN_STATUS_FAILED":       3,
   168  		"RERUN_STATUS_INFRA_FAILED": 4,
   169  		"RERUN_STATUS_CANCELED":     5,
   170  		"RERUN_STATUS_TEST_SKIPPED": 6,
   171  	}
   172  )
   173  
   174  func (x RerunStatus) Enum() *RerunStatus {
   175  	p := new(RerunStatus)
   176  	*p = x
   177  	return p
   178  }
   179  
   180  func (x RerunStatus) String() string {
   181  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   182  }
   183  
   184  func (RerunStatus) Descriptor() protoreflect.EnumDescriptor {
   185  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[1].Descriptor()
   186  }
   187  
   188  func (RerunStatus) Type() protoreflect.EnumType {
   189  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[1]
   190  }
   191  
   192  func (x RerunStatus) Number() protoreflect.EnumNumber {
   193  	return protoreflect.EnumNumber(x)
   194  }
   195  
   196  // Deprecated: Use RerunStatus.Descriptor instead.
   197  func (RerunStatus) EnumDescriptor() ([]byte, []int) {
   198  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{1}
   199  }
   200  
   201  // Status of a test result.
   202  // It is a mirror of luci.resultdb.v1.TestStatus, but the right to evolve
   203  // it independently is reserved.
   204  type TestResultStatus int32
   205  
   206  const (
   207  	// Status was not specified.
   208  	// Not to be used in actual test results; serves as a default value for an
   209  	// unset field.
   210  	TestResultStatus_TEST_RESULT_STATUS_UNSPECIFIED TestResultStatus = 0
   211  	// The test case has passed.
   212  	TestResultStatus_PASS TestResultStatus = 1
   213  	// The test case has failed.
   214  	// Suggests that the code under test is incorrect, but it is also possible
   215  	// that the test is incorrect or it is a flake.
   216  	TestResultStatus_FAIL TestResultStatus = 2
   217  	// The test case has crashed during execution.
   218  	// The outcome is inconclusive: the code under test might or might not be
   219  	// correct, but the test+code is incorrect.
   220  	TestResultStatus_CRASH TestResultStatus = 3
   221  	// The test case has started, but was aborted before finishing.
   222  	// A common reason: timeout.
   223  	TestResultStatus_ABORT TestResultStatus = 4
   224  	// The test case did not execute.
   225  	// Examples:
   226  	//   - The execution of the collection of test cases, such as a test
   227  	//     binary, was aborted prematurely and execution of some test cases was
   228  	//     skipped.
   229  	//   - The test harness configuration specified that the test case MUST be
   230  	//     skipped.
   231  	TestResultStatus_SKIP TestResultStatus = 5
   232  )
   233  
   234  // Enum value maps for TestResultStatus.
   235  var (
   236  	TestResultStatus_name = map[int32]string{
   237  		0: "TEST_RESULT_STATUS_UNSPECIFIED",
   238  		1: "PASS",
   239  		2: "FAIL",
   240  		3: "CRASH",
   241  		4: "ABORT",
   242  		5: "SKIP",
   243  	}
   244  	TestResultStatus_value = map[string]int32{
   245  		"TEST_RESULT_STATUS_UNSPECIFIED": 0,
   246  		"PASS":                           1,
   247  		"FAIL":                           2,
   248  		"CRASH":                          3,
   249  		"ABORT":                          4,
   250  		"SKIP":                           5,
   251  	}
   252  )
   253  
   254  func (x TestResultStatus) Enum() *TestResultStatus {
   255  	p := new(TestResultStatus)
   256  	*p = x
   257  	return p
   258  }
   259  
   260  func (x TestResultStatus) String() string {
   261  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   262  }
   263  
   264  func (TestResultStatus) Descriptor() protoreflect.EnumDescriptor {
   265  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[2].Descriptor()
   266  }
   267  
   268  func (TestResultStatus) Type() protoreflect.EnumType {
   269  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[2]
   270  }
   271  
   272  func (x TestResultStatus) Number() protoreflect.EnumNumber {
   273  	return protoreflect.EnumNumber(x)
   274  }
   275  
   276  // Deprecated: Use TestResultStatus.Descriptor instead.
   277  func (TestResultStatus) EnumDescriptor() ([]byte, []int) {
   278  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{2}
   279  }
   280  
   281  // AnalysisType specifies type of the analysis.
   282  type AnalysisType int32
   283  
   284  const (
   285  	AnalysisType_ANALYSIS_TYPE_UNSPECIFIED AnalysisType = 0
   286  	// Compile analysis type.
   287  	AnalysisType_COMPILE_FAILURE_ANALYSIS AnalysisType = 1
   288  	// Test analysis type.
   289  	AnalysisType_TEST_FAILURE_ANALYSIS AnalysisType = 2
   290  )
   291  
   292  // Enum value maps for AnalysisType.
   293  var (
   294  	AnalysisType_name = map[int32]string{
   295  		0: "ANALYSIS_TYPE_UNSPECIFIED",
   296  		1: "COMPILE_FAILURE_ANALYSIS",
   297  		2: "TEST_FAILURE_ANALYSIS",
   298  	}
   299  	AnalysisType_value = map[string]int32{
   300  		"ANALYSIS_TYPE_UNSPECIFIED": 0,
   301  		"COMPILE_FAILURE_ANALYSIS":  1,
   302  		"TEST_FAILURE_ANALYSIS":     2,
   303  	}
   304  )
   305  
   306  func (x AnalysisType) Enum() *AnalysisType {
   307  	p := new(AnalysisType)
   308  	*p = x
   309  	return p
   310  }
   311  
   312  func (x AnalysisType) String() string {
   313  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   314  }
   315  
   316  func (AnalysisType) Descriptor() protoreflect.EnumDescriptor {
   317  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[3].Descriptor()
   318  }
   319  
   320  func (AnalysisType) Type() protoreflect.EnumType {
   321  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[3]
   322  }
   323  
   324  func (x AnalysisType) Number() protoreflect.EnumNumber {
   325  	return protoreflect.EnumNumber(x)
   326  }
   327  
   328  // Deprecated: Use AnalysisType.Descriptor instead.
   329  func (AnalysisType) EnumDescriptor() ([]byte, []int) {
   330  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{3}
   331  }
   332  
   333  type SuspectVerificationStatus int32
   334  
   335  const (
   336  	SuspectVerificationStatus_SUSPECT_VERIFICATION_STATUS_UNSPECIFIED SuspectVerificationStatus = 0
   337  	SuspectVerificationStatus_UNVERIFIED                              SuspectVerificationStatus = 1
   338  	SuspectVerificationStatus_VERIFICATION_SCHEDULED                  SuspectVerificationStatus = 2
   339  	SuspectVerificationStatus_UNDER_VERIFICATION                      SuspectVerificationStatus = 3
   340  	SuspectVerificationStatus_CONFIRMED_CULPRIT                       SuspectVerificationStatus = 4
   341  	SuspectVerificationStatus_VINDICATED                              SuspectVerificationStatus = 5
   342  	SuspectVerificationStatus_VERIFICATION_ERROR                      SuspectVerificationStatus = 6
   343  	SuspectVerificationStatus_VERIFICATION_CANCELED                   SuspectVerificationStatus = 7
   344  )
   345  
   346  // Enum value maps for SuspectVerificationStatus.
   347  var (
   348  	SuspectVerificationStatus_name = map[int32]string{
   349  		0: "SUSPECT_VERIFICATION_STATUS_UNSPECIFIED",
   350  		1: "UNVERIFIED",
   351  		2: "VERIFICATION_SCHEDULED",
   352  		3: "UNDER_VERIFICATION",
   353  		4: "CONFIRMED_CULPRIT",
   354  		5: "VINDICATED",
   355  		6: "VERIFICATION_ERROR",
   356  		7: "VERIFICATION_CANCELED",
   357  	}
   358  	SuspectVerificationStatus_value = map[string]int32{
   359  		"SUSPECT_VERIFICATION_STATUS_UNSPECIFIED": 0,
   360  		"UNVERIFIED":             1,
   361  		"VERIFICATION_SCHEDULED": 2,
   362  		"UNDER_VERIFICATION":     3,
   363  		"CONFIRMED_CULPRIT":      4,
   364  		"VINDICATED":             5,
   365  		"VERIFICATION_ERROR":     6,
   366  		"VERIFICATION_CANCELED":  7,
   367  	}
   368  )
   369  
   370  func (x SuspectVerificationStatus) Enum() *SuspectVerificationStatus {
   371  	p := new(SuspectVerificationStatus)
   372  	*p = x
   373  	return p
   374  }
   375  
   376  func (x SuspectVerificationStatus) String() string {
   377  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   378  }
   379  
   380  func (SuspectVerificationStatus) Descriptor() protoreflect.EnumDescriptor {
   381  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[4].Descriptor()
   382  }
   383  
   384  func (SuspectVerificationStatus) Type() protoreflect.EnumType {
   385  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[4]
   386  }
   387  
   388  func (x SuspectVerificationStatus) Number() protoreflect.EnumNumber {
   389  	return protoreflect.EnumNumber(x)
   390  }
   391  
   392  // Deprecated: Use SuspectVerificationStatus.Descriptor instead.
   393  func (SuspectVerificationStatus) EnumDescriptor() ([]byte, []int) {
   394  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{4}
   395  }
   396  
   397  // Status of a test verdict.
   398  // It is a mirror of luci.resultdb.v1.TestVariantStatus.
   399  type TestVerdictStatus int32
   400  
   401  const (
   402  	// a test verdict must not have this status.
   403  	// This is only used when filtering verdicts.
   404  	TestVerdictStatus_TEST_VERDICT_STATUS_UNSPECIFIED TestVerdictStatus = 0
   405  	// The test verdict has no exonerations, and all results are unexpected.
   406  	TestVerdictStatus_UNEXPECTED TestVerdictStatus = 10
   407  	// The test verdict has no exonerations, and all results are unexpectedly skipped.
   408  	TestVerdictStatus_UNEXPECTEDLY_SKIPPED TestVerdictStatus = 20
   409  	// The test verdict has no exonerations, and has both expected and unexpected
   410  	// results.
   411  	TestVerdictStatus_FLAKY TestVerdictStatus = 30
   412  	// The test verdict has one or more test exonerations.
   413  	TestVerdictStatus_EXONERATED TestVerdictStatus = 40
   414  	// The test verdict has no exonerations, and all results are expected.
   415  	TestVerdictStatus_EXPECTED TestVerdictStatus = 50
   416  )
   417  
   418  // Enum value maps for TestVerdictStatus.
   419  var (
   420  	TestVerdictStatus_name = map[int32]string{
   421  		0:  "TEST_VERDICT_STATUS_UNSPECIFIED",
   422  		10: "UNEXPECTED",
   423  		20: "UNEXPECTEDLY_SKIPPED",
   424  		30: "FLAKY",
   425  		40: "EXONERATED",
   426  		50: "EXPECTED",
   427  	}
   428  	TestVerdictStatus_value = map[string]int32{
   429  		"TEST_VERDICT_STATUS_UNSPECIFIED": 0,
   430  		"UNEXPECTED":                      10,
   431  		"UNEXPECTEDLY_SKIPPED":            20,
   432  		"FLAKY":                           30,
   433  		"EXONERATED":                      40,
   434  		"EXPECTED":                        50,
   435  	}
   436  )
   437  
   438  func (x TestVerdictStatus) Enum() *TestVerdictStatus {
   439  	p := new(TestVerdictStatus)
   440  	*p = x
   441  	return p
   442  }
   443  
   444  func (x TestVerdictStatus) String() string {
   445  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   446  }
   447  
   448  func (TestVerdictStatus) Descriptor() protoreflect.EnumDescriptor {
   449  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[5].Descriptor()
   450  }
   451  
   452  func (TestVerdictStatus) Type() protoreflect.EnumType {
   453  	return &file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes[5]
   454  }
   455  
   456  func (x TestVerdictStatus) Number() protoreflect.EnumNumber {
   457  	return protoreflect.EnumNumber(x)
   458  }
   459  
   460  // Deprecated: Use TestVerdictStatus.Descriptor instead.
   461  func (TestVerdictStatus) EnumDescriptor() ([]byte, []int) {
   462  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{5}
   463  }
   464  
   465  // RerunResult contains the result of one rerun.
   466  // It is for the bots to update result back to LUCI Bisection.
   467  type RerunResult struct {
   468  	state         protoimpl.MessageState
   469  	sizeCache     protoimpl.SizeCache
   470  	unknownFields protoimpl.UnknownFields
   471  
   472  	// Status of the rerun.
   473  	RerunStatus RerunStatus `protobuf:"varint,1,opt,name=rerun_status,json=rerunStatus,proto3,enum=luci.bisection.v1.RerunStatus" json:"rerun_status,omitempty"`
   474  	// Error message, in case of FAILED or INFRA_FAILED status.
   475  	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
   476  }
   477  
   478  func (x *RerunResult) Reset() {
   479  	*x = RerunResult{}
   480  	if protoimpl.UnsafeEnabled {
   481  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[0]
   482  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   483  		ms.StoreMessageInfo(mi)
   484  	}
   485  }
   486  
   487  func (x *RerunResult) String() string {
   488  	return protoimpl.X.MessageStringOf(x)
   489  }
   490  
   491  func (*RerunResult) ProtoMessage() {}
   492  
   493  func (x *RerunResult) ProtoReflect() protoreflect.Message {
   494  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[0]
   495  	if protoimpl.UnsafeEnabled && x != nil {
   496  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   497  		if ms.LoadMessageInfo() == nil {
   498  			ms.StoreMessageInfo(mi)
   499  		}
   500  		return ms
   501  	}
   502  	return mi.MessageOf(x)
   503  }
   504  
   505  // Deprecated: Use RerunResult.ProtoReflect.Descriptor instead.
   506  func (*RerunResult) Descriptor() ([]byte, []int) {
   507  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{0}
   508  }
   509  
   510  func (x *RerunResult) GetRerunStatus() RerunStatus {
   511  	if x != nil {
   512  		return x.RerunStatus
   513  	}
   514  	return RerunStatus_RERUN_STATUS_UNSPECIFIED
   515  }
   516  
   517  func (x *RerunResult) GetErrorMessage() string {
   518  	if x != nil {
   519  		return x.ErrorMessage
   520  	}
   521  	return ""
   522  }
   523  
   524  // SingleRerun contains information about a single rerun.
   525  // The same bot may be reused for multiple rerun (to speed up compilation time).
   526  type SingleRerun struct {
   527  	state         protoimpl.MessageState
   528  	sizeCache     protoimpl.SizeCache
   529  	unknownFields protoimpl.UnknownFields
   530  
   531  	// Timestamp for the created time of the rerun.
   532  	StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   533  	// Timestamp for the last updated time of the rerun.
   534  	LastUpdatedTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_updated_time,json=lastUpdatedTime,proto3" json:"last_updated_time,omitempty"`
   535  	// Timestamp for the end time of the rerun.
   536  	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
   537  	// Buildbucket ID of the rerun build.
   538  	Bbid int64 `protobuf:"varint,4,opt,name=bbid,proto3" json:"bbid,omitempty"`
   539  	// Task ID of the rerun.
   540  	TaskId string `protobuf:"bytes,5,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   541  	// ID of the bot.
   542  	BotId string `protobuf:"bytes,6,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
   543  	// Result of the rerun.
   544  	RerunResult *RerunResult `protobuf:"bytes,7,opt,name=rerun_result,json=rerunResult,proto3" json:"rerun_result,omitempty"`
   545  	// Gitiles commit to do the rerun with.
   546  	Commit *proto.GitilesCommit `protobuf:"bytes,8,opt,name=commit,proto3" json:"commit,omitempty"`
   547  	// Index of the commit to rerun within the blamelist, if this is an
   548  	// nth-section rerun. We need to use a string instead of an int here because
   549  	// 0 is a possible valid value but would get lost due to the "omitempty" flag
   550  	// in the generated proto.
   551  	Index string `protobuf:"bytes,9,opt,name=index,proto3" json:"index,omitempty"`
   552  	// Type of rerun: either "Culprit Verification" or "NthSection".
   553  	Type string `protobuf:"bytes,10,opt,name=type,proto3" json:"type,omitempty"`
   554  }
   555  
   556  func (x *SingleRerun) Reset() {
   557  	*x = SingleRerun{}
   558  	if protoimpl.UnsafeEnabled {
   559  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[1]
   560  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   561  		ms.StoreMessageInfo(mi)
   562  	}
   563  }
   564  
   565  func (x *SingleRerun) String() string {
   566  	return protoimpl.X.MessageStringOf(x)
   567  }
   568  
   569  func (*SingleRerun) ProtoMessage() {}
   570  
   571  func (x *SingleRerun) ProtoReflect() protoreflect.Message {
   572  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[1]
   573  	if protoimpl.UnsafeEnabled && x != nil {
   574  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   575  		if ms.LoadMessageInfo() == nil {
   576  			ms.StoreMessageInfo(mi)
   577  		}
   578  		return ms
   579  	}
   580  	return mi.MessageOf(x)
   581  }
   582  
   583  // Deprecated: Use SingleRerun.ProtoReflect.Descriptor instead.
   584  func (*SingleRerun) Descriptor() ([]byte, []int) {
   585  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{1}
   586  }
   587  
   588  func (x *SingleRerun) GetStartTime() *timestamppb.Timestamp {
   589  	if x != nil {
   590  		return x.StartTime
   591  	}
   592  	return nil
   593  }
   594  
   595  func (x *SingleRerun) GetLastUpdatedTime() *timestamppb.Timestamp {
   596  	if x != nil {
   597  		return x.LastUpdatedTime
   598  	}
   599  	return nil
   600  }
   601  
   602  func (x *SingleRerun) GetEndTime() *timestamppb.Timestamp {
   603  	if x != nil {
   604  		return x.EndTime
   605  	}
   606  	return nil
   607  }
   608  
   609  func (x *SingleRerun) GetBbid() int64 {
   610  	if x != nil {
   611  		return x.Bbid
   612  	}
   613  	return 0
   614  }
   615  
   616  func (x *SingleRerun) GetTaskId() string {
   617  	if x != nil {
   618  		return x.TaskId
   619  	}
   620  	return ""
   621  }
   622  
   623  func (x *SingleRerun) GetBotId() string {
   624  	if x != nil {
   625  		return x.BotId
   626  	}
   627  	return ""
   628  }
   629  
   630  func (x *SingleRerun) GetRerunResult() *RerunResult {
   631  	if x != nil {
   632  		return x.RerunResult
   633  	}
   634  	return nil
   635  }
   636  
   637  func (x *SingleRerun) GetCommit() *proto.GitilesCommit {
   638  	if x != nil {
   639  		return x.Commit
   640  	}
   641  	return nil
   642  }
   643  
   644  func (x *SingleRerun) GetIndex() string {
   645  	if x != nil {
   646  		return x.Index
   647  	}
   648  	return ""
   649  }
   650  
   651  func (x *SingleRerun) GetType() string {
   652  	if x != nil {
   653  		return x.Type
   654  	}
   655  	return ""
   656  }
   657  
   658  type SuspectVerificationDetails struct {
   659  	state         protoimpl.MessageState
   660  	sizeCache     protoimpl.SizeCache
   661  	unknownFields protoimpl.UnknownFields
   662  
   663  	// The status of the suspect verification.
   664  	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
   665  	// The verification rerun build for the suspect commit.
   666  	SuspectRerun *SingleRerun `protobuf:"bytes,2,opt,name=suspect_rerun,json=suspectRerun,proto3" json:"suspect_rerun,omitempty"`
   667  	// The verification rerun build for the parent commit of the suspect.
   668  	ParentRerun *SingleRerun `protobuf:"bytes,3,opt,name=parent_rerun,json=parentRerun,proto3" json:"parent_rerun,omitempty"`
   669  }
   670  
   671  func (x *SuspectVerificationDetails) Reset() {
   672  	*x = SuspectVerificationDetails{}
   673  	if protoimpl.UnsafeEnabled {
   674  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[2]
   675  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   676  		ms.StoreMessageInfo(mi)
   677  	}
   678  }
   679  
   680  func (x *SuspectVerificationDetails) String() string {
   681  	return protoimpl.X.MessageStringOf(x)
   682  }
   683  
   684  func (*SuspectVerificationDetails) ProtoMessage() {}
   685  
   686  func (x *SuspectVerificationDetails) ProtoReflect() protoreflect.Message {
   687  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[2]
   688  	if protoimpl.UnsafeEnabled && x != nil {
   689  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   690  		if ms.LoadMessageInfo() == nil {
   691  			ms.StoreMessageInfo(mi)
   692  		}
   693  		return ms
   694  	}
   695  	return mi.MessageOf(x)
   696  }
   697  
   698  // Deprecated: Use SuspectVerificationDetails.ProtoReflect.Descriptor instead.
   699  func (*SuspectVerificationDetails) Descriptor() ([]byte, []int) {
   700  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{2}
   701  }
   702  
   703  func (x *SuspectVerificationDetails) GetStatus() string {
   704  	if x != nil {
   705  		return x.Status
   706  	}
   707  	return ""
   708  }
   709  
   710  func (x *SuspectVerificationDetails) GetSuspectRerun() *SingleRerun {
   711  	if x != nil {
   712  		return x.SuspectRerun
   713  	}
   714  	return nil
   715  }
   716  
   717  func (x *SuspectVerificationDetails) GetParentRerun() *SingleRerun {
   718  	if x != nil {
   719  		return x.ParentRerun
   720  	}
   721  	return nil
   722  }
   723  
   724  // Variant represents a way of running a test case.
   725  //
   726  // The same test case can be executed in different ways, for example on
   727  // different OS, GPUs, with different compile options or runtime flags.
   728  type Variant struct {
   729  	state         protoimpl.MessageState
   730  	sizeCache     protoimpl.SizeCache
   731  	unknownFields protoimpl.UnknownFields
   732  
   733  	// The definition of the variant. Each key-value pair represents a
   734  	// parameter describing how the test was run (e.g. OS, GPU, etc.).
   735  	Def map[string]string `protobuf:"bytes,1,rep,name=def,proto3" json:"def,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   736  }
   737  
   738  func (x *Variant) Reset() {
   739  	*x = Variant{}
   740  	if protoimpl.UnsafeEnabled {
   741  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[3]
   742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   743  		ms.StoreMessageInfo(mi)
   744  	}
   745  }
   746  
   747  func (x *Variant) String() string {
   748  	return protoimpl.X.MessageStringOf(x)
   749  }
   750  
   751  func (*Variant) ProtoMessage() {}
   752  
   753  func (x *Variant) ProtoReflect() protoreflect.Message {
   754  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[3]
   755  	if protoimpl.UnsafeEnabled && x != nil {
   756  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   757  		if ms.LoadMessageInfo() == nil {
   758  			ms.StoreMessageInfo(mi)
   759  		}
   760  		return ms
   761  	}
   762  	return mi.MessageOf(x)
   763  }
   764  
   765  // Deprecated: Use Variant.ProtoReflect.Descriptor instead.
   766  func (*Variant) Descriptor() ([]byte, []int) {
   767  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{3}
   768  }
   769  
   770  func (x *Variant) GetDef() map[string]string {
   771  	if x != nil {
   772  		return x.Def
   773  	}
   774  	return nil
   775  }
   776  
   777  // Represents a reference in a source control system.
   778  type SourceRef struct {
   779  	state         protoimpl.MessageState
   780  	sizeCache     protoimpl.SizeCache
   781  	unknownFields protoimpl.UnknownFields
   782  
   783  	// The source control system used.
   784  	// Only gitiles is supported at this moment. If other systems need to be
   785  	// supported in future (e.g. non-gitiles git, subversion, google storage
   786  	// buckets), they can be added here
   787  	//
   788  	// Types that are assignable to System:
   789  	//
   790  	//	*SourceRef_Gitiles
   791  	System isSourceRef_System `protobuf_oneof:"system"`
   792  }
   793  
   794  func (x *SourceRef) Reset() {
   795  	*x = SourceRef{}
   796  	if protoimpl.UnsafeEnabled {
   797  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[4]
   798  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   799  		ms.StoreMessageInfo(mi)
   800  	}
   801  }
   802  
   803  func (x *SourceRef) String() string {
   804  	return protoimpl.X.MessageStringOf(x)
   805  }
   806  
   807  func (*SourceRef) ProtoMessage() {}
   808  
   809  func (x *SourceRef) ProtoReflect() protoreflect.Message {
   810  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[4]
   811  	if protoimpl.UnsafeEnabled && x != nil {
   812  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   813  		if ms.LoadMessageInfo() == nil {
   814  			ms.StoreMessageInfo(mi)
   815  		}
   816  		return ms
   817  	}
   818  	return mi.MessageOf(x)
   819  }
   820  
   821  // Deprecated: Use SourceRef.ProtoReflect.Descriptor instead.
   822  func (*SourceRef) Descriptor() ([]byte, []int) {
   823  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{4}
   824  }
   825  
   826  func (m *SourceRef) GetSystem() isSourceRef_System {
   827  	if m != nil {
   828  		return m.System
   829  	}
   830  	return nil
   831  }
   832  
   833  func (x *SourceRef) GetGitiles() *GitilesRef {
   834  	if x, ok := x.GetSystem().(*SourceRef_Gitiles); ok {
   835  		return x.Gitiles
   836  	}
   837  	return nil
   838  }
   839  
   840  type isSourceRef_System interface {
   841  	isSourceRef_System()
   842  }
   843  
   844  type SourceRef_Gitiles struct {
   845  	// A branch in gitiles repository.
   846  	Gitiles *GitilesRef `protobuf:"bytes,1,opt,name=gitiles,proto3,oneof"`
   847  }
   848  
   849  func (*SourceRef_Gitiles) isSourceRef_System() {}
   850  
   851  // Represents a branch in a gitiles repository.
   852  type GitilesRef struct {
   853  	state         protoimpl.MessageState
   854  	sizeCache     protoimpl.SizeCache
   855  	unknownFields protoimpl.UnknownFields
   856  
   857  	// The gitiles host, e.g. "chromium.googlesource.com".
   858  	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
   859  	// The project on the gitiles host, e.g. "chromium/src".
   860  	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
   861  	// Commit ref, e.g. "refs/heads/main" from which the commit was fetched.
   862  	// Not the branch name, use "refs/heads/branch"
   863  	Ref string `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
   864  }
   865  
   866  func (x *GitilesRef) Reset() {
   867  	*x = GitilesRef{}
   868  	if protoimpl.UnsafeEnabled {
   869  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[5]
   870  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   871  		ms.StoreMessageInfo(mi)
   872  	}
   873  }
   874  
   875  func (x *GitilesRef) String() string {
   876  	return protoimpl.X.MessageStringOf(x)
   877  }
   878  
   879  func (*GitilesRef) ProtoMessage() {}
   880  
   881  func (x *GitilesRef) ProtoReflect() protoreflect.Message {
   882  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[5]
   883  	if protoimpl.UnsafeEnabled && x != nil {
   884  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   885  		if ms.LoadMessageInfo() == nil {
   886  			ms.StoreMessageInfo(mi)
   887  		}
   888  		return ms
   889  	}
   890  	return mi.MessageOf(x)
   891  }
   892  
   893  // Deprecated: Use GitilesRef.ProtoReflect.Descriptor instead.
   894  func (*GitilesRef) Descriptor() ([]byte, []int) {
   895  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{5}
   896  }
   897  
   898  func (x *GitilesRef) GetHost() string {
   899  	if x != nil {
   900  		return x.Host
   901  	}
   902  	return ""
   903  }
   904  
   905  func (x *GitilesRef) GetProject() string {
   906  	if x != nil {
   907  		return x.Project
   908  	}
   909  	return ""
   910  }
   911  
   912  func (x *GitilesRef) GetRef() string {
   913  	if x != nil {
   914  		return x.Ref
   915  	}
   916  	return ""
   917  }
   918  
   919  // Represents dimensions requested to buildbucket.
   920  type Dimensions struct {
   921  	state         protoimpl.MessageState
   922  	sizeCache     protoimpl.SizeCache
   923  	unknownFields protoimpl.UnknownFields
   924  
   925  	// List of dimensions, ordered by key ascendingly.
   926  	Dimensions []*Dimension `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
   927  }
   928  
   929  func (x *Dimensions) Reset() {
   930  	*x = Dimensions{}
   931  	if protoimpl.UnsafeEnabled {
   932  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[6]
   933  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   934  		ms.StoreMessageInfo(mi)
   935  	}
   936  }
   937  
   938  func (x *Dimensions) String() string {
   939  	return protoimpl.X.MessageStringOf(x)
   940  }
   941  
   942  func (*Dimensions) ProtoMessage() {}
   943  
   944  func (x *Dimensions) ProtoReflect() protoreflect.Message {
   945  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[6]
   946  	if protoimpl.UnsafeEnabled && x != nil {
   947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   948  		if ms.LoadMessageInfo() == nil {
   949  			ms.StoreMessageInfo(mi)
   950  		}
   951  		return ms
   952  	}
   953  	return mi.MessageOf(x)
   954  }
   955  
   956  // Deprecated: Use Dimensions.ProtoReflect.Descriptor instead.
   957  func (*Dimensions) Descriptor() ([]byte, []int) {
   958  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{6}
   959  }
   960  
   961  func (x *Dimensions) GetDimensions() []*Dimension {
   962  	if x != nil {
   963  		return x.Dimensions
   964  	}
   965  	return nil
   966  }
   967  
   968  // Represent one dimension requested to buildbucket.
   969  type Dimension struct {
   970  	state         protoimpl.MessageState
   971  	sizeCache     protoimpl.SizeCache
   972  	unknownFields protoimpl.UnknownFields
   973  
   974  	// Key, e.g. "os".
   975  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   976  	// Value, e.g. "Ubuntu".
   977  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   978  }
   979  
   980  func (x *Dimension) Reset() {
   981  	*x = Dimension{}
   982  	if protoimpl.UnsafeEnabled {
   983  		mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[7]
   984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   985  		ms.StoreMessageInfo(mi)
   986  	}
   987  }
   988  
   989  func (x *Dimension) String() string {
   990  	return protoimpl.X.MessageStringOf(x)
   991  }
   992  
   993  func (*Dimension) ProtoMessage() {}
   994  
   995  func (x *Dimension) ProtoReflect() protoreflect.Message {
   996  	mi := &file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[7]
   997  	if protoimpl.UnsafeEnabled && x != nil {
   998  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   999  		if ms.LoadMessageInfo() == nil {
  1000  			ms.StoreMessageInfo(mi)
  1001  		}
  1002  		return ms
  1003  	}
  1004  	return mi.MessageOf(x)
  1005  }
  1006  
  1007  // Deprecated: Use Dimension.ProtoReflect.Descriptor instead.
  1008  func (*Dimension) Descriptor() ([]byte, []int) {
  1009  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP(), []int{7}
  1010  }
  1011  
  1012  func (x *Dimension) GetKey() string {
  1013  	if x != nil {
  1014  		return x.Key
  1015  	}
  1016  	return ""
  1017  }
  1018  
  1019  func (x *Dimension) GetValue() string {
  1020  	if x != nil {
  1021  		return x.Value
  1022  	}
  1023  	return ""
  1024  }
  1025  
  1026  var File_go_chromium_org_luci_bisection_proto_v1_common_proto protoreflect.FileDescriptor
  1027  
  1028  var file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDesc = []byte{
  1029  	0x0a, 0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1030  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1031  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
  1032  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73,
  1033  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1034  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
  1035  	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63,
  1036  	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69,
  1037  	0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f,
  1038  	0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
  1039  	0x75, 0x0a, 0x0b, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x41,
  1040  	0x0a, 0x0c, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
  1041  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65,
  1042  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x53, 0x74,
  1043  	0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
  1044  	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
  1045  	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d,
  1046  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xaf, 0x03, 0x0a, 0x0b, 0x53, 0x69, 0x6e, 0x67, 0x6c,
  1047  	0x65, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
  1048  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  1049  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  1050  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
  1051  	0x65, 0x12, 0x46, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  1052  	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1053  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1054  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70,
  1055  	0x64, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64,
  1056  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  1057  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  1058  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
  1059  	0x12, 0x12, 0x0a, 0x04, 0x62, 0x62, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
  1060  	0x62, 0x62, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18,
  1061  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x15, 0x0a,
  1062  	0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62,
  1063  	0x6f, 0x74, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65,
  1064  	0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63,
  1065  	0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52,
  1066  	0x65, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x72, 0x65, 0x72, 0x75,
  1067  	0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
  1068  	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62,
  1069  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73,
  1070  	0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x14,
  1071  	0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69,
  1072  	0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01,
  1073  	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x73,
  1074  	0x70, 0x65, 0x63, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1075  	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  1076  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
  1077  	0x43, 0x0a, 0x0d, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x72, 0x75, 0x6e,
  1078  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69,
  1079  	0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c,
  1080  	0x65, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52,
  1081  	0x65, 0x72, 0x75, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72,
  1082  	0x65, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x75, 0x63,
  1083  	0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
  1084  	0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65,
  1085  	0x6e, 0x74, 0x52, 0x65, 0x72, 0x75, 0x6e, 0x22, 0x78, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61,
  1086  	0x6e, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1087  	0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1088  	0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x66, 0x45,
  1089  	0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x64, 0x65, 0x66, 0x1a, 0x36, 0x0a, 0x08, 0x44, 0x65, 0x66,
  1090  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  1091  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  1092  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  1093  	0x01, 0x22, 0x50, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x39,
  1094  	0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1095  	0x1d, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1096  	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x66, 0x48, 0x00,
  1097  	0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x79, 0x73,
  1098  	0x74, 0x65, 0x6d, 0x22, 0x4c, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65,
  1099  	0x66, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1100  	0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  1101  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
  1102  	0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65,
  1103  	0x66, 0x22, 0x4a, 0x0a, 0x0a, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  1104  	0x3c, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
  1105  	0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x62, 0x69, 0x73, 0x65, 0x63,
  1106  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  1107  	0x6e, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x33, 0x0a,
  1108  	0x09, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  1109  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
  1110  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
  1111  	0x75, 0x65, 0x2a, 0xb5, 0x01, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53,
  1112  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49,
  1113  	0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  1114  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
  1115  	0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02,
  1116  	0x12, 0x09, 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4e,
  1117  	0x4f, 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52,
  1118  	0x4f, 0x52, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, 0x46,
  1119  	0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50,
  1120  	0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42,
  1121  	0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49,
  1122  	0x43, 0x45, 0x4e, 0x54, 0x44, 0x41, 0x54, 0x41, 0x10, 0x09, 0x2a, 0xd4, 0x01, 0x0a, 0x0b, 0x52,
  1123  	0x65, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45,
  1124  	0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  1125  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x52, 0x55,
  1126  	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47,
  1127  	0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x52, 0x55, 0x4e, 0x5f,
  1128  	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12,
  1129  	0x17, 0x0a, 0x13, 0x52, 0x45, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
  1130  	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x52, 0x55,
  1131  	0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x5f, 0x46,
  1132  	0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x52, 0x55, 0x4e,
  1133  	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44,
  1134  	0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
  1135  	0x55, 0x53, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10,
  1136  	0x06, 0x2a, 0x6a, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53,
  1137  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45,
  1138  	0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  1139  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x53,
  1140  	0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x09, 0x0a,
  1141  	0x05, 0x43, 0x52, 0x41, 0x53, 0x48, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x42, 0x4f, 0x52,
  1142  	0x54, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x05, 0x2a, 0x66, 0x0a,
  1143  	0x0c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
  1144  	0x19, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
  1145  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18,
  1146  	0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f,
  1147  	0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x45,
  1148  	0x53, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59,
  1149  	0x53, 0x49, 0x53, 0x10, 0x02, 0x2a, 0xe6, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x73, 0x70, 0x65, 0x63,
  1150  	0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
  1151  	0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x56,
  1152  	0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
  1153  	0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
  1154  	0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01,
  1155  	0x12, 0x1a, 0x0a, 0x16, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e,
  1156  	0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12,
  1157  	0x55, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49,
  1158  	0x4f, 0x4e, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45,
  1159  	0x44, 0x5f, 0x43, 0x55, 0x4c, 0x50, 0x52, 0x49, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x56,
  1160  	0x49, 0x4e, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x56,
  1161  	0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f,
  1162  	0x52, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54,
  1163  	0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x8b,
  1164  	0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x64, 0x69, 0x63, 0x74, 0x53, 0x74,
  1165  	0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x56, 0x45, 0x52,
  1166  	0x44, 0x49, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  1167  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x45,
  1168  	0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x45,
  1169  	0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x4c, 0x59, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45,
  1170  	0x44, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4c, 0x41, 0x4b, 0x59, 0x10, 0x1e, 0x12, 0x0e,
  1171  	0x0a, 0x0a, 0x45, 0x58, 0x4f, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x28, 0x12, 0x0c,
  1172  	0x0a, 0x08, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x32, 0x42, 0x35, 0x5a, 0x33,
  1173  	0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
  1174  	0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70,
  1175  	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x62, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f,
  1176  	0x6e, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1177  }
  1178  
  1179  var (
  1180  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescOnce sync.Once
  1181  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescData = file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDesc
  1182  )
  1183  
  1184  func file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescGZIP() []byte {
  1185  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescOnce.Do(func() {
  1186  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescData)
  1187  	})
  1188  	return file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDescData
  1189  }
  1190  
  1191  var file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  1192  var file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
  1193  var file_go_chromium_org_luci_bisection_proto_v1_common_proto_goTypes = []interface{}{
  1194  	(AnalysisStatus)(0),                // 0: luci.bisection.v1.AnalysisStatus
  1195  	(RerunStatus)(0),                   // 1: luci.bisection.v1.RerunStatus
  1196  	(TestResultStatus)(0),              // 2: luci.bisection.v1.TestResultStatus
  1197  	(AnalysisType)(0),                  // 3: luci.bisection.v1.AnalysisType
  1198  	(SuspectVerificationStatus)(0),     // 4: luci.bisection.v1.SuspectVerificationStatus
  1199  	(TestVerdictStatus)(0),             // 5: luci.bisection.v1.TestVerdictStatus
  1200  	(*RerunResult)(nil),                // 6: luci.bisection.v1.RerunResult
  1201  	(*SingleRerun)(nil),                // 7: luci.bisection.v1.SingleRerun
  1202  	(*SuspectVerificationDetails)(nil), // 8: luci.bisection.v1.SuspectVerificationDetails
  1203  	(*Variant)(nil),                    // 9: luci.bisection.v1.Variant
  1204  	(*SourceRef)(nil),                  // 10: luci.bisection.v1.SourceRef
  1205  	(*GitilesRef)(nil),                 // 11: luci.bisection.v1.GitilesRef
  1206  	(*Dimensions)(nil),                 // 12: luci.bisection.v1.Dimensions
  1207  	(*Dimension)(nil),                  // 13: luci.bisection.v1.Dimension
  1208  	nil,                                // 14: luci.bisection.v1.Variant.DefEntry
  1209  	(*timestamppb.Timestamp)(nil),      // 15: google.protobuf.Timestamp
  1210  	(*proto.GitilesCommit)(nil),        // 16: buildbucket.v2.GitilesCommit
  1211  }
  1212  var file_go_chromium_org_luci_bisection_proto_v1_common_proto_depIdxs = []int32{
  1213  	1,  // 0: luci.bisection.v1.RerunResult.rerun_status:type_name -> luci.bisection.v1.RerunStatus
  1214  	15, // 1: luci.bisection.v1.SingleRerun.start_time:type_name -> google.protobuf.Timestamp
  1215  	15, // 2: luci.bisection.v1.SingleRerun.last_updated_time:type_name -> google.protobuf.Timestamp
  1216  	15, // 3: luci.bisection.v1.SingleRerun.end_time:type_name -> google.protobuf.Timestamp
  1217  	6,  // 4: luci.bisection.v1.SingleRerun.rerun_result:type_name -> luci.bisection.v1.RerunResult
  1218  	16, // 5: luci.bisection.v1.SingleRerun.commit:type_name -> buildbucket.v2.GitilesCommit
  1219  	7,  // 6: luci.bisection.v1.SuspectVerificationDetails.suspect_rerun:type_name -> luci.bisection.v1.SingleRerun
  1220  	7,  // 7: luci.bisection.v1.SuspectVerificationDetails.parent_rerun:type_name -> luci.bisection.v1.SingleRerun
  1221  	14, // 8: luci.bisection.v1.Variant.def:type_name -> luci.bisection.v1.Variant.DefEntry
  1222  	11, // 9: luci.bisection.v1.SourceRef.gitiles:type_name -> luci.bisection.v1.GitilesRef
  1223  	13, // 10: luci.bisection.v1.Dimensions.dimensions:type_name -> luci.bisection.v1.Dimension
  1224  	11, // [11:11] is the sub-list for method output_type
  1225  	11, // [11:11] is the sub-list for method input_type
  1226  	11, // [11:11] is the sub-list for extension type_name
  1227  	11, // [11:11] is the sub-list for extension extendee
  1228  	0,  // [0:11] is the sub-list for field type_name
  1229  }
  1230  
  1231  func init() { file_go_chromium_org_luci_bisection_proto_v1_common_proto_init() }
  1232  func file_go_chromium_org_luci_bisection_proto_v1_common_proto_init() {
  1233  	if File_go_chromium_org_luci_bisection_proto_v1_common_proto != nil {
  1234  		return
  1235  	}
  1236  	if !protoimpl.UnsafeEnabled {
  1237  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1238  			switch v := v.(*RerunResult); i {
  1239  			case 0:
  1240  				return &v.state
  1241  			case 1:
  1242  				return &v.sizeCache
  1243  			case 2:
  1244  				return &v.unknownFields
  1245  			default:
  1246  				return nil
  1247  			}
  1248  		}
  1249  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1250  			switch v := v.(*SingleRerun); i {
  1251  			case 0:
  1252  				return &v.state
  1253  			case 1:
  1254  				return &v.sizeCache
  1255  			case 2:
  1256  				return &v.unknownFields
  1257  			default:
  1258  				return nil
  1259  			}
  1260  		}
  1261  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1262  			switch v := v.(*SuspectVerificationDetails); i {
  1263  			case 0:
  1264  				return &v.state
  1265  			case 1:
  1266  				return &v.sizeCache
  1267  			case 2:
  1268  				return &v.unknownFields
  1269  			default:
  1270  				return nil
  1271  			}
  1272  		}
  1273  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1274  			switch v := v.(*Variant); i {
  1275  			case 0:
  1276  				return &v.state
  1277  			case 1:
  1278  				return &v.sizeCache
  1279  			case 2:
  1280  				return &v.unknownFields
  1281  			default:
  1282  				return nil
  1283  			}
  1284  		}
  1285  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1286  			switch v := v.(*SourceRef); i {
  1287  			case 0:
  1288  				return &v.state
  1289  			case 1:
  1290  				return &v.sizeCache
  1291  			case 2:
  1292  				return &v.unknownFields
  1293  			default:
  1294  				return nil
  1295  			}
  1296  		}
  1297  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1298  			switch v := v.(*GitilesRef); i {
  1299  			case 0:
  1300  				return &v.state
  1301  			case 1:
  1302  				return &v.sizeCache
  1303  			case 2:
  1304  				return &v.unknownFields
  1305  			default:
  1306  				return nil
  1307  			}
  1308  		}
  1309  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1310  			switch v := v.(*Dimensions); i {
  1311  			case 0:
  1312  				return &v.state
  1313  			case 1:
  1314  				return &v.sizeCache
  1315  			case 2:
  1316  				return &v.unknownFields
  1317  			default:
  1318  				return nil
  1319  			}
  1320  		}
  1321  		file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1322  			switch v := v.(*Dimension); i {
  1323  			case 0:
  1324  				return &v.state
  1325  			case 1:
  1326  				return &v.sizeCache
  1327  			case 2:
  1328  				return &v.unknownFields
  1329  			default:
  1330  				return nil
  1331  			}
  1332  		}
  1333  	}
  1334  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes[4].OneofWrappers = []interface{}{
  1335  		(*SourceRef_Gitiles)(nil),
  1336  	}
  1337  	type x struct{}
  1338  	out := protoimpl.TypeBuilder{
  1339  		File: protoimpl.DescBuilder{
  1340  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1341  			RawDescriptor: file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDesc,
  1342  			NumEnums:      6,
  1343  			NumMessages:   9,
  1344  			NumExtensions: 0,
  1345  			NumServices:   0,
  1346  		},
  1347  		GoTypes:           file_go_chromium_org_luci_bisection_proto_v1_common_proto_goTypes,
  1348  		DependencyIndexes: file_go_chromium_org_luci_bisection_proto_v1_common_proto_depIdxs,
  1349  		EnumInfos:         file_go_chromium_org_luci_bisection_proto_v1_common_proto_enumTypes,
  1350  		MessageInfos:      file_go_chromium_org_luci_bisection_proto_v1_common_proto_msgTypes,
  1351  	}.Build()
  1352  	File_go_chromium_org_luci_bisection_proto_v1_common_proto = out.File
  1353  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_rawDesc = nil
  1354  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_goTypes = nil
  1355  	file_go_chromium_org_luci_bisection_proto_v1_common_proto_depIdxs = nil
  1356  }