github.com/nya3jp/tast@v0.0.0-20230601000426-85c8e4d83a9b/src/go.chromium.org/tast/core/internal/protocol/testing.pb.go (about)

     1  // Copyright 2021 The ChromiumOS Authors
     2  // Use of this source code is governed by a BSD-style license that can be
     3  // found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.27.1
     8  // 	protoc        v3.21.9
     9  // source: testing.proto
    10  
    11  package protocol
    12  
    13  import (
    14  	context "context"
    15  	protocol "go.chromium.org/tast/core/framework/protocol"
    16  	grpc "google.golang.org/grpc"
    17  	codes "google.golang.org/grpc/codes"
    18  	status "google.golang.org/grpc/status"
    19  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    20  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    21  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    22  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    23  	reflect "reflect"
    24  	sync "sync"
    25  )
    26  
    27  const (
    28  	// Verify that this generated code is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    30  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    32  )
    33  
    34  // EntityType represents a type of an entity.
    35  type EntityType int32
    36  
    37  const (
    38  	EntityType_TEST    EntityType = 0
    39  	EntityType_FIXTURE EntityType = 1
    40  )
    41  
    42  // Enum value maps for EntityType.
    43  var (
    44  	EntityType_name = map[int32]string{
    45  		0: "TEST",
    46  		1: "FIXTURE",
    47  	}
    48  	EntityType_value = map[string]int32{
    49  		"TEST":    0,
    50  		"FIXTURE": 1,
    51  	}
    52  )
    53  
    54  func (x EntityType) Enum() *EntityType {
    55  	p := new(EntityType)
    56  	*p = x
    57  	return p
    58  }
    59  
    60  func (x EntityType) String() string {
    61  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    62  }
    63  
    64  func (EntityType) Descriptor() protoreflect.EnumDescriptor {
    65  	return file_testing_proto_enumTypes[0].Descriptor()
    66  }
    67  
    68  func (EntityType) Type() protoreflect.EnumType {
    69  	return &file_testing_proto_enumTypes[0]
    70  }
    71  
    72  func (x EntityType) Number() protoreflect.EnumNumber {
    73  	return protoreflect.EnumNumber(x)
    74  }
    75  
    76  // Deprecated: Use EntityType.Descriptor instead.
    77  func (EntityType) EnumDescriptor() ([]byte, []int) {
    78  	return file_testing_proto_rawDescGZIP(), []int{0}
    79  }
    80  
    81  // DownloadMode specifies a strategy to download external data files.
    82  type DownloadMode int32
    83  
    84  const (
    85  	// BATCH specifies that test bundles should download external data files
    86  	// in batch before running tests.
    87  	DownloadMode_BATCH DownloadMode = 0
    88  	// LAZY specifies that test bundles should download external data files
    89  	// as needed between tests.
    90  	DownloadMode_LAZY DownloadMode = 1
    91  )
    92  
    93  // Enum value maps for DownloadMode.
    94  var (
    95  	DownloadMode_name = map[int32]string{
    96  		0: "BATCH",
    97  		1: "LAZY",
    98  	}
    99  	DownloadMode_value = map[string]int32{
   100  		"BATCH": 0,
   101  		"LAZY":  1,
   102  	}
   103  )
   104  
   105  func (x DownloadMode) Enum() *DownloadMode {
   106  	p := new(DownloadMode)
   107  	*p = x
   108  	return p
   109  }
   110  
   111  func (x DownloadMode) String() string {
   112  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   113  }
   114  
   115  func (DownloadMode) Descriptor() protoreflect.EnumDescriptor {
   116  	return file_testing_proto_enumTypes[1].Descriptor()
   117  }
   118  
   119  func (DownloadMode) Type() protoreflect.EnumType {
   120  	return &file_testing_proto_enumTypes[1]
   121  }
   122  
   123  func (x DownloadMode) Number() protoreflect.EnumNumber {
   124  	return protoreflect.EnumNumber(x)
   125  }
   126  
   127  // Deprecated: Use DownloadMode.Descriptor instead.
   128  func (DownloadMode) EnumDescriptor() ([]byte, []int) {
   129  	return file_testing_proto_rawDescGZIP(), []int{1}
   130  }
   131  
   132  type StackStatus int32
   133  
   134  const (
   135  	StackStatus_GREEN  StackStatus = 0
   136  	StackStatus_RED    StackStatus = 1
   137  	StackStatus_YELLOW StackStatus = 2
   138  )
   139  
   140  // Enum value maps for StackStatus.
   141  var (
   142  	StackStatus_name = map[int32]string{
   143  		0: "GREEN",
   144  		1: "RED",
   145  		2: "YELLOW",
   146  	}
   147  	StackStatus_value = map[string]int32{
   148  		"GREEN":  0,
   149  		"RED":    1,
   150  		"YELLOW": 2,
   151  	}
   152  )
   153  
   154  func (x StackStatus) Enum() *StackStatus {
   155  	p := new(StackStatus)
   156  	*p = x
   157  	return p
   158  }
   159  
   160  func (x StackStatus) String() string {
   161  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   162  }
   163  
   164  func (StackStatus) Descriptor() protoreflect.EnumDescriptor {
   165  	return file_testing_proto_enumTypes[2].Descriptor()
   166  }
   167  
   168  func (StackStatus) Type() protoreflect.EnumType {
   169  	return &file_testing_proto_enumTypes[2]
   170  }
   171  
   172  func (x StackStatus) Number() protoreflect.EnumNumber {
   173  	return protoreflect.EnumNumber(x)
   174  }
   175  
   176  // Deprecated: Use StackStatus.Descriptor instead.
   177  func (StackStatus) EnumDescriptor() ([]byte, []int) {
   178  	return file_testing_proto_rawDescGZIP(), []int{2}
   179  }
   180  
   181  type ListEntitiesRequest struct {
   182  	state         protoimpl.MessageState
   183  	sizeCache     protoimpl.SizeCache
   184  	unknownFields protoimpl.UnknownFields
   185  
   186  	Features *Features `protobuf:"bytes,1,opt,name=features,proto3" json:"features,omitempty"`
   187  	// Recursive specifies whether to list entities on target bundles recursively.
   188  	Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"`
   189  }
   190  
   191  func (x *ListEntitiesRequest) Reset() {
   192  	*x = ListEntitiesRequest{}
   193  	if protoimpl.UnsafeEnabled {
   194  		mi := &file_testing_proto_msgTypes[0]
   195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   196  		ms.StoreMessageInfo(mi)
   197  	}
   198  }
   199  
   200  func (x *ListEntitiesRequest) String() string {
   201  	return protoimpl.X.MessageStringOf(x)
   202  }
   203  
   204  func (*ListEntitiesRequest) ProtoMessage() {}
   205  
   206  func (x *ListEntitiesRequest) ProtoReflect() protoreflect.Message {
   207  	mi := &file_testing_proto_msgTypes[0]
   208  	if protoimpl.UnsafeEnabled && x != nil {
   209  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   210  		if ms.LoadMessageInfo() == nil {
   211  			ms.StoreMessageInfo(mi)
   212  		}
   213  		return ms
   214  	}
   215  	return mi.MessageOf(x)
   216  }
   217  
   218  // Deprecated: Use ListEntitiesRequest.ProtoReflect.Descriptor instead.
   219  func (*ListEntitiesRequest) Descriptor() ([]byte, []int) {
   220  	return file_testing_proto_rawDescGZIP(), []int{0}
   221  }
   222  
   223  func (x *ListEntitiesRequest) GetFeatures() *Features {
   224  	if x != nil {
   225  		return x.Features
   226  	}
   227  	return nil
   228  }
   229  
   230  func (x *ListEntitiesRequest) GetRecursive() bool {
   231  	if x != nil {
   232  		return x.Recursive
   233  	}
   234  	return false
   235  }
   236  
   237  type ListEntitiesResponse struct {
   238  	state         protoimpl.MessageState
   239  	sizeCache     protoimpl.SizeCache
   240  	unknownFields protoimpl.UnknownFields
   241  
   242  	// Entities is a list of entities available on the server. The order of
   243  	// entities is unspecified.
   244  	Entities []*ResolvedEntity `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"`
   245  }
   246  
   247  func (x *ListEntitiesResponse) Reset() {
   248  	*x = ListEntitiesResponse{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_testing_proto_msgTypes[1]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *ListEntitiesResponse) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*ListEntitiesResponse) ProtoMessage() {}
   261  
   262  func (x *ListEntitiesResponse) ProtoReflect() protoreflect.Message {
   263  	mi := &file_testing_proto_msgTypes[1]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use ListEntitiesResponse.ProtoReflect.Descriptor instead.
   275  func (*ListEntitiesResponse) Descriptor() ([]byte, []int) {
   276  	return file_testing_proto_rawDescGZIP(), []int{1}
   277  }
   278  
   279  func (x *ListEntitiesResponse) GetEntities() []*ResolvedEntity {
   280  	if x != nil {
   281  		return x.Entities
   282  	}
   283  	return nil
   284  }
   285  
   286  type GlobalRuntimeVarsRequest struct {
   287  	state         protoimpl.MessageState
   288  	sizeCache     protoimpl.SizeCache
   289  	unknownFields protoimpl.UnknownFields
   290  }
   291  
   292  func (x *GlobalRuntimeVarsRequest) Reset() {
   293  	*x = GlobalRuntimeVarsRequest{}
   294  	if protoimpl.UnsafeEnabled {
   295  		mi := &file_testing_proto_msgTypes[2]
   296  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   297  		ms.StoreMessageInfo(mi)
   298  	}
   299  }
   300  
   301  func (x *GlobalRuntimeVarsRequest) String() string {
   302  	return protoimpl.X.MessageStringOf(x)
   303  }
   304  
   305  func (*GlobalRuntimeVarsRequest) ProtoMessage() {}
   306  
   307  func (x *GlobalRuntimeVarsRequest) ProtoReflect() protoreflect.Message {
   308  	mi := &file_testing_proto_msgTypes[2]
   309  	if protoimpl.UnsafeEnabled && x != nil {
   310  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   311  		if ms.LoadMessageInfo() == nil {
   312  			ms.StoreMessageInfo(mi)
   313  		}
   314  		return ms
   315  	}
   316  	return mi.MessageOf(x)
   317  }
   318  
   319  // Deprecated: Use GlobalRuntimeVarsRequest.ProtoReflect.Descriptor instead.
   320  func (*GlobalRuntimeVarsRequest) Descriptor() ([]byte, []int) {
   321  	return file_testing_proto_rawDescGZIP(), []int{2}
   322  }
   323  
   324  type GlobalRuntimeVar struct {
   325  	state         protoimpl.MessageState
   326  	sizeCache     protoimpl.SizeCache
   327  	unknownFields protoimpl.UnknownFields
   328  
   329  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   330  }
   331  
   332  func (x *GlobalRuntimeVar) Reset() {
   333  	*x = GlobalRuntimeVar{}
   334  	if protoimpl.UnsafeEnabled {
   335  		mi := &file_testing_proto_msgTypes[3]
   336  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   337  		ms.StoreMessageInfo(mi)
   338  	}
   339  }
   340  
   341  func (x *GlobalRuntimeVar) String() string {
   342  	return protoimpl.X.MessageStringOf(x)
   343  }
   344  
   345  func (*GlobalRuntimeVar) ProtoMessage() {}
   346  
   347  func (x *GlobalRuntimeVar) ProtoReflect() protoreflect.Message {
   348  	mi := &file_testing_proto_msgTypes[3]
   349  	if protoimpl.UnsafeEnabled && x != nil {
   350  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   351  		if ms.LoadMessageInfo() == nil {
   352  			ms.StoreMessageInfo(mi)
   353  		}
   354  		return ms
   355  	}
   356  	return mi.MessageOf(x)
   357  }
   358  
   359  // Deprecated: Use GlobalRuntimeVar.ProtoReflect.Descriptor instead.
   360  func (*GlobalRuntimeVar) Descriptor() ([]byte, []int) {
   361  	return file_testing_proto_rawDescGZIP(), []int{3}
   362  }
   363  
   364  func (x *GlobalRuntimeVar) GetName() string {
   365  	if x != nil {
   366  		return x.Name
   367  	}
   368  	return ""
   369  }
   370  
   371  type GlobalRuntimeVarsResponse struct {
   372  	state         protoimpl.MessageState
   373  	sizeCache     protoimpl.SizeCache
   374  	unknownFields protoimpl.UnknownFields
   375  
   376  	Vars []*GlobalRuntimeVar `protobuf:"bytes,1,rep,name=vars,proto3" json:"vars,omitempty"`
   377  }
   378  
   379  func (x *GlobalRuntimeVarsResponse) Reset() {
   380  	*x = GlobalRuntimeVarsResponse{}
   381  	if protoimpl.UnsafeEnabled {
   382  		mi := &file_testing_proto_msgTypes[4]
   383  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   384  		ms.StoreMessageInfo(mi)
   385  	}
   386  }
   387  
   388  func (x *GlobalRuntimeVarsResponse) String() string {
   389  	return protoimpl.X.MessageStringOf(x)
   390  }
   391  
   392  func (*GlobalRuntimeVarsResponse) ProtoMessage() {}
   393  
   394  func (x *GlobalRuntimeVarsResponse) ProtoReflect() protoreflect.Message {
   395  	mi := &file_testing_proto_msgTypes[4]
   396  	if protoimpl.UnsafeEnabled && x != nil {
   397  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   398  		if ms.LoadMessageInfo() == nil {
   399  			ms.StoreMessageInfo(mi)
   400  		}
   401  		return ms
   402  	}
   403  	return mi.MessageOf(x)
   404  }
   405  
   406  // Deprecated: Use GlobalRuntimeVarsResponse.ProtoReflect.Descriptor instead.
   407  func (*GlobalRuntimeVarsResponse) Descriptor() ([]byte, []int) {
   408  	return file_testing_proto_rawDescGZIP(), []int{4}
   409  }
   410  
   411  func (x *GlobalRuntimeVarsResponse) GetVars() []*GlobalRuntimeVar {
   412  	if x != nil {
   413  		return x.Vars
   414  	}
   415  	return nil
   416  }
   417  
   418  type RunTestsRequest struct {
   419  	state         protoimpl.MessageState
   420  	sizeCache     protoimpl.SizeCache
   421  	unknownFields protoimpl.UnknownFields
   422  
   423  	// Types that are assignable to Type:
   424  	//	*RunTestsRequest_RunTestsInit
   425  	//	*RunTestsRequest_StackOperationResponse
   426  	Type isRunTestsRequest_Type `protobuf_oneof:"type"`
   427  }
   428  
   429  func (x *RunTestsRequest) Reset() {
   430  	*x = RunTestsRequest{}
   431  	if protoimpl.UnsafeEnabled {
   432  		mi := &file_testing_proto_msgTypes[5]
   433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   434  		ms.StoreMessageInfo(mi)
   435  	}
   436  }
   437  
   438  func (x *RunTestsRequest) String() string {
   439  	return protoimpl.X.MessageStringOf(x)
   440  }
   441  
   442  func (*RunTestsRequest) ProtoMessage() {}
   443  
   444  func (x *RunTestsRequest) ProtoReflect() protoreflect.Message {
   445  	mi := &file_testing_proto_msgTypes[5]
   446  	if protoimpl.UnsafeEnabled && x != nil {
   447  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   448  		if ms.LoadMessageInfo() == nil {
   449  			ms.StoreMessageInfo(mi)
   450  		}
   451  		return ms
   452  	}
   453  	return mi.MessageOf(x)
   454  }
   455  
   456  // Deprecated: Use RunTestsRequest.ProtoReflect.Descriptor instead.
   457  func (*RunTestsRequest) Descriptor() ([]byte, []int) {
   458  	return file_testing_proto_rawDescGZIP(), []int{5}
   459  }
   460  
   461  func (m *RunTestsRequest) GetType() isRunTestsRequest_Type {
   462  	if m != nil {
   463  		return m.Type
   464  	}
   465  	return nil
   466  }
   467  
   468  func (x *RunTestsRequest) GetRunTestsInit() *RunTestsInit {
   469  	if x, ok := x.GetType().(*RunTestsRequest_RunTestsInit); ok {
   470  		return x.RunTestsInit
   471  	}
   472  	return nil
   473  }
   474  
   475  func (x *RunTestsRequest) GetStackOperationResponse() *StackOperationResponse {
   476  	if x, ok := x.GetType().(*RunTestsRequest_StackOperationResponse); ok {
   477  		return x.StackOperationResponse
   478  	}
   479  	return nil
   480  }
   481  
   482  type isRunTestsRequest_Type interface {
   483  	isRunTestsRequest_Type()
   484  }
   485  
   486  type RunTestsRequest_RunTestsInit struct {
   487  	RunTestsInit *RunTestsInit `protobuf:"bytes,1,opt,name=run_tests_init,json=runTestsInit,proto3,oneof"`
   488  }
   489  
   490  type RunTestsRequest_StackOperationResponse struct {
   491  	StackOperationResponse *StackOperationResponse `protobuf:"bytes,3,opt,name=stack_operation_response,json=stackOperationResponse,proto3,oneof"`
   492  }
   493  
   494  func (*RunTestsRequest_RunTestsInit) isRunTestsRequest_Type() {}
   495  
   496  func (*RunTestsRequest_StackOperationResponse) isRunTestsRequest_Type() {}
   497  
   498  type RunTestsResponse struct {
   499  	state         protoimpl.MessageState
   500  	sizeCache     protoimpl.SizeCache
   501  	unknownFields protoimpl.UnknownFields
   502  
   503  	// Types that are assignable to Type:
   504  	//	*RunTestsResponse_RunLog
   505  	//	*RunTestsResponse_EntityStart
   506  	//	*RunTestsResponse_EntityLog
   507  	//	*RunTestsResponse_EntityError
   508  	//	*RunTestsResponse_EntityEnd
   509  	//	*RunTestsResponse_EntityCopyEnd
   510  	//	*RunTestsResponse_StackOperation
   511  	//	*RunTestsResponse_Heartbeat
   512  	Type isRunTestsResponse_Type `protobuf_oneof:"type"`
   513  }
   514  
   515  func (x *RunTestsResponse) Reset() {
   516  	*x = RunTestsResponse{}
   517  	if protoimpl.UnsafeEnabled {
   518  		mi := &file_testing_proto_msgTypes[6]
   519  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   520  		ms.StoreMessageInfo(mi)
   521  	}
   522  }
   523  
   524  func (x *RunTestsResponse) String() string {
   525  	return protoimpl.X.MessageStringOf(x)
   526  }
   527  
   528  func (*RunTestsResponse) ProtoMessage() {}
   529  
   530  func (x *RunTestsResponse) ProtoReflect() protoreflect.Message {
   531  	mi := &file_testing_proto_msgTypes[6]
   532  	if protoimpl.UnsafeEnabled && x != nil {
   533  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   534  		if ms.LoadMessageInfo() == nil {
   535  			ms.StoreMessageInfo(mi)
   536  		}
   537  		return ms
   538  	}
   539  	return mi.MessageOf(x)
   540  }
   541  
   542  // Deprecated: Use RunTestsResponse.ProtoReflect.Descriptor instead.
   543  func (*RunTestsResponse) Descriptor() ([]byte, []int) {
   544  	return file_testing_proto_rawDescGZIP(), []int{6}
   545  }
   546  
   547  func (m *RunTestsResponse) GetType() isRunTestsResponse_Type {
   548  	if m != nil {
   549  		return m.Type
   550  	}
   551  	return nil
   552  }
   553  
   554  func (x *RunTestsResponse) GetRunLog() *RunLogEvent {
   555  	if x, ok := x.GetType().(*RunTestsResponse_RunLog); ok {
   556  		return x.RunLog
   557  	}
   558  	return nil
   559  }
   560  
   561  func (x *RunTestsResponse) GetEntityStart() *EntityStartEvent {
   562  	if x, ok := x.GetType().(*RunTestsResponse_EntityStart); ok {
   563  		return x.EntityStart
   564  	}
   565  	return nil
   566  }
   567  
   568  func (x *RunTestsResponse) GetEntityLog() *EntityLogEvent {
   569  	if x, ok := x.GetType().(*RunTestsResponse_EntityLog); ok {
   570  		return x.EntityLog
   571  	}
   572  	return nil
   573  }
   574  
   575  func (x *RunTestsResponse) GetEntityError() *EntityErrorEvent {
   576  	if x, ok := x.GetType().(*RunTestsResponse_EntityError); ok {
   577  		return x.EntityError
   578  	}
   579  	return nil
   580  }
   581  
   582  func (x *RunTestsResponse) GetEntityEnd() *EntityEndEvent {
   583  	if x, ok := x.GetType().(*RunTestsResponse_EntityEnd); ok {
   584  		return x.EntityEnd
   585  	}
   586  	return nil
   587  }
   588  
   589  func (x *RunTestsResponse) GetEntityCopyEnd() *EntityCopyEndEvent {
   590  	if x, ok := x.GetType().(*RunTestsResponse_EntityCopyEnd); ok {
   591  		return x.EntityCopyEnd
   592  	}
   593  	return nil
   594  }
   595  
   596  func (x *RunTestsResponse) GetStackOperation() *StackOperationRequest {
   597  	if x, ok := x.GetType().(*RunTestsResponse_StackOperation); ok {
   598  		return x.StackOperation
   599  	}
   600  	return nil
   601  }
   602  
   603  func (x *RunTestsResponse) GetHeartbeat() *HeartbeatEvent {
   604  	if x, ok := x.GetType().(*RunTestsResponse_Heartbeat); ok {
   605  		return x.Heartbeat
   606  	}
   607  	return nil
   608  }
   609  
   610  type isRunTestsResponse_Type interface {
   611  	isRunTestsResponse_Type()
   612  }
   613  
   614  type RunTestsResponse_RunLog struct {
   615  	RunLog *RunLogEvent `protobuf:"bytes,1,opt,name=run_log,json=runLog,proto3,oneof"`
   616  }
   617  
   618  type RunTestsResponse_EntityStart struct {
   619  	EntityStart *EntityStartEvent `protobuf:"bytes,2,opt,name=entity_start,json=entityStart,proto3,oneof"`
   620  }
   621  
   622  type RunTestsResponse_EntityLog struct {
   623  	EntityLog *EntityLogEvent `protobuf:"bytes,3,opt,name=entity_log,json=entityLog,proto3,oneof"`
   624  }
   625  
   626  type RunTestsResponse_EntityError struct {
   627  	EntityError *EntityErrorEvent `protobuf:"bytes,4,opt,name=entity_error,json=entityError,proto3,oneof"`
   628  }
   629  
   630  type RunTestsResponse_EntityEnd struct {
   631  	EntityEnd *EntityEndEvent `protobuf:"bytes,5,opt,name=entity_end,json=entityEnd,proto3,oneof"`
   632  }
   633  
   634  type RunTestsResponse_EntityCopyEnd struct {
   635  	EntityCopyEnd *EntityCopyEndEvent `protobuf:"bytes,8,opt,name=entity_copy_end,json=entityCopyEnd,proto3,oneof"`
   636  }
   637  
   638  type RunTestsResponse_StackOperation struct {
   639  	StackOperation *StackOperationRequest `protobuf:"bytes,6,opt,name=stack_operation,json=stackOperation,proto3,oneof"`
   640  }
   641  
   642  type RunTestsResponse_Heartbeat struct {
   643  	Heartbeat *HeartbeatEvent `protobuf:"bytes,7,opt,name=heartbeat,proto3,oneof"`
   644  }
   645  
   646  func (*RunTestsResponse_RunLog) isRunTestsResponse_Type() {}
   647  
   648  func (*RunTestsResponse_EntityStart) isRunTestsResponse_Type() {}
   649  
   650  func (*RunTestsResponse_EntityLog) isRunTestsResponse_Type() {}
   651  
   652  func (*RunTestsResponse_EntityError) isRunTestsResponse_Type() {}
   653  
   654  func (*RunTestsResponse_EntityEnd) isRunTestsResponse_Type() {}
   655  
   656  func (*RunTestsResponse_EntityCopyEnd) isRunTestsResponse_Type() {}
   657  
   658  func (*RunTestsResponse_StackOperation) isRunTestsResponse_Type() {}
   659  
   660  func (*RunTestsResponse_Heartbeat) isRunTestsResponse_Type() {}
   661  
   662  type GetDUTInfoRequest struct {
   663  	state         protoimpl.MessageState
   664  	sizeCache     protoimpl.SizeCache
   665  	unknownFields protoimpl.UnknownFields
   666  
   667  	// ExtraUseFlags lists USE flags that should be treated as being set in
   668  	// addition to the ones read from USEFlagsFile when computing the feature sets
   669  	// for GetDUTInfoResponse.
   670  	ExtraUseFlags []string `protobuf:"bytes,1,rep,name=extra_use_flags,json=extraUseFlags,proto3" json:"extra_use_flags,omitempty"`
   671  	// Features specifies whether to get software/hardware features of the DUT.
   672  	Features bool `protobuf:"varint,2,opt,name=features,proto3" json:"features,omitempty"`
   673  }
   674  
   675  func (x *GetDUTInfoRequest) Reset() {
   676  	*x = GetDUTInfoRequest{}
   677  	if protoimpl.UnsafeEnabled {
   678  		mi := &file_testing_proto_msgTypes[7]
   679  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   680  		ms.StoreMessageInfo(mi)
   681  	}
   682  }
   683  
   684  func (x *GetDUTInfoRequest) String() string {
   685  	return protoimpl.X.MessageStringOf(x)
   686  }
   687  
   688  func (*GetDUTInfoRequest) ProtoMessage() {}
   689  
   690  func (x *GetDUTInfoRequest) ProtoReflect() protoreflect.Message {
   691  	mi := &file_testing_proto_msgTypes[7]
   692  	if protoimpl.UnsafeEnabled && x != nil {
   693  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   694  		if ms.LoadMessageInfo() == nil {
   695  			ms.StoreMessageInfo(mi)
   696  		}
   697  		return ms
   698  	}
   699  	return mi.MessageOf(x)
   700  }
   701  
   702  // Deprecated: Use GetDUTInfoRequest.ProtoReflect.Descriptor instead.
   703  func (*GetDUTInfoRequest) Descriptor() ([]byte, []int) {
   704  	return file_testing_proto_rawDescGZIP(), []int{7}
   705  }
   706  
   707  func (x *GetDUTInfoRequest) GetExtraUseFlags() []string {
   708  	if x != nil {
   709  		return x.ExtraUseFlags
   710  	}
   711  	return nil
   712  }
   713  
   714  func (x *GetDUTInfoRequest) GetFeatures() bool {
   715  	if x != nil {
   716  		return x.Features
   717  	}
   718  	return false
   719  }
   720  
   721  type GetDUTInfoResponse struct {
   722  	state         protoimpl.MessageState
   723  	sizeCache     protoimpl.SizeCache
   724  	unknownFields protoimpl.UnknownFields
   725  
   726  	DutInfo *DUTInfo `protobuf:"bytes,1,opt,name=dut_info,json=dutInfo,proto3" json:"dut_info,omitempty"`
   727  }
   728  
   729  func (x *GetDUTInfoResponse) Reset() {
   730  	*x = GetDUTInfoResponse{}
   731  	if protoimpl.UnsafeEnabled {
   732  		mi := &file_testing_proto_msgTypes[8]
   733  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   734  		ms.StoreMessageInfo(mi)
   735  	}
   736  }
   737  
   738  func (x *GetDUTInfoResponse) String() string {
   739  	return protoimpl.X.MessageStringOf(x)
   740  }
   741  
   742  func (*GetDUTInfoResponse) ProtoMessage() {}
   743  
   744  func (x *GetDUTInfoResponse) ProtoReflect() protoreflect.Message {
   745  	mi := &file_testing_proto_msgTypes[8]
   746  	if protoimpl.UnsafeEnabled && x != nil {
   747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   748  		if ms.LoadMessageInfo() == nil {
   749  			ms.StoreMessageInfo(mi)
   750  		}
   751  		return ms
   752  	}
   753  	return mi.MessageOf(x)
   754  }
   755  
   756  // Deprecated: Use GetDUTInfoResponse.ProtoReflect.Descriptor instead.
   757  func (*GetDUTInfoResponse) Descriptor() ([]byte, []int) {
   758  	return file_testing_proto_rawDescGZIP(), []int{8}
   759  }
   760  
   761  func (x *GetDUTInfoResponse) GetDutInfo() *DUTInfo {
   762  	if x != nil {
   763  		return x.DutInfo
   764  	}
   765  	return nil
   766  }
   767  
   768  type GetSysInfoStateRequest struct {
   769  	state         protoimpl.MessageState
   770  	sizeCache     protoimpl.SizeCache
   771  	unknownFields protoimpl.UnknownFields
   772  }
   773  
   774  func (x *GetSysInfoStateRequest) Reset() {
   775  	*x = GetSysInfoStateRequest{}
   776  	if protoimpl.UnsafeEnabled {
   777  		mi := &file_testing_proto_msgTypes[9]
   778  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   779  		ms.StoreMessageInfo(mi)
   780  	}
   781  }
   782  
   783  func (x *GetSysInfoStateRequest) String() string {
   784  	return protoimpl.X.MessageStringOf(x)
   785  }
   786  
   787  func (*GetSysInfoStateRequest) ProtoMessage() {}
   788  
   789  func (x *GetSysInfoStateRequest) ProtoReflect() protoreflect.Message {
   790  	mi := &file_testing_proto_msgTypes[9]
   791  	if protoimpl.UnsafeEnabled && x != nil {
   792  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   793  		if ms.LoadMessageInfo() == nil {
   794  			ms.StoreMessageInfo(mi)
   795  		}
   796  		return ms
   797  	}
   798  	return mi.MessageOf(x)
   799  }
   800  
   801  // Deprecated: Use GetSysInfoStateRequest.ProtoReflect.Descriptor instead.
   802  func (*GetSysInfoStateRequest) Descriptor() ([]byte, []int) {
   803  	return file_testing_proto_rawDescGZIP(), []int{9}
   804  }
   805  
   806  type GetSysInfoStateResponse struct {
   807  	state         protoimpl.MessageState
   808  	sizeCache     protoimpl.SizeCache
   809  	unknownFields protoimpl.UnknownFields
   810  
   811  	// State contains the collected sysinfo state.
   812  	State *SysInfoState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
   813  }
   814  
   815  func (x *GetSysInfoStateResponse) Reset() {
   816  	*x = GetSysInfoStateResponse{}
   817  	if protoimpl.UnsafeEnabled {
   818  		mi := &file_testing_proto_msgTypes[10]
   819  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   820  		ms.StoreMessageInfo(mi)
   821  	}
   822  }
   823  
   824  func (x *GetSysInfoStateResponse) String() string {
   825  	return protoimpl.X.MessageStringOf(x)
   826  }
   827  
   828  func (*GetSysInfoStateResponse) ProtoMessage() {}
   829  
   830  func (x *GetSysInfoStateResponse) ProtoReflect() protoreflect.Message {
   831  	mi := &file_testing_proto_msgTypes[10]
   832  	if protoimpl.UnsafeEnabled && x != nil {
   833  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   834  		if ms.LoadMessageInfo() == nil {
   835  			ms.StoreMessageInfo(mi)
   836  		}
   837  		return ms
   838  	}
   839  	return mi.MessageOf(x)
   840  }
   841  
   842  // Deprecated: Use GetSysInfoStateResponse.ProtoReflect.Descriptor instead.
   843  func (*GetSysInfoStateResponse) Descriptor() ([]byte, []int) {
   844  	return file_testing_proto_rawDescGZIP(), []int{10}
   845  }
   846  
   847  func (x *GetSysInfoStateResponse) GetState() *SysInfoState {
   848  	if x != nil {
   849  		return x.State
   850  	}
   851  	return nil
   852  }
   853  
   854  type CollectSysInfoRequest struct {
   855  	state         protoimpl.MessageState
   856  	sizeCache     protoimpl.SizeCache
   857  	unknownFields protoimpl.UnknownFields
   858  
   859  	// InitialState describes the pre-testing state of the DUT. It should be
   860  	// generated by the GetSysInfoState method executed before tests are run.
   861  	InitialState *SysInfoState `protobuf:"bytes,1,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"`
   862  }
   863  
   864  func (x *CollectSysInfoRequest) Reset() {
   865  	*x = CollectSysInfoRequest{}
   866  	if protoimpl.UnsafeEnabled {
   867  		mi := &file_testing_proto_msgTypes[11]
   868  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   869  		ms.StoreMessageInfo(mi)
   870  	}
   871  }
   872  
   873  func (x *CollectSysInfoRequest) String() string {
   874  	return protoimpl.X.MessageStringOf(x)
   875  }
   876  
   877  func (*CollectSysInfoRequest) ProtoMessage() {}
   878  
   879  func (x *CollectSysInfoRequest) ProtoReflect() protoreflect.Message {
   880  	mi := &file_testing_proto_msgTypes[11]
   881  	if protoimpl.UnsafeEnabled && x != nil {
   882  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   883  		if ms.LoadMessageInfo() == nil {
   884  			ms.StoreMessageInfo(mi)
   885  		}
   886  		return ms
   887  	}
   888  	return mi.MessageOf(x)
   889  }
   890  
   891  // Deprecated: Use CollectSysInfoRequest.ProtoReflect.Descriptor instead.
   892  func (*CollectSysInfoRequest) Descriptor() ([]byte, []int) {
   893  	return file_testing_proto_rawDescGZIP(), []int{11}
   894  }
   895  
   896  func (x *CollectSysInfoRequest) GetInitialState() *SysInfoState {
   897  	if x != nil {
   898  		return x.InitialState
   899  	}
   900  	return nil
   901  }
   902  
   903  type CollectSysInfoResponse struct {
   904  	state         protoimpl.MessageState
   905  	sizeCache     protoimpl.SizeCache
   906  	unknownFields protoimpl.UnknownFields
   907  
   908  	// LogDir is the directory which log files were copied to. The caller should
   909  	// delete it.
   910  	LogDir string `protobuf:"bytes,1,opt,name=log_dir,json=logDir,proto3" json:"log_dir,omitempty"`
   911  	// CrashDir is the directory which minidump crash files were copied to. The
   912  	// caller should delete it.
   913  	CrashDir string `protobuf:"bytes,2,opt,name=crash_dir,json=crashDir,proto3" json:"crash_dir,omitempty"`
   914  }
   915  
   916  func (x *CollectSysInfoResponse) Reset() {
   917  	*x = CollectSysInfoResponse{}
   918  	if protoimpl.UnsafeEnabled {
   919  		mi := &file_testing_proto_msgTypes[12]
   920  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   921  		ms.StoreMessageInfo(mi)
   922  	}
   923  }
   924  
   925  func (x *CollectSysInfoResponse) String() string {
   926  	return protoimpl.X.MessageStringOf(x)
   927  }
   928  
   929  func (*CollectSysInfoResponse) ProtoMessage() {}
   930  
   931  func (x *CollectSysInfoResponse) ProtoReflect() protoreflect.Message {
   932  	mi := &file_testing_proto_msgTypes[12]
   933  	if protoimpl.UnsafeEnabled && x != nil {
   934  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   935  		if ms.LoadMessageInfo() == nil {
   936  			ms.StoreMessageInfo(mi)
   937  		}
   938  		return ms
   939  	}
   940  	return mi.MessageOf(x)
   941  }
   942  
   943  // Deprecated: Use CollectSysInfoResponse.ProtoReflect.Descriptor instead.
   944  func (*CollectSysInfoResponse) Descriptor() ([]byte, []int) {
   945  	return file_testing_proto_rawDescGZIP(), []int{12}
   946  }
   947  
   948  func (x *CollectSysInfoResponse) GetLogDir() string {
   949  	if x != nil {
   950  		return x.LogDir
   951  	}
   952  	return ""
   953  }
   954  
   955  func (x *CollectSysInfoResponse) GetCrashDir() string {
   956  	if x != nil {
   957  		return x.CrashDir
   958  	}
   959  	return ""
   960  }
   961  
   962  type DownloadPrivateBundlesRequest struct {
   963  	state         protoimpl.MessageState
   964  	sizeCache     protoimpl.SizeCache
   965  	unknownFields protoimpl.UnknownFields
   966  
   967  	// ServiceConfig contains information needed to connect to the service
   968  	// provided by infrastructure system.
   969  	ServiceConfig *ServiceConfig `protobuf:"bytes,1,opt,name=service_config,json=serviceConfig,proto3" json:"service_config,omitempty"`
   970  	// BuildArtifactsUrl is the URL of Google Cloud Storage directory, ending with
   971  	// a slash, containing build artifacts for the current ChromeOS image.
   972  	// If it is empty, DefaultBuildArtifactsURL in runner.Config is used.
   973  	BuildArtifactUrl string `protobuf:"bytes,2,opt,name=build_artifact_url,json=buildArtifactUrl,proto3" json:"build_artifact_url,omitempty"`
   974  }
   975  
   976  func (x *DownloadPrivateBundlesRequest) Reset() {
   977  	*x = DownloadPrivateBundlesRequest{}
   978  	if protoimpl.UnsafeEnabled {
   979  		mi := &file_testing_proto_msgTypes[13]
   980  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   981  		ms.StoreMessageInfo(mi)
   982  	}
   983  }
   984  
   985  func (x *DownloadPrivateBundlesRequest) String() string {
   986  	return protoimpl.X.MessageStringOf(x)
   987  }
   988  
   989  func (*DownloadPrivateBundlesRequest) ProtoMessage() {}
   990  
   991  func (x *DownloadPrivateBundlesRequest) ProtoReflect() protoreflect.Message {
   992  	mi := &file_testing_proto_msgTypes[13]
   993  	if protoimpl.UnsafeEnabled && x != nil {
   994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   995  		if ms.LoadMessageInfo() == nil {
   996  			ms.StoreMessageInfo(mi)
   997  		}
   998  		return ms
   999  	}
  1000  	return mi.MessageOf(x)
  1001  }
  1002  
  1003  // Deprecated: Use DownloadPrivateBundlesRequest.ProtoReflect.Descriptor instead.
  1004  func (*DownloadPrivateBundlesRequest) Descriptor() ([]byte, []int) {
  1005  	return file_testing_proto_rawDescGZIP(), []int{13}
  1006  }
  1007  
  1008  func (x *DownloadPrivateBundlesRequest) GetServiceConfig() *ServiceConfig {
  1009  	if x != nil {
  1010  		return x.ServiceConfig
  1011  	}
  1012  	return nil
  1013  }
  1014  
  1015  func (x *DownloadPrivateBundlesRequest) GetBuildArtifactUrl() string {
  1016  	if x != nil {
  1017  		return x.BuildArtifactUrl
  1018  	}
  1019  	return ""
  1020  }
  1021  
  1022  type DownloadPrivateBundlesResponse struct {
  1023  	state         protoimpl.MessageState
  1024  	sizeCache     protoimpl.SizeCache
  1025  	unknownFields protoimpl.UnknownFields
  1026  }
  1027  
  1028  func (x *DownloadPrivateBundlesResponse) Reset() {
  1029  	*x = DownloadPrivateBundlesResponse{}
  1030  	if protoimpl.UnsafeEnabled {
  1031  		mi := &file_testing_proto_msgTypes[14]
  1032  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1033  		ms.StoreMessageInfo(mi)
  1034  	}
  1035  }
  1036  
  1037  func (x *DownloadPrivateBundlesResponse) String() string {
  1038  	return protoimpl.X.MessageStringOf(x)
  1039  }
  1040  
  1041  func (*DownloadPrivateBundlesResponse) ProtoMessage() {}
  1042  
  1043  func (x *DownloadPrivateBundlesResponse) ProtoReflect() protoreflect.Message {
  1044  	mi := &file_testing_proto_msgTypes[14]
  1045  	if protoimpl.UnsafeEnabled && x != nil {
  1046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1047  		if ms.LoadMessageInfo() == nil {
  1048  			ms.StoreMessageInfo(mi)
  1049  		}
  1050  		return ms
  1051  	}
  1052  	return mi.MessageOf(x)
  1053  }
  1054  
  1055  // Deprecated: Use DownloadPrivateBundlesResponse.ProtoReflect.Descriptor instead.
  1056  func (*DownloadPrivateBundlesResponse) Descriptor() ([]byte, []int) {
  1057  	return file_testing_proto_rawDescGZIP(), []int{14}
  1058  }
  1059  
  1060  type StreamFileRequest struct {
  1061  	state         protoimpl.MessageState
  1062  	sizeCache     protoimpl.SizeCache
  1063  	unknownFields protoimpl.UnknownFields
  1064  
  1065  	// Name is the name of the file which the content will be streamed.
  1066  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1067  	// Offset is where in the file that streaming should start.
  1068  	// If the offset is negative, streaming will start at the end of file.
  1069  	Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
  1070  }
  1071  
  1072  func (x *StreamFileRequest) Reset() {
  1073  	*x = StreamFileRequest{}
  1074  	if protoimpl.UnsafeEnabled {
  1075  		mi := &file_testing_proto_msgTypes[15]
  1076  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1077  		ms.StoreMessageInfo(mi)
  1078  	}
  1079  }
  1080  
  1081  func (x *StreamFileRequest) String() string {
  1082  	return protoimpl.X.MessageStringOf(x)
  1083  }
  1084  
  1085  func (*StreamFileRequest) ProtoMessage() {}
  1086  
  1087  func (x *StreamFileRequest) ProtoReflect() protoreflect.Message {
  1088  	mi := &file_testing_proto_msgTypes[15]
  1089  	if protoimpl.UnsafeEnabled && x != nil {
  1090  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1091  		if ms.LoadMessageInfo() == nil {
  1092  			ms.StoreMessageInfo(mi)
  1093  		}
  1094  		return ms
  1095  	}
  1096  	return mi.MessageOf(x)
  1097  }
  1098  
  1099  // Deprecated: Use StreamFileRequest.ProtoReflect.Descriptor instead.
  1100  func (*StreamFileRequest) Descriptor() ([]byte, []int) {
  1101  	return file_testing_proto_rawDescGZIP(), []int{15}
  1102  }
  1103  
  1104  func (x *StreamFileRequest) GetName() string {
  1105  	if x != nil {
  1106  		return x.Name
  1107  	}
  1108  	return ""
  1109  }
  1110  
  1111  func (x *StreamFileRequest) GetOffset() int64 {
  1112  	if x != nil {
  1113  		return x.Offset
  1114  	}
  1115  	return 0
  1116  }
  1117  
  1118  type StreamFileResponse struct {
  1119  	state         protoimpl.MessageState
  1120  	sizeCache     protoimpl.SizeCache
  1121  	unknownFields protoimpl.UnknownFields
  1122  
  1123  	// Content is the latest content from the log file.
  1124  	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
  1125  	// Offset is where the current file point to after reading the current data.
  1126  	Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
  1127  }
  1128  
  1129  func (x *StreamFileResponse) Reset() {
  1130  	*x = StreamFileResponse{}
  1131  	if protoimpl.UnsafeEnabled {
  1132  		mi := &file_testing_proto_msgTypes[16]
  1133  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1134  		ms.StoreMessageInfo(mi)
  1135  	}
  1136  }
  1137  
  1138  func (x *StreamFileResponse) String() string {
  1139  	return protoimpl.X.MessageStringOf(x)
  1140  }
  1141  
  1142  func (*StreamFileResponse) ProtoMessage() {}
  1143  
  1144  func (x *StreamFileResponse) ProtoReflect() protoreflect.Message {
  1145  	mi := &file_testing_proto_msgTypes[16]
  1146  	if protoimpl.UnsafeEnabled && x != nil {
  1147  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1148  		if ms.LoadMessageInfo() == nil {
  1149  			ms.StoreMessageInfo(mi)
  1150  		}
  1151  		return ms
  1152  	}
  1153  	return mi.MessageOf(x)
  1154  }
  1155  
  1156  // Deprecated: Use StreamFileResponse.ProtoReflect.Descriptor instead.
  1157  func (*StreamFileResponse) Descriptor() ([]byte, []int) {
  1158  	return file_testing_proto_rawDescGZIP(), []int{16}
  1159  }
  1160  
  1161  func (x *StreamFileResponse) GetData() []byte {
  1162  	if x != nil {
  1163  		return x.Data
  1164  	}
  1165  	return nil
  1166  }
  1167  
  1168  func (x *StreamFileResponse) GetOffset() int64 {
  1169  	if x != nil {
  1170  		return x.Offset
  1171  	}
  1172  	return 0
  1173  }
  1174  
  1175  // Entity describes an entity.
  1176  type Entity struct {
  1177  	state         protoimpl.MessageState
  1178  	sizeCache     protoimpl.SizeCache
  1179  	unknownFields protoimpl.UnknownFields
  1180  
  1181  	Type         EntityType          `protobuf:"varint,1,opt,name=type,proto3,enum=tast.core.EntityType" json:"type,omitempty"`
  1182  	Name         string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1183  	Package      string              `protobuf:"bytes,3,opt,name=package,proto3" json:"package,omitempty"`
  1184  	Attributes   []string            `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
  1185  	Description  string              `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
  1186  	Fixture      string              `protobuf:"bytes,6,opt,name=fixture,proto3" json:"fixture,omitempty"`
  1187  	Dependencies *EntityDependencies `protobuf:"bytes,7,opt,name=dependencies,proto3" json:"dependencies,omitempty"`
  1188  	Contacts     *EntityContacts     `protobuf:"bytes,8,opt,name=contacts,proto3" json:"contacts,omitempty"`
  1189  	LegacyData   *EntityLegacyData   `protobuf:"bytes,9,opt,name=legacy_data,json=legacyData,proto3" json:"legacy_data,omitempty"`
  1190  	SearchFlags  []*StringPair       `protobuf:"bytes,10,rep,name=search_flags,json=searchFlags,proto3" json:"search_flags,omitempty"`
  1191  	TestBedDeps  []string            `protobuf:"bytes,11,rep,name=test_bed_deps,json=testBedDeps,proto3" json:"test_bed_deps,omitempty"`
  1192  	Requirements []string            `protobuf:"bytes,12,rep,name=requirements,proto3" json:"requirements,omitempty"`
  1193  	BugComponent string              `protobuf:"bytes,13,opt,name=bug_component,json=bugComponent,proto3" json:"bug_component,omitempty"`
  1194  	LacrosStatus string              `protobuf:"bytes,14,opt,name=lacros_status,json=lacrosStatus,proto3" json:"lacros_status,omitempty"`
  1195  }
  1196  
  1197  func (x *Entity) Reset() {
  1198  	*x = Entity{}
  1199  	if protoimpl.UnsafeEnabled {
  1200  		mi := &file_testing_proto_msgTypes[17]
  1201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1202  		ms.StoreMessageInfo(mi)
  1203  	}
  1204  }
  1205  
  1206  func (x *Entity) String() string {
  1207  	return protoimpl.X.MessageStringOf(x)
  1208  }
  1209  
  1210  func (*Entity) ProtoMessage() {}
  1211  
  1212  func (x *Entity) ProtoReflect() protoreflect.Message {
  1213  	mi := &file_testing_proto_msgTypes[17]
  1214  	if protoimpl.UnsafeEnabled && x != nil {
  1215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1216  		if ms.LoadMessageInfo() == nil {
  1217  			ms.StoreMessageInfo(mi)
  1218  		}
  1219  		return ms
  1220  	}
  1221  	return mi.MessageOf(x)
  1222  }
  1223  
  1224  // Deprecated: Use Entity.ProtoReflect.Descriptor instead.
  1225  func (*Entity) Descriptor() ([]byte, []int) {
  1226  	return file_testing_proto_rawDescGZIP(), []int{17}
  1227  }
  1228  
  1229  func (x *Entity) GetType() EntityType {
  1230  	if x != nil {
  1231  		return x.Type
  1232  	}
  1233  	return EntityType_TEST
  1234  }
  1235  
  1236  func (x *Entity) GetName() string {
  1237  	if x != nil {
  1238  		return x.Name
  1239  	}
  1240  	return ""
  1241  }
  1242  
  1243  func (x *Entity) GetPackage() string {
  1244  	if x != nil {
  1245  		return x.Package
  1246  	}
  1247  	return ""
  1248  }
  1249  
  1250  func (x *Entity) GetAttributes() []string {
  1251  	if x != nil {
  1252  		return x.Attributes
  1253  	}
  1254  	return nil
  1255  }
  1256  
  1257  func (x *Entity) GetDescription() string {
  1258  	if x != nil {
  1259  		return x.Description
  1260  	}
  1261  	return ""
  1262  }
  1263  
  1264  func (x *Entity) GetFixture() string {
  1265  	if x != nil {
  1266  		return x.Fixture
  1267  	}
  1268  	return ""
  1269  }
  1270  
  1271  func (x *Entity) GetDependencies() *EntityDependencies {
  1272  	if x != nil {
  1273  		return x.Dependencies
  1274  	}
  1275  	return nil
  1276  }
  1277  
  1278  func (x *Entity) GetContacts() *EntityContacts {
  1279  	if x != nil {
  1280  		return x.Contacts
  1281  	}
  1282  	return nil
  1283  }
  1284  
  1285  func (x *Entity) GetLegacyData() *EntityLegacyData {
  1286  	if x != nil {
  1287  		return x.LegacyData
  1288  	}
  1289  	return nil
  1290  }
  1291  
  1292  func (x *Entity) GetSearchFlags() []*StringPair {
  1293  	if x != nil {
  1294  		return x.SearchFlags
  1295  	}
  1296  	return nil
  1297  }
  1298  
  1299  func (x *Entity) GetTestBedDeps() []string {
  1300  	if x != nil {
  1301  		return x.TestBedDeps
  1302  	}
  1303  	return nil
  1304  }
  1305  
  1306  func (x *Entity) GetRequirements() []string {
  1307  	if x != nil {
  1308  		return x.Requirements
  1309  	}
  1310  	return nil
  1311  }
  1312  
  1313  func (x *Entity) GetBugComponent() string {
  1314  	if x != nil {
  1315  		return x.BugComponent
  1316  	}
  1317  	return ""
  1318  }
  1319  
  1320  func (x *Entity) GetLacrosStatus() string {
  1321  	if x != nil {
  1322  		return x.LacrosStatus
  1323  	}
  1324  	return ""
  1325  }
  1326  
  1327  // EntityContacts contains contact information of an entity.
  1328  type EntityContacts struct {
  1329  	state         protoimpl.MessageState
  1330  	sizeCache     protoimpl.SizeCache
  1331  	unknownFields protoimpl.UnknownFields
  1332  
  1333  	Emails []string `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"`
  1334  }
  1335  
  1336  func (x *EntityContacts) Reset() {
  1337  	*x = EntityContacts{}
  1338  	if protoimpl.UnsafeEnabled {
  1339  		mi := &file_testing_proto_msgTypes[18]
  1340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1341  		ms.StoreMessageInfo(mi)
  1342  	}
  1343  }
  1344  
  1345  func (x *EntityContacts) String() string {
  1346  	return protoimpl.X.MessageStringOf(x)
  1347  }
  1348  
  1349  func (*EntityContacts) ProtoMessage() {}
  1350  
  1351  func (x *EntityContacts) ProtoReflect() protoreflect.Message {
  1352  	mi := &file_testing_proto_msgTypes[18]
  1353  	if protoimpl.UnsafeEnabled && x != nil {
  1354  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1355  		if ms.LoadMessageInfo() == nil {
  1356  			ms.StoreMessageInfo(mi)
  1357  		}
  1358  		return ms
  1359  	}
  1360  	return mi.MessageOf(x)
  1361  }
  1362  
  1363  // Deprecated: Use EntityContacts.ProtoReflect.Descriptor instead.
  1364  func (*EntityContacts) Descriptor() ([]byte, []int) {
  1365  	return file_testing_proto_rawDescGZIP(), []int{18}
  1366  }
  1367  
  1368  func (x *EntityContacts) GetEmails() []string {
  1369  	if x != nil {
  1370  		return x.Emails
  1371  	}
  1372  	return nil
  1373  }
  1374  
  1375  // EntityDependencies describes dependencies of an entity that need to be
  1376  // evaluated before running it.
  1377  type EntityDependencies struct {
  1378  	state         protoimpl.MessageState
  1379  	sizeCache     protoimpl.SizeCache
  1380  	unknownFields protoimpl.UnknownFields
  1381  
  1382  	DataFiles []string `protobuf:"bytes,1,rep,name=data_files,json=dataFiles,proto3" json:"data_files,omitempty"`
  1383  	Services  []string `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"`
  1384  }
  1385  
  1386  func (x *EntityDependencies) Reset() {
  1387  	*x = EntityDependencies{}
  1388  	if protoimpl.UnsafeEnabled {
  1389  		mi := &file_testing_proto_msgTypes[19]
  1390  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1391  		ms.StoreMessageInfo(mi)
  1392  	}
  1393  }
  1394  
  1395  func (x *EntityDependencies) String() string {
  1396  	return protoimpl.X.MessageStringOf(x)
  1397  }
  1398  
  1399  func (*EntityDependencies) ProtoMessage() {}
  1400  
  1401  func (x *EntityDependencies) ProtoReflect() protoreflect.Message {
  1402  	mi := &file_testing_proto_msgTypes[19]
  1403  	if protoimpl.UnsafeEnabled && x != nil {
  1404  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1405  		if ms.LoadMessageInfo() == nil {
  1406  			ms.StoreMessageInfo(mi)
  1407  		}
  1408  		return ms
  1409  	}
  1410  	return mi.MessageOf(x)
  1411  }
  1412  
  1413  // Deprecated: Use EntityDependencies.ProtoReflect.Descriptor instead.
  1414  func (*EntityDependencies) Descriptor() ([]byte, []int) {
  1415  	return file_testing_proto_rawDescGZIP(), []int{19}
  1416  }
  1417  
  1418  func (x *EntityDependencies) GetDataFiles() []string {
  1419  	if x != nil {
  1420  		return x.DataFiles
  1421  	}
  1422  	return nil
  1423  }
  1424  
  1425  func (x *EntityDependencies) GetServices() []string {
  1426  	if x != nil {
  1427  		return x.Services
  1428  	}
  1429  	return nil
  1430  }
  1431  
  1432  // EntityLegacyData contains extra information of an entity.
  1433  // Fields in this message are considered legacy because test bundles need to
  1434  // send these fields to Tast CLI just because they are made available in
  1435  // results.json for compatibility reasons.
  1436  type EntityLegacyData struct {
  1437  	state         protoimpl.MessageState
  1438  	sizeCache     protoimpl.SizeCache
  1439  	unknownFields protoimpl.UnknownFields
  1440  
  1441  	Timeout      *durationpb.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
  1442  	Variables    []string             `protobuf:"bytes,2,rep,name=variables,proto3" json:"variables,omitempty"`
  1443  	VariableDeps []string             `protobuf:"bytes,3,rep,name=variable_deps,json=variableDeps,proto3" json:"variable_deps,omitempty"`
  1444  	SoftwareDeps []string             `protobuf:"bytes,4,rep,name=software_deps,json=softwareDeps,proto3" json:"software_deps,omitempty"`
  1445  	Bundle       string               `protobuf:"bytes,5,opt,name=bundle,proto3" json:"bundle,omitempty"`
  1446  }
  1447  
  1448  func (x *EntityLegacyData) Reset() {
  1449  	*x = EntityLegacyData{}
  1450  	if protoimpl.UnsafeEnabled {
  1451  		mi := &file_testing_proto_msgTypes[20]
  1452  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1453  		ms.StoreMessageInfo(mi)
  1454  	}
  1455  }
  1456  
  1457  func (x *EntityLegacyData) String() string {
  1458  	return protoimpl.X.MessageStringOf(x)
  1459  }
  1460  
  1461  func (*EntityLegacyData) ProtoMessage() {}
  1462  
  1463  func (x *EntityLegacyData) ProtoReflect() protoreflect.Message {
  1464  	mi := &file_testing_proto_msgTypes[20]
  1465  	if protoimpl.UnsafeEnabled && x != nil {
  1466  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1467  		if ms.LoadMessageInfo() == nil {
  1468  			ms.StoreMessageInfo(mi)
  1469  		}
  1470  		return ms
  1471  	}
  1472  	return mi.MessageOf(x)
  1473  }
  1474  
  1475  // Deprecated: Use EntityLegacyData.ProtoReflect.Descriptor instead.
  1476  func (*EntityLegacyData) Descriptor() ([]byte, []int) {
  1477  	return file_testing_proto_rawDescGZIP(), []int{20}
  1478  }
  1479  
  1480  func (x *EntityLegacyData) GetTimeout() *durationpb.Duration {
  1481  	if x != nil {
  1482  		return x.Timeout
  1483  	}
  1484  	return nil
  1485  }
  1486  
  1487  func (x *EntityLegacyData) GetVariables() []string {
  1488  	if x != nil {
  1489  		return x.Variables
  1490  	}
  1491  	return nil
  1492  }
  1493  
  1494  func (x *EntityLegacyData) GetVariableDeps() []string {
  1495  	if x != nil {
  1496  		return x.VariableDeps
  1497  	}
  1498  	return nil
  1499  }
  1500  
  1501  func (x *EntityLegacyData) GetSoftwareDeps() []string {
  1502  	if x != nil {
  1503  		return x.SoftwareDeps
  1504  	}
  1505  	return nil
  1506  }
  1507  
  1508  func (x *EntityLegacyData) GetBundle() string {
  1509  	if x != nil {
  1510  		return x.Bundle
  1511  	}
  1512  	return ""
  1513  }
  1514  
  1515  type RunTestsInit struct {
  1516  	state         protoimpl.MessageState
  1517  	sizeCache     protoimpl.SizeCache
  1518  	unknownFields protoimpl.UnknownFields
  1519  
  1520  	RunConfig *RunConfig `protobuf:"bytes,1,opt,name=run_config,json=runConfig,proto3" json:"run_config,omitempty"`
  1521  	// Recursive specifies whether to run tests on target bundles recursively.
  1522  	Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"`
  1523  	// DebugPort is the port which the debugger for the test bundle will listen
  1524  	// on. Note that this field is only used for test runners, and not bundles.
  1525  	DebugPort uint32 `protobuf:"varint,10,opt,name=debug_port,json=debugPort,proto3" json:"debug_port,omitempty"`
  1526  }
  1527  
  1528  func (x *RunTestsInit) Reset() {
  1529  	*x = RunTestsInit{}
  1530  	if protoimpl.UnsafeEnabled {
  1531  		mi := &file_testing_proto_msgTypes[21]
  1532  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1533  		ms.StoreMessageInfo(mi)
  1534  	}
  1535  }
  1536  
  1537  func (x *RunTestsInit) String() string {
  1538  	return protoimpl.X.MessageStringOf(x)
  1539  }
  1540  
  1541  func (*RunTestsInit) ProtoMessage() {}
  1542  
  1543  func (x *RunTestsInit) ProtoReflect() protoreflect.Message {
  1544  	mi := &file_testing_proto_msgTypes[21]
  1545  	if protoimpl.UnsafeEnabled && x != nil {
  1546  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1547  		if ms.LoadMessageInfo() == nil {
  1548  			ms.StoreMessageInfo(mi)
  1549  		}
  1550  		return ms
  1551  	}
  1552  	return mi.MessageOf(x)
  1553  }
  1554  
  1555  // Deprecated: Use RunTestsInit.ProtoReflect.Descriptor instead.
  1556  func (*RunTestsInit) Descriptor() ([]byte, []int) {
  1557  	return file_testing_proto_rawDescGZIP(), []int{21}
  1558  }
  1559  
  1560  func (x *RunTestsInit) GetRunConfig() *RunConfig {
  1561  	if x != nil {
  1562  		return x.RunConfig
  1563  	}
  1564  	return nil
  1565  }
  1566  
  1567  func (x *RunTestsInit) GetRecursive() bool {
  1568  	if x != nil {
  1569  		return x.Recursive
  1570  	}
  1571  	return false
  1572  }
  1573  
  1574  func (x *RunTestsInit) GetDebugPort() uint32 {
  1575  	if x != nil {
  1576  		return x.DebugPort
  1577  	}
  1578  	return 0
  1579  }
  1580  
  1581  // RunConfig contains parameters needed to run tests in a test bundle.
  1582  type RunConfig struct {
  1583  	state         protoimpl.MessageState
  1584  	sizeCache     protoimpl.SizeCache
  1585  	unknownFields protoimpl.UnknownFields
  1586  
  1587  	// Tests is a list of test names to be run. Wildcards are not allowed.
  1588  	Tests             []string           `protobuf:"bytes,1,rep,name=tests,proto3" json:"tests,omitempty"`
  1589  	Dirs              *RunDirectories    `protobuf:"bytes,2,opt,name=dirs,proto3" json:"dirs,omitempty"`
  1590  	Features          *Features          `protobuf:"bytes,3,opt,name=features,proto3" json:"features,omitempty"`
  1591  	ServiceConfig     *ServiceConfig     `protobuf:"bytes,4,opt,name=service_config,json=serviceConfig,proto3" json:"service_config,omitempty"`
  1592  	DataFileConfig    *DataFileConfig    `protobuf:"bytes,5,opt,name=data_file_config,json=dataFileConfig,proto3" json:"data_file_config,omitempty"`
  1593  	StartFixtureState *StartFixtureState `protobuf:"bytes,7,opt,name=start_fixture_state,json=startFixtureState,proto3" json:"start_fixture_state,omitempty"`
  1594  	// HeartbeatInterval is the interval in seconds at which heartbeat messages
  1595  	// are sent back periodically from runners (before running bundles) and
  1596  	// bundles. If this value is not positive, heartbeat messages are not sent.
  1597  	// TODO(crbug.com/1128259): Remove this field once we fully migrate to gRPC.
  1598  	HeartbeatInterval *durationpb.Duration `protobuf:"bytes,8,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"`
  1599  	// WaitUntilReady indicates that the test bundle's "ready" function (see
  1600  	// ReadyFunc) should be executed before any tests are executed.
  1601  	// TODO(crbug.com/1128259): Remove this field once we fully migrate to gRPC.
  1602  	WaitUntilReady bool `protobuf:"varint,9,opt,name=wait_until_ready,json=waitUntilReady,proto3" json:"wait_until_ready,omitempty"`
  1603  	// DebugPort is the port that the bundle will attach the debugger to.
  1604  	DebugPort uint32 `protobuf:"varint,10,opt,name=debug_port,json=debugPort,proto3" json:"debug_port,omitempty"`
  1605  	// SystemServiceTimeout is timeout for waiting for system services to be ready
  1606  	// in seconds. (Default: 120 seconds)
  1607  	SystemServicesTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=system_services_timeout,json=systemServicesTimeout,proto3" json:"system_services_timeout,omitempty"`
  1608  	// Target specifies how the primary target bundle should run.
  1609  	// This can be nil if no target bundle exists.
  1610  	Target *RunTargetConfig `protobuf:"bytes,12,opt,name=target,proto3" json:"target,omitempty"`
  1611  	// MsgTimeout is the duration that the client waits for.
  1612  	// If no activity is seen even after that the connection is closed.
  1613  	// (Default: 60 seconds)
  1614  	MsgTimeout *durationpb.Duration `protobuf:"bytes,13,opt,name=msg_timeout,json=msgTimeout,proto3" json:"msg_timeout,omitempty"`
  1615  	// MaxSysMsgLogSize is a maximum size of /var/log/messages that Tast will
  1616  	// copy.
  1617  	MaxSysMsgLogSize int64 `protobuf:"varint,14,opt,name=max_sys_msg_log_size,json=maxSysMsgLogSize,proto3" json:"max_sys_msg_log_size,omitempty"`
  1618  	// WaitUntilReadyTimeout set a timeout for the entire ready.Wait function.
  1619  	WaitUntilReadyTimeout *durationpb.Duration `protobuf:"bytes,15,opt,name=wait_until_ready_timeout,json=waitUntilReadyTimeout,proto3" json:"wait_until_ready_timeout,omitempty"`
  1620  }
  1621  
  1622  func (x *RunConfig) Reset() {
  1623  	*x = RunConfig{}
  1624  	if protoimpl.UnsafeEnabled {
  1625  		mi := &file_testing_proto_msgTypes[22]
  1626  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1627  		ms.StoreMessageInfo(mi)
  1628  	}
  1629  }
  1630  
  1631  func (x *RunConfig) String() string {
  1632  	return protoimpl.X.MessageStringOf(x)
  1633  }
  1634  
  1635  func (*RunConfig) ProtoMessage() {}
  1636  
  1637  func (x *RunConfig) ProtoReflect() protoreflect.Message {
  1638  	mi := &file_testing_proto_msgTypes[22]
  1639  	if protoimpl.UnsafeEnabled && x != nil {
  1640  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1641  		if ms.LoadMessageInfo() == nil {
  1642  			ms.StoreMessageInfo(mi)
  1643  		}
  1644  		return ms
  1645  	}
  1646  	return mi.MessageOf(x)
  1647  }
  1648  
  1649  // Deprecated: Use RunConfig.ProtoReflect.Descriptor instead.
  1650  func (*RunConfig) Descriptor() ([]byte, []int) {
  1651  	return file_testing_proto_rawDescGZIP(), []int{22}
  1652  }
  1653  
  1654  func (x *RunConfig) GetTests() []string {
  1655  	if x != nil {
  1656  		return x.Tests
  1657  	}
  1658  	return nil
  1659  }
  1660  
  1661  func (x *RunConfig) GetDirs() *RunDirectories {
  1662  	if x != nil {
  1663  		return x.Dirs
  1664  	}
  1665  	return nil
  1666  }
  1667  
  1668  func (x *RunConfig) GetFeatures() *Features {
  1669  	if x != nil {
  1670  		return x.Features
  1671  	}
  1672  	return nil
  1673  }
  1674  
  1675  func (x *RunConfig) GetServiceConfig() *ServiceConfig {
  1676  	if x != nil {
  1677  		return x.ServiceConfig
  1678  	}
  1679  	return nil
  1680  }
  1681  
  1682  func (x *RunConfig) GetDataFileConfig() *DataFileConfig {
  1683  	if x != nil {
  1684  		return x.DataFileConfig
  1685  	}
  1686  	return nil
  1687  }
  1688  
  1689  func (x *RunConfig) GetStartFixtureState() *StartFixtureState {
  1690  	if x != nil {
  1691  		return x.StartFixtureState
  1692  	}
  1693  	return nil
  1694  }
  1695  
  1696  func (x *RunConfig) GetHeartbeatInterval() *durationpb.Duration {
  1697  	if x != nil {
  1698  		return x.HeartbeatInterval
  1699  	}
  1700  	return nil
  1701  }
  1702  
  1703  func (x *RunConfig) GetWaitUntilReady() bool {
  1704  	if x != nil {
  1705  		return x.WaitUntilReady
  1706  	}
  1707  	return false
  1708  }
  1709  
  1710  func (x *RunConfig) GetDebugPort() uint32 {
  1711  	if x != nil {
  1712  		return x.DebugPort
  1713  	}
  1714  	return 0
  1715  }
  1716  
  1717  func (x *RunConfig) GetSystemServicesTimeout() *durationpb.Duration {
  1718  	if x != nil {
  1719  		return x.SystemServicesTimeout
  1720  	}
  1721  	return nil
  1722  }
  1723  
  1724  func (x *RunConfig) GetTarget() *RunTargetConfig {
  1725  	if x != nil {
  1726  		return x.Target
  1727  	}
  1728  	return nil
  1729  }
  1730  
  1731  func (x *RunConfig) GetMsgTimeout() *durationpb.Duration {
  1732  	if x != nil {
  1733  		return x.MsgTimeout
  1734  	}
  1735  	return nil
  1736  }
  1737  
  1738  func (x *RunConfig) GetMaxSysMsgLogSize() int64 {
  1739  	if x != nil {
  1740  		return x.MaxSysMsgLogSize
  1741  	}
  1742  	return 0
  1743  }
  1744  
  1745  func (x *RunConfig) GetWaitUntilReadyTimeout() *durationpb.Duration {
  1746  	if x != nil {
  1747  		return x.WaitUntilReadyTimeout
  1748  	}
  1749  	return nil
  1750  }
  1751  
  1752  // RunTargetConfig contains parameters for the primary target bundle to run.
  1753  type RunTargetConfig struct {
  1754  	state         protoimpl.MessageState
  1755  	sizeCache     protoimpl.SizeCache
  1756  	unknownFields protoimpl.UnknownFields
  1757  
  1758  	// Devservers correspnods to config.Devservers.
  1759  	Devservers []string `protobuf:"bytes,1,rep,name=devservers,proto3" json:"devservers,omitempty"`
  1760  	// Dirs contains directories local tests use.
  1761  	Dirs *RunDirectories `protobuf:"bytes,2,opt,name=dirs,proto3" json:"dirs,omitempty"`
  1762  	// DebugPort is the port that the bundle will attach the debugger to.
  1763  	DebugPort uint32 `protobuf:"varint,3,opt,name=debug_port,json=debugPort,proto3" json:"debug_port,omitempty"`
  1764  	// MaxTestFailures specifies maximum test failures allowed.
  1765  	MaxTestFailures int32 `protobuf:"varint,4,opt,name=max_test_failures,json=maxTestFailures,proto3" json:"max_test_failures,omitempty"`
  1766  	// Retries is the number of retries for failing tests.
  1767  	Retries int32 `protobuf:"varint,5,opt,name=retries,proto3" json:"retries,omitempty"`
  1768  	// Proxy if true indicates that the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY
  1769  	// environment variables (and their lowercase counterparts) should be
  1770  	// forwarded to the DUT if set on the host.
  1771  	Proxy bool `protobuf:"varint,6,opt,name=proxy,proto3" json:"proxy,omitempty"`
  1772  	// TODO(crbug.com/1128259): Remove this field once we fully migrate to gRPC.
  1773  	WaitUntilReady bool `protobuf:"varint,7,opt,name=wait_until_ready,json=waitUntilReady,proto3" json:"wait_until_ready,omitempty"`
  1774  	// MsgTimeout is the duration that the client waits for.
  1775  	// If no activity is seen even after that the connection is closed.
  1776  	// (Default: 60 seconds)
  1777  	MsgTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=msg_timeout,json=msgTimeout,proto3" json:"msg_timeout,omitempty"`
  1778  	// SystemServiceTimeout is timeout for waiting for system services to be ready
  1779  	// in seconds. (Default: 120 seconds)
  1780  	SystemServicesTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=system_services_timeout,json=systemServicesTimeout,proto3" json:"system_services_timeout,omitempty"`
  1781  	// WaitUntilReadyTimeout set a timeout for the entire ready.Wait function.
  1782  	//(Default: 120 seconds)
  1783  	WaitUntilReadyTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=wait_until_ready_timeout,json=waitUntilReadyTimeout,proto3" json:"wait_until_ready_timeout,omitempty"`
  1784  	// SwarmingTaskID specifies the swarming task ID of the scheduled
  1785  	// job that run Tast tests.
  1786  	SwarmingTaskID string `protobuf:"bytes,11,opt,name=SwarmingTaskID,proto3" json:"SwarmingTaskID,omitempty"`
  1787  	// BuildBucketID specifies the build bucket ID of the scheduled
  1788  	// job that run Tast tests.
  1789  	BuildBucketID string `protobuf:"bytes,12,opt,name=BuildBucketID,proto3" json:"BuildBucketID,omitempty"`
  1790  }
  1791  
  1792  func (x *RunTargetConfig) Reset() {
  1793  	*x = RunTargetConfig{}
  1794  	if protoimpl.UnsafeEnabled {
  1795  		mi := &file_testing_proto_msgTypes[23]
  1796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1797  		ms.StoreMessageInfo(mi)
  1798  	}
  1799  }
  1800  
  1801  func (x *RunTargetConfig) String() string {
  1802  	return protoimpl.X.MessageStringOf(x)
  1803  }
  1804  
  1805  func (*RunTargetConfig) ProtoMessage() {}
  1806  
  1807  func (x *RunTargetConfig) ProtoReflect() protoreflect.Message {
  1808  	mi := &file_testing_proto_msgTypes[23]
  1809  	if protoimpl.UnsafeEnabled && x != nil {
  1810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1811  		if ms.LoadMessageInfo() == nil {
  1812  			ms.StoreMessageInfo(mi)
  1813  		}
  1814  		return ms
  1815  	}
  1816  	return mi.MessageOf(x)
  1817  }
  1818  
  1819  // Deprecated: Use RunTargetConfig.ProtoReflect.Descriptor instead.
  1820  func (*RunTargetConfig) Descriptor() ([]byte, []int) {
  1821  	return file_testing_proto_rawDescGZIP(), []int{23}
  1822  }
  1823  
  1824  func (x *RunTargetConfig) GetDevservers() []string {
  1825  	if x != nil {
  1826  		return x.Devservers
  1827  	}
  1828  	return nil
  1829  }
  1830  
  1831  func (x *RunTargetConfig) GetDirs() *RunDirectories {
  1832  	if x != nil {
  1833  		return x.Dirs
  1834  	}
  1835  	return nil
  1836  }
  1837  
  1838  func (x *RunTargetConfig) GetDebugPort() uint32 {
  1839  	if x != nil {
  1840  		return x.DebugPort
  1841  	}
  1842  	return 0
  1843  }
  1844  
  1845  func (x *RunTargetConfig) GetMaxTestFailures() int32 {
  1846  	if x != nil {
  1847  		return x.MaxTestFailures
  1848  	}
  1849  	return 0
  1850  }
  1851  
  1852  func (x *RunTargetConfig) GetRetries() int32 {
  1853  	if x != nil {
  1854  		return x.Retries
  1855  	}
  1856  	return 0
  1857  }
  1858  
  1859  func (x *RunTargetConfig) GetProxy() bool {
  1860  	if x != nil {
  1861  		return x.Proxy
  1862  	}
  1863  	return false
  1864  }
  1865  
  1866  func (x *RunTargetConfig) GetWaitUntilReady() bool {
  1867  	if x != nil {
  1868  		return x.WaitUntilReady
  1869  	}
  1870  	return false
  1871  }
  1872  
  1873  func (x *RunTargetConfig) GetMsgTimeout() *durationpb.Duration {
  1874  	if x != nil {
  1875  		return x.MsgTimeout
  1876  	}
  1877  	return nil
  1878  }
  1879  
  1880  func (x *RunTargetConfig) GetSystemServicesTimeout() *durationpb.Duration {
  1881  	if x != nil {
  1882  		return x.SystemServicesTimeout
  1883  	}
  1884  	return nil
  1885  }
  1886  
  1887  func (x *RunTargetConfig) GetWaitUntilReadyTimeout() *durationpb.Duration {
  1888  	if x != nil {
  1889  		return x.WaitUntilReadyTimeout
  1890  	}
  1891  	return nil
  1892  }
  1893  
  1894  func (x *RunTargetConfig) GetSwarmingTaskID() string {
  1895  	if x != nil {
  1896  		return x.SwarmingTaskID
  1897  	}
  1898  	return ""
  1899  }
  1900  
  1901  func (x *RunTargetConfig) GetBuildBucketID() string {
  1902  	if x != nil {
  1903  		return x.BuildBucketID
  1904  	}
  1905  	return ""
  1906  }
  1907  
  1908  // RunDirectories holds several directory paths important for running tests.
  1909  type RunDirectories struct {
  1910  	state         protoimpl.MessageState
  1911  	sizeCache     protoimpl.SizeCache
  1912  	unknownFields protoimpl.UnknownFields
  1913  
  1914  	// DataDir is the path to the directory containing test data files.
  1915  	DataDir string `protobuf:"bytes,1,opt,name=data_dir,json=dataDir,proto3" json:"data_dir,omitempty"`
  1916  	// OutDir is the path to the base directory under which tests should write
  1917  	// output files.
  1918  	OutDir string `protobuf:"bytes,2,opt,name=out_dir,json=outDir,proto3" json:"out_dir,omitempty"`
  1919  	// TempDir is the path to the directory under which temporary files for tests
  1920  	// are written.
  1921  	TempDir string `protobuf:"bytes,3,opt,name=temp_dir,json=tempDir,proto3" json:"temp_dir,omitempty"`
  1922  }
  1923  
  1924  func (x *RunDirectories) Reset() {
  1925  	*x = RunDirectories{}
  1926  	if protoimpl.UnsafeEnabled {
  1927  		mi := &file_testing_proto_msgTypes[24]
  1928  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1929  		ms.StoreMessageInfo(mi)
  1930  	}
  1931  }
  1932  
  1933  func (x *RunDirectories) String() string {
  1934  	return protoimpl.X.MessageStringOf(x)
  1935  }
  1936  
  1937  func (*RunDirectories) ProtoMessage() {}
  1938  
  1939  func (x *RunDirectories) ProtoReflect() protoreflect.Message {
  1940  	mi := &file_testing_proto_msgTypes[24]
  1941  	if protoimpl.UnsafeEnabled && x != nil {
  1942  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1943  		if ms.LoadMessageInfo() == nil {
  1944  			ms.StoreMessageInfo(mi)
  1945  		}
  1946  		return ms
  1947  	}
  1948  	return mi.MessageOf(x)
  1949  }
  1950  
  1951  // Deprecated: Use RunDirectories.ProtoReflect.Descriptor instead.
  1952  func (*RunDirectories) Descriptor() ([]byte, []int) {
  1953  	return file_testing_proto_rawDescGZIP(), []int{24}
  1954  }
  1955  
  1956  func (x *RunDirectories) GetDataDir() string {
  1957  	if x != nil {
  1958  		return x.DataDir
  1959  	}
  1960  	return ""
  1961  }
  1962  
  1963  func (x *RunDirectories) GetOutDir() string {
  1964  	if x != nil {
  1965  		return x.OutDir
  1966  	}
  1967  	return ""
  1968  }
  1969  
  1970  func (x *RunDirectories) GetTempDir() string {
  1971  	if x != nil {
  1972  		return x.TempDir
  1973  	}
  1974  	return ""
  1975  }
  1976  
  1977  // ServiceConfig contains configurations of external services available to
  1978  // Tast framework and Tast tests.
  1979  type ServiceConfig struct {
  1980  	state         protoimpl.MessageState
  1981  	sizeCache     protoimpl.SizeCache
  1982  	unknownFields protoimpl.UnknownFields
  1983  
  1984  	// Devservers is a list of devserver URLs (e.g. "https://1.2.3.4:5678").
  1985  	// Devservers are used to download data files from Google Cloud Storage with
  1986  	// cache. It is ignored if DUT Server is available.
  1987  	Devservers []string `protobuf:"bytes,1,rep,name=devservers,proto3" json:"devservers,omitempty"`
  1988  	// TlwServer is an address of a TLW server (e.g. "1.2.3.4:5678").
  1989  	// When this is set, it takes precedence over Devservers.
  1990  	// Note: Obsolete.
  1991  	TlwServer string `protobuf:"bytes,2,opt,name=tlw_server,json=tlwServer,proto3" json:"tlw_server,omitempty"`
  1992  	// TlwSelfName is a "DUT name" that identifies the current machine.
  1993  	// It is empty for remote tests.
  1994  	// Note: Obsolete.
  1995  	TlwSelfName string `protobuf:"bytes,3,opt,name=tlw_self_name,json=tlwSelfName,proto3" json:"tlw_self_name,omitempty"`
  1996  	// TlwPrimaryTargetName is a "DUT name" of the primary target.
  1997  	// It is empty if a primary target doesn't exist.
  1998  	// Note: Obsolete.
  1999  	TlwPrimaryTargetName string `protobuf:"bytes,4,opt,name=tlw_primary_target_name,json=tlwPrimaryTargetName,proto3" json:"tlw_primary_target_name,omitempty"`
  2000  	// DutServer is an address of a DUT server (e.g. "1.2.3.4:5678").
  2001  	// When this is set, it takes precedence over Devservers.
  2002  	DutServer string `protobuf:"bytes,5,opt,name=dut_server,json=dutServer,proto3" json:"dut_server,omitempty"`
  2003  	// UseEphemeralDevserer instructs whether to use ephemeral devserver.
  2004  	UseEphemeralDevservers bool `protobuf:"varint,6,opt,name=use_ephemeral_devservers,json=useEphemeralDevservers,proto3" json:"use_ephemeral_devservers,omitempty"`
  2005  	// TastDir used to specify cache directory.
  2006  	TastDir string `protobuf:"bytes,7,opt,name=tast_dir,json=tastDir,proto3" json:"tast_dir,omitempty"`
  2007  	// ExtraAllowedBuckets specifies ephemeral devserver's allowed buckets.
  2008  	ExtraAllowedBuckets []string `protobuf:"bytes,8,rep,name=extra_allowed_buckets,json=extraAllowedBuckets,proto3" json:"extra_allowed_buckets,omitempty"`
  2009  	// SwarmingTaskID specifies the swarming task ID of the scheduled
  2010  	// job that run Tast tests.
  2011  	SwarmingTaskID string `protobuf:"bytes,9,opt,name=SwarmingTaskID,proto3" json:"SwarmingTaskID,omitempty"`
  2012  	// BuildBucketID specifies the build bucket ID of the scheduled
  2013  	// job that run Tast tests.
  2014  	BuildBucketID string `protobuf:"bytes,10,opt,name=BuildBucketID,proto3" json:"BuildBucketID,omitempty"`
  2015  }
  2016  
  2017  func (x *ServiceConfig) Reset() {
  2018  	*x = ServiceConfig{}
  2019  	if protoimpl.UnsafeEnabled {
  2020  		mi := &file_testing_proto_msgTypes[25]
  2021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2022  		ms.StoreMessageInfo(mi)
  2023  	}
  2024  }
  2025  
  2026  func (x *ServiceConfig) String() string {
  2027  	return protoimpl.X.MessageStringOf(x)
  2028  }
  2029  
  2030  func (*ServiceConfig) ProtoMessage() {}
  2031  
  2032  func (x *ServiceConfig) ProtoReflect() protoreflect.Message {
  2033  	mi := &file_testing_proto_msgTypes[25]
  2034  	if protoimpl.UnsafeEnabled && x != nil {
  2035  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2036  		if ms.LoadMessageInfo() == nil {
  2037  			ms.StoreMessageInfo(mi)
  2038  		}
  2039  		return ms
  2040  	}
  2041  	return mi.MessageOf(x)
  2042  }
  2043  
  2044  // Deprecated: Use ServiceConfig.ProtoReflect.Descriptor instead.
  2045  func (*ServiceConfig) Descriptor() ([]byte, []int) {
  2046  	return file_testing_proto_rawDescGZIP(), []int{25}
  2047  }
  2048  
  2049  func (x *ServiceConfig) GetDevservers() []string {
  2050  	if x != nil {
  2051  		return x.Devservers
  2052  	}
  2053  	return nil
  2054  }
  2055  
  2056  func (x *ServiceConfig) GetTlwServer() string {
  2057  	if x != nil {
  2058  		return x.TlwServer
  2059  	}
  2060  	return ""
  2061  }
  2062  
  2063  func (x *ServiceConfig) GetTlwSelfName() string {
  2064  	if x != nil {
  2065  		return x.TlwSelfName
  2066  	}
  2067  	return ""
  2068  }
  2069  
  2070  func (x *ServiceConfig) GetTlwPrimaryTargetName() string {
  2071  	if x != nil {
  2072  		return x.TlwPrimaryTargetName
  2073  	}
  2074  	return ""
  2075  }
  2076  
  2077  func (x *ServiceConfig) GetDutServer() string {
  2078  	if x != nil {
  2079  		return x.DutServer
  2080  	}
  2081  	return ""
  2082  }
  2083  
  2084  func (x *ServiceConfig) GetUseEphemeralDevservers() bool {
  2085  	if x != nil {
  2086  		return x.UseEphemeralDevservers
  2087  	}
  2088  	return false
  2089  }
  2090  
  2091  func (x *ServiceConfig) GetTastDir() string {
  2092  	if x != nil {
  2093  		return x.TastDir
  2094  	}
  2095  	return ""
  2096  }
  2097  
  2098  func (x *ServiceConfig) GetExtraAllowedBuckets() []string {
  2099  	if x != nil {
  2100  		return x.ExtraAllowedBuckets
  2101  	}
  2102  	return nil
  2103  }
  2104  
  2105  func (x *ServiceConfig) GetSwarmingTaskID() string {
  2106  	if x != nil {
  2107  		return x.SwarmingTaskID
  2108  	}
  2109  	return ""
  2110  }
  2111  
  2112  func (x *ServiceConfig) GetBuildBucketID() string {
  2113  	if x != nil {
  2114  		return x.BuildBucketID
  2115  	}
  2116  	return ""
  2117  }
  2118  
  2119  // DataFileConfig contains configurations about data files.
  2120  type DataFileConfig struct {
  2121  	state         protoimpl.MessageState
  2122  	sizeCache     protoimpl.SizeCache
  2123  	unknownFields protoimpl.UnknownFields
  2124  
  2125  	DownloadMode DownloadMode `protobuf:"varint,1,opt,name=download_mode,json=downloadMode,proto3,enum=tast.core.DownloadMode" json:"download_mode,omitempty"`
  2126  	// BuildArtifactsUrl is the URL of Google Cloud Storage directory, ending with
  2127  	// a slash, containing build artifacts for the current ChromeOS image.
  2128  	BuildArtifactsUrl string `protobuf:"bytes,2,opt,name=build_artifacts_url,json=buildArtifactsUrl,proto3" json:"build_artifacts_url,omitempty"`
  2129  }
  2130  
  2131  func (x *DataFileConfig) Reset() {
  2132  	*x = DataFileConfig{}
  2133  	if protoimpl.UnsafeEnabled {
  2134  		mi := &file_testing_proto_msgTypes[26]
  2135  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2136  		ms.StoreMessageInfo(mi)
  2137  	}
  2138  }
  2139  
  2140  func (x *DataFileConfig) String() string {
  2141  	return protoimpl.X.MessageStringOf(x)
  2142  }
  2143  
  2144  func (*DataFileConfig) ProtoMessage() {}
  2145  
  2146  func (x *DataFileConfig) ProtoReflect() protoreflect.Message {
  2147  	mi := &file_testing_proto_msgTypes[26]
  2148  	if protoimpl.UnsafeEnabled && x != nil {
  2149  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2150  		if ms.LoadMessageInfo() == nil {
  2151  			ms.StoreMessageInfo(mi)
  2152  		}
  2153  		return ms
  2154  	}
  2155  	return mi.MessageOf(x)
  2156  }
  2157  
  2158  // Deprecated: Use DataFileConfig.ProtoReflect.Descriptor instead.
  2159  func (*DataFileConfig) Descriptor() ([]byte, []int) {
  2160  	return file_testing_proto_rawDescGZIP(), []int{26}
  2161  }
  2162  
  2163  func (x *DataFileConfig) GetDownloadMode() DownloadMode {
  2164  	if x != nil {
  2165  		return x.DownloadMode
  2166  	}
  2167  	return DownloadMode_BATCH
  2168  }
  2169  
  2170  func (x *DataFileConfig) GetBuildArtifactsUrl() string {
  2171  	if x != nil {
  2172  		return x.BuildArtifactsUrl
  2173  	}
  2174  	return ""
  2175  }
  2176  
  2177  // StartFixtureState contains information of a start fixture.
  2178  type StartFixtureState struct {
  2179  	state         protoimpl.MessageState
  2180  	sizeCache     protoimpl.SizeCache
  2181  	unknownFields protoimpl.UnknownFields
  2182  
  2183  	// Name is the name of a start fixture.
  2184  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2185  	// Errors contains errors reported on dependent fixture setup. If it is not
  2186  	// empty, all fixtures and tests should fail immediately.
  2187  	Errors []*Error `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
  2188  }
  2189  
  2190  func (x *StartFixtureState) Reset() {
  2191  	*x = StartFixtureState{}
  2192  	if protoimpl.UnsafeEnabled {
  2193  		mi := &file_testing_proto_msgTypes[27]
  2194  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2195  		ms.StoreMessageInfo(mi)
  2196  	}
  2197  }
  2198  
  2199  func (x *StartFixtureState) String() string {
  2200  	return protoimpl.X.MessageStringOf(x)
  2201  }
  2202  
  2203  func (*StartFixtureState) ProtoMessage() {}
  2204  
  2205  func (x *StartFixtureState) ProtoReflect() protoreflect.Message {
  2206  	mi := &file_testing_proto_msgTypes[27]
  2207  	if protoimpl.UnsafeEnabled && x != nil {
  2208  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2209  		if ms.LoadMessageInfo() == nil {
  2210  			ms.StoreMessageInfo(mi)
  2211  		}
  2212  		return ms
  2213  	}
  2214  	return mi.MessageOf(x)
  2215  }
  2216  
  2217  // Deprecated: Use StartFixtureState.ProtoReflect.Descriptor instead.
  2218  func (*StartFixtureState) Descriptor() ([]byte, []int) {
  2219  	return file_testing_proto_rawDescGZIP(), []int{27}
  2220  }
  2221  
  2222  func (x *StartFixtureState) GetName() string {
  2223  	if x != nil {
  2224  		return x.Name
  2225  	}
  2226  	return ""
  2227  }
  2228  
  2229  func (x *StartFixtureState) GetErrors() []*Error {
  2230  	if x != nil {
  2231  		return x.Errors
  2232  	}
  2233  	return nil
  2234  }
  2235  
  2236  // Error describes details of an error reported by an entity.
  2237  type Error struct {
  2238  	state         protoimpl.MessageState
  2239  	sizeCache     protoimpl.SizeCache
  2240  	unknownFields protoimpl.UnknownFields
  2241  
  2242  	Reason   string         `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
  2243  	Location *ErrorLocation `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
  2244  }
  2245  
  2246  func (x *Error) Reset() {
  2247  	*x = Error{}
  2248  	if protoimpl.UnsafeEnabled {
  2249  		mi := &file_testing_proto_msgTypes[28]
  2250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2251  		ms.StoreMessageInfo(mi)
  2252  	}
  2253  }
  2254  
  2255  func (x *Error) String() string {
  2256  	return protoimpl.X.MessageStringOf(x)
  2257  }
  2258  
  2259  func (*Error) ProtoMessage() {}
  2260  
  2261  func (x *Error) ProtoReflect() protoreflect.Message {
  2262  	mi := &file_testing_proto_msgTypes[28]
  2263  	if protoimpl.UnsafeEnabled && x != nil {
  2264  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2265  		if ms.LoadMessageInfo() == nil {
  2266  			ms.StoreMessageInfo(mi)
  2267  		}
  2268  		return ms
  2269  	}
  2270  	return mi.MessageOf(x)
  2271  }
  2272  
  2273  // Deprecated: Use Error.ProtoReflect.Descriptor instead.
  2274  func (*Error) Descriptor() ([]byte, []int) {
  2275  	return file_testing_proto_rawDescGZIP(), []int{28}
  2276  }
  2277  
  2278  func (x *Error) GetReason() string {
  2279  	if x != nil {
  2280  		return x.Reason
  2281  	}
  2282  	return ""
  2283  }
  2284  
  2285  func (x *Error) GetLocation() *ErrorLocation {
  2286  	if x != nil {
  2287  		return x.Location
  2288  	}
  2289  	return nil
  2290  }
  2291  
  2292  // ErrorLocation represents a code location where an error was reported.
  2293  type ErrorLocation struct {
  2294  	state         protoimpl.MessageState
  2295  	sizeCache     protoimpl.SizeCache
  2296  	unknownFields protoimpl.UnknownFields
  2297  
  2298  	File  string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
  2299  	Line  int64  `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
  2300  	Stack string `protobuf:"bytes,3,opt,name=stack,proto3" json:"stack,omitempty"`
  2301  }
  2302  
  2303  func (x *ErrorLocation) Reset() {
  2304  	*x = ErrorLocation{}
  2305  	if protoimpl.UnsafeEnabled {
  2306  		mi := &file_testing_proto_msgTypes[29]
  2307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2308  		ms.StoreMessageInfo(mi)
  2309  	}
  2310  }
  2311  
  2312  func (x *ErrorLocation) String() string {
  2313  	return protoimpl.X.MessageStringOf(x)
  2314  }
  2315  
  2316  func (*ErrorLocation) ProtoMessage() {}
  2317  
  2318  func (x *ErrorLocation) ProtoReflect() protoreflect.Message {
  2319  	mi := &file_testing_proto_msgTypes[29]
  2320  	if protoimpl.UnsafeEnabled && x != nil {
  2321  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2322  		if ms.LoadMessageInfo() == nil {
  2323  			ms.StoreMessageInfo(mi)
  2324  		}
  2325  		return ms
  2326  	}
  2327  	return mi.MessageOf(x)
  2328  }
  2329  
  2330  // Deprecated: Use ErrorLocation.ProtoReflect.Descriptor instead.
  2331  func (*ErrorLocation) Descriptor() ([]byte, []int) {
  2332  	return file_testing_proto_rawDescGZIP(), []int{29}
  2333  }
  2334  
  2335  func (x *ErrorLocation) GetFile() string {
  2336  	if x != nil {
  2337  		return x.File
  2338  	}
  2339  	return ""
  2340  }
  2341  
  2342  func (x *ErrorLocation) GetLine() int64 {
  2343  	if x != nil {
  2344  		return x.Line
  2345  	}
  2346  	return 0
  2347  }
  2348  
  2349  func (x *ErrorLocation) GetStack() string {
  2350  	if x != nil {
  2351  		return x.Stack
  2352  	}
  2353  	return ""
  2354  }
  2355  
  2356  // ResolvedEntity is similar to Entity, but contains additional fields computed
  2357  // from an original Entity and run time information.
  2358  type ResolvedEntity struct {
  2359  	state         protoimpl.MessageState
  2360  	sizeCache     protoimpl.SizeCache
  2361  	unknownFields protoimpl.UnknownFields
  2362  
  2363  	Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  2364  	// Skips contains reasons why this test should be skipped. If it contains one
  2365  	// or more reasons, the test should be skipped for unsatisfied dependencies.
  2366  	// This field can be set only if the entity is a test.
  2367  	Skip *Skip `protobuf:"bytes,2,opt,name=skip,proto3" json:"skip,omitempty"`
  2368  	// Hops contains the number of remote connection hops from the current machine
  2369  	// and the machine serving the entity.
  2370  	// On the host machine, hops=0 means remote entities (on the host machine) and
  2371  	// hops=1 means local entities (on the DUT).
  2372  	Hops int32 `protobuf:"varint,3,opt,name=hops,proto3" json:"hops,omitempty"`
  2373  	// StartFixtureName is the name of the fixture that needs to be set up
  2374  	// externally in order to run this entity.
  2375  	StartFixtureName string `protobuf:"bytes,4,opt,name=start_fixture_name,json=startFixtureName,proto3" json:"start_fixture_name,omitempty"`
  2376  }
  2377  
  2378  func (x *ResolvedEntity) Reset() {
  2379  	*x = ResolvedEntity{}
  2380  	if protoimpl.UnsafeEnabled {
  2381  		mi := &file_testing_proto_msgTypes[30]
  2382  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2383  		ms.StoreMessageInfo(mi)
  2384  	}
  2385  }
  2386  
  2387  func (x *ResolvedEntity) String() string {
  2388  	return protoimpl.X.MessageStringOf(x)
  2389  }
  2390  
  2391  func (*ResolvedEntity) ProtoMessage() {}
  2392  
  2393  func (x *ResolvedEntity) ProtoReflect() protoreflect.Message {
  2394  	mi := &file_testing_proto_msgTypes[30]
  2395  	if protoimpl.UnsafeEnabled && x != nil {
  2396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2397  		if ms.LoadMessageInfo() == nil {
  2398  			ms.StoreMessageInfo(mi)
  2399  		}
  2400  		return ms
  2401  	}
  2402  	return mi.MessageOf(x)
  2403  }
  2404  
  2405  // Deprecated: Use ResolvedEntity.ProtoReflect.Descriptor instead.
  2406  func (*ResolvedEntity) Descriptor() ([]byte, []int) {
  2407  	return file_testing_proto_rawDescGZIP(), []int{30}
  2408  }
  2409  
  2410  func (x *ResolvedEntity) GetEntity() *Entity {
  2411  	if x != nil {
  2412  		return x.Entity
  2413  	}
  2414  	return nil
  2415  }
  2416  
  2417  func (x *ResolvedEntity) GetSkip() *Skip {
  2418  	if x != nil {
  2419  		return x.Skip
  2420  	}
  2421  	return nil
  2422  }
  2423  
  2424  func (x *ResolvedEntity) GetHops() int32 {
  2425  	if x != nil {
  2426  		return x.Hops
  2427  	}
  2428  	return 0
  2429  }
  2430  
  2431  func (x *ResolvedEntity) GetStartFixtureName() string {
  2432  	if x != nil {
  2433  		return x.StartFixtureName
  2434  	}
  2435  	return ""
  2436  }
  2437  
  2438  // TimingLog is a protobuf presentation of a timing.Log.
  2439  type TimingLog struct {
  2440  	state         protoimpl.MessageState
  2441  	sizeCache     protoimpl.SizeCache
  2442  	unknownFields protoimpl.UnknownFields
  2443  
  2444  	Root *TimingStage `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"`
  2445  }
  2446  
  2447  func (x *TimingLog) Reset() {
  2448  	*x = TimingLog{}
  2449  	if protoimpl.UnsafeEnabled {
  2450  		mi := &file_testing_proto_msgTypes[31]
  2451  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2452  		ms.StoreMessageInfo(mi)
  2453  	}
  2454  }
  2455  
  2456  func (x *TimingLog) String() string {
  2457  	return protoimpl.X.MessageStringOf(x)
  2458  }
  2459  
  2460  func (*TimingLog) ProtoMessage() {}
  2461  
  2462  func (x *TimingLog) ProtoReflect() protoreflect.Message {
  2463  	mi := &file_testing_proto_msgTypes[31]
  2464  	if protoimpl.UnsafeEnabled && x != nil {
  2465  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2466  		if ms.LoadMessageInfo() == nil {
  2467  			ms.StoreMessageInfo(mi)
  2468  		}
  2469  		return ms
  2470  	}
  2471  	return mi.MessageOf(x)
  2472  }
  2473  
  2474  // Deprecated: Use TimingLog.ProtoReflect.Descriptor instead.
  2475  func (*TimingLog) Descriptor() ([]byte, []int) {
  2476  	return file_testing_proto_rawDescGZIP(), []int{31}
  2477  }
  2478  
  2479  func (x *TimingLog) GetRoot() *TimingStage {
  2480  	if x != nil {
  2481  		return x.Root
  2482  	}
  2483  	return nil
  2484  }
  2485  
  2486  // TimingStage is a protobuf presentation of a completed timing.Stage.
  2487  type TimingStage struct {
  2488  	state         protoimpl.MessageState
  2489  	sizeCache     protoimpl.SizeCache
  2490  	unknownFields protoimpl.UnknownFields
  2491  
  2492  	Name      string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2493  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  2494  	EndTime   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  2495  	Children  []*TimingStage         `protobuf:"bytes,4,rep,name=children,proto3" json:"children,omitempty"`
  2496  }
  2497  
  2498  func (x *TimingStage) Reset() {
  2499  	*x = TimingStage{}
  2500  	if protoimpl.UnsafeEnabled {
  2501  		mi := &file_testing_proto_msgTypes[32]
  2502  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2503  		ms.StoreMessageInfo(mi)
  2504  	}
  2505  }
  2506  
  2507  func (x *TimingStage) String() string {
  2508  	return protoimpl.X.MessageStringOf(x)
  2509  }
  2510  
  2511  func (*TimingStage) ProtoMessage() {}
  2512  
  2513  func (x *TimingStage) ProtoReflect() protoreflect.Message {
  2514  	mi := &file_testing_proto_msgTypes[32]
  2515  	if protoimpl.UnsafeEnabled && x != nil {
  2516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2517  		if ms.LoadMessageInfo() == nil {
  2518  			ms.StoreMessageInfo(mi)
  2519  		}
  2520  		return ms
  2521  	}
  2522  	return mi.MessageOf(x)
  2523  }
  2524  
  2525  // Deprecated: Use TimingStage.ProtoReflect.Descriptor instead.
  2526  func (*TimingStage) Descriptor() ([]byte, []int) {
  2527  	return file_testing_proto_rawDescGZIP(), []int{32}
  2528  }
  2529  
  2530  func (x *TimingStage) GetName() string {
  2531  	if x != nil {
  2532  		return x.Name
  2533  	}
  2534  	return ""
  2535  }
  2536  
  2537  func (x *TimingStage) GetStartTime() *timestamppb.Timestamp {
  2538  	if x != nil {
  2539  		return x.StartTime
  2540  	}
  2541  	return nil
  2542  }
  2543  
  2544  func (x *TimingStage) GetEndTime() *timestamppb.Timestamp {
  2545  	if x != nil {
  2546  		return x.EndTime
  2547  	}
  2548  	return nil
  2549  }
  2550  
  2551  func (x *TimingStage) GetChildren() []*TimingStage {
  2552  	if x != nil {
  2553  		return x.Children
  2554  	}
  2555  	return nil
  2556  }
  2557  
  2558  // RunLogEvent indicates that an informational log message not associated with
  2559  // an entity was produced.
  2560  type RunLogEvent struct {
  2561  	state         protoimpl.MessageState
  2562  	sizeCache     protoimpl.SizeCache
  2563  	unknownFields protoimpl.UnknownFields
  2564  
  2565  	Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  2566  	Text string                 `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
  2567  }
  2568  
  2569  func (x *RunLogEvent) Reset() {
  2570  	*x = RunLogEvent{}
  2571  	if protoimpl.UnsafeEnabled {
  2572  		mi := &file_testing_proto_msgTypes[33]
  2573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2574  		ms.StoreMessageInfo(mi)
  2575  	}
  2576  }
  2577  
  2578  func (x *RunLogEvent) String() string {
  2579  	return protoimpl.X.MessageStringOf(x)
  2580  }
  2581  
  2582  func (*RunLogEvent) ProtoMessage() {}
  2583  
  2584  func (x *RunLogEvent) ProtoReflect() protoreflect.Message {
  2585  	mi := &file_testing_proto_msgTypes[33]
  2586  	if protoimpl.UnsafeEnabled && x != nil {
  2587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2588  		if ms.LoadMessageInfo() == nil {
  2589  			ms.StoreMessageInfo(mi)
  2590  		}
  2591  		return ms
  2592  	}
  2593  	return mi.MessageOf(x)
  2594  }
  2595  
  2596  // Deprecated: Use RunLogEvent.ProtoReflect.Descriptor instead.
  2597  func (*RunLogEvent) Descriptor() ([]byte, []int) {
  2598  	return file_testing_proto_rawDescGZIP(), []int{33}
  2599  }
  2600  
  2601  func (x *RunLogEvent) GetTime() *timestamppb.Timestamp {
  2602  	if x != nil {
  2603  		return x.Time
  2604  	}
  2605  	return nil
  2606  }
  2607  
  2608  func (x *RunLogEvent) GetText() string {
  2609  	if x != nil {
  2610  		return x.Text
  2611  	}
  2612  	return ""
  2613  }
  2614  
  2615  // EntityStartEvent marks the start of an entity run. EntityStartEvent is sent
  2616  // even if an entity is to be skipped.
  2617  type EntityStartEvent struct {
  2618  	state         protoimpl.MessageState
  2619  	sizeCache     protoimpl.SizeCache
  2620  	unknownFields protoimpl.UnknownFields
  2621  
  2622  	Time   *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  2623  	Entity *Entity                `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
  2624  	OutDir string                 `protobuf:"bytes,3,opt,name=out_dir,json=outDir,proto3" json:"out_dir,omitempty"`
  2625  }
  2626  
  2627  func (x *EntityStartEvent) Reset() {
  2628  	*x = EntityStartEvent{}
  2629  	if protoimpl.UnsafeEnabled {
  2630  		mi := &file_testing_proto_msgTypes[34]
  2631  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2632  		ms.StoreMessageInfo(mi)
  2633  	}
  2634  }
  2635  
  2636  func (x *EntityStartEvent) String() string {
  2637  	return protoimpl.X.MessageStringOf(x)
  2638  }
  2639  
  2640  func (*EntityStartEvent) ProtoMessage() {}
  2641  
  2642  func (x *EntityStartEvent) ProtoReflect() protoreflect.Message {
  2643  	mi := &file_testing_proto_msgTypes[34]
  2644  	if protoimpl.UnsafeEnabled && x != nil {
  2645  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2646  		if ms.LoadMessageInfo() == nil {
  2647  			ms.StoreMessageInfo(mi)
  2648  		}
  2649  		return ms
  2650  	}
  2651  	return mi.MessageOf(x)
  2652  }
  2653  
  2654  // Deprecated: Use EntityStartEvent.ProtoReflect.Descriptor instead.
  2655  func (*EntityStartEvent) Descriptor() ([]byte, []int) {
  2656  	return file_testing_proto_rawDescGZIP(), []int{34}
  2657  }
  2658  
  2659  func (x *EntityStartEvent) GetTime() *timestamppb.Timestamp {
  2660  	if x != nil {
  2661  		return x.Time
  2662  	}
  2663  	return nil
  2664  }
  2665  
  2666  func (x *EntityStartEvent) GetEntity() *Entity {
  2667  	if x != nil {
  2668  		return x.Entity
  2669  	}
  2670  	return nil
  2671  }
  2672  
  2673  func (x *EntityStartEvent) GetOutDir() string {
  2674  	if x != nil {
  2675  		return x.OutDir
  2676  	}
  2677  	return ""
  2678  }
  2679  
  2680  // EntityLogEvent indicates that an informational log message was produced by
  2681  // an entity.
  2682  type EntityLogEvent struct {
  2683  	state         protoimpl.MessageState
  2684  	sizeCache     protoimpl.SizeCache
  2685  	unknownFields protoimpl.UnknownFields
  2686  
  2687  	Time       *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  2688  	EntityName string                 `protobuf:"bytes,2,opt,name=entity_name,json=entityName,proto3" json:"entity_name,omitempty"`
  2689  	Text       string                 `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
  2690  }
  2691  
  2692  func (x *EntityLogEvent) Reset() {
  2693  	*x = EntityLogEvent{}
  2694  	if protoimpl.UnsafeEnabled {
  2695  		mi := &file_testing_proto_msgTypes[35]
  2696  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2697  		ms.StoreMessageInfo(mi)
  2698  	}
  2699  }
  2700  
  2701  func (x *EntityLogEvent) String() string {
  2702  	return protoimpl.X.MessageStringOf(x)
  2703  }
  2704  
  2705  func (*EntityLogEvent) ProtoMessage() {}
  2706  
  2707  func (x *EntityLogEvent) ProtoReflect() protoreflect.Message {
  2708  	mi := &file_testing_proto_msgTypes[35]
  2709  	if protoimpl.UnsafeEnabled && x != nil {
  2710  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2711  		if ms.LoadMessageInfo() == nil {
  2712  			ms.StoreMessageInfo(mi)
  2713  		}
  2714  		return ms
  2715  	}
  2716  	return mi.MessageOf(x)
  2717  }
  2718  
  2719  // Deprecated: Use EntityLogEvent.ProtoReflect.Descriptor instead.
  2720  func (*EntityLogEvent) Descriptor() ([]byte, []int) {
  2721  	return file_testing_proto_rawDescGZIP(), []int{35}
  2722  }
  2723  
  2724  func (x *EntityLogEvent) GetTime() *timestamppb.Timestamp {
  2725  	if x != nil {
  2726  		return x.Time
  2727  	}
  2728  	return nil
  2729  }
  2730  
  2731  func (x *EntityLogEvent) GetEntityName() string {
  2732  	if x != nil {
  2733  		return x.EntityName
  2734  	}
  2735  	return ""
  2736  }
  2737  
  2738  func (x *EntityLogEvent) GetText() string {
  2739  	if x != nil {
  2740  		return x.Text
  2741  	}
  2742  	return ""
  2743  }
  2744  
  2745  // EntityErrorEvent indicates that an error was produced by an entity.
  2746  // A consumer should treat an entity as failed when it sees one or more errors
  2747  // reported for it.
  2748  type EntityErrorEvent struct {
  2749  	state         protoimpl.MessageState
  2750  	sizeCache     protoimpl.SizeCache
  2751  	unknownFields protoimpl.UnknownFields
  2752  
  2753  	Time       *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  2754  	EntityName string                 `protobuf:"bytes,2,opt,name=entity_name,json=entityName,proto3" json:"entity_name,omitempty"`
  2755  	Error      *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
  2756  }
  2757  
  2758  func (x *EntityErrorEvent) Reset() {
  2759  	*x = EntityErrorEvent{}
  2760  	if protoimpl.UnsafeEnabled {
  2761  		mi := &file_testing_proto_msgTypes[36]
  2762  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2763  		ms.StoreMessageInfo(mi)
  2764  	}
  2765  }
  2766  
  2767  func (x *EntityErrorEvent) String() string {
  2768  	return protoimpl.X.MessageStringOf(x)
  2769  }
  2770  
  2771  func (*EntityErrorEvent) ProtoMessage() {}
  2772  
  2773  func (x *EntityErrorEvent) ProtoReflect() protoreflect.Message {
  2774  	mi := &file_testing_proto_msgTypes[36]
  2775  	if protoimpl.UnsafeEnabled && x != nil {
  2776  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2777  		if ms.LoadMessageInfo() == nil {
  2778  			ms.StoreMessageInfo(mi)
  2779  		}
  2780  		return ms
  2781  	}
  2782  	return mi.MessageOf(x)
  2783  }
  2784  
  2785  // Deprecated: Use EntityErrorEvent.ProtoReflect.Descriptor instead.
  2786  func (*EntityErrorEvent) Descriptor() ([]byte, []int) {
  2787  	return file_testing_proto_rawDescGZIP(), []int{36}
  2788  }
  2789  
  2790  func (x *EntityErrorEvent) GetTime() *timestamppb.Timestamp {
  2791  	if x != nil {
  2792  		return x.Time
  2793  	}
  2794  	return nil
  2795  }
  2796  
  2797  func (x *EntityErrorEvent) GetEntityName() string {
  2798  	if x != nil {
  2799  		return x.EntityName
  2800  	}
  2801  	return ""
  2802  }
  2803  
  2804  func (x *EntityErrorEvent) GetError() *Error {
  2805  	if x != nil {
  2806  		return x.Error
  2807  	}
  2808  	return nil
  2809  }
  2810  
  2811  // EntityEndEvent marks the end of an entity run.
  2812  type EntityEndEvent struct {
  2813  	state         protoimpl.MessageState
  2814  	sizeCache     protoimpl.SizeCache
  2815  	unknownFields protoimpl.UnknownFields
  2816  
  2817  	Time       *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  2818  	EntityName string                 `protobuf:"bytes,2,opt,name=entity_name,json=entityName,proto3" json:"entity_name,omitempty"`
  2819  	Skip       *Skip                  `protobuf:"bytes,3,opt,name=skip,proto3" json:"skip,omitempty"`
  2820  	TimingLog  *TimingLog             `protobuf:"bytes,4,opt,name=timing_log,json=timingLog,proto3" json:"timing_log,omitempty"`
  2821  }
  2822  
  2823  func (x *EntityEndEvent) Reset() {
  2824  	*x = EntityEndEvent{}
  2825  	if protoimpl.UnsafeEnabled {
  2826  		mi := &file_testing_proto_msgTypes[37]
  2827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2828  		ms.StoreMessageInfo(mi)
  2829  	}
  2830  }
  2831  
  2832  func (x *EntityEndEvent) String() string {
  2833  	return protoimpl.X.MessageStringOf(x)
  2834  }
  2835  
  2836  func (*EntityEndEvent) ProtoMessage() {}
  2837  
  2838  func (x *EntityEndEvent) ProtoReflect() protoreflect.Message {
  2839  	mi := &file_testing_proto_msgTypes[37]
  2840  	if protoimpl.UnsafeEnabled && x != nil {
  2841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2842  		if ms.LoadMessageInfo() == nil {
  2843  			ms.StoreMessageInfo(mi)
  2844  		}
  2845  		return ms
  2846  	}
  2847  	return mi.MessageOf(x)
  2848  }
  2849  
  2850  // Deprecated: Use EntityEndEvent.ProtoReflect.Descriptor instead.
  2851  func (*EntityEndEvent) Descriptor() ([]byte, []int) {
  2852  	return file_testing_proto_rawDescGZIP(), []int{37}
  2853  }
  2854  
  2855  func (x *EntityEndEvent) GetTime() *timestamppb.Timestamp {
  2856  	if x != nil {
  2857  		return x.Time
  2858  	}
  2859  	return nil
  2860  }
  2861  
  2862  func (x *EntityEndEvent) GetEntityName() string {
  2863  	if x != nil {
  2864  		return x.EntityName
  2865  	}
  2866  	return ""
  2867  }
  2868  
  2869  func (x *EntityEndEvent) GetSkip() *Skip {
  2870  	if x != nil {
  2871  		return x.Skip
  2872  	}
  2873  	return nil
  2874  }
  2875  
  2876  func (x *EntityEndEvent) GetTimingLog() *TimingLog {
  2877  	if x != nil {
  2878  		return x.TimingLog
  2879  	}
  2880  	return nil
  2881  }
  2882  
  2883  // EntityCopyEndEvent marks the end of an file copies after entity ends.
  2884  type EntityCopyEndEvent struct {
  2885  	state         protoimpl.MessageState
  2886  	sizeCache     protoimpl.SizeCache
  2887  	unknownFields protoimpl.UnknownFields
  2888  
  2889  	EntityName string `protobuf:"bytes,1,opt,name=entity_name,json=entityName,proto3" json:"entity_name,omitempty"`
  2890  }
  2891  
  2892  func (x *EntityCopyEndEvent) Reset() {
  2893  	*x = EntityCopyEndEvent{}
  2894  	if protoimpl.UnsafeEnabled {
  2895  		mi := &file_testing_proto_msgTypes[38]
  2896  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2897  		ms.StoreMessageInfo(mi)
  2898  	}
  2899  }
  2900  
  2901  func (x *EntityCopyEndEvent) String() string {
  2902  	return protoimpl.X.MessageStringOf(x)
  2903  }
  2904  
  2905  func (*EntityCopyEndEvent) ProtoMessage() {}
  2906  
  2907  func (x *EntityCopyEndEvent) ProtoReflect() protoreflect.Message {
  2908  	mi := &file_testing_proto_msgTypes[38]
  2909  	if protoimpl.UnsafeEnabled && x != nil {
  2910  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2911  		if ms.LoadMessageInfo() == nil {
  2912  			ms.StoreMessageInfo(mi)
  2913  		}
  2914  		return ms
  2915  	}
  2916  	return mi.MessageOf(x)
  2917  }
  2918  
  2919  // Deprecated: Use EntityCopyEndEvent.ProtoReflect.Descriptor instead.
  2920  func (*EntityCopyEndEvent) Descriptor() ([]byte, []int) {
  2921  	return file_testing_proto_rawDescGZIP(), []int{38}
  2922  }
  2923  
  2924  func (x *EntityCopyEndEvent) GetEntityName() string {
  2925  	if x != nil {
  2926  		return x.EntityName
  2927  	}
  2928  	return ""
  2929  }
  2930  
  2931  // Skip describes the reasons why an entity is skipped.
  2932  type Skip struct {
  2933  	state         protoimpl.MessageState
  2934  	sizeCache     protoimpl.SizeCache
  2935  	unknownFields protoimpl.UnknownFields
  2936  
  2937  	Reasons []string `protobuf:"bytes,1,rep,name=reasons,proto3" json:"reasons,omitempty"`
  2938  }
  2939  
  2940  func (x *Skip) Reset() {
  2941  	*x = Skip{}
  2942  	if protoimpl.UnsafeEnabled {
  2943  		mi := &file_testing_proto_msgTypes[39]
  2944  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2945  		ms.StoreMessageInfo(mi)
  2946  	}
  2947  }
  2948  
  2949  func (x *Skip) String() string {
  2950  	return protoimpl.X.MessageStringOf(x)
  2951  }
  2952  
  2953  func (*Skip) ProtoMessage() {}
  2954  
  2955  func (x *Skip) ProtoReflect() protoreflect.Message {
  2956  	mi := &file_testing_proto_msgTypes[39]
  2957  	if protoimpl.UnsafeEnabled && x != nil {
  2958  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2959  		if ms.LoadMessageInfo() == nil {
  2960  			ms.StoreMessageInfo(mi)
  2961  		}
  2962  		return ms
  2963  	}
  2964  	return mi.MessageOf(x)
  2965  }
  2966  
  2967  // Deprecated: Use Skip.ProtoReflect.Descriptor instead.
  2968  func (*Skip) Descriptor() ([]byte, []int) {
  2969  	return file_testing_proto_rawDescGZIP(), []int{39}
  2970  }
  2971  
  2972  func (x *Skip) GetReasons() []string {
  2973  	if x != nil {
  2974  		return x.Reasons
  2975  	}
  2976  	return nil
  2977  }
  2978  
  2979  // DUTInfo holds DUT system information.
  2980  type DUTInfo struct {
  2981  	state         protoimpl.MessageState
  2982  	sizeCache     protoimpl.SizeCache
  2983  	unknownFields protoimpl.UnknownFields
  2984  
  2985  	// Features contains features available on the DUT.
  2986  	Features *protocol.DUTFeatures `protobuf:"bytes,4,opt,name=features,proto3" json:"features,omitempty"`
  2987  	// OsVersion contains the DUT's OS Version.
  2988  	OsVersion string `protobuf:"bytes,2,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"`
  2989  	// DefaultBuildArtifactsUrl specifies the default URL of the build artifacts.
  2990  	DefaultBuildArtifactsUrl string `protobuf:"bytes,3,opt,name=default_build_artifacts_url,json=defaultBuildArtifactsUrl,proto3" json:"default_build_artifacts_url,omitempty"`
  2991  }
  2992  
  2993  func (x *DUTInfo) Reset() {
  2994  	*x = DUTInfo{}
  2995  	if protoimpl.UnsafeEnabled {
  2996  		mi := &file_testing_proto_msgTypes[40]
  2997  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2998  		ms.StoreMessageInfo(mi)
  2999  	}
  3000  }
  3001  
  3002  func (x *DUTInfo) String() string {
  3003  	return protoimpl.X.MessageStringOf(x)
  3004  }
  3005  
  3006  func (*DUTInfo) ProtoMessage() {}
  3007  
  3008  func (x *DUTInfo) ProtoReflect() protoreflect.Message {
  3009  	mi := &file_testing_proto_msgTypes[40]
  3010  	if protoimpl.UnsafeEnabled && x != nil {
  3011  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3012  		if ms.LoadMessageInfo() == nil {
  3013  			ms.StoreMessageInfo(mi)
  3014  		}
  3015  		return ms
  3016  	}
  3017  	return mi.MessageOf(x)
  3018  }
  3019  
  3020  // Deprecated: Use DUTInfo.ProtoReflect.Descriptor instead.
  3021  func (*DUTInfo) Descriptor() ([]byte, []int) {
  3022  	return file_testing_proto_rawDescGZIP(), []int{40}
  3023  }
  3024  
  3025  func (x *DUTInfo) GetFeatures() *protocol.DUTFeatures {
  3026  	if x != nil {
  3027  		return x.Features
  3028  	}
  3029  	return nil
  3030  }
  3031  
  3032  func (x *DUTInfo) GetOsVersion() string {
  3033  	if x != nil {
  3034  		return x.OsVersion
  3035  	}
  3036  	return ""
  3037  }
  3038  
  3039  func (x *DUTInfo) GetDefaultBuildArtifactsUrl() string {
  3040  	if x != nil {
  3041  		return x.DefaultBuildArtifactsUrl
  3042  	}
  3043  	return ""
  3044  }
  3045  
  3046  // SysInfoState contains the state of the DUT's system information.
  3047  type SysInfoState struct {
  3048  	state         protoimpl.MessageState
  3049  	sizeCache     protoimpl.SizeCache
  3050  	unknownFields protoimpl.UnknownFields
  3051  
  3052  	// LogInodeSizes maps from each log file's inode to its size in bytes.
  3053  	LogInodeSizes map[uint64]int64 `protobuf:"bytes,1,rep,name=log_inode_sizes,json=logInodeSizes,proto3" json:"log_inode_sizes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
  3054  	// UnifiedLogCursor contains an opaque cursor pointing at the current tip of
  3055  	// unified system logs.
  3056  	UnifiedLogCursor string `protobuf:"bytes,2,opt,name=unified_log_cursor,json=unifiedLogCursor,proto3" json:"unified_log_cursor,omitempty"`
  3057  	// CrashFilePaths contains absolute paths to crash files.
  3058  	CrashFilePaths []string `protobuf:"bytes,3,rep,name=crash_file_paths,json=crashFilePaths,proto3" json:"crash_file_paths,omitempty"`
  3059  }
  3060  
  3061  func (x *SysInfoState) Reset() {
  3062  	*x = SysInfoState{}
  3063  	if protoimpl.UnsafeEnabled {
  3064  		mi := &file_testing_proto_msgTypes[41]
  3065  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3066  		ms.StoreMessageInfo(mi)
  3067  	}
  3068  }
  3069  
  3070  func (x *SysInfoState) String() string {
  3071  	return protoimpl.X.MessageStringOf(x)
  3072  }
  3073  
  3074  func (*SysInfoState) ProtoMessage() {}
  3075  
  3076  func (x *SysInfoState) ProtoReflect() protoreflect.Message {
  3077  	mi := &file_testing_proto_msgTypes[41]
  3078  	if protoimpl.UnsafeEnabled && x != nil {
  3079  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3080  		if ms.LoadMessageInfo() == nil {
  3081  			ms.StoreMessageInfo(mi)
  3082  		}
  3083  		return ms
  3084  	}
  3085  	return mi.MessageOf(x)
  3086  }
  3087  
  3088  // Deprecated: Use SysInfoState.ProtoReflect.Descriptor instead.
  3089  func (*SysInfoState) Descriptor() ([]byte, []int) {
  3090  	return file_testing_proto_rawDescGZIP(), []int{41}
  3091  }
  3092  
  3093  func (x *SysInfoState) GetLogInodeSizes() map[uint64]int64 {
  3094  	if x != nil {
  3095  		return x.LogInodeSizes
  3096  	}
  3097  	return nil
  3098  }
  3099  
  3100  func (x *SysInfoState) GetUnifiedLogCursor() string {
  3101  	if x != nil {
  3102  		return x.UnifiedLogCursor
  3103  	}
  3104  	return ""
  3105  }
  3106  
  3107  func (x *SysInfoState) GetCrashFilePaths() []string {
  3108  	if x != nil {
  3109  		return x.CrashFilePaths
  3110  	}
  3111  	return nil
  3112  }
  3113  
  3114  type StackOperationRequest struct {
  3115  	state         protoimpl.MessageState
  3116  	sizeCache     protoimpl.SizeCache
  3117  	unknownFields protoimpl.UnknownFields
  3118  
  3119  	// Types that are assignable to Type:
  3120  	//	*StackOperationRequest_Reset_
  3121  	//	*StackOperationRequest_PreTest
  3122  	//	*StackOperationRequest_PostTest
  3123  	//	*StackOperationRequest_Status
  3124  	//	*StackOperationRequest_SetDirty
  3125  	//	*StackOperationRequest_Errors
  3126  	//	*StackOperationRequest_Value
  3127  	Type isStackOperationRequest_Type `protobuf_oneof:"type"`
  3128  }
  3129  
  3130  func (x *StackOperationRequest) Reset() {
  3131  	*x = StackOperationRequest{}
  3132  	if protoimpl.UnsafeEnabled {
  3133  		mi := &file_testing_proto_msgTypes[42]
  3134  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3135  		ms.StoreMessageInfo(mi)
  3136  	}
  3137  }
  3138  
  3139  func (x *StackOperationRequest) String() string {
  3140  	return protoimpl.X.MessageStringOf(x)
  3141  }
  3142  
  3143  func (*StackOperationRequest) ProtoMessage() {}
  3144  
  3145  func (x *StackOperationRequest) ProtoReflect() protoreflect.Message {
  3146  	mi := &file_testing_proto_msgTypes[42]
  3147  	if protoimpl.UnsafeEnabled && x != nil {
  3148  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3149  		if ms.LoadMessageInfo() == nil {
  3150  			ms.StoreMessageInfo(mi)
  3151  		}
  3152  		return ms
  3153  	}
  3154  	return mi.MessageOf(x)
  3155  }
  3156  
  3157  // Deprecated: Use StackOperationRequest.ProtoReflect.Descriptor instead.
  3158  func (*StackOperationRequest) Descriptor() ([]byte, []int) {
  3159  	return file_testing_proto_rawDescGZIP(), []int{42}
  3160  }
  3161  
  3162  func (m *StackOperationRequest) GetType() isStackOperationRequest_Type {
  3163  	if m != nil {
  3164  		return m.Type
  3165  	}
  3166  	return nil
  3167  }
  3168  
  3169  func (x *StackOperationRequest) GetReset_() *StackReset {
  3170  	if x, ok := x.GetType().(*StackOperationRequest_Reset_); ok {
  3171  		return x.Reset_
  3172  	}
  3173  	return nil
  3174  }
  3175  
  3176  func (x *StackOperationRequest) GetPreTest() *StackPreTest {
  3177  	if x, ok := x.GetType().(*StackOperationRequest_PreTest); ok {
  3178  		return x.PreTest
  3179  	}
  3180  	return nil
  3181  }
  3182  
  3183  func (x *StackOperationRequest) GetPostTest() *StackPostTest {
  3184  	if x, ok := x.GetType().(*StackOperationRequest_PostTest); ok {
  3185  		return x.PostTest
  3186  	}
  3187  	return nil
  3188  }
  3189  
  3190  func (x *StackOperationRequest) GetStatus() *StackGetStatus {
  3191  	if x, ok := x.GetType().(*StackOperationRequest_Status); ok {
  3192  		return x.Status
  3193  	}
  3194  	return nil
  3195  }
  3196  
  3197  func (x *StackOperationRequest) GetSetDirty() *StackSetDirty {
  3198  	if x, ok := x.GetType().(*StackOperationRequest_SetDirty); ok {
  3199  		return x.SetDirty
  3200  	}
  3201  	return nil
  3202  }
  3203  
  3204  func (x *StackOperationRequest) GetErrors() *StackGetErrors {
  3205  	if x, ok := x.GetType().(*StackOperationRequest_Errors); ok {
  3206  		return x.Errors
  3207  	}
  3208  	return nil
  3209  }
  3210  
  3211  func (x *StackOperationRequest) GetValue() *StackValue {
  3212  	if x, ok := x.GetType().(*StackOperationRequest_Value); ok {
  3213  		return x.Value
  3214  	}
  3215  	return nil
  3216  }
  3217  
  3218  type isStackOperationRequest_Type interface {
  3219  	isStackOperationRequest_Type()
  3220  }
  3221  
  3222  type StackOperationRequest_Reset_ struct {
  3223  	Reset_ *StackReset `protobuf:"bytes,1,opt,name=reset,proto3,oneof"`
  3224  }
  3225  
  3226  type StackOperationRequest_PreTest struct {
  3227  	PreTest *StackPreTest `protobuf:"bytes,2,opt,name=pre_test,json=preTest,proto3,oneof"`
  3228  }
  3229  
  3230  type StackOperationRequest_PostTest struct {
  3231  	PostTest *StackPostTest `protobuf:"bytes,3,opt,name=post_test,json=postTest,proto3,oneof"`
  3232  }
  3233  
  3234  type StackOperationRequest_Status struct {
  3235  	Status *StackGetStatus `protobuf:"bytes,4,opt,name=status,proto3,oneof"`
  3236  }
  3237  
  3238  type StackOperationRequest_SetDirty struct {
  3239  	SetDirty *StackSetDirty `protobuf:"bytes,5,opt,name=set_dirty,json=setDirty,proto3,oneof"`
  3240  }
  3241  
  3242  type StackOperationRequest_Errors struct {
  3243  	Errors *StackGetErrors `protobuf:"bytes,6,opt,name=errors,proto3,oneof"`
  3244  }
  3245  
  3246  type StackOperationRequest_Value struct {
  3247  	Value *StackValue `protobuf:"bytes,7,opt,name=value,proto3,oneof"`
  3248  }
  3249  
  3250  func (*StackOperationRequest_Reset_) isStackOperationRequest_Type() {}
  3251  
  3252  func (*StackOperationRequest_PreTest) isStackOperationRequest_Type() {}
  3253  
  3254  func (*StackOperationRequest_PostTest) isStackOperationRequest_Type() {}
  3255  
  3256  func (*StackOperationRequest_Status) isStackOperationRequest_Type() {}
  3257  
  3258  func (*StackOperationRequest_SetDirty) isStackOperationRequest_Type() {}
  3259  
  3260  func (*StackOperationRequest_Errors) isStackOperationRequest_Type() {}
  3261  
  3262  func (*StackOperationRequest_Value) isStackOperationRequest_Type() {}
  3263  
  3264  type StackReset struct {
  3265  	state         protoimpl.MessageState
  3266  	sizeCache     protoimpl.SizeCache
  3267  	unknownFields protoimpl.UnknownFields
  3268  }
  3269  
  3270  func (x *StackReset) Reset() {
  3271  	*x = StackReset{}
  3272  	if protoimpl.UnsafeEnabled {
  3273  		mi := &file_testing_proto_msgTypes[43]
  3274  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3275  		ms.StoreMessageInfo(mi)
  3276  	}
  3277  }
  3278  
  3279  func (x *StackReset) String() string {
  3280  	return protoimpl.X.MessageStringOf(x)
  3281  }
  3282  
  3283  func (*StackReset) ProtoMessage() {}
  3284  
  3285  func (x *StackReset) ProtoReflect() protoreflect.Message {
  3286  	mi := &file_testing_proto_msgTypes[43]
  3287  	if protoimpl.UnsafeEnabled && x != nil {
  3288  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3289  		if ms.LoadMessageInfo() == nil {
  3290  			ms.StoreMessageInfo(mi)
  3291  		}
  3292  		return ms
  3293  	}
  3294  	return mi.MessageOf(x)
  3295  }
  3296  
  3297  // Deprecated: Use StackReset.ProtoReflect.Descriptor instead.
  3298  func (*StackReset) Descriptor() ([]byte, []int) {
  3299  	return file_testing_proto_rawDescGZIP(), []int{43}
  3300  }
  3301  
  3302  type StackPreTest struct {
  3303  	state         protoimpl.MessageState
  3304  	sizeCache     protoimpl.SizeCache
  3305  	unknownFields protoimpl.UnknownFields
  3306  
  3307  	Entity   *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  3308  	HasError bool    `protobuf:"varint,2,opt,name=has_error,json=hasError,proto3" json:"has_error,omitempty"`
  3309  }
  3310  
  3311  func (x *StackPreTest) Reset() {
  3312  	*x = StackPreTest{}
  3313  	if protoimpl.UnsafeEnabled {
  3314  		mi := &file_testing_proto_msgTypes[44]
  3315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3316  		ms.StoreMessageInfo(mi)
  3317  	}
  3318  }
  3319  
  3320  func (x *StackPreTest) String() string {
  3321  	return protoimpl.X.MessageStringOf(x)
  3322  }
  3323  
  3324  func (*StackPreTest) ProtoMessage() {}
  3325  
  3326  func (x *StackPreTest) ProtoReflect() protoreflect.Message {
  3327  	mi := &file_testing_proto_msgTypes[44]
  3328  	if protoimpl.UnsafeEnabled && x != nil {
  3329  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3330  		if ms.LoadMessageInfo() == nil {
  3331  			ms.StoreMessageInfo(mi)
  3332  		}
  3333  		return ms
  3334  	}
  3335  	return mi.MessageOf(x)
  3336  }
  3337  
  3338  // Deprecated: Use StackPreTest.ProtoReflect.Descriptor instead.
  3339  func (*StackPreTest) Descriptor() ([]byte, []int) {
  3340  	return file_testing_proto_rawDescGZIP(), []int{44}
  3341  }
  3342  
  3343  func (x *StackPreTest) GetEntity() *Entity {
  3344  	if x != nil {
  3345  		return x.Entity
  3346  	}
  3347  	return nil
  3348  }
  3349  
  3350  func (x *StackPreTest) GetHasError() bool {
  3351  	if x != nil {
  3352  		return x.HasError
  3353  	}
  3354  	return false
  3355  }
  3356  
  3357  type StackPostTest struct {
  3358  	state         protoimpl.MessageState
  3359  	sizeCache     protoimpl.SizeCache
  3360  	unknownFields protoimpl.UnknownFields
  3361  
  3362  	Entity   *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  3363  	HasError bool    `protobuf:"varint,2,opt,name=has_error,json=hasError,proto3" json:"has_error,omitempty"`
  3364  }
  3365  
  3366  func (x *StackPostTest) Reset() {
  3367  	*x = StackPostTest{}
  3368  	if protoimpl.UnsafeEnabled {
  3369  		mi := &file_testing_proto_msgTypes[45]
  3370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3371  		ms.StoreMessageInfo(mi)
  3372  	}
  3373  }
  3374  
  3375  func (x *StackPostTest) String() string {
  3376  	return protoimpl.X.MessageStringOf(x)
  3377  }
  3378  
  3379  func (*StackPostTest) ProtoMessage() {}
  3380  
  3381  func (x *StackPostTest) ProtoReflect() protoreflect.Message {
  3382  	mi := &file_testing_proto_msgTypes[45]
  3383  	if protoimpl.UnsafeEnabled && x != nil {
  3384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3385  		if ms.LoadMessageInfo() == nil {
  3386  			ms.StoreMessageInfo(mi)
  3387  		}
  3388  		return ms
  3389  	}
  3390  	return mi.MessageOf(x)
  3391  }
  3392  
  3393  // Deprecated: Use StackPostTest.ProtoReflect.Descriptor instead.
  3394  func (*StackPostTest) Descriptor() ([]byte, []int) {
  3395  	return file_testing_proto_rawDescGZIP(), []int{45}
  3396  }
  3397  
  3398  func (x *StackPostTest) GetEntity() *Entity {
  3399  	if x != nil {
  3400  		return x.Entity
  3401  	}
  3402  	return nil
  3403  }
  3404  
  3405  func (x *StackPostTest) GetHasError() bool {
  3406  	if x != nil {
  3407  		return x.HasError
  3408  	}
  3409  	return false
  3410  }
  3411  
  3412  type StackGetStatus struct {
  3413  	state         protoimpl.MessageState
  3414  	sizeCache     protoimpl.SizeCache
  3415  	unknownFields protoimpl.UnknownFields
  3416  }
  3417  
  3418  func (x *StackGetStatus) Reset() {
  3419  	*x = StackGetStatus{}
  3420  	if protoimpl.UnsafeEnabled {
  3421  		mi := &file_testing_proto_msgTypes[46]
  3422  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3423  		ms.StoreMessageInfo(mi)
  3424  	}
  3425  }
  3426  
  3427  func (x *StackGetStatus) String() string {
  3428  	return protoimpl.X.MessageStringOf(x)
  3429  }
  3430  
  3431  func (*StackGetStatus) ProtoMessage() {}
  3432  
  3433  func (x *StackGetStatus) ProtoReflect() protoreflect.Message {
  3434  	mi := &file_testing_proto_msgTypes[46]
  3435  	if protoimpl.UnsafeEnabled && x != nil {
  3436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3437  		if ms.LoadMessageInfo() == nil {
  3438  			ms.StoreMessageInfo(mi)
  3439  		}
  3440  		return ms
  3441  	}
  3442  	return mi.MessageOf(x)
  3443  }
  3444  
  3445  // Deprecated: Use StackGetStatus.ProtoReflect.Descriptor instead.
  3446  func (*StackGetStatus) Descriptor() ([]byte, []int) {
  3447  	return file_testing_proto_rawDescGZIP(), []int{46}
  3448  }
  3449  
  3450  type StackSetDirty struct {
  3451  	state         protoimpl.MessageState
  3452  	sizeCache     protoimpl.SizeCache
  3453  	unknownFields protoimpl.UnknownFields
  3454  
  3455  	Dirty bool `protobuf:"varint,1,opt,name=dirty,proto3" json:"dirty,omitempty"`
  3456  }
  3457  
  3458  func (x *StackSetDirty) Reset() {
  3459  	*x = StackSetDirty{}
  3460  	if protoimpl.UnsafeEnabled {
  3461  		mi := &file_testing_proto_msgTypes[47]
  3462  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3463  		ms.StoreMessageInfo(mi)
  3464  	}
  3465  }
  3466  
  3467  func (x *StackSetDirty) String() string {
  3468  	return protoimpl.X.MessageStringOf(x)
  3469  }
  3470  
  3471  func (*StackSetDirty) ProtoMessage() {}
  3472  
  3473  func (x *StackSetDirty) ProtoReflect() protoreflect.Message {
  3474  	mi := &file_testing_proto_msgTypes[47]
  3475  	if protoimpl.UnsafeEnabled && x != nil {
  3476  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3477  		if ms.LoadMessageInfo() == nil {
  3478  			ms.StoreMessageInfo(mi)
  3479  		}
  3480  		return ms
  3481  	}
  3482  	return mi.MessageOf(x)
  3483  }
  3484  
  3485  // Deprecated: Use StackSetDirty.ProtoReflect.Descriptor instead.
  3486  func (*StackSetDirty) Descriptor() ([]byte, []int) {
  3487  	return file_testing_proto_rawDescGZIP(), []int{47}
  3488  }
  3489  
  3490  func (x *StackSetDirty) GetDirty() bool {
  3491  	if x != nil {
  3492  		return x.Dirty
  3493  	}
  3494  	return false
  3495  }
  3496  
  3497  type StackGetErrors struct {
  3498  	state         protoimpl.MessageState
  3499  	sizeCache     protoimpl.SizeCache
  3500  	unknownFields protoimpl.UnknownFields
  3501  }
  3502  
  3503  func (x *StackGetErrors) Reset() {
  3504  	*x = StackGetErrors{}
  3505  	if protoimpl.UnsafeEnabled {
  3506  		mi := &file_testing_proto_msgTypes[48]
  3507  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3508  		ms.StoreMessageInfo(mi)
  3509  	}
  3510  }
  3511  
  3512  func (x *StackGetErrors) String() string {
  3513  	return protoimpl.X.MessageStringOf(x)
  3514  }
  3515  
  3516  func (*StackGetErrors) ProtoMessage() {}
  3517  
  3518  func (x *StackGetErrors) ProtoReflect() protoreflect.Message {
  3519  	mi := &file_testing_proto_msgTypes[48]
  3520  	if protoimpl.UnsafeEnabled && x != nil {
  3521  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3522  		if ms.LoadMessageInfo() == nil {
  3523  			ms.StoreMessageInfo(mi)
  3524  		}
  3525  		return ms
  3526  	}
  3527  	return mi.MessageOf(x)
  3528  }
  3529  
  3530  // Deprecated: Use StackGetErrors.ProtoReflect.Descriptor instead.
  3531  func (*StackGetErrors) Descriptor() ([]byte, []int) {
  3532  	return file_testing_proto_rawDescGZIP(), []int{48}
  3533  }
  3534  
  3535  type StackValue struct {
  3536  	state         protoimpl.MessageState
  3537  	sizeCache     protoimpl.SizeCache
  3538  	unknownFields protoimpl.UnknownFields
  3539  }
  3540  
  3541  func (x *StackValue) Reset() {
  3542  	*x = StackValue{}
  3543  	if protoimpl.UnsafeEnabled {
  3544  		mi := &file_testing_proto_msgTypes[49]
  3545  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3546  		ms.StoreMessageInfo(mi)
  3547  	}
  3548  }
  3549  
  3550  func (x *StackValue) String() string {
  3551  	return protoimpl.X.MessageStringOf(x)
  3552  }
  3553  
  3554  func (*StackValue) ProtoMessage() {}
  3555  
  3556  func (x *StackValue) ProtoReflect() protoreflect.Message {
  3557  	mi := &file_testing_proto_msgTypes[49]
  3558  	if protoimpl.UnsafeEnabled && x != nil {
  3559  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3560  		if ms.LoadMessageInfo() == nil {
  3561  			ms.StoreMessageInfo(mi)
  3562  		}
  3563  		return ms
  3564  	}
  3565  	return mi.MessageOf(x)
  3566  }
  3567  
  3568  // Deprecated: Use StackValue.ProtoReflect.Descriptor instead.
  3569  func (*StackValue) Descriptor() ([]byte, []int) {
  3570  	return file_testing_proto_rawDescGZIP(), []int{49}
  3571  }
  3572  
  3573  type StackOperationResponse struct {
  3574  	state         protoimpl.MessageState
  3575  	sizeCache     protoimpl.SizeCache
  3576  	unknownFields protoimpl.UnknownFields
  3577  
  3578  	// FatalError is an framework internal error happened during operation.
  3579  	FatalError string `protobuf:"bytes,1,opt,name=fatal_error,json=fatalError,proto3" json:"fatal_error,omitempty"`
  3580  	// Status is a response for StackGetStatus request.
  3581  	// It's also populated in Reset's response.
  3582  	Status StackStatus `protobuf:"varint,2,opt,name=status,proto3,enum=tast.core.StackStatus" json:"status,omitempty"`
  3583  	// Errors is a response for StackGetErrors request.
  3584  	Errors []*Error `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
  3585  	// TestHasError is a response for StackPreTest and StackPostTest request.
  3586  	TestHasError bool `protobuf:"varint,4,opt,name=test_has_error,json=testHasError,proto3" json:"test_has_error,omitempty"`
  3587  	// FixtValue is the serialized fixture value of the fixture in current stack.
  3588  	FixtValue []byte `protobuf:"bytes,5,opt,name=fixt_value,json=fixtValue,proto3" json:"fixt_value,omitempty"`
  3589  }
  3590  
  3591  func (x *StackOperationResponse) Reset() {
  3592  	*x = StackOperationResponse{}
  3593  	if protoimpl.UnsafeEnabled {
  3594  		mi := &file_testing_proto_msgTypes[50]
  3595  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3596  		ms.StoreMessageInfo(mi)
  3597  	}
  3598  }
  3599  
  3600  func (x *StackOperationResponse) String() string {
  3601  	return protoimpl.X.MessageStringOf(x)
  3602  }
  3603  
  3604  func (*StackOperationResponse) ProtoMessage() {}
  3605  
  3606  func (x *StackOperationResponse) ProtoReflect() protoreflect.Message {
  3607  	mi := &file_testing_proto_msgTypes[50]
  3608  	if protoimpl.UnsafeEnabled && x != nil {
  3609  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3610  		if ms.LoadMessageInfo() == nil {
  3611  			ms.StoreMessageInfo(mi)
  3612  		}
  3613  		return ms
  3614  	}
  3615  	return mi.MessageOf(x)
  3616  }
  3617  
  3618  // Deprecated: Use StackOperationResponse.ProtoReflect.Descriptor instead.
  3619  func (*StackOperationResponse) Descriptor() ([]byte, []int) {
  3620  	return file_testing_proto_rawDescGZIP(), []int{50}
  3621  }
  3622  
  3623  func (x *StackOperationResponse) GetFatalError() string {
  3624  	if x != nil {
  3625  		return x.FatalError
  3626  	}
  3627  	return ""
  3628  }
  3629  
  3630  func (x *StackOperationResponse) GetStatus() StackStatus {
  3631  	if x != nil {
  3632  		return x.Status
  3633  	}
  3634  	return StackStatus_GREEN
  3635  }
  3636  
  3637  func (x *StackOperationResponse) GetErrors() []*Error {
  3638  	if x != nil {
  3639  		return x.Errors
  3640  	}
  3641  	return nil
  3642  }
  3643  
  3644  func (x *StackOperationResponse) GetTestHasError() bool {
  3645  	if x != nil {
  3646  		return x.TestHasError
  3647  	}
  3648  	return false
  3649  }
  3650  
  3651  func (x *StackOperationResponse) GetFixtValue() []byte {
  3652  	if x != nil {
  3653  		return x.FixtValue
  3654  	}
  3655  	return nil
  3656  }
  3657  
  3658  type HeartbeatEvent struct {
  3659  	state         protoimpl.MessageState
  3660  	sizeCache     protoimpl.SizeCache
  3661  	unknownFields protoimpl.UnknownFields
  3662  
  3663  	Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
  3664  }
  3665  
  3666  func (x *HeartbeatEvent) Reset() {
  3667  	*x = HeartbeatEvent{}
  3668  	if protoimpl.UnsafeEnabled {
  3669  		mi := &file_testing_proto_msgTypes[51]
  3670  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3671  		ms.StoreMessageInfo(mi)
  3672  	}
  3673  }
  3674  
  3675  func (x *HeartbeatEvent) String() string {
  3676  	return protoimpl.X.MessageStringOf(x)
  3677  }
  3678  
  3679  func (*HeartbeatEvent) ProtoMessage() {}
  3680  
  3681  func (x *HeartbeatEvent) ProtoReflect() protoreflect.Message {
  3682  	mi := &file_testing_proto_msgTypes[51]
  3683  	if protoimpl.UnsafeEnabled && x != nil {
  3684  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3685  		if ms.LoadMessageInfo() == nil {
  3686  			ms.StoreMessageInfo(mi)
  3687  		}
  3688  		return ms
  3689  	}
  3690  	return mi.MessageOf(x)
  3691  }
  3692  
  3693  // Deprecated: Use HeartbeatEvent.ProtoReflect.Descriptor instead.
  3694  func (*HeartbeatEvent) Descriptor() ([]byte, []int) {
  3695  	return file_testing_proto_rawDescGZIP(), []int{51}
  3696  }
  3697  
  3698  func (x *HeartbeatEvent) GetTime() *timestamppb.Timestamp {
  3699  	if x != nil {
  3700  		return x.Time
  3701  	}
  3702  	return nil
  3703  }
  3704  
  3705  // A string key-value pair.
  3706  type StringPair struct {
  3707  	state         protoimpl.MessageState
  3708  	sizeCache     protoimpl.SizeCache
  3709  	unknownFields protoimpl.UnknownFields
  3710  
  3711  	// Regex: ^[a-z][a-z0-9_]*(/[a-z][a-z0-9_]*)*$
  3712  	// Max length: 64.
  3713  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  3714  	// Max length: 256.
  3715  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  3716  }
  3717  
  3718  func (x *StringPair) Reset() {
  3719  	*x = StringPair{}
  3720  	if protoimpl.UnsafeEnabled {
  3721  		mi := &file_testing_proto_msgTypes[52]
  3722  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3723  		ms.StoreMessageInfo(mi)
  3724  	}
  3725  }
  3726  
  3727  func (x *StringPair) String() string {
  3728  	return protoimpl.X.MessageStringOf(x)
  3729  }
  3730  
  3731  func (*StringPair) ProtoMessage() {}
  3732  
  3733  func (x *StringPair) ProtoReflect() protoreflect.Message {
  3734  	mi := &file_testing_proto_msgTypes[52]
  3735  	if protoimpl.UnsafeEnabled && x != nil {
  3736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3737  		if ms.LoadMessageInfo() == nil {
  3738  			ms.StoreMessageInfo(mi)
  3739  		}
  3740  		return ms
  3741  	}
  3742  	return mi.MessageOf(x)
  3743  }
  3744  
  3745  // Deprecated: Use StringPair.ProtoReflect.Descriptor instead.
  3746  func (*StringPair) Descriptor() ([]byte, []int) {
  3747  	return file_testing_proto_rawDescGZIP(), []int{52}
  3748  }
  3749  
  3750  func (x *StringPair) GetKey() string {
  3751  	if x != nil {
  3752  		return x.Key
  3753  	}
  3754  	return ""
  3755  }
  3756  
  3757  func (x *StringPair) GetValue() string {
  3758  	if x != nil {
  3759  		return x.Value
  3760  	}
  3761  	return ""
  3762  }
  3763  
  3764  var File_testing_proto protoreflect.FileDescriptor
  3765  
  3766  var file_testing_proto_rawDesc = []byte{
  3767  	0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
  3768  	0x09, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
  3769  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
  3770  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
  3771  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
  3772  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x67, 0x6f, 0x2e,
  3773  	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x74, 0x61, 0x73,
  3774  	0x74, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b,
  3775  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x64, 0x75, 0x74, 0x66, 0x65, 0x61,
  3776  	0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x66, 0x65, 0x61,
  3777  	0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x13, 0x4c,
  3778  	0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  3779  	0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01,
  3780  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  3781  	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
  3782  	0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65,
  3783  	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76,
  3784  	0x65, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65,
  3785  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x74,
  3786  	0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61,
  3787  	0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64,
  3788  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73,
  3789  	0x22, 0x1a, 0x0a, 0x18, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
  3790  	0x65, 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x26, 0x0a, 0x10,
  3791  	0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72,
  3792  	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  3793  	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x19, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x75,
  3794  	0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  3795  	0x65, 0x12, 0x2f, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  3796  	0x1b, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x6c, 0x6f, 0x62,
  3797  	0x61, 0x6c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x76, 0x61,
  3798  	0x72, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x73, 0x52,
  3799  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x65,
  3800  	0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
  3801  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x65,
  3802  	0x73, 0x74, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x54, 0x65,
  3803  	0x73, 0x74, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x5d, 0x0a, 0x18, 0x73, 0x74, 0x61, 0x63, 0x6b,
  3804  	0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
  3805  	0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x74,
  3806  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61,
  3807  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x16,
  3808  	0x73, 0x74, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  3809  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04,
  3810  	0x08, 0x02, 0x10, 0x03, 0x22, 0x9a, 0x04, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74,
  3811  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x75, 0x6e,
  3812  	0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73,
  3813  	0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65,
  3814  	0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x12, 0x40, 0x0a, 0x0c,
  3815  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01,
  3816  	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45,
  3817  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,
  3818  	0x00, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3a,
  3819  	0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01,
  3820  	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45,
  3821  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
  3822  	0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x12, 0x40, 0x0a, 0x0c, 0x65, 0x6e,
  3823  	0x74, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  3824  	0x32, 0x1b, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74,
  3825  	0x69, 0x74, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
  3826  	0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0a,
  3827  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  3828  	0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74,
  3829  	0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65,
  3830  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x47, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69,
  3831  	0x74, 0x79, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
  3832  	0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e,
  3833  	0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74,
  3834  	0x48, 0x00, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e,
  3835  	0x64, 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61,
  3836  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x73,
  3837  	0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72,
  3838  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e,
  3839  	0x73, 0x74, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39,
  3840  	0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
  3841  	0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65,
  3842  	0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09,
  3843  	0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
  3844  	0x65, 0x22, 0x57, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x55, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52,
  3845  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
  3846  	0x75, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
  3847  	0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x55, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a,
  3848  	0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  3849  	0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x43, 0x0a, 0x12, 0x47, 0x65,
  3850  	0x74, 0x44, 0x55, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  3851  	0x12, 0x2d, 0x0a, 0x08, 0x64, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
  3852  	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44,
  3853  	0x55, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22,
  3854  	0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61,
  3855  	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x48, 0x0a, 0x17, 0x47, 0x65, 0x74,
  3856  	0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
  3857  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
  3858  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  3859  	0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
  3860  	0x61, 0x74, 0x65, 0x22, 0x55, 0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x79,
  3861  	0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0d,
  3862  	0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
  3863  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  3864  	0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e,
  3865  	0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4e, 0x0a, 0x16, 0x43, 0x6f,
  3866  	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
  3867  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18,
  3868  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x44, 0x69, 0x72, 0x12, 0x1b, 0x0a,
  3869  	0x09, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  3870  	0x52, 0x08, 0x63, 0x72, 0x61, 0x73, 0x68, 0x44, 0x69, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x1d, 0x44,
  3871  	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x75,
  3872  	0x6e, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0e,
  3873  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
  3874  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  3875  	0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d,
  3876  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a,
  3877  	0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f,
  3878  	0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64,
  3879  	0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x22, 0x20, 0x0a, 0x1e, 0x44,
  3880  	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x75,
  3881  	0x6e, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a,
  3882  	0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
  3883  	0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  3884  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
  3885  	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x40,
  3886  	0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
  3887  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
  3888  	0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
  3889  	0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
  3890  	0x22, 0xc1, 0x04, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x74,
  3891  	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x74, 0x61, 0x73, 0x74,
  3892  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  3893  	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
  3894  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
  3895  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63,
  3896  	0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  3897  	0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
  3898  	0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  3899  	0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
  3900  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72,
  3901  	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65,
  3902  	0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73,
  3903  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f,
  3904  	0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65,
  3905  	0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63,
  3906  	0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18,
  3907  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
  3908  	0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73,
  3909  	0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x6c, 0x65,
  3910  	0x67, 0x61, 0x63, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3911  	0x1b, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69,
  3912  	0x74, 0x79, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x6c, 0x65,
  3913  	0x67, 0x61, 0x63, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72,
  3914  	0x63, 0x68, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
  3915  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
  3916  	0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6c, 0x61,
  3917  	0x67, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x64, 0x5f, 0x64,
  3918  	0x65, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x42,
  3919  	0x65, 0x64, 0x44, 0x65, 0x70, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
  3920  	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
  3921  	0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75,
  3922  	0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
  3923  	0x09, 0x52, 0x0c, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12,
  3924  	0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  3925  	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x53, 0x74,
  3926  	0x61, 0x74, 0x75, 0x73, 0x22, 0x28, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f,
  3927  	0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73,
  3928  	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4f,
  3929  	0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
  3930  	0x63, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c,
  3931  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69,
  3932  	0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18,
  3933  	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22,
  3934  	0xc7, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79,
  3935  	0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
  3936  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  3937  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  3938  	0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72,
  3939  	0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61,
  3940  	0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61,
  3941  	0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
  3942  	0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x73, 0x12, 0x23, 0x0a, 0x0d,
  3943  	0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20,
  3944  	0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x44, 0x65, 0x70,
  3945  	0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  3946  	0x09, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x52, 0x75,
  3947  	0x6e, 0x54, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x72, 0x75,
  3948  	0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
  3949  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x6f,
  3950  	0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  3951  	0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01,
  3952  	0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a,
  3953  	0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
  3954  	0x0d, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xb5, 0x06, 0x0a,
  3955  	0x09, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65,
  3956  	0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73,
  3957  	0x12, 0x2d, 0x0a, 0x04, 0x64, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  3958  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x69,
  3959  	0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x04, 0x64, 0x69, 0x72, 0x73, 0x12,
  3960  	0x2f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
  3961  	0x0b, 0x32, 0x13, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x46, 0x65,
  3962  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  3963  	0x12, 0x3f, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  3964  	0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e,
  3965  	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
  3966  	0x69, 0x67, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  3967  	0x67, 0x12, 0x43, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63,
  3968  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61,
  3969  	0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65,
  3970  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65,
  3971  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
  3972  	0x66, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20,
  3973  	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  3974  	0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74,
  3975  	0x65, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x53,
  3976  	0x74, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61,
  3977  	0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
  3978  	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  3979  	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x68, 0x65, 0x61,
  3980  	0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x28,
  3981  	0x0a, 0x10, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61,
  3982  	0x64, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x61, 0x69, 0x74, 0x55, 0x6e,
  3983  	0x74, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75,
  3984  	0x67, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65,
  3985  	0x62, 0x75, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x73, 0x79, 0x73, 0x74, 0x65,
  3986  	0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
  3987  	0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3988  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
  3989  	0x69, 0x6f, 0x6e, 0x52, 0x15, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
  3990  	0x63, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x74, 0x61,
  3991  	0x72, 0x67, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x61, 0x73,
  3992  	0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
  3993  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3a,
  3994  	0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0d, 0x20,
  3995  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  3996  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
  3997  	0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x14, 0x6d, 0x61,
  3998  	0x78, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x69,
  3999  	0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x53, 0x79, 0x73,
  4000  	0x4d, 0x73, 0x67, 0x4c, 0x6f, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x52, 0x0a, 0x18, 0x77, 0x61,
  4001  	0x69, 0x74, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x74,
  4002  	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
  4003  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
  4004  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, 0x55, 0x6e, 0x74,
  4005  	0x69, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x04,
  4006  	0x08, 0x06, 0x10, 0x07, 0x22, 0xb6, 0x04, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x54, 0x61, 0x72, 0x67,
  4007  	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x73,
  4008  	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65,
  4009  	0x76, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x69, 0x72, 0x73,
  4010  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f,
  4011  	0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65,
  4012  	0x73, 0x52, 0x04, 0x64, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67,
  4013  	0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x62,
  4014  	0x75, 0x67, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x65,
  4015  	0x73, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
  4016  	0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
  4017  	0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20,
  4018  	0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05,
  4019  	0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x6f,
  4020  	0x78, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c,
  4021  	0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x61,
  4022  	0x69, 0x74, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x3a, 0x0a, 0x0b,
  4023  	0x6d, 0x73, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
  4024  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  4025  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x73,
  4026  	0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x17, 0x73, 0x79, 0x73, 0x74,
  4027  	0x65, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  4028  	0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4029  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
  4030  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76,
  4031  	0x69, 0x63, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x18, 0x77,
  4032  	0x61, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f,
  4033  	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
  4034  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  4035  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x77, 0x61, 0x69, 0x74, 0x55, 0x6e,
  4036  	0x74, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
  4037  	0x26, 0x0a, 0x0e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49,
  4038  	0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  4039  	0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64,
  4040  	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  4041  	0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x22, 0x5f, 0x0a,
  4042  	0x0e, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12,
  4043  	0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
  4044  	0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x44, 0x69, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x75,
  4045  	0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74,
  4046  	0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x18,
  4047  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x6d, 0x70, 0x44, 0x69, 0x72, 0x22, 0x9f,
  4048  	0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  4049  	0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01,
  4050  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
  4051  	0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6c, 0x77, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02,
  4052  	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6c, 0x77, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12,
  4053  	0x22, 0x0a, 0x0d, 0x74, 0x6c, 0x77, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
  4054  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6c, 0x77, 0x53, 0x65, 0x6c, 0x66, 0x4e,
  4055  	0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x6c, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
  4056  	0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
  4057  	0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x6c, 0x77, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
  4058  	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75,
  4059  	0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
  4060  	0x64, 0x75, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x73, 0x65,
  4061  	0x5f, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x73, 0x65,
  4062  	0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x73, 0x65,
  4063  	0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x44, 0x65, 0x76, 0x73, 0x65, 0x72, 0x76,
  4064  	0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18,
  4065  	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x73, 0x74, 0x44, 0x69, 0x72, 0x12, 0x32,
  4066  	0x0a, 0x15, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f,
  4067  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65,
  4068  	0x78, 0x74, 0x72, 0x61, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65,
  4069  	0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61,
  4070  	0x73, 0x6b, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x77, 0x61, 0x72,
  4071  	0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x75,
  4072  	0x69, 0x6c, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28,
  4073  	0x09, 0x52, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44,
  4074  	0x22, 0x7e, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
  4075  	0x69, 0x67, 0x12, 0x3c, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d,
  4076  	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74,
  4077  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f,
  4078  	0x64, 0x65, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65,
  4079  	0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
  4080  	0x63, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62,
  4081  	0x75, 0x69, 0x6c, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x55, 0x72, 0x6c,
  4082  	0x22, 0x51, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65,
  4083  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4084  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x65, 0x72, 0x72,
  4085  	0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x61, 0x73, 0x74,
  4086  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72,
  4087  	0x6f, 0x72, 0x73, 0x22, 0x55, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06,
  4088  	0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65,
  4089  	0x61, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4090  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f,
  4091  	0x72, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4092  	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x0d, 0x45, 0x72,
  4093  	0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x66,
  4094  	0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12,
  4095  	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c,
  4096  	0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01,
  4097  	0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x65,
  4098  	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x06,
  4099  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74,
  4100  	0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
  4101  	0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18,
  4102  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
  4103  	0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04,
  4104  	0x68, 0x6f, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73,
  4105  	0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x74, 0x75, 0x72,
  4106  	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74,
  4107  	0x61, 0x72, 0x74, 0x46, 0x69, 0x78, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x37,
  4108  	0x0a, 0x09, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x72,
  4109  	0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73, 0x74,
  4110  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67,
  4111  	0x65, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x69,
  4112  	0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  4113  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73,
  4114  	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4115  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  4116  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61,
  4117  	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
  4118  	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4119  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
  4120  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a,
  4121  	0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4122  	0x16, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x69,
  4123  	0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65,
  4124  	0x6e, 0x22, 0x51, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74,
  4125  	0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  4126  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  4127  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
  4128  	0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  4129  	0x74, 0x65, 0x78, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
  4130  	0x74, 0x61, 0x72, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d,
  4131  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4132  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4133  	0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x65, 0x6e, 0x74,
  4134  	0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x61, 0x73, 0x74,
  4135  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e,
  4136  	0x74, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18,
  4137  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x44, 0x69, 0x72, 0x22, 0x75, 0x0a,
  4138  	0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
  4139  	0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  4140  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  4141  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12,
  4142  	0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
  4143  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65,
  4144  	0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  4145  	0x74, 0x65, 0x78, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45,
  4146  	0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d,
  4147  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4148  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4149  	0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
  4150  	0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
  4151  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x65, 0x72,
  4152  	0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x61, 0x73, 0x74,
  4153  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
  4154  	0x6f, 0x72, 0x22, 0xbb, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64,
  4155  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4156  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  4157  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  4158  	0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
  4159  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69,
  4160  	0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03,
  4161  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  4162  	0x2e, 0x53, 0x6b, 0x69, 0x70, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x33, 0x0a, 0x0a, 0x74,
  4163  	0x69, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4164  	0x14, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x69,
  4165  	0x6e, 0x67, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x67,
  4166  	0x22, 0x35, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e,
  4167  	0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4168  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74,
  4169  	0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x12,
  4170  	0x18, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
  4171  	0x52, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x07, 0x44, 0x55,
  4172  	0x54, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4173  	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63,
  4174  	0x6f, 0x72, 0x65, 0x2e, 0x44, 0x55, 0x54, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52,
  4175  	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f,
  4176  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f,
  4177  	0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x65, 0x66, 0x61,
  4178  	0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
  4179  	0x63, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64,
  4180  	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66,
  4181  	0x61, 0x63, 0x74, 0x73, 0x55, 0x72, 0x6c, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xfc, 0x01,
  4182  	0x0a, 0x0c, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x52,
  4183  	0x0a, 0x0f, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
  4184  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63,
  4185  	0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65,
  4186  	0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x45, 0x6e,
  4187  	0x74, 0x72, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a,
  4188  	0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x6c, 0x6f,
  4189  	0x67, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
  4190  	0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72,
  4191  	0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x61, 0x73, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70,
  4192  	0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x61, 0x73,
  4193  	0x68, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4c, 0x6f,
  4194  	0x67, 0x49, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  4195  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b,
  4196  	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  4197  	0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x03, 0x0a,
  4198  	0x15, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  4199  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18,
  4200  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
  4201  	0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x05,
  4202  	0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x5f, 0x74, 0x65, 0x73,
  4203  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63,
  4204  	0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x54, 0x65, 0x73, 0x74,
  4205  	0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x70,
  4206  	0x6f, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  4207  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b,
  4208  	0x50, 0x6f, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74,
  4209  	0x54, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
  4210  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  4211  	0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48,
  4212  	0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x65, 0x74,
  4213  	0x5f, 0x64, 0x69, 0x72, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74,
  4214  	0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x65,
  4215  	0x74, 0x44, 0x69, 0x72, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x44, 0x69, 0x72,
  4216  	0x74, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01,
  4217  	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53,
  4218  	0x74, 0x61, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52,
  4219  	0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  4220  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f,
  4221  	0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52,
  4222  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x0c,
  4223  	0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0x56, 0x0a, 0x0c,
  4224  	0x53, 0x74, 0x61, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x06,
  4225  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74,
  4226  	0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
  4227  	0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x65,
  4228  	0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x45,
  4229  	0x72, 0x72, 0x6f, 0x72, 0x22, 0x57, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x73,
  4230  	0x74, 0x54, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18,
  4231  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
  4232  	0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4233  	0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20,
  4234  	0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x10, 0x0a,
  4235  	0x0e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
  4236  	0x25, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x74, 0x44, 0x69, 0x72, 0x74, 0x79,
  4237  	0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
  4238  	0x05, 0x64, 0x69, 0x72, 0x74, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x47,
  4239  	0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63,
  4240  	0x6b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x63, 0x6b,
  4241  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4242  	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
  4243  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72,
  4244  	0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01,
  4245  	0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53,
  4246  	0x74, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
  4247  	0x75, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03,
  4248  	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45,
  4249  	0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0e,
  4250  	0x74, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04,
  4251  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x48, 0x61, 0x73, 0x45, 0x72, 0x72,
  4252  	0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
  4253  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x69, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75,
  4254  	0x65, 0x22, 0x40, 0x0a, 0x0e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x45, 0x76,
  4255  	0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  4256  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  4257  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74,
  4258  	0x69, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69,
  4259  	0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  4260  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  4261  	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x23, 0x0a, 0x0a, 0x45, 0x6e, 0x74,
  4262  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x53, 0x54, 0x10,
  4263  	0x00, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x58, 0x54, 0x55, 0x52, 0x45, 0x10, 0x01, 0x2a, 0x23,
  4264  	0x0a, 0x0c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09,
  4265  	0x0a, 0x05, 0x42, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x5a,
  4266  	0x59, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74,
  4267  	0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a,
  4268  	0x03, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x4c, 0x4c, 0x4f, 0x57,
  4269  	0x10, 0x02, 0x32, 0xcf, 0x05, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
  4270  	0x63, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69,
  4271  	0x65, 0x73, 0x12, 0x1e, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c,
  4272  	0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  4273  	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c,
  4274  	0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  4275  	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52,
  4276  	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x74, 0x61, 0x73,
  4277  	0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x75, 0x6e,
  4278  	0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4279  	0x24, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x6c, 0x6f, 0x62,
  4280  	0x61, 0x6c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x73,
  4281  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x75, 0x6e, 0x54, 0x65,
  4282  	0x73, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  4283  	0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4284  	0x1b, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x54,
  4285  	0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01,
  4286  	0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x44, 0x55, 0x54, 0x49, 0x6e, 0x66, 0x6f,
  4287  	0x12, 0x1c, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74,
  4288  	0x44, 0x55, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
  4289  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x55,
  4290  	0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
  4291  	0x5a, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61,
  4292  	0x74, 0x65, 0x12, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47,
  4293  	0x65, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
  4294  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72,
  4295  	0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x61, 0x74,
  4296  	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x43,
  4297  	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x2e,
  4298  	0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
  4299  	0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4300  	0x21, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6c,
  4301  	0x65, 0x63, 0x74, 0x53, 0x79, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  4302  	0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
  4303  	0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x28,
  4304  	0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
  4305  	0x6f, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
  4306  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e,
  4307  	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x69,
  4308  	0x76, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  4309  	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46,
  4310  	0x69, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  4311  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4312  	0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74,
  4313  	0x72, 0x65, 0x61, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  4314  	0x22, 0x00, 0x30, 0x01, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  4315  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x74, 0x61, 0x73, 0x74, 0x2f, 0x63, 0x6f, 0x72,
  4316  	0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  4317  	0x63, 0x6f, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  4318  }
  4319  
  4320  var (
  4321  	file_testing_proto_rawDescOnce sync.Once
  4322  	file_testing_proto_rawDescData = file_testing_proto_rawDesc
  4323  )
  4324  
  4325  func file_testing_proto_rawDescGZIP() []byte {
  4326  	file_testing_proto_rawDescOnce.Do(func() {
  4327  		file_testing_proto_rawDescData = protoimpl.X.CompressGZIP(file_testing_proto_rawDescData)
  4328  	})
  4329  	return file_testing_proto_rawDescData
  4330  }
  4331  
  4332  var file_testing_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  4333  var file_testing_proto_msgTypes = make([]protoimpl.MessageInfo, 54)
  4334  var file_testing_proto_goTypes = []interface{}{
  4335  	(EntityType)(0),                        // 0: tast.core.EntityType
  4336  	(DownloadMode)(0),                      // 1: tast.core.DownloadMode
  4337  	(StackStatus)(0),                       // 2: tast.core.StackStatus
  4338  	(*ListEntitiesRequest)(nil),            // 3: tast.core.ListEntitiesRequest
  4339  	(*ListEntitiesResponse)(nil),           // 4: tast.core.ListEntitiesResponse
  4340  	(*GlobalRuntimeVarsRequest)(nil),       // 5: tast.core.GlobalRuntimeVarsRequest
  4341  	(*GlobalRuntimeVar)(nil),               // 6: tast.core.GlobalRuntimeVar
  4342  	(*GlobalRuntimeVarsResponse)(nil),      // 7: tast.core.GlobalRuntimeVarsResponse
  4343  	(*RunTestsRequest)(nil),                // 8: tast.core.RunTestsRequest
  4344  	(*RunTestsResponse)(nil),               // 9: tast.core.RunTestsResponse
  4345  	(*GetDUTInfoRequest)(nil),              // 10: tast.core.GetDUTInfoRequest
  4346  	(*GetDUTInfoResponse)(nil),             // 11: tast.core.GetDUTInfoResponse
  4347  	(*GetSysInfoStateRequest)(nil),         // 12: tast.core.GetSysInfoStateRequest
  4348  	(*GetSysInfoStateResponse)(nil),        // 13: tast.core.GetSysInfoStateResponse
  4349  	(*CollectSysInfoRequest)(nil),          // 14: tast.core.CollectSysInfoRequest
  4350  	(*CollectSysInfoResponse)(nil),         // 15: tast.core.CollectSysInfoResponse
  4351  	(*DownloadPrivateBundlesRequest)(nil),  // 16: tast.core.DownloadPrivateBundlesRequest
  4352  	(*DownloadPrivateBundlesResponse)(nil), // 17: tast.core.DownloadPrivateBundlesResponse
  4353  	(*StreamFileRequest)(nil),              // 18: tast.core.StreamFileRequest
  4354  	(*StreamFileResponse)(nil),             // 19: tast.core.StreamFileResponse
  4355  	(*Entity)(nil),                         // 20: tast.core.Entity
  4356  	(*EntityContacts)(nil),                 // 21: tast.core.EntityContacts
  4357  	(*EntityDependencies)(nil),             // 22: tast.core.EntityDependencies
  4358  	(*EntityLegacyData)(nil),               // 23: tast.core.EntityLegacyData
  4359  	(*RunTestsInit)(nil),                   // 24: tast.core.RunTestsInit
  4360  	(*RunConfig)(nil),                      // 25: tast.core.RunConfig
  4361  	(*RunTargetConfig)(nil),                // 26: tast.core.RunTargetConfig
  4362  	(*RunDirectories)(nil),                 // 27: tast.core.RunDirectories
  4363  	(*ServiceConfig)(nil),                  // 28: tast.core.ServiceConfig
  4364  	(*DataFileConfig)(nil),                 // 29: tast.core.DataFileConfig
  4365  	(*StartFixtureState)(nil),              // 30: tast.core.StartFixtureState
  4366  	(*Error)(nil),                          // 31: tast.core.Error
  4367  	(*ErrorLocation)(nil),                  // 32: tast.core.ErrorLocation
  4368  	(*ResolvedEntity)(nil),                 // 33: tast.core.ResolvedEntity
  4369  	(*TimingLog)(nil),                      // 34: tast.core.TimingLog
  4370  	(*TimingStage)(nil),                    // 35: tast.core.TimingStage
  4371  	(*RunLogEvent)(nil),                    // 36: tast.core.RunLogEvent
  4372  	(*EntityStartEvent)(nil),               // 37: tast.core.EntityStartEvent
  4373  	(*EntityLogEvent)(nil),                 // 38: tast.core.EntityLogEvent
  4374  	(*EntityErrorEvent)(nil),               // 39: tast.core.EntityErrorEvent
  4375  	(*EntityEndEvent)(nil),                 // 40: tast.core.EntityEndEvent
  4376  	(*EntityCopyEndEvent)(nil),             // 41: tast.core.EntityCopyEndEvent
  4377  	(*Skip)(nil),                           // 42: tast.core.Skip
  4378  	(*DUTInfo)(nil),                        // 43: tast.core.DUTInfo
  4379  	(*SysInfoState)(nil),                   // 44: tast.core.SysInfoState
  4380  	(*StackOperationRequest)(nil),          // 45: tast.core.StackOperationRequest
  4381  	(*StackReset)(nil),                     // 46: tast.core.StackReset
  4382  	(*StackPreTest)(nil),                   // 47: tast.core.StackPreTest
  4383  	(*StackPostTest)(nil),                  // 48: tast.core.StackPostTest
  4384  	(*StackGetStatus)(nil),                 // 49: tast.core.StackGetStatus
  4385  	(*StackSetDirty)(nil),                  // 50: tast.core.StackSetDirty
  4386  	(*StackGetErrors)(nil),                 // 51: tast.core.StackGetErrors
  4387  	(*StackValue)(nil),                     // 52: tast.core.StackValue
  4388  	(*StackOperationResponse)(nil),         // 53: tast.core.StackOperationResponse
  4389  	(*HeartbeatEvent)(nil),                 // 54: tast.core.HeartbeatEvent
  4390  	(*StringPair)(nil),                     // 55: tast.core.StringPair
  4391  	nil,                                    // 56: tast.core.SysInfoState.LogInodeSizesEntry
  4392  	(*Features)(nil),                       // 57: tast.core.Features
  4393  	(*durationpb.Duration)(nil),            // 58: google.protobuf.Duration
  4394  	(*timestamppb.Timestamp)(nil),          // 59: google.protobuf.Timestamp
  4395  	(*protocol.DUTFeatures)(nil),           // 60: tast.core.DUTFeatures
  4396  }
  4397  var file_testing_proto_depIdxs = []int32{
  4398  	57, // 0: tast.core.ListEntitiesRequest.features:type_name -> tast.core.Features
  4399  	33, // 1: tast.core.ListEntitiesResponse.entities:type_name -> tast.core.ResolvedEntity
  4400  	6,  // 2: tast.core.GlobalRuntimeVarsResponse.vars:type_name -> tast.core.GlobalRuntimeVar
  4401  	24, // 3: tast.core.RunTestsRequest.run_tests_init:type_name -> tast.core.RunTestsInit
  4402  	53, // 4: tast.core.RunTestsRequest.stack_operation_response:type_name -> tast.core.StackOperationResponse
  4403  	36, // 5: tast.core.RunTestsResponse.run_log:type_name -> tast.core.RunLogEvent
  4404  	37, // 6: tast.core.RunTestsResponse.entity_start:type_name -> tast.core.EntityStartEvent
  4405  	38, // 7: tast.core.RunTestsResponse.entity_log:type_name -> tast.core.EntityLogEvent
  4406  	39, // 8: tast.core.RunTestsResponse.entity_error:type_name -> tast.core.EntityErrorEvent
  4407  	40, // 9: tast.core.RunTestsResponse.entity_end:type_name -> tast.core.EntityEndEvent
  4408  	41, // 10: tast.core.RunTestsResponse.entity_copy_end:type_name -> tast.core.EntityCopyEndEvent
  4409  	45, // 11: tast.core.RunTestsResponse.stack_operation:type_name -> tast.core.StackOperationRequest
  4410  	54, // 12: tast.core.RunTestsResponse.heartbeat:type_name -> tast.core.HeartbeatEvent
  4411  	43, // 13: tast.core.GetDUTInfoResponse.dut_info:type_name -> tast.core.DUTInfo
  4412  	44, // 14: tast.core.GetSysInfoStateResponse.state:type_name -> tast.core.SysInfoState
  4413  	44, // 15: tast.core.CollectSysInfoRequest.initial_state:type_name -> tast.core.SysInfoState
  4414  	28, // 16: tast.core.DownloadPrivateBundlesRequest.service_config:type_name -> tast.core.ServiceConfig
  4415  	0,  // 17: tast.core.Entity.type:type_name -> tast.core.EntityType
  4416  	22, // 18: tast.core.Entity.dependencies:type_name -> tast.core.EntityDependencies
  4417  	21, // 19: tast.core.Entity.contacts:type_name -> tast.core.EntityContacts
  4418  	23, // 20: tast.core.Entity.legacy_data:type_name -> tast.core.EntityLegacyData
  4419  	55, // 21: tast.core.Entity.search_flags:type_name -> tast.core.StringPair
  4420  	58, // 22: tast.core.EntityLegacyData.timeout:type_name -> google.protobuf.Duration
  4421  	25, // 23: tast.core.RunTestsInit.run_config:type_name -> tast.core.RunConfig
  4422  	27, // 24: tast.core.RunConfig.dirs:type_name -> tast.core.RunDirectories
  4423  	57, // 25: tast.core.RunConfig.features:type_name -> tast.core.Features
  4424  	28, // 26: tast.core.RunConfig.service_config:type_name -> tast.core.ServiceConfig
  4425  	29, // 27: tast.core.RunConfig.data_file_config:type_name -> tast.core.DataFileConfig
  4426  	30, // 28: tast.core.RunConfig.start_fixture_state:type_name -> tast.core.StartFixtureState
  4427  	58, // 29: tast.core.RunConfig.heartbeat_interval:type_name -> google.protobuf.Duration
  4428  	58, // 30: tast.core.RunConfig.system_services_timeout:type_name -> google.protobuf.Duration
  4429  	26, // 31: tast.core.RunConfig.target:type_name -> tast.core.RunTargetConfig
  4430  	58, // 32: tast.core.RunConfig.msg_timeout:type_name -> google.protobuf.Duration
  4431  	58, // 33: tast.core.RunConfig.wait_until_ready_timeout:type_name -> google.protobuf.Duration
  4432  	27, // 34: tast.core.RunTargetConfig.dirs:type_name -> tast.core.RunDirectories
  4433  	58, // 35: tast.core.RunTargetConfig.msg_timeout:type_name -> google.protobuf.Duration
  4434  	58, // 36: tast.core.RunTargetConfig.system_services_timeout:type_name -> google.protobuf.Duration
  4435  	58, // 37: tast.core.RunTargetConfig.wait_until_ready_timeout:type_name -> google.protobuf.Duration
  4436  	1,  // 38: tast.core.DataFileConfig.download_mode:type_name -> tast.core.DownloadMode
  4437  	31, // 39: tast.core.StartFixtureState.errors:type_name -> tast.core.Error
  4438  	32, // 40: tast.core.Error.location:type_name -> tast.core.ErrorLocation
  4439  	20, // 41: tast.core.ResolvedEntity.entity:type_name -> tast.core.Entity
  4440  	42, // 42: tast.core.ResolvedEntity.skip:type_name -> tast.core.Skip
  4441  	35, // 43: tast.core.TimingLog.root:type_name -> tast.core.TimingStage
  4442  	59, // 44: tast.core.TimingStage.start_time:type_name -> google.protobuf.Timestamp
  4443  	59, // 45: tast.core.TimingStage.end_time:type_name -> google.protobuf.Timestamp
  4444  	35, // 46: tast.core.TimingStage.children:type_name -> tast.core.TimingStage
  4445  	59, // 47: tast.core.RunLogEvent.time:type_name -> google.protobuf.Timestamp
  4446  	59, // 48: tast.core.EntityStartEvent.time:type_name -> google.protobuf.Timestamp
  4447  	20, // 49: tast.core.EntityStartEvent.entity:type_name -> tast.core.Entity
  4448  	59, // 50: tast.core.EntityLogEvent.time:type_name -> google.protobuf.Timestamp
  4449  	59, // 51: tast.core.EntityErrorEvent.time:type_name -> google.protobuf.Timestamp
  4450  	31, // 52: tast.core.EntityErrorEvent.error:type_name -> tast.core.Error
  4451  	59, // 53: tast.core.EntityEndEvent.time:type_name -> google.protobuf.Timestamp
  4452  	42, // 54: tast.core.EntityEndEvent.skip:type_name -> tast.core.Skip
  4453  	34, // 55: tast.core.EntityEndEvent.timing_log:type_name -> tast.core.TimingLog
  4454  	60, // 56: tast.core.DUTInfo.features:type_name -> tast.core.DUTFeatures
  4455  	56, // 57: tast.core.SysInfoState.log_inode_sizes:type_name -> tast.core.SysInfoState.LogInodeSizesEntry
  4456  	46, // 58: tast.core.StackOperationRequest.reset:type_name -> tast.core.StackReset
  4457  	47, // 59: tast.core.StackOperationRequest.pre_test:type_name -> tast.core.StackPreTest
  4458  	48, // 60: tast.core.StackOperationRequest.post_test:type_name -> tast.core.StackPostTest
  4459  	49, // 61: tast.core.StackOperationRequest.status:type_name -> tast.core.StackGetStatus
  4460  	50, // 62: tast.core.StackOperationRequest.set_dirty:type_name -> tast.core.StackSetDirty
  4461  	51, // 63: tast.core.StackOperationRequest.errors:type_name -> tast.core.StackGetErrors
  4462  	52, // 64: tast.core.StackOperationRequest.value:type_name -> tast.core.StackValue
  4463  	20, // 65: tast.core.StackPreTest.entity:type_name -> tast.core.Entity
  4464  	20, // 66: tast.core.StackPostTest.entity:type_name -> tast.core.Entity
  4465  	2,  // 67: tast.core.StackOperationResponse.status:type_name -> tast.core.StackStatus
  4466  	31, // 68: tast.core.StackOperationResponse.errors:type_name -> tast.core.Error
  4467  	59, // 69: tast.core.HeartbeatEvent.time:type_name -> google.protobuf.Timestamp
  4468  	3,  // 70: tast.core.TestService.ListEntities:input_type -> tast.core.ListEntitiesRequest
  4469  	5,  // 71: tast.core.TestService.GlobalRuntimeVars:input_type -> tast.core.GlobalRuntimeVarsRequest
  4470  	8,  // 72: tast.core.TestService.RunTests:input_type -> tast.core.RunTestsRequest
  4471  	10, // 73: tast.core.TestService.GetDUTInfo:input_type -> tast.core.GetDUTInfoRequest
  4472  	12, // 74: tast.core.TestService.GetSysInfoState:input_type -> tast.core.GetSysInfoStateRequest
  4473  	14, // 75: tast.core.TestService.CollectSysInfo:input_type -> tast.core.CollectSysInfoRequest
  4474  	16, // 76: tast.core.TestService.DownloadPrivateBundles:input_type -> tast.core.DownloadPrivateBundlesRequest
  4475  	18, // 77: tast.core.TestService.StreamFile:input_type -> tast.core.StreamFileRequest
  4476  	4,  // 78: tast.core.TestService.ListEntities:output_type -> tast.core.ListEntitiesResponse
  4477  	7,  // 79: tast.core.TestService.GlobalRuntimeVars:output_type -> tast.core.GlobalRuntimeVarsResponse
  4478  	9,  // 80: tast.core.TestService.RunTests:output_type -> tast.core.RunTestsResponse
  4479  	11, // 81: tast.core.TestService.GetDUTInfo:output_type -> tast.core.GetDUTInfoResponse
  4480  	13, // 82: tast.core.TestService.GetSysInfoState:output_type -> tast.core.GetSysInfoStateResponse
  4481  	15, // 83: tast.core.TestService.CollectSysInfo:output_type -> tast.core.CollectSysInfoResponse
  4482  	17, // 84: tast.core.TestService.DownloadPrivateBundles:output_type -> tast.core.DownloadPrivateBundlesResponse
  4483  	19, // 85: tast.core.TestService.StreamFile:output_type -> tast.core.StreamFileResponse
  4484  	78, // [78:86] is the sub-list for method output_type
  4485  	70, // [70:78] is the sub-list for method input_type
  4486  	70, // [70:70] is the sub-list for extension type_name
  4487  	70, // [70:70] is the sub-list for extension extendee
  4488  	0,  // [0:70] is the sub-list for field type_name
  4489  }
  4490  
  4491  func init() { file_testing_proto_init() }
  4492  func file_testing_proto_init() {
  4493  	if File_testing_proto != nil {
  4494  		return
  4495  	}
  4496  	file_features_proto_init()
  4497  	if !protoimpl.UnsafeEnabled {
  4498  		file_testing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  4499  			switch v := v.(*ListEntitiesRequest); i {
  4500  			case 0:
  4501  				return &v.state
  4502  			case 1:
  4503  				return &v.sizeCache
  4504  			case 2:
  4505  				return &v.unknownFields
  4506  			default:
  4507  				return nil
  4508  			}
  4509  		}
  4510  		file_testing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  4511  			switch v := v.(*ListEntitiesResponse); i {
  4512  			case 0:
  4513  				return &v.state
  4514  			case 1:
  4515  				return &v.sizeCache
  4516  			case 2:
  4517  				return &v.unknownFields
  4518  			default:
  4519  				return nil
  4520  			}
  4521  		}
  4522  		file_testing_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  4523  			switch v := v.(*GlobalRuntimeVarsRequest); i {
  4524  			case 0:
  4525  				return &v.state
  4526  			case 1:
  4527  				return &v.sizeCache
  4528  			case 2:
  4529  				return &v.unknownFields
  4530  			default:
  4531  				return nil
  4532  			}
  4533  		}
  4534  		file_testing_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  4535  			switch v := v.(*GlobalRuntimeVar); i {
  4536  			case 0:
  4537  				return &v.state
  4538  			case 1:
  4539  				return &v.sizeCache
  4540  			case 2:
  4541  				return &v.unknownFields
  4542  			default:
  4543  				return nil
  4544  			}
  4545  		}
  4546  		file_testing_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  4547  			switch v := v.(*GlobalRuntimeVarsResponse); i {
  4548  			case 0:
  4549  				return &v.state
  4550  			case 1:
  4551  				return &v.sizeCache
  4552  			case 2:
  4553  				return &v.unknownFields
  4554  			default:
  4555  				return nil
  4556  			}
  4557  		}
  4558  		file_testing_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  4559  			switch v := v.(*RunTestsRequest); i {
  4560  			case 0:
  4561  				return &v.state
  4562  			case 1:
  4563  				return &v.sizeCache
  4564  			case 2:
  4565  				return &v.unknownFields
  4566  			default:
  4567  				return nil
  4568  			}
  4569  		}
  4570  		file_testing_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  4571  			switch v := v.(*RunTestsResponse); i {
  4572  			case 0:
  4573  				return &v.state
  4574  			case 1:
  4575  				return &v.sizeCache
  4576  			case 2:
  4577  				return &v.unknownFields
  4578  			default:
  4579  				return nil
  4580  			}
  4581  		}
  4582  		file_testing_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  4583  			switch v := v.(*GetDUTInfoRequest); i {
  4584  			case 0:
  4585  				return &v.state
  4586  			case 1:
  4587  				return &v.sizeCache
  4588  			case 2:
  4589  				return &v.unknownFields
  4590  			default:
  4591  				return nil
  4592  			}
  4593  		}
  4594  		file_testing_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  4595  			switch v := v.(*GetDUTInfoResponse); i {
  4596  			case 0:
  4597  				return &v.state
  4598  			case 1:
  4599  				return &v.sizeCache
  4600  			case 2:
  4601  				return &v.unknownFields
  4602  			default:
  4603  				return nil
  4604  			}
  4605  		}
  4606  		file_testing_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  4607  			switch v := v.(*GetSysInfoStateRequest); i {
  4608  			case 0:
  4609  				return &v.state
  4610  			case 1:
  4611  				return &v.sizeCache
  4612  			case 2:
  4613  				return &v.unknownFields
  4614  			default:
  4615  				return nil
  4616  			}
  4617  		}
  4618  		file_testing_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  4619  			switch v := v.(*GetSysInfoStateResponse); i {
  4620  			case 0:
  4621  				return &v.state
  4622  			case 1:
  4623  				return &v.sizeCache
  4624  			case 2:
  4625  				return &v.unknownFields
  4626  			default:
  4627  				return nil
  4628  			}
  4629  		}
  4630  		file_testing_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  4631  			switch v := v.(*CollectSysInfoRequest); i {
  4632  			case 0:
  4633  				return &v.state
  4634  			case 1:
  4635  				return &v.sizeCache
  4636  			case 2:
  4637  				return &v.unknownFields
  4638  			default:
  4639  				return nil
  4640  			}
  4641  		}
  4642  		file_testing_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  4643  			switch v := v.(*CollectSysInfoResponse); i {
  4644  			case 0:
  4645  				return &v.state
  4646  			case 1:
  4647  				return &v.sizeCache
  4648  			case 2:
  4649  				return &v.unknownFields
  4650  			default:
  4651  				return nil
  4652  			}
  4653  		}
  4654  		file_testing_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  4655  			switch v := v.(*DownloadPrivateBundlesRequest); i {
  4656  			case 0:
  4657  				return &v.state
  4658  			case 1:
  4659  				return &v.sizeCache
  4660  			case 2:
  4661  				return &v.unknownFields
  4662  			default:
  4663  				return nil
  4664  			}
  4665  		}
  4666  		file_testing_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  4667  			switch v := v.(*DownloadPrivateBundlesResponse); i {
  4668  			case 0:
  4669  				return &v.state
  4670  			case 1:
  4671  				return &v.sizeCache
  4672  			case 2:
  4673  				return &v.unknownFields
  4674  			default:
  4675  				return nil
  4676  			}
  4677  		}
  4678  		file_testing_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  4679  			switch v := v.(*StreamFileRequest); i {
  4680  			case 0:
  4681  				return &v.state
  4682  			case 1:
  4683  				return &v.sizeCache
  4684  			case 2:
  4685  				return &v.unknownFields
  4686  			default:
  4687  				return nil
  4688  			}
  4689  		}
  4690  		file_testing_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  4691  			switch v := v.(*StreamFileResponse); i {
  4692  			case 0:
  4693  				return &v.state
  4694  			case 1:
  4695  				return &v.sizeCache
  4696  			case 2:
  4697  				return &v.unknownFields
  4698  			default:
  4699  				return nil
  4700  			}
  4701  		}
  4702  		file_testing_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  4703  			switch v := v.(*Entity); i {
  4704  			case 0:
  4705  				return &v.state
  4706  			case 1:
  4707  				return &v.sizeCache
  4708  			case 2:
  4709  				return &v.unknownFields
  4710  			default:
  4711  				return nil
  4712  			}
  4713  		}
  4714  		file_testing_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  4715  			switch v := v.(*EntityContacts); i {
  4716  			case 0:
  4717  				return &v.state
  4718  			case 1:
  4719  				return &v.sizeCache
  4720  			case 2:
  4721  				return &v.unknownFields
  4722  			default:
  4723  				return nil
  4724  			}
  4725  		}
  4726  		file_testing_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  4727  			switch v := v.(*EntityDependencies); i {
  4728  			case 0:
  4729  				return &v.state
  4730  			case 1:
  4731  				return &v.sizeCache
  4732  			case 2:
  4733  				return &v.unknownFields
  4734  			default:
  4735  				return nil
  4736  			}
  4737  		}
  4738  		file_testing_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  4739  			switch v := v.(*EntityLegacyData); i {
  4740  			case 0:
  4741  				return &v.state
  4742  			case 1:
  4743  				return &v.sizeCache
  4744  			case 2:
  4745  				return &v.unknownFields
  4746  			default:
  4747  				return nil
  4748  			}
  4749  		}
  4750  		file_testing_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  4751  			switch v := v.(*RunTestsInit); i {
  4752  			case 0:
  4753  				return &v.state
  4754  			case 1:
  4755  				return &v.sizeCache
  4756  			case 2:
  4757  				return &v.unknownFields
  4758  			default:
  4759  				return nil
  4760  			}
  4761  		}
  4762  		file_testing_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  4763  			switch v := v.(*RunConfig); i {
  4764  			case 0:
  4765  				return &v.state
  4766  			case 1:
  4767  				return &v.sizeCache
  4768  			case 2:
  4769  				return &v.unknownFields
  4770  			default:
  4771  				return nil
  4772  			}
  4773  		}
  4774  		file_testing_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  4775  			switch v := v.(*RunTargetConfig); i {
  4776  			case 0:
  4777  				return &v.state
  4778  			case 1:
  4779  				return &v.sizeCache
  4780  			case 2:
  4781  				return &v.unknownFields
  4782  			default:
  4783  				return nil
  4784  			}
  4785  		}
  4786  		file_testing_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  4787  			switch v := v.(*RunDirectories); i {
  4788  			case 0:
  4789  				return &v.state
  4790  			case 1:
  4791  				return &v.sizeCache
  4792  			case 2:
  4793  				return &v.unknownFields
  4794  			default:
  4795  				return nil
  4796  			}
  4797  		}
  4798  		file_testing_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  4799  			switch v := v.(*ServiceConfig); i {
  4800  			case 0:
  4801  				return &v.state
  4802  			case 1:
  4803  				return &v.sizeCache
  4804  			case 2:
  4805  				return &v.unknownFields
  4806  			default:
  4807  				return nil
  4808  			}
  4809  		}
  4810  		file_testing_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  4811  			switch v := v.(*DataFileConfig); i {
  4812  			case 0:
  4813  				return &v.state
  4814  			case 1:
  4815  				return &v.sizeCache
  4816  			case 2:
  4817  				return &v.unknownFields
  4818  			default:
  4819  				return nil
  4820  			}
  4821  		}
  4822  		file_testing_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  4823  			switch v := v.(*StartFixtureState); i {
  4824  			case 0:
  4825  				return &v.state
  4826  			case 1:
  4827  				return &v.sizeCache
  4828  			case 2:
  4829  				return &v.unknownFields
  4830  			default:
  4831  				return nil
  4832  			}
  4833  		}
  4834  		file_testing_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  4835  			switch v := v.(*Error); i {
  4836  			case 0:
  4837  				return &v.state
  4838  			case 1:
  4839  				return &v.sizeCache
  4840  			case 2:
  4841  				return &v.unknownFields
  4842  			default:
  4843  				return nil
  4844  			}
  4845  		}
  4846  		file_testing_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  4847  			switch v := v.(*ErrorLocation); i {
  4848  			case 0:
  4849  				return &v.state
  4850  			case 1:
  4851  				return &v.sizeCache
  4852  			case 2:
  4853  				return &v.unknownFields
  4854  			default:
  4855  				return nil
  4856  			}
  4857  		}
  4858  		file_testing_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  4859  			switch v := v.(*ResolvedEntity); i {
  4860  			case 0:
  4861  				return &v.state
  4862  			case 1:
  4863  				return &v.sizeCache
  4864  			case 2:
  4865  				return &v.unknownFields
  4866  			default:
  4867  				return nil
  4868  			}
  4869  		}
  4870  		file_testing_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  4871  			switch v := v.(*TimingLog); i {
  4872  			case 0:
  4873  				return &v.state
  4874  			case 1:
  4875  				return &v.sizeCache
  4876  			case 2:
  4877  				return &v.unknownFields
  4878  			default:
  4879  				return nil
  4880  			}
  4881  		}
  4882  		file_testing_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  4883  			switch v := v.(*TimingStage); i {
  4884  			case 0:
  4885  				return &v.state
  4886  			case 1:
  4887  				return &v.sizeCache
  4888  			case 2:
  4889  				return &v.unknownFields
  4890  			default:
  4891  				return nil
  4892  			}
  4893  		}
  4894  		file_testing_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  4895  			switch v := v.(*RunLogEvent); i {
  4896  			case 0:
  4897  				return &v.state
  4898  			case 1:
  4899  				return &v.sizeCache
  4900  			case 2:
  4901  				return &v.unknownFields
  4902  			default:
  4903  				return nil
  4904  			}
  4905  		}
  4906  		file_testing_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  4907  			switch v := v.(*EntityStartEvent); i {
  4908  			case 0:
  4909  				return &v.state
  4910  			case 1:
  4911  				return &v.sizeCache
  4912  			case 2:
  4913  				return &v.unknownFields
  4914  			default:
  4915  				return nil
  4916  			}
  4917  		}
  4918  		file_testing_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  4919  			switch v := v.(*EntityLogEvent); i {
  4920  			case 0:
  4921  				return &v.state
  4922  			case 1:
  4923  				return &v.sizeCache
  4924  			case 2:
  4925  				return &v.unknownFields
  4926  			default:
  4927  				return nil
  4928  			}
  4929  		}
  4930  		file_testing_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  4931  			switch v := v.(*EntityErrorEvent); i {
  4932  			case 0:
  4933  				return &v.state
  4934  			case 1:
  4935  				return &v.sizeCache
  4936  			case 2:
  4937  				return &v.unknownFields
  4938  			default:
  4939  				return nil
  4940  			}
  4941  		}
  4942  		file_testing_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  4943  			switch v := v.(*EntityEndEvent); i {
  4944  			case 0:
  4945  				return &v.state
  4946  			case 1:
  4947  				return &v.sizeCache
  4948  			case 2:
  4949  				return &v.unknownFields
  4950  			default:
  4951  				return nil
  4952  			}
  4953  		}
  4954  		file_testing_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  4955  			switch v := v.(*EntityCopyEndEvent); i {
  4956  			case 0:
  4957  				return &v.state
  4958  			case 1:
  4959  				return &v.sizeCache
  4960  			case 2:
  4961  				return &v.unknownFields
  4962  			default:
  4963  				return nil
  4964  			}
  4965  		}
  4966  		file_testing_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  4967  			switch v := v.(*Skip); i {
  4968  			case 0:
  4969  				return &v.state
  4970  			case 1:
  4971  				return &v.sizeCache
  4972  			case 2:
  4973  				return &v.unknownFields
  4974  			default:
  4975  				return nil
  4976  			}
  4977  		}
  4978  		file_testing_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  4979  			switch v := v.(*DUTInfo); i {
  4980  			case 0:
  4981  				return &v.state
  4982  			case 1:
  4983  				return &v.sizeCache
  4984  			case 2:
  4985  				return &v.unknownFields
  4986  			default:
  4987  				return nil
  4988  			}
  4989  		}
  4990  		file_testing_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  4991  			switch v := v.(*SysInfoState); i {
  4992  			case 0:
  4993  				return &v.state
  4994  			case 1:
  4995  				return &v.sizeCache
  4996  			case 2:
  4997  				return &v.unknownFields
  4998  			default:
  4999  				return nil
  5000  			}
  5001  		}
  5002  		file_testing_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  5003  			switch v := v.(*StackOperationRequest); i {
  5004  			case 0:
  5005  				return &v.state
  5006  			case 1:
  5007  				return &v.sizeCache
  5008  			case 2:
  5009  				return &v.unknownFields
  5010  			default:
  5011  				return nil
  5012  			}
  5013  		}
  5014  		file_testing_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  5015  			switch v := v.(*StackReset); i {
  5016  			case 0:
  5017  				return &v.state
  5018  			case 1:
  5019  				return &v.sizeCache
  5020  			case 2:
  5021  				return &v.unknownFields
  5022  			default:
  5023  				return nil
  5024  			}
  5025  		}
  5026  		file_testing_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  5027  			switch v := v.(*StackPreTest); i {
  5028  			case 0:
  5029  				return &v.state
  5030  			case 1:
  5031  				return &v.sizeCache
  5032  			case 2:
  5033  				return &v.unknownFields
  5034  			default:
  5035  				return nil
  5036  			}
  5037  		}
  5038  		file_testing_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  5039  			switch v := v.(*StackPostTest); i {
  5040  			case 0:
  5041  				return &v.state
  5042  			case 1:
  5043  				return &v.sizeCache
  5044  			case 2:
  5045  				return &v.unknownFields
  5046  			default:
  5047  				return nil
  5048  			}
  5049  		}
  5050  		file_testing_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  5051  			switch v := v.(*StackGetStatus); i {
  5052  			case 0:
  5053  				return &v.state
  5054  			case 1:
  5055  				return &v.sizeCache
  5056  			case 2:
  5057  				return &v.unknownFields
  5058  			default:
  5059  				return nil
  5060  			}
  5061  		}
  5062  		file_testing_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  5063  			switch v := v.(*StackSetDirty); i {
  5064  			case 0:
  5065  				return &v.state
  5066  			case 1:
  5067  				return &v.sizeCache
  5068  			case 2:
  5069  				return &v.unknownFields
  5070  			default:
  5071  				return nil
  5072  			}
  5073  		}
  5074  		file_testing_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
  5075  			switch v := v.(*StackGetErrors); i {
  5076  			case 0:
  5077  				return &v.state
  5078  			case 1:
  5079  				return &v.sizeCache
  5080  			case 2:
  5081  				return &v.unknownFields
  5082  			default:
  5083  				return nil
  5084  			}
  5085  		}
  5086  		file_testing_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
  5087  			switch v := v.(*StackValue); i {
  5088  			case 0:
  5089  				return &v.state
  5090  			case 1:
  5091  				return &v.sizeCache
  5092  			case 2:
  5093  				return &v.unknownFields
  5094  			default:
  5095  				return nil
  5096  			}
  5097  		}
  5098  		file_testing_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
  5099  			switch v := v.(*StackOperationResponse); i {
  5100  			case 0:
  5101  				return &v.state
  5102  			case 1:
  5103  				return &v.sizeCache
  5104  			case 2:
  5105  				return &v.unknownFields
  5106  			default:
  5107  				return nil
  5108  			}
  5109  		}
  5110  		file_testing_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  5111  			switch v := v.(*HeartbeatEvent); i {
  5112  			case 0:
  5113  				return &v.state
  5114  			case 1:
  5115  				return &v.sizeCache
  5116  			case 2:
  5117  				return &v.unknownFields
  5118  			default:
  5119  				return nil
  5120  			}
  5121  		}
  5122  		file_testing_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  5123  			switch v := v.(*StringPair); i {
  5124  			case 0:
  5125  				return &v.state
  5126  			case 1:
  5127  				return &v.sizeCache
  5128  			case 2:
  5129  				return &v.unknownFields
  5130  			default:
  5131  				return nil
  5132  			}
  5133  		}
  5134  	}
  5135  	file_testing_proto_msgTypes[5].OneofWrappers = []interface{}{
  5136  		(*RunTestsRequest_RunTestsInit)(nil),
  5137  		(*RunTestsRequest_StackOperationResponse)(nil),
  5138  	}
  5139  	file_testing_proto_msgTypes[6].OneofWrappers = []interface{}{
  5140  		(*RunTestsResponse_RunLog)(nil),
  5141  		(*RunTestsResponse_EntityStart)(nil),
  5142  		(*RunTestsResponse_EntityLog)(nil),
  5143  		(*RunTestsResponse_EntityError)(nil),
  5144  		(*RunTestsResponse_EntityEnd)(nil),
  5145  		(*RunTestsResponse_EntityCopyEnd)(nil),
  5146  		(*RunTestsResponse_StackOperation)(nil),
  5147  		(*RunTestsResponse_Heartbeat)(nil),
  5148  	}
  5149  	file_testing_proto_msgTypes[42].OneofWrappers = []interface{}{
  5150  		(*StackOperationRequest_Reset_)(nil),
  5151  		(*StackOperationRequest_PreTest)(nil),
  5152  		(*StackOperationRequest_PostTest)(nil),
  5153  		(*StackOperationRequest_Status)(nil),
  5154  		(*StackOperationRequest_SetDirty)(nil),
  5155  		(*StackOperationRequest_Errors)(nil),
  5156  		(*StackOperationRequest_Value)(nil),
  5157  	}
  5158  	type x struct{}
  5159  	out := protoimpl.TypeBuilder{
  5160  		File: protoimpl.DescBuilder{
  5161  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  5162  			RawDescriptor: file_testing_proto_rawDesc,
  5163  			NumEnums:      3,
  5164  			NumMessages:   54,
  5165  			NumExtensions: 0,
  5166  			NumServices:   1,
  5167  		},
  5168  		GoTypes:           file_testing_proto_goTypes,
  5169  		DependencyIndexes: file_testing_proto_depIdxs,
  5170  		EnumInfos:         file_testing_proto_enumTypes,
  5171  		MessageInfos:      file_testing_proto_msgTypes,
  5172  	}.Build()
  5173  	File_testing_proto = out.File
  5174  	file_testing_proto_rawDesc = nil
  5175  	file_testing_proto_goTypes = nil
  5176  	file_testing_proto_depIdxs = nil
  5177  }
  5178  
  5179  // Reference imports to suppress errors if they are not otherwise used.
  5180  var _ context.Context
  5181  var _ grpc.ClientConnInterface
  5182  
  5183  // This is a compile-time assertion to ensure that this generated file
  5184  // is compatible with the grpc package it is being compiled against.
  5185  const _ = grpc.SupportPackageIsVersion6
  5186  
  5187  // TestServiceClient is the client API for TestService service.
  5188  //
  5189  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  5190  type TestServiceClient interface {
  5191  	// ListEntities requests all entities available on the server.
  5192  	ListEntities(ctx context.Context, in *ListEntitiesRequest, opts ...grpc.CallOption) (*ListEntitiesResponse, error)
  5193  	// GlobalRuntimeVars requests all global runtime variables declared on the
  5194  	// server.
  5195  	GlobalRuntimeVars(ctx context.Context, in *GlobalRuntimeVarsRequest, opts ...grpc.CallOption) (*GlobalRuntimeVarsResponse, error)
  5196  	// RunTests requests to run tests.
  5197  	// A client must send an initial request message containing RunTestsInit to
  5198  	// a server. Then a server starts running tests and report progress in
  5199  	// streamed response messages.
  5200  	RunTests(ctx context.Context, opts ...grpc.CallOption) (TestService_RunTestsClient, error)
  5201  	// GetDUTInfo requests to collect DUT system information.
  5202  	GetDUTInfo(ctx context.Context, in *GetDUTInfoRequest, opts ...grpc.CallOption) (*GetDUTInfoResponse, error)
  5203  	// GetSysInfoState requests to collect the initial sysinfo state of the DUT.
  5204  	GetSysInfoState(ctx context.Context, in *GetSysInfoStateRequest, opts ...grpc.CallOption) (*GetSysInfoStateResponse, error)
  5205  	// CollectSysInfo requests to collect the sysinfo, considering diff from the
  5206  	// given initial sysinfo state.
  5207  	CollectSysInfo(ctx context.Context, in *CollectSysInfoRequest, opts ...grpc.CallOption) (*CollectSysInfoResponse, error)
  5208  	// DownloadPrivateBundles requests to download private bundles and install
  5209  	// them to the DUT.
  5210  	DownloadPrivateBundles(ctx context.Context, in *DownloadPrivateBundlesRequest, opts ...grpc.CallOption) (*DownloadPrivateBundlesResponse, error)
  5211  	// StreamFile requests to stream a specify file.
  5212  	StreamFile(ctx context.Context, in *StreamFileRequest, opts ...grpc.CallOption) (TestService_StreamFileClient, error)
  5213  }
  5214  
  5215  type testServiceClient struct {
  5216  	cc grpc.ClientConnInterface
  5217  }
  5218  
  5219  func NewTestServiceClient(cc grpc.ClientConnInterface) TestServiceClient {
  5220  	return &testServiceClient{cc}
  5221  }
  5222  
  5223  func (c *testServiceClient) ListEntities(ctx context.Context, in *ListEntitiesRequest, opts ...grpc.CallOption) (*ListEntitiesResponse, error) {
  5224  	out := new(ListEntitiesResponse)
  5225  	err := c.cc.Invoke(ctx, "/tast.core.TestService/ListEntities", in, out, opts...)
  5226  	if err != nil {
  5227  		return nil, err
  5228  	}
  5229  	return out, nil
  5230  }
  5231  
  5232  func (c *testServiceClient) GlobalRuntimeVars(ctx context.Context, in *GlobalRuntimeVarsRequest, opts ...grpc.CallOption) (*GlobalRuntimeVarsResponse, error) {
  5233  	out := new(GlobalRuntimeVarsResponse)
  5234  	err := c.cc.Invoke(ctx, "/tast.core.TestService/GlobalRuntimeVars", in, out, opts...)
  5235  	if err != nil {
  5236  		return nil, err
  5237  	}
  5238  	return out, nil
  5239  }
  5240  
  5241  func (c *testServiceClient) RunTests(ctx context.Context, opts ...grpc.CallOption) (TestService_RunTestsClient, error) {
  5242  	stream, err := c.cc.NewStream(ctx, &_TestService_serviceDesc.Streams[0], "/tast.core.TestService/RunTests", opts...)
  5243  	if err != nil {
  5244  		return nil, err
  5245  	}
  5246  	x := &testServiceRunTestsClient{stream}
  5247  	return x, nil
  5248  }
  5249  
  5250  type TestService_RunTestsClient interface {
  5251  	Send(*RunTestsRequest) error
  5252  	Recv() (*RunTestsResponse, error)
  5253  	grpc.ClientStream
  5254  }
  5255  
  5256  type testServiceRunTestsClient struct {
  5257  	grpc.ClientStream
  5258  }
  5259  
  5260  func (x *testServiceRunTestsClient) Send(m *RunTestsRequest) error {
  5261  	return x.ClientStream.SendMsg(m)
  5262  }
  5263  
  5264  func (x *testServiceRunTestsClient) Recv() (*RunTestsResponse, error) {
  5265  	m := new(RunTestsResponse)
  5266  	if err := x.ClientStream.RecvMsg(m); err != nil {
  5267  		return nil, err
  5268  	}
  5269  	return m, nil
  5270  }
  5271  
  5272  func (c *testServiceClient) GetDUTInfo(ctx context.Context, in *GetDUTInfoRequest, opts ...grpc.CallOption) (*GetDUTInfoResponse, error) {
  5273  	out := new(GetDUTInfoResponse)
  5274  	err := c.cc.Invoke(ctx, "/tast.core.TestService/GetDUTInfo", in, out, opts...)
  5275  	if err != nil {
  5276  		return nil, err
  5277  	}
  5278  	return out, nil
  5279  }
  5280  
  5281  func (c *testServiceClient) GetSysInfoState(ctx context.Context, in *GetSysInfoStateRequest, opts ...grpc.CallOption) (*GetSysInfoStateResponse, error) {
  5282  	out := new(GetSysInfoStateResponse)
  5283  	err := c.cc.Invoke(ctx, "/tast.core.TestService/GetSysInfoState", in, out, opts...)
  5284  	if err != nil {
  5285  		return nil, err
  5286  	}
  5287  	return out, nil
  5288  }
  5289  
  5290  func (c *testServiceClient) CollectSysInfo(ctx context.Context, in *CollectSysInfoRequest, opts ...grpc.CallOption) (*CollectSysInfoResponse, error) {
  5291  	out := new(CollectSysInfoResponse)
  5292  	err := c.cc.Invoke(ctx, "/tast.core.TestService/CollectSysInfo", in, out, opts...)
  5293  	if err != nil {
  5294  		return nil, err
  5295  	}
  5296  	return out, nil
  5297  }
  5298  
  5299  func (c *testServiceClient) DownloadPrivateBundles(ctx context.Context, in *DownloadPrivateBundlesRequest, opts ...grpc.CallOption) (*DownloadPrivateBundlesResponse, error) {
  5300  	out := new(DownloadPrivateBundlesResponse)
  5301  	err := c.cc.Invoke(ctx, "/tast.core.TestService/DownloadPrivateBundles", in, out, opts...)
  5302  	if err != nil {
  5303  		return nil, err
  5304  	}
  5305  	return out, nil
  5306  }
  5307  
  5308  func (c *testServiceClient) StreamFile(ctx context.Context, in *StreamFileRequest, opts ...grpc.CallOption) (TestService_StreamFileClient, error) {
  5309  	stream, err := c.cc.NewStream(ctx, &_TestService_serviceDesc.Streams[1], "/tast.core.TestService/StreamFile", opts...)
  5310  	if err != nil {
  5311  		return nil, err
  5312  	}
  5313  	x := &testServiceStreamFileClient{stream}
  5314  	if err := x.ClientStream.SendMsg(in); err != nil {
  5315  		return nil, err
  5316  	}
  5317  	if err := x.ClientStream.CloseSend(); err != nil {
  5318  		return nil, err
  5319  	}
  5320  	return x, nil
  5321  }
  5322  
  5323  type TestService_StreamFileClient interface {
  5324  	Recv() (*StreamFileResponse, error)
  5325  	grpc.ClientStream
  5326  }
  5327  
  5328  type testServiceStreamFileClient struct {
  5329  	grpc.ClientStream
  5330  }
  5331  
  5332  func (x *testServiceStreamFileClient) Recv() (*StreamFileResponse, error) {
  5333  	m := new(StreamFileResponse)
  5334  	if err := x.ClientStream.RecvMsg(m); err != nil {
  5335  		return nil, err
  5336  	}
  5337  	return m, nil
  5338  }
  5339  
  5340  // TestServiceServer is the server API for TestService service.
  5341  type TestServiceServer interface {
  5342  	// ListEntities requests all entities available on the server.
  5343  	ListEntities(context.Context, *ListEntitiesRequest) (*ListEntitiesResponse, error)
  5344  	// GlobalRuntimeVars requests all global runtime variables declared on the
  5345  	// server.
  5346  	GlobalRuntimeVars(context.Context, *GlobalRuntimeVarsRequest) (*GlobalRuntimeVarsResponse, error)
  5347  	// RunTests requests to run tests.
  5348  	// A client must send an initial request message containing RunTestsInit to
  5349  	// a server. Then a server starts running tests and report progress in
  5350  	// streamed response messages.
  5351  	RunTests(TestService_RunTestsServer) error
  5352  	// GetDUTInfo requests to collect DUT system information.
  5353  	GetDUTInfo(context.Context, *GetDUTInfoRequest) (*GetDUTInfoResponse, error)
  5354  	// GetSysInfoState requests to collect the initial sysinfo state of the DUT.
  5355  	GetSysInfoState(context.Context, *GetSysInfoStateRequest) (*GetSysInfoStateResponse, error)
  5356  	// CollectSysInfo requests to collect the sysinfo, considering diff from the
  5357  	// given initial sysinfo state.
  5358  	CollectSysInfo(context.Context, *CollectSysInfoRequest) (*CollectSysInfoResponse, error)
  5359  	// DownloadPrivateBundles requests to download private bundles and install
  5360  	// them to the DUT.
  5361  	DownloadPrivateBundles(context.Context, *DownloadPrivateBundlesRequest) (*DownloadPrivateBundlesResponse, error)
  5362  	// StreamFile requests to stream a specify file.
  5363  	StreamFile(*StreamFileRequest, TestService_StreamFileServer) error
  5364  }
  5365  
  5366  // UnimplementedTestServiceServer can be embedded to have forward compatible implementations.
  5367  type UnimplementedTestServiceServer struct {
  5368  }
  5369  
  5370  func (*UnimplementedTestServiceServer) ListEntities(context.Context, *ListEntitiesRequest) (*ListEntitiesResponse, error) {
  5371  	return nil, status.Errorf(codes.Unimplemented, "method ListEntities not implemented")
  5372  }
  5373  func (*UnimplementedTestServiceServer) GlobalRuntimeVars(context.Context, *GlobalRuntimeVarsRequest) (*GlobalRuntimeVarsResponse, error) {
  5374  	return nil, status.Errorf(codes.Unimplemented, "method GlobalRuntimeVars not implemented")
  5375  }
  5376  func (*UnimplementedTestServiceServer) RunTests(TestService_RunTestsServer) error {
  5377  	return status.Errorf(codes.Unimplemented, "method RunTests not implemented")
  5378  }
  5379  func (*UnimplementedTestServiceServer) GetDUTInfo(context.Context, *GetDUTInfoRequest) (*GetDUTInfoResponse, error) {
  5380  	return nil, status.Errorf(codes.Unimplemented, "method GetDUTInfo not implemented")
  5381  }
  5382  func (*UnimplementedTestServiceServer) GetSysInfoState(context.Context, *GetSysInfoStateRequest) (*GetSysInfoStateResponse, error) {
  5383  	return nil, status.Errorf(codes.Unimplemented, "method GetSysInfoState not implemented")
  5384  }
  5385  func (*UnimplementedTestServiceServer) CollectSysInfo(context.Context, *CollectSysInfoRequest) (*CollectSysInfoResponse, error) {
  5386  	return nil, status.Errorf(codes.Unimplemented, "method CollectSysInfo not implemented")
  5387  }
  5388  func (*UnimplementedTestServiceServer) DownloadPrivateBundles(context.Context, *DownloadPrivateBundlesRequest) (*DownloadPrivateBundlesResponse, error) {
  5389  	return nil, status.Errorf(codes.Unimplemented, "method DownloadPrivateBundles not implemented")
  5390  }
  5391  func (*UnimplementedTestServiceServer) StreamFile(*StreamFileRequest, TestService_StreamFileServer) error {
  5392  	return status.Errorf(codes.Unimplemented, "method StreamFile not implemented")
  5393  }
  5394  
  5395  func RegisterTestServiceServer(s *grpc.Server, srv TestServiceServer) {
  5396  	s.RegisterService(&_TestService_serviceDesc, srv)
  5397  }
  5398  
  5399  func _TestService_ListEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5400  	in := new(ListEntitiesRequest)
  5401  	if err := dec(in); err != nil {
  5402  		return nil, err
  5403  	}
  5404  	if interceptor == nil {
  5405  		return srv.(TestServiceServer).ListEntities(ctx, in)
  5406  	}
  5407  	info := &grpc.UnaryServerInfo{
  5408  		Server:     srv,
  5409  		FullMethod: "/tast.core.TestService/ListEntities",
  5410  	}
  5411  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5412  		return srv.(TestServiceServer).ListEntities(ctx, req.(*ListEntitiesRequest))
  5413  	}
  5414  	return interceptor(ctx, in, info, handler)
  5415  }
  5416  
  5417  func _TestService_GlobalRuntimeVars_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5418  	in := new(GlobalRuntimeVarsRequest)
  5419  	if err := dec(in); err != nil {
  5420  		return nil, err
  5421  	}
  5422  	if interceptor == nil {
  5423  		return srv.(TestServiceServer).GlobalRuntimeVars(ctx, in)
  5424  	}
  5425  	info := &grpc.UnaryServerInfo{
  5426  		Server:     srv,
  5427  		FullMethod: "/tast.core.TestService/GlobalRuntimeVars",
  5428  	}
  5429  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5430  		return srv.(TestServiceServer).GlobalRuntimeVars(ctx, req.(*GlobalRuntimeVarsRequest))
  5431  	}
  5432  	return interceptor(ctx, in, info, handler)
  5433  }
  5434  
  5435  func _TestService_RunTests_Handler(srv interface{}, stream grpc.ServerStream) error {
  5436  	return srv.(TestServiceServer).RunTests(&testServiceRunTestsServer{stream})
  5437  }
  5438  
  5439  type TestService_RunTestsServer interface {
  5440  	Send(*RunTestsResponse) error
  5441  	Recv() (*RunTestsRequest, error)
  5442  	grpc.ServerStream
  5443  }
  5444  
  5445  type testServiceRunTestsServer struct {
  5446  	grpc.ServerStream
  5447  }
  5448  
  5449  func (x *testServiceRunTestsServer) Send(m *RunTestsResponse) error {
  5450  	return x.ServerStream.SendMsg(m)
  5451  }
  5452  
  5453  func (x *testServiceRunTestsServer) Recv() (*RunTestsRequest, error) {
  5454  	m := new(RunTestsRequest)
  5455  	if err := x.ServerStream.RecvMsg(m); err != nil {
  5456  		return nil, err
  5457  	}
  5458  	return m, nil
  5459  }
  5460  
  5461  func _TestService_GetDUTInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5462  	in := new(GetDUTInfoRequest)
  5463  	if err := dec(in); err != nil {
  5464  		return nil, err
  5465  	}
  5466  	if interceptor == nil {
  5467  		return srv.(TestServiceServer).GetDUTInfo(ctx, in)
  5468  	}
  5469  	info := &grpc.UnaryServerInfo{
  5470  		Server:     srv,
  5471  		FullMethod: "/tast.core.TestService/GetDUTInfo",
  5472  	}
  5473  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5474  		return srv.(TestServiceServer).GetDUTInfo(ctx, req.(*GetDUTInfoRequest))
  5475  	}
  5476  	return interceptor(ctx, in, info, handler)
  5477  }
  5478  
  5479  func _TestService_GetSysInfoState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5480  	in := new(GetSysInfoStateRequest)
  5481  	if err := dec(in); err != nil {
  5482  		return nil, err
  5483  	}
  5484  	if interceptor == nil {
  5485  		return srv.(TestServiceServer).GetSysInfoState(ctx, in)
  5486  	}
  5487  	info := &grpc.UnaryServerInfo{
  5488  		Server:     srv,
  5489  		FullMethod: "/tast.core.TestService/GetSysInfoState",
  5490  	}
  5491  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5492  		return srv.(TestServiceServer).GetSysInfoState(ctx, req.(*GetSysInfoStateRequest))
  5493  	}
  5494  	return interceptor(ctx, in, info, handler)
  5495  }
  5496  
  5497  func _TestService_CollectSysInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5498  	in := new(CollectSysInfoRequest)
  5499  	if err := dec(in); err != nil {
  5500  		return nil, err
  5501  	}
  5502  	if interceptor == nil {
  5503  		return srv.(TestServiceServer).CollectSysInfo(ctx, in)
  5504  	}
  5505  	info := &grpc.UnaryServerInfo{
  5506  		Server:     srv,
  5507  		FullMethod: "/tast.core.TestService/CollectSysInfo",
  5508  	}
  5509  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5510  		return srv.(TestServiceServer).CollectSysInfo(ctx, req.(*CollectSysInfoRequest))
  5511  	}
  5512  	return interceptor(ctx, in, info, handler)
  5513  }
  5514  
  5515  func _TestService_DownloadPrivateBundles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  5516  	in := new(DownloadPrivateBundlesRequest)
  5517  	if err := dec(in); err != nil {
  5518  		return nil, err
  5519  	}
  5520  	if interceptor == nil {
  5521  		return srv.(TestServiceServer).DownloadPrivateBundles(ctx, in)
  5522  	}
  5523  	info := &grpc.UnaryServerInfo{
  5524  		Server:     srv,
  5525  		FullMethod: "/tast.core.TestService/DownloadPrivateBundles",
  5526  	}
  5527  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  5528  		return srv.(TestServiceServer).DownloadPrivateBundles(ctx, req.(*DownloadPrivateBundlesRequest))
  5529  	}
  5530  	return interceptor(ctx, in, info, handler)
  5531  }
  5532  
  5533  func _TestService_StreamFile_Handler(srv interface{}, stream grpc.ServerStream) error {
  5534  	m := new(StreamFileRequest)
  5535  	if err := stream.RecvMsg(m); err != nil {
  5536  		return err
  5537  	}
  5538  	return srv.(TestServiceServer).StreamFile(m, &testServiceStreamFileServer{stream})
  5539  }
  5540  
  5541  type TestService_StreamFileServer interface {
  5542  	Send(*StreamFileResponse) error
  5543  	grpc.ServerStream
  5544  }
  5545  
  5546  type testServiceStreamFileServer struct {
  5547  	grpc.ServerStream
  5548  }
  5549  
  5550  func (x *testServiceStreamFileServer) Send(m *StreamFileResponse) error {
  5551  	return x.ServerStream.SendMsg(m)
  5552  }
  5553  
  5554  var _TestService_serviceDesc = grpc.ServiceDesc{
  5555  	ServiceName: "tast.core.TestService",
  5556  	HandlerType: (*TestServiceServer)(nil),
  5557  	Methods: []grpc.MethodDesc{
  5558  		{
  5559  			MethodName: "ListEntities",
  5560  			Handler:    _TestService_ListEntities_Handler,
  5561  		},
  5562  		{
  5563  			MethodName: "GlobalRuntimeVars",
  5564  			Handler:    _TestService_GlobalRuntimeVars_Handler,
  5565  		},
  5566  		{
  5567  			MethodName: "GetDUTInfo",
  5568  			Handler:    _TestService_GetDUTInfo_Handler,
  5569  		},
  5570  		{
  5571  			MethodName: "GetSysInfoState",
  5572  			Handler:    _TestService_GetSysInfoState_Handler,
  5573  		},
  5574  		{
  5575  			MethodName: "CollectSysInfo",
  5576  			Handler:    _TestService_CollectSysInfo_Handler,
  5577  		},
  5578  		{
  5579  			MethodName: "DownloadPrivateBundles",
  5580  			Handler:    _TestService_DownloadPrivateBundles_Handler,
  5581  		},
  5582  	},
  5583  	Streams: []grpc.StreamDesc{
  5584  		{
  5585  			StreamName:    "RunTests",
  5586  			Handler:       _TestService_RunTests_Handler,
  5587  			ServerStreams: true,
  5588  			ClientStreams: true,
  5589  		},
  5590  		{
  5591  			StreamName:    "StreamFile",
  5592  			Handler:       _TestService_StreamFile_Handler,
  5593  			ServerStreams: true,
  5594  		},
  5595  	},
  5596  	Metadata: "testing.proto",
  5597  }