cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/featurestore_service.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1beta1/featurestore_service.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
    25  	_ "google.golang.org/genproto/googleapis/api/annotations"
    26  	interval "google.golang.org/genproto/googleapis/type/interval"
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	_ "google.golang.org/protobuf/types/known/emptypb"
    30  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  	reflect "reflect"
    33  	sync "sync"
    34  )
    35  
    36  const (
    37  	// Verify that this generated code is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    39  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    41  )
    42  
    43  // Request message for
    44  // [FeaturestoreService.CreateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore].
    45  type CreateFeaturestoreRequest struct {
    46  	state         protoimpl.MessageState
    47  	sizeCache     protoimpl.SizeCache
    48  	unknownFields protoimpl.UnknownFields
    49  
    50  	// Required. The resource name of the Location to create Featurestores.
    51  	// Format:
    52  	// `projects/{project}/locations/{location}`
    53  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
    54  	// Required. The Featurestore to create.
    55  	Featurestore *Featurestore `protobuf:"bytes,2,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
    56  	// Required. The ID to use for this Featurestore, which will become the final
    57  	// component of the Featurestore's resource name.
    58  	//
    59  	// This value may be up to 60 characters, and valid characters are
    60  	// `[a-z0-9_]`. The first character cannot be a number.
    61  	//
    62  	// The value must be unique within the project and location.
    63  	FeaturestoreId string `protobuf:"bytes,3,opt,name=featurestore_id,json=featurestoreId,proto3" json:"featurestore_id,omitempty"`
    64  }
    65  
    66  func (x *CreateFeaturestoreRequest) Reset() {
    67  	*x = CreateFeaturestoreRequest{}
    68  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[0]
    69  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    70  	ms.StoreMessageInfo(mi)
    71  }
    72  
    73  func (x *CreateFeaturestoreRequest) String() string {
    74  	return protoimpl.X.MessageStringOf(x)
    75  }
    76  
    77  func (*CreateFeaturestoreRequest) ProtoMessage() {}
    78  
    79  func (x *CreateFeaturestoreRequest) ProtoReflect() protoreflect.Message {
    80  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[0]
    81  	if x != nil {
    82  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    83  		if ms.LoadMessageInfo() == nil {
    84  			ms.StoreMessageInfo(mi)
    85  		}
    86  		return ms
    87  	}
    88  	return mi.MessageOf(x)
    89  }
    90  
    91  // Deprecated: Use CreateFeaturestoreRequest.ProtoReflect.Descriptor instead.
    92  func (*CreateFeaturestoreRequest) Descriptor() ([]byte, []int) {
    93  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{0}
    94  }
    95  
    96  func (x *CreateFeaturestoreRequest) GetParent() string {
    97  	if x != nil {
    98  		return x.Parent
    99  	}
   100  	return ""
   101  }
   102  
   103  func (x *CreateFeaturestoreRequest) GetFeaturestore() *Featurestore {
   104  	if x != nil {
   105  		return x.Featurestore
   106  	}
   107  	return nil
   108  }
   109  
   110  func (x *CreateFeaturestoreRequest) GetFeaturestoreId() string {
   111  	if x != nil {
   112  		return x.FeaturestoreId
   113  	}
   114  	return ""
   115  }
   116  
   117  // Request message for
   118  // [FeaturestoreService.GetFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore].
   119  type GetFeaturestoreRequest struct {
   120  	state         protoimpl.MessageState
   121  	sizeCache     protoimpl.SizeCache
   122  	unknownFields protoimpl.UnknownFields
   123  
   124  	// Required. The name of the Featurestore resource.
   125  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   126  }
   127  
   128  func (x *GetFeaturestoreRequest) Reset() {
   129  	*x = GetFeaturestoreRequest{}
   130  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[1]
   131  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   132  	ms.StoreMessageInfo(mi)
   133  }
   134  
   135  func (x *GetFeaturestoreRequest) String() string {
   136  	return protoimpl.X.MessageStringOf(x)
   137  }
   138  
   139  func (*GetFeaturestoreRequest) ProtoMessage() {}
   140  
   141  func (x *GetFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   142  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[1]
   143  	if x != nil {
   144  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   145  		if ms.LoadMessageInfo() == nil {
   146  			ms.StoreMessageInfo(mi)
   147  		}
   148  		return ms
   149  	}
   150  	return mi.MessageOf(x)
   151  }
   152  
   153  // Deprecated: Use GetFeaturestoreRequest.ProtoReflect.Descriptor instead.
   154  func (*GetFeaturestoreRequest) Descriptor() ([]byte, []int) {
   155  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{1}
   156  }
   157  
   158  func (x *GetFeaturestoreRequest) GetName() string {
   159  	if x != nil {
   160  		return x.Name
   161  	}
   162  	return ""
   163  }
   164  
   165  // Request message for
   166  // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores].
   167  type ListFeaturestoresRequest struct {
   168  	state         protoimpl.MessageState
   169  	sizeCache     protoimpl.SizeCache
   170  	unknownFields protoimpl.UnknownFields
   171  
   172  	// Required. The resource name of the Location to list Featurestores.
   173  	// Format:
   174  	// `projects/{project}/locations/{location}`
   175  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   176  	// Lists the featurestores that match the filter expression. The following
   177  	// fields are supported:
   178  	//
   179  	// * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
   180  	// Values must be
   181  	//
   182  	//	in RFC 3339 format.
   183  	//
   184  	// * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons.
   185  	// Values must be
   186  	//
   187  	//	in RFC 3339 format.
   188  	//
   189  	// * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`,
   190  	// `<=`, and `>=` comparisons.
   191  	// * `labels`: Supports key-value equality and key presence.
   192  	//
   193  	// Examples:
   194  	//
   195  	//   - `create_time > "2020-01-01" OR update_time > "2020-01-01"`
   196  	//     Featurestores created or updated after 2020-01-01.
   197  	//   - `labels.env = "prod"`
   198  	//     Featurestores with label "env" set to "prod".
   199  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
   200  	// The maximum number of Featurestores to return. The service may return fewer
   201  	// than this value. If unspecified, at most 100 Featurestores will be
   202  	// returned. The maximum value is 100; any value greater than 100 will be
   203  	// coerced to 100.
   204  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   205  	// A page token, received from a previous
   206  	// [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores]
   207  	// call. Provide this to retrieve the subsequent page.
   208  	//
   209  	// When paginating, all other parameters provided to
   210  	// [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores]
   211  	// must match the call that provided the page token.
   212  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   213  	// A comma-separated list of fields to order by, sorted in ascending order.
   214  	// Use "desc" after a field name for descending.
   215  	// Supported Fields:
   216  	//
   217  	//   - `create_time`
   218  	//   - `update_time`
   219  	//   - `online_serving_config.fixed_node_count`
   220  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
   221  	// Mask specifying which fields to read.
   222  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
   223  }
   224  
   225  func (x *ListFeaturestoresRequest) Reset() {
   226  	*x = ListFeaturestoresRequest{}
   227  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[2]
   228  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   229  	ms.StoreMessageInfo(mi)
   230  }
   231  
   232  func (x *ListFeaturestoresRequest) String() string {
   233  	return protoimpl.X.MessageStringOf(x)
   234  }
   235  
   236  func (*ListFeaturestoresRequest) ProtoMessage() {}
   237  
   238  func (x *ListFeaturestoresRequest) ProtoReflect() protoreflect.Message {
   239  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[2]
   240  	if x != nil {
   241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   242  		if ms.LoadMessageInfo() == nil {
   243  			ms.StoreMessageInfo(mi)
   244  		}
   245  		return ms
   246  	}
   247  	return mi.MessageOf(x)
   248  }
   249  
   250  // Deprecated: Use ListFeaturestoresRequest.ProtoReflect.Descriptor instead.
   251  func (*ListFeaturestoresRequest) Descriptor() ([]byte, []int) {
   252  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{2}
   253  }
   254  
   255  func (x *ListFeaturestoresRequest) GetParent() string {
   256  	if x != nil {
   257  		return x.Parent
   258  	}
   259  	return ""
   260  }
   261  
   262  func (x *ListFeaturestoresRequest) GetFilter() string {
   263  	if x != nil {
   264  		return x.Filter
   265  	}
   266  	return ""
   267  }
   268  
   269  func (x *ListFeaturestoresRequest) GetPageSize() int32 {
   270  	if x != nil {
   271  		return x.PageSize
   272  	}
   273  	return 0
   274  }
   275  
   276  func (x *ListFeaturestoresRequest) GetPageToken() string {
   277  	if x != nil {
   278  		return x.PageToken
   279  	}
   280  	return ""
   281  }
   282  
   283  func (x *ListFeaturestoresRequest) GetOrderBy() string {
   284  	if x != nil {
   285  		return x.OrderBy
   286  	}
   287  	return ""
   288  }
   289  
   290  func (x *ListFeaturestoresRequest) GetReadMask() *fieldmaskpb.FieldMask {
   291  	if x != nil {
   292  		return x.ReadMask
   293  	}
   294  	return nil
   295  }
   296  
   297  // Response message for
   298  // [FeaturestoreService.ListFeaturestores][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores].
   299  type ListFeaturestoresResponse struct {
   300  	state         protoimpl.MessageState
   301  	sizeCache     protoimpl.SizeCache
   302  	unknownFields protoimpl.UnknownFields
   303  
   304  	// The Featurestores matching the request.
   305  	Featurestores []*Featurestore `protobuf:"bytes,1,rep,name=featurestores,proto3" json:"featurestores,omitempty"`
   306  	// A token, which can be sent as
   307  	// [ListFeaturestoresRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeaturestoresRequest.page_token]
   308  	// to retrieve the next page. If this field is omitted, there are no
   309  	// subsequent pages.
   310  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   311  }
   312  
   313  func (x *ListFeaturestoresResponse) Reset() {
   314  	*x = ListFeaturestoresResponse{}
   315  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[3]
   316  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   317  	ms.StoreMessageInfo(mi)
   318  }
   319  
   320  func (x *ListFeaturestoresResponse) String() string {
   321  	return protoimpl.X.MessageStringOf(x)
   322  }
   323  
   324  func (*ListFeaturestoresResponse) ProtoMessage() {}
   325  
   326  func (x *ListFeaturestoresResponse) ProtoReflect() protoreflect.Message {
   327  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[3]
   328  	if x != nil {
   329  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   330  		if ms.LoadMessageInfo() == nil {
   331  			ms.StoreMessageInfo(mi)
   332  		}
   333  		return ms
   334  	}
   335  	return mi.MessageOf(x)
   336  }
   337  
   338  // Deprecated: Use ListFeaturestoresResponse.ProtoReflect.Descriptor instead.
   339  func (*ListFeaturestoresResponse) Descriptor() ([]byte, []int) {
   340  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{3}
   341  }
   342  
   343  func (x *ListFeaturestoresResponse) GetFeaturestores() []*Featurestore {
   344  	if x != nil {
   345  		return x.Featurestores
   346  	}
   347  	return nil
   348  }
   349  
   350  func (x *ListFeaturestoresResponse) GetNextPageToken() string {
   351  	if x != nil {
   352  		return x.NextPageToken
   353  	}
   354  	return ""
   355  }
   356  
   357  // Request message for
   358  // [FeaturestoreService.UpdateFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore].
   359  type UpdateFeaturestoreRequest struct {
   360  	state         protoimpl.MessageState
   361  	sizeCache     protoimpl.SizeCache
   362  	unknownFields protoimpl.UnknownFields
   363  
   364  	// Required. The Featurestore's `name` field is used to identify the
   365  	// Featurestore to be updated. Format:
   366  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   367  	Featurestore *Featurestore `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
   368  	// Field mask is used to specify the fields to be overwritten in the
   369  	// Featurestore resource by the update.
   370  	// The fields specified in the update_mask are relative to the resource, not
   371  	// the full request. A field will be overwritten if it is in the mask. If the
   372  	// user does not provide a mask then only the non-empty fields present in the
   373  	// request will be overwritten. Set the update_mask to `*` to override all
   374  	// fields.
   375  	//
   376  	// Updatable fields:
   377  	//
   378  	//   - `labels`
   379  	//   - `online_serving_config.fixed_node_count`
   380  	//   - `online_serving_config.scaling`
   381  	//   - `online_storage_ttl_days`
   382  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   383  }
   384  
   385  func (x *UpdateFeaturestoreRequest) Reset() {
   386  	*x = UpdateFeaturestoreRequest{}
   387  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[4]
   388  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   389  	ms.StoreMessageInfo(mi)
   390  }
   391  
   392  func (x *UpdateFeaturestoreRequest) String() string {
   393  	return protoimpl.X.MessageStringOf(x)
   394  }
   395  
   396  func (*UpdateFeaturestoreRequest) ProtoMessage() {}
   397  
   398  func (x *UpdateFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   399  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[4]
   400  	if x != nil {
   401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   402  		if ms.LoadMessageInfo() == nil {
   403  			ms.StoreMessageInfo(mi)
   404  		}
   405  		return ms
   406  	}
   407  	return mi.MessageOf(x)
   408  }
   409  
   410  // Deprecated: Use UpdateFeaturestoreRequest.ProtoReflect.Descriptor instead.
   411  func (*UpdateFeaturestoreRequest) Descriptor() ([]byte, []int) {
   412  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{4}
   413  }
   414  
   415  func (x *UpdateFeaturestoreRequest) GetFeaturestore() *Featurestore {
   416  	if x != nil {
   417  		return x.Featurestore
   418  	}
   419  	return nil
   420  }
   421  
   422  func (x *UpdateFeaturestoreRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   423  	if x != nil {
   424  		return x.UpdateMask
   425  	}
   426  	return nil
   427  }
   428  
   429  // Request message for
   430  // [FeaturestoreService.DeleteFeaturestore][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore].
   431  type DeleteFeaturestoreRequest struct {
   432  	state         protoimpl.MessageState
   433  	sizeCache     protoimpl.SizeCache
   434  	unknownFields protoimpl.UnknownFields
   435  
   436  	// Required. The name of the Featurestore to be deleted.
   437  	// Format:
   438  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   439  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   440  	// If set to true, any EntityTypes and Features for this Featurestore will
   441  	// also be deleted. (Otherwise, the request will only work if the Featurestore
   442  	// has no EntityTypes.)
   443  	Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
   444  }
   445  
   446  func (x *DeleteFeaturestoreRequest) Reset() {
   447  	*x = DeleteFeaturestoreRequest{}
   448  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[5]
   449  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   450  	ms.StoreMessageInfo(mi)
   451  }
   452  
   453  func (x *DeleteFeaturestoreRequest) String() string {
   454  	return protoimpl.X.MessageStringOf(x)
   455  }
   456  
   457  func (*DeleteFeaturestoreRequest) ProtoMessage() {}
   458  
   459  func (x *DeleteFeaturestoreRequest) ProtoReflect() protoreflect.Message {
   460  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[5]
   461  	if x != nil {
   462  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   463  		if ms.LoadMessageInfo() == nil {
   464  			ms.StoreMessageInfo(mi)
   465  		}
   466  		return ms
   467  	}
   468  	return mi.MessageOf(x)
   469  }
   470  
   471  // Deprecated: Use DeleteFeaturestoreRequest.ProtoReflect.Descriptor instead.
   472  func (*DeleteFeaturestoreRequest) Descriptor() ([]byte, []int) {
   473  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{5}
   474  }
   475  
   476  func (x *DeleteFeaturestoreRequest) GetName() string {
   477  	if x != nil {
   478  		return x.Name
   479  	}
   480  	return ""
   481  }
   482  
   483  func (x *DeleteFeaturestoreRequest) GetForce() bool {
   484  	if x != nil {
   485  		return x.Force
   486  	}
   487  	return false
   488  }
   489  
   490  // Request message for
   491  // [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues].
   492  type ImportFeatureValuesRequest struct {
   493  	state         protoimpl.MessageState
   494  	sizeCache     protoimpl.SizeCache
   495  	unknownFields protoimpl.UnknownFields
   496  
   497  	// Details about the source data, including the location of the storage and
   498  	// the format.
   499  	//
   500  	// Types that are assignable to Source:
   501  	//
   502  	//	*ImportFeatureValuesRequest_AvroSource
   503  	//	*ImportFeatureValuesRequest_BigquerySource
   504  	//	*ImportFeatureValuesRequest_CsvSource
   505  	Source isImportFeatureValuesRequest_Source `protobuf_oneof:"source"`
   506  	// Source of Feature timestamp for all Feature values of each entity.
   507  	// Timestamps must be millisecond-aligned.
   508  	//
   509  	// Types that are assignable to FeatureTimeSource:
   510  	//
   511  	//	*ImportFeatureValuesRequest_FeatureTimeField
   512  	//	*ImportFeatureValuesRequest_FeatureTime
   513  	FeatureTimeSource isImportFeatureValuesRequest_FeatureTimeSource `protobuf_oneof:"feature_time_source"`
   514  	// Required. The resource name of the EntityType grouping the Features for
   515  	// which values are being imported. Format:
   516  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
   517  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
   518  	// Source column that holds entity IDs. If not provided, entity IDs are
   519  	// extracted from the column named entity_id.
   520  	EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"`
   521  	// Required. Specifications defining which Feature values to import from the
   522  	// entity. The request fails if no feature_specs are provided, and having
   523  	// multiple feature_specs for one Feature is not allowed.
   524  	FeatureSpecs []*ImportFeatureValuesRequest_FeatureSpec `protobuf:"bytes,8,rep,name=feature_specs,json=featureSpecs,proto3" json:"feature_specs,omitempty"`
   525  	// If set, data will not be imported for online serving. This
   526  	// is typically used for backfilling, where Feature generation timestamps are
   527  	// not in the timestamp range needed for online serving.
   528  	DisableOnlineServing bool `protobuf:"varint,9,opt,name=disable_online_serving,json=disableOnlineServing,proto3" json:"disable_online_serving,omitempty"`
   529  	// Specifies the number of workers that are used to write data to the
   530  	// Featurestore. Consider the online serving capacity that you require to
   531  	// achieve the desired import throughput without interfering with online
   532  	// serving. The value must be positive, and less than or equal to 100.
   533  	// If not set, defaults to using 1 worker. The low count ensures minimal
   534  	// impact on online serving performance.
   535  	WorkerCount int32 `protobuf:"varint,11,opt,name=worker_count,json=workerCount,proto3" json:"worker_count,omitempty"`
   536  	// If true, API doesn't start ingestion analysis pipeline.
   537  	DisableIngestionAnalysis bool `protobuf:"varint,12,opt,name=disable_ingestion_analysis,json=disableIngestionAnalysis,proto3" json:"disable_ingestion_analysis,omitempty"`
   538  }
   539  
   540  func (x *ImportFeatureValuesRequest) Reset() {
   541  	*x = ImportFeatureValuesRequest{}
   542  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6]
   543  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   544  	ms.StoreMessageInfo(mi)
   545  }
   546  
   547  func (x *ImportFeatureValuesRequest) String() string {
   548  	return protoimpl.X.MessageStringOf(x)
   549  }
   550  
   551  func (*ImportFeatureValuesRequest) ProtoMessage() {}
   552  
   553  func (x *ImportFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   554  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6]
   555  	if x != nil {
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		if ms.LoadMessageInfo() == nil {
   558  			ms.StoreMessageInfo(mi)
   559  		}
   560  		return ms
   561  	}
   562  	return mi.MessageOf(x)
   563  }
   564  
   565  // Deprecated: Use ImportFeatureValuesRequest.ProtoReflect.Descriptor instead.
   566  func (*ImportFeatureValuesRequest) Descriptor() ([]byte, []int) {
   567  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{6}
   568  }
   569  
   570  func (m *ImportFeatureValuesRequest) GetSource() isImportFeatureValuesRequest_Source {
   571  	if m != nil {
   572  		return m.Source
   573  	}
   574  	return nil
   575  }
   576  
   577  func (x *ImportFeatureValuesRequest) GetAvroSource() *AvroSource {
   578  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_AvroSource); ok {
   579  		return x.AvroSource
   580  	}
   581  	return nil
   582  }
   583  
   584  func (x *ImportFeatureValuesRequest) GetBigquerySource() *BigQuerySource {
   585  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_BigquerySource); ok {
   586  		return x.BigquerySource
   587  	}
   588  	return nil
   589  }
   590  
   591  func (x *ImportFeatureValuesRequest) GetCsvSource() *CsvSource {
   592  	if x, ok := x.GetSource().(*ImportFeatureValuesRequest_CsvSource); ok {
   593  		return x.CsvSource
   594  	}
   595  	return nil
   596  }
   597  
   598  func (m *ImportFeatureValuesRequest) GetFeatureTimeSource() isImportFeatureValuesRequest_FeatureTimeSource {
   599  	if m != nil {
   600  		return m.FeatureTimeSource
   601  	}
   602  	return nil
   603  }
   604  
   605  func (x *ImportFeatureValuesRequest) GetFeatureTimeField() string {
   606  	if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTimeField); ok {
   607  		return x.FeatureTimeField
   608  	}
   609  	return ""
   610  }
   611  
   612  func (x *ImportFeatureValuesRequest) GetFeatureTime() *timestamppb.Timestamp {
   613  	if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTime); ok {
   614  		return x.FeatureTime
   615  	}
   616  	return nil
   617  }
   618  
   619  func (x *ImportFeatureValuesRequest) GetEntityType() string {
   620  	if x != nil {
   621  		return x.EntityType
   622  	}
   623  	return ""
   624  }
   625  
   626  func (x *ImportFeatureValuesRequest) GetEntityIdField() string {
   627  	if x != nil {
   628  		return x.EntityIdField
   629  	}
   630  	return ""
   631  }
   632  
   633  func (x *ImportFeatureValuesRequest) GetFeatureSpecs() []*ImportFeatureValuesRequest_FeatureSpec {
   634  	if x != nil {
   635  		return x.FeatureSpecs
   636  	}
   637  	return nil
   638  }
   639  
   640  func (x *ImportFeatureValuesRequest) GetDisableOnlineServing() bool {
   641  	if x != nil {
   642  		return x.DisableOnlineServing
   643  	}
   644  	return false
   645  }
   646  
   647  func (x *ImportFeatureValuesRequest) GetWorkerCount() int32 {
   648  	if x != nil {
   649  		return x.WorkerCount
   650  	}
   651  	return 0
   652  }
   653  
   654  func (x *ImportFeatureValuesRequest) GetDisableIngestionAnalysis() bool {
   655  	if x != nil {
   656  		return x.DisableIngestionAnalysis
   657  	}
   658  	return false
   659  }
   660  
   661  type isImportFeatureValuesRequest_Source interface {
   662  	isImportFeatureValuesRequest_Source()
   663  }
   664  
   665  type ImportFeatureValuesRequest_AvroSource struct {
   666  	AvroSource *AvroSource `protobuf:"bytes,2,opt,name=avro_source,json=avroSource,proto3,oneof"`
   667  }
   668  
   669  type ImportFeatureValuesRequest_BigquerySource struct {
   670  	BigquerySource *BigQuerySource `protobuf:"bytes,3,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"`
   671  }
   672  
   673  type ImportFeatureValuesRequest_CsvSource struct {
   674  	CsvSource *CsvSource `protobuf:"bytes,4,opt,name=csv_source,json=csvSource,proto3,oneof"`
   675  }
   676  
   677  func (*ImportFeatureValuesRequest_AvroSource) isImportFeatureValuesRequest_Source() {}
   678  
   679  func (*ImportFeatureValuesRequest_BigquerySource) isImportFeatureValuesRequest_Source() {}
   680  
   681  func (*ImportFeatureValuesRequest_CsvSource) isImportFeatureValuesRequest_Source() {}
   682  
   683  type isImportFeatureValuesRequest_FeatureTimeSource interface {
   684  	isImportFeatureValuesRequest_FeatureTimeSource()
   685  }
   686  
   687  type ImportFeatureValuesRequest_FeatureTimeField struct {
   688  	// Source column that holds the Feature timestamp for all Feature
   689  	// values in each entity.
   690  	FeatureTimeField string `protobuf:"bytes,6,opt,name=feature_time_field,json=featureTimeField,proto3,oneof"`
   691  }
   692  
   693  type ImportFeatureValuesRequest_FeatureTime struct {
   694  	// Single Feature timestamp for all entities being imported. The
   695  	// timestamp must not have higher than millisecond precision.
   696  	FeatureTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=feature_time,json=featureTime,proto3,oneof"`
   697  }
   698  
   699  func (*ImportFeatureValuesRequest_FeatureTimeField) isImportFeatureValuesRequest_FeatureTimeSource() {
   700  }
   701  
   702  func (*ImportFeatureValuesRequest_FeatureTime) isImportFeatureValuesRequest_FeatureTimeSource() {}
   703  
   704  // Response message for
   705  // [FeaturestoreService.ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues].
   706  type ImportFeatureValuesResponse struct {
   707  	state         protoimpl.MessageState
   708  	sizeCache     protoimpl.SizeCache
   709  	unknownFields protoimpl.UnknownFields
   710  
   711  	// Number of entities that have been imported by the operation.
   712  	ImportedEntityCount int64 `protobuf:"varint,1,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"`
   713  	// Number of Feature values that have been imported by the operation.
   714  	ImportedFeatureValueCount int64 `protobuf:"varint,2,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"`
   715  	// The number of rows in input source that weren't imported due to either
   716  	// * Not having any featureValues.
   717  	// * Having a null entityId.
   718  	// * Having a null timestamp.
   719  	// * Not being parsable (applicable for CSV sources).
   720  	InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"`
   721  	// The number rows that weren't ingested due to having feature timestamps
   722  	// outside the retention boundary.
   723  	TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,4,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"`
   724  }
   725  
   726  func (x *ImportFeatureValuesResponse) Reset() {
   727  	*x = ImportFeatureValuesResponse{}
   728  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[7]
   729  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   730  	ms.StoreMessageInfo(mi)
   731  }
   732  
   733  func (x *ImportFeatureValuesResponse) String() string {
   734  	return protoimpl.X.MessageStringOf(x)
   735  }
   736  
   737  func (*ImportFeatureValuesResponse) ProtoMessage() {}
   738  
   739  func (x *ImportFeatureValuesResponse) ProtoReflect() protoreflect.Message {
   740  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[7]
   741  	if x != nil {
   742  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   743  		if ms.LoadMessageInfo() == nil {
   744  			ms.StoreMessageInfo(mi)
   745  		}
   746  		return ms
   747  	}
   748  	return mi.MessageOf(x)
   749  }
   750  
   751  // Deprecated: Use ImportFeatureValuesResponse.ProtoReflect.Descriptor instead.
   752  func (*ImportFeatureValuesResponse) Descriptor() ([]byte, []int) {
   753  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{7}
   754  }
   755  
   756  func (x *ImportFeatureValuesResponse) GetImportedEntityCount() int64 {
   757  	if x != nil {
   758  		return x.ImportedEntityCount
   759  	}
   760  	return 0
   761  }
   762  
   763  func (x *ImportFeatureValuesResponse) GetImportedFeatureValueCount() int64 {
   764  	if x != nil {
   765  		return x.ImportedFeatureValueCount
   766  	}
   767  	return 0
   768  }
   769  
   770  func (x *ImportFeatureValuesResponse) GetInvalidRowCount() int64 {
   771  	if x != nil {
   772  		return x.InvalidRowCount
   773  	}
   774  	return 0
   775  }
   776  
   777  func (x *ImportFeatureValuesResponse) GetTimestampOutsideRetentionRowsCount() int64 {
   778  	if x != nil {
   779  		return x.TimestampOutsideRetentionRowsCount
   780  	}
   781  	return 0
   782  }
   783  
   784  // Request message for
   785  // [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
   786  type BatchReadFeatureValuesRequest struct {
   787  	state         protoimpl.MessageState
   788  	sizeCache     protoimpl.SizeCache
   789  	unknownFields protoimpl.UnknownFields
   790  
   791  	// Types that are assignable to ReadOption:
   792  	//
   793  	//	*BatchReadFeatureValuesRequest_CsvReadInstances
   794  	//	*BatchReadFeatureValuesRequest_BigqueryReadInstances
   795  	ReadOption isBatchReadFeatureValuesRequest_ReadOption `protobuf_oneof:"read_option"`
   796  	// Required. The resource name of the Featurestore from which to query Feature
   797  	// values. Format:
   798  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
   799  	Featurestore string `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"`
   800  	// Required. Specifies output location and format.
   801  	Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
   802  	// When not empty, the specified fields in the *_read_instances source will be
   803  	// joined as-is in the output, in addition to those fields from the
   804  	// Featurestore Entity.
   805  	//
   806  	// For BigQuery source, the type of the pass-through values will be
   807  	// automatically inferred. For CSV source, the pass-through values will be
   808  	// passed as opaque bytes.
   809  	PassThroughFields []*BatchReadFeatureValuesRequest_PassThroughField `protobuf:"bytes,8,rep,name=pass_through_fields,json=passThroughFields,proto3" json:"pass_through_fields,omitempty"`
   810  	// Required. Specifies EntityType grouping Features to read values of and
   811  	// settings.
   812  	EntityTypeSpecs []*BatchReadFeatureValuesRequest_EntityTypeSpec `protobuf:"bytes,7,rep,name=entity_type_specs,json=entityTypeSpecs,proto3" json:"entity_type_specs,omitempty"`
   813  	// Optional. Excludes Feature values with feature generation timestamp before
   814  	// this timestamp. If not set, retrieve oldest values kept in Feature Store.
   815  	// Timestamp, if present, must not have higher than millisecond precision.
   816  	StartTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   817  }
   818  
   819  func (x *BatchReadFeatureValuesRequest) Reset() {
   820  	*x = BatchReadFeatureValuesRequest{}
   821  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8]
   822  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   823  	ms.StoreMessageInfo(mi)
   824  }
   825  
   826  func (x *BatchReadFeatureValuesRequest) String() string {
   827  	return protoimpl.X.MessageStringOf(x)
   828  }
   829  
   830  func (*BatchReadFeatureValuesRequest) ProtoMessage() {}
   831  
   832  func (x *BatchReadFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   833  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8]
   834  	if x != nil {
   835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   836  		if ms.LoadMessageInfo() == nil {
   837  			ms.StoreMessageInfo(mi)
   838  		}
   839  		return ms
   840  	}
   841  	return mi.MessageOf(x)
   842  }
   843  
   844  // Deprecated: Use BatchReadFeatureValuesRequest.ProtoReflect.Descriptor instead.
   845  func (*BatchReadFeatureValuesRequest) Descriptor() ([]byte, []int) {
   846  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8}
   847  }
   848  
   849  func (m *BatchReadFeatureValuesRequest) GetReadOption() isBatchReadFeatureValuesRequest_ReadOption {
   850  	if m != nil {
   851  		return m.ReadOption
   852  	}
   853  	return nil
   854  }
   855  
   856  func (x *BatchReadFeatureValuesRequest) GetCsvReadInstances() *CsvSource {
   857  	if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_CsvReadInstances); ok {
   858  		return x.CsvReadInstances
   859  	}
   860  	return nil
   861  }
   862  
   863  func (x *BatchReadFeatureValuesRequest) GetBigqueryReadInstances() *BigQuerySource {
   864  	if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_BigqueryReadInstances); ok {
   865  		return x.BigqueryReadInstances
   866  	}
   867  	return nil
   868  }
   869  
   870  func (x *BatchReadFeatureValuesRequest) GetFeaturestore() string {
   871  	if x != nil {
   872  		return x.Featurestore
   873  	}
   874  	return ""
   875  }
   876  
   877  func (x *BatchReadFeatureValuesRequest) GetDestination() *FeatureValueDestination {
   878  	if x != nil {
   879  		return x.Destination
   880  	}
   881  	return nil
   882  }
   883  
   884  func (x *BatchReadFeatureValuesRequest) GetPassThroughFields() []*BatchReadFeatureValuesRequest_PassThroughField {
   885  	if x != nil {
   886  		return x.PassThroughFields
   887  	}
   888  	return nil
   889  }
   890  
   891  func (x *BatchReadFeatureValuesRequest) GetEntityTypeSpecs() []*BatchReadFeatureValuesRequest_EntityTypeSpec {
   892  	if x != nil {
   893  		return x.EntityTypeSpecs
   894  	}
   895  	return nil
   896  }
   897  
   898  func (x *BatchReadFeatureValuesRequest) GetStartTime() *timestamppb.Timestamp {
   899  	if x != nil {
   900  		return x.StartTime
   901  	}
   902  	return nil
   903  }
   904  
   905  type isBatchReadFeatureValuesRequest_ReadOption interface {
   906  	isBatchReadFeatureValuesRequest_ReadOption()
   907  }
   908  
   909  type BatchReadFeatureValuesRequest_CsvReadInstances struct {
   910  	// Each read instance consists of exactly one read timestamp and one or more
   911  	// entity IDs identifying entities of the corresponding EntityTypes whose
   912  	// Features are requested.
   913  	//
   914  	// Each output instance contains Feature values of requested entities
   915  	// concatenated together as of the read time.
   916  	//
   917  	// An example read instance may be `foo_entity_id, bar_entity_id,
   918  	// 2020-01-01T10:00:00.123Z`.
   919  	//
   920  	// An example output instance may be `foo_entity_id, bar_entity_id,
   921  	// 2020-01-01T10:00:00.123Z, foo_entity_feature1_value,
   922  	// bar_entity_feature2_value`.
   923  	//
   924  	// Timestamp in each read instance must be millisecond-aligned.
   925  	//
   926  	// `csv_read_instances` are read instances stored in a plain-text CSV file.
   927  	// The header should be:
   928  	//
   929  	//	[ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp
   930  	//
   931  	// The columns can be in any order.
   932  	//
   933  	// Values in the timestamp column must use the RFC 3339 format, e.g.
   934  	// `2012-07-30T10:43:17.123Z`.
   935  	CsvReadInstances *CsvSource `protobuf:"bytes,3,opt,name=csv_read_instances,json=csvReadInstances,proto3,oneof"`
   936  }
   937  
   938  type BatchReadFeatureValuesRequest_BigqueryReadInstances struct {
   939  	// Similar to csv_read_instances, but from BigQuery source.
   940  	BigqueryReadInstances *BigQuerySource `protobuf:"bytes,5,opt,name=bigquery_read_instances,json=bigqueryReadInstances,proto3,oneof"`
   941  }
   942  
   943  func (*BatchReadFeatureValuesRequest_CsvReadInstances) isBatchReadFeatureValuesRequest_ReadOption() {}
   944  
   945  func (*BatchReadFeatureValuesRequest_BigqueryReadInstances) isBatchReadFeatureValuesRequest_ReadOption() {
   946  }
   947  
   948  // Request message for
   949  // [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues].
   950  type ExportFeatureValuesRequest struct {
   951  	state         protoimpl.MessageState
   952  	sizeCache     protoimpl.SizeCache
   953  	unknownFields protoimpl.UnknownFields
   954  
   955  	// Required. The mode in which Feature values are exported.
   956  	//
   957  	// Types that are assignable to Mode:
   958  	//
   959  	//	*ExportFeatureValuesRequest_SnapshotExport_
   960  	//	*ExportFeatureValuesRequest_FullExport_
   961  	Mode isExportFeatureValuesRequest_Mode `protobuf_oneof:"mode"`
   962  	// Required. The resource name of the EntityType from which to export Feature
   963  	// values. Format:
   964  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
   965  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
   966  	// Required. Specifies destination location and format.
   967  	Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
   968  	// Required. Selects Features to export values of.
   969  	FeatureSelector *FeatureSelector `protobuf:"bytes,5,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
   970  	// Per-Feature export settings.
   971  	Settings []*DestinationFeatureSetting `protobuf:"bytes,6,rep,name=settings,proto3" json:"settings,omitempty"`
   972  }
   973  
   974  func (x *ExportFeatureValuesRequest) Reset() {
   975  	*x = ExportFeatureValuesRequest{}
   976  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9]
   977  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   978  	ms.StoreMessageInfo(mi)
   979  }
   980  
   981  func (x *ExportFeatureValuesRequest) String() string {
   982  	return protoimpl.X.MessageStringOf(x)
   983  }
   984  
   985  func (*ExportFeatureValuesRequest) ProtoMessage() {}
   986  
   987  func (x *ExportFeatureValuesRequest) ProtoReflect() protoreflect.Message {
   988  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9]
   989  	if x != nil {
   990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   991  		if ms.LoadMessageInfo() == nil {
   992  			ms.StoreMessageInfo(mi)
   993  		}
   994  		return ms
   995  	}
   996  	return mi.MessageOf(x)
   997  }
   998  
   999  // Deprecated: Use ExportFeatureValuesRequest.ProtoReflect.Descriptor instead.
  1000  func (*ExportFeatureValuesRequest) Descriptor() ([]byte, []int) {
  1001  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9}
  1002  }
  1003  
  1004  func (m *ExportFeatureValuesRequest) GetMode() isExportFeatureValuesRequest_Mode {
  1005  	if m != nil {
  1006  		return m.Mode
  1007  	}
  1008  	return nil
  1009  }
  1010  
  1011  func (x *ExportFeatureValuesRequest) GetSnapshotExport() *ExportFeatureValuesRequest_SnapshotExport {
  1012  	if x, ok := x.GetMode().(*ExportFeatureValuesRequest_SnapshotExport_); ok {
  1013  		return x.SnapshotExport
  1014  	}
  1015  	return nil
  1016  }
  1017  
  1018  func (x *ExportFeatureValuesRequest) GetFullExport() *ExportFeatureValuesRequest_FullExport {
  1019  	if x, ok := x.GetMode().(*ExportFeatureValuesRequest_FullExport_); ok {
  1020  		return x.FullExport
  1021  	}
  1022  	return nil
  1023  }
  1024  
  1025  func (x *ExportFeatureValuesRequest) GetEntityType() string {
  1026  	if x != nil {
  1027  		return x.EntityType
  1028  	}
  1029  	return ""
  1030  }
  1031  
  1032  func (x *ExportFeatureValuesRequest) GetDestination() *FeatureValueDestination {
  1033  	if x != nil {
  1034  		return x.Destination
  1035  	}
  1036  	return nil
  1037  }
  1038  
  1039  func (x *ExportFeatureValuesRequest) GetFeatureSelector() *FeatureSelector {
  1040  	if x != nil {
  1041  		return x.FeatureSelector
  1042  	}
  1043  	return nil
  1044  }
  1045  
  1046  func (x *ExportFeatureValuesRequest) GetSettings() []*DestinationFeatureSetting {
  1047  	if x != nil {
  1048  		return x.Settings
  1049  	}
  1050  	return nil
  1051  }
  1052  
  1053  type isExportFeatureValuesRequest_Mode interface {
  1054  	isExportFeatureValuesRequest_Mode()
  1055  }
  1056  
  1057  type ExportFeatureValuesRequest_SnapshotExport_ struct {
  1058  	// Exports the latest Feature values of all entities of the EntityType
  1059  	// within a time range.
  1060  	SnapshotExport *ExportFeatureValuesRequest_SnapshotExport `protobuf:"bytes,3,opt,name=snapshot_export,json=snapshotExport,proto3,oneof"`
  1061  }
  1062  
  1063  type ExportFeatureValuesRequest_FullExport_ struct {
  1064  	// Exports all historical values of all entities of the EntityType within a
  1065  	// time range
  1066  	FullExport *ExportFeatureValuesRequest_FullExport `protobuf:"bytes,7,opt,name=full_export,json=fullExport,proto3,oneof"`
  1067  }
  1068  
  1069  func (*ExportFeatureValuesRequest_SnapshotExport_) isExportFeatureValuesRequest_Mode() {}
  1070  
  1071  func (*ExportFeatureValuesRequest_FullExport_) isExportFeatureValuesRequest_Mode() {}
  1072  
  1073  type DestinationFeatureSetting struct {
  1074  	state         protoimpl.MessageState
  1075  	sizeCache     protoimpl.SizeCache
  1076  	unknownFields protoimpl.UnknownFields
  1077  
  1078  	// Required. The ID of the Feature to apply the setting to.
  1079  	FeatureId string `protobuf:"bytes,1,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"`
  1080  	// Specify the field name in the export destination. If not specified,
  1081  	// Feature ID is used.
  1082  	DestinationField string `protobuf:"bytes,2,opt,name=destination_field,json=destinationField,proto3" json:"destination_field,omitempty"`
  1083  }
  1084  
  1085  func (x *DestinationFeatureSetting) Reset() {
  1086  	*x = DestinationFeatureSetting{}
  1087  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[10]
  1088  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1089  	ms.StoreMessageInfo(mi)
  1090  }
  1091  
  1092  func (x *DestinationFeatureSetting) String() string {
  1093  	return protoimpl.X.MessageStringOf(x)
  1094  }
  1095  
  1096  func (*DestinationFeatureSetting) ProtoMessage() {}
  1097  
  1098  func (x *DestinationFeatureSetting) ProtoReflect() protoreflect.Message {
  1099  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[10]
  1100  	if x != nil {
  1101  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1102  		if ms.LoadMessageInfo() == nil {
  1103  			ms.StoreMessageInfo(mi)
  1104  		}
  1105  		return ms
  1106  	}
  1107  	return mi.MessageOf(x)
  1108  }
  1109  
  1110  // Deprecated: Use DestinationFeatureSetting.ProtoReflect.Descriptor instead.
  1111  func (*DestinationFeatureSetting) Descriptor() ([]byte, []int) {
  1112  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{10}
  1113  }
  1114  
  1115  func (x *DestinationFeatureSetting) GetFeatureId() string {
  1116  	if x != nil {
  1117  		return x.FeatureId
  1118  	}
  1119  	return ""
  1120  }
  1121  
  1122  func (x *DestinationFeatureSetting) GetDestinationField() string {
  1123  	if x != nil {
  1124  		return x.DestinationField
  1125  	}
  1126  	return ""
  1127  }
  1128  
  1129  // A destination location for Feature values and format.
  1130  type FeatureValueDestination struct {
  1131  	state         protoimpl.MessageState
  1132  	sizeCache     protoimpl.SizeCache
  1133  	unknownFields protoimpl.UnknownFields
  1134  
  1135  	// Types that are assignable to Destination:
  1136  	//
  1137  	//	*FeatureValueDestination_BigqueryDestination
  1138  	//	*FeatureValueDestination_TfrecordDestination
  1139  	//	*FeatureValueDestination_CsvDestination
  1140  	Destination isFeatureValueDestination_Destination `protobuf_oneof:"destination"`
  1141  }
  1142  
  1143  func (x *FeatureValueDestination) Reset() {
  1144  	*x = FeatureValueDestination{}
  1145  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11]
  1146  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1147  	ms.StoreMessageInfo(mi)
  1148  }
  1149  
  1150  func (x *FeatureValueDestination) String() string {
  1151  	return protoimpl.X.MessageStringOf(x)
  1152  }
  1153  
  1154  func (*FeatureValueDestination) ProtoMessage() {}
  1155  
  1156  func (x *FeatureValueDestination) ProtoReflect() protoreflect.Message {
  1157  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11]
  1158  	if x != nil {
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		if ms.LoadMessageInfo() == nil {
  1161  			ms.StoreMessageInfo(mi)
  1162  		}
  1163  		return ms
  1164  	}
  1165  	return mi.MessageOf(x)
  1166  }
  1167  
  1168  // Deprecated: Use FeatureValueDestination.ProtoReflect.Descriptor instead.
  1169  func (*FeatureValueDestination) Descriptor() ([]byte, []int) {
  1170  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{11}
  1171  }
  1172  
  1173  func (m *FeatureValueDestination) GetDestination() isFeatureValueDestination_Destination {
  1174  	if m != nil {
  1175  		return m.Destination
  1176  	}
  1177  	return nil
  1178  }
  1179  
  1180  func (x *FeatureValueDestination) GetBigqueryDestination() *BigQueryDestination {
  1181  	if x, ok := x.GetDestination().(*FeatureValueDestination_BigqueryDestination); ok {
  1182  		return x.BigqueryDestination
  1183  	}
  1184  	return nil
  1185  }
  1186  
  1187  func (x *FeatureValueDestination) GetTfrecordDestination() *TFRecordDestination {
  1188  	if x, ok := x.GetDestination().(*FeatureValueDestination_TfrecordDestination); ok {
  1189  		return x.TfrecordDestination
  1190  	}
  1191  	return nil
  1192  }
  1193  
  1194  func (x *FeatureValueDestination) GetCsvDestination() *CsvDestination {
  1195  	if x, ok := x.GetDestination().(*FeatureValueDestination_CsvDestination); ok {
  1196  		return x.CsvDestination
  1197  	}
  1198  	return nil
  1199  }
  1200  
  1201  type isFeatureValueDestination_Destination interface {
  1202  	isFeatureValueDestination_Destination()
  1203  }
  1204  
  1205  type FeatureValueDestination_BigqueryDestination struct {
  1206  	// Output in BigQuery format.
  1207  	// [BigQueryDestination.output_uri][google.cloud.aiplatform.v1beta1.BigQueryDestination.output_uri]
  1208  	// in
  1209  	// [FeatureValueDestination.bigquery_destination][google.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination]
  1210  	// must refer to a table.
  1211  	BigqueryDestination *BigQueryDestination `protobuf:"bytes,1,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"`
  1212  }
  1213  
  1214  type FeatureValueDestination_TfrecordDestination struct {
  1215  	// Output in TFRecord format.
  1216  	//
  1217  	// Below are the mapping from Feature value type
  1218  	// in Featurestore to Feature value type in TFRecord:
  1219  	//
  1220  	//	Value type in Featurestore                 | Value type in TFRecord
  1221  	//	DOUBLE, DOUBLE_ARRAY                       | FLOAT_LIST
  1222  	//	INT64, INT64_ARRAY                         | INT64_LIST
  1223  	//	STRING, STRING_ARRAY, BYTES                | BYTES_LIST
  1224  	//	true -> byte_string("true"), false -> byte_string("false")
  1225  	//	BOOL, BOOL_ARRAY (true, false)             | BYTES_LIST
  1226  	TfrecordDestination *TFRecordDestination `protobuf:"bytes,2,opt,name=tfrecord_destination,json=tfrecordDestination,proto3,oneof"`
  1227  }
  1228  
  1229  type FeatureValueDestination_CsvDestination struct {
  1230  	// Output in CSV format. Array Feature value types are not allowed in CSV
  1231  	// format.
  1232  	CsvDestination *CsvDestination `protobuf:"bytes,3,opt,name=csv_destination,json=csvDestination,proto3,oneof"`
  1233  }
  1234  
  1235  func (*FeatureValueDestination_BigqueryDestination) isFeatureValueDestination_Destination() {}
  1236  
  1237  func (*FeatureValueDestination_TfrecordDestination) isFeatureValueDestination_Destination() {}
  1238  
  1239  func (*FeatureValueDestination_CsvDestination) isFeatureValueDestination_Destination() {}
  1240  
  1241  // Response message for
  1242  // [FeaturestoreService.ExportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues].
  1243  type ExportFeatureValuesResponse struct {
  1244  	state         protoimpl.MessageState
  1245  	sizeCache     protoimpl.SizeCache
  1246  	unknownFields protoimpl.UnknownFields
  1247  }
  1248  
  1249  func (x *ExportFeatureValuesResponse) Reset() {
  1250  	*x = ExportFeatureValuesResponse{}
  1251  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[12]
  1252  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1253  	ms.StoreMessageInfo(mi)
  1254  }
  1255  
  1256  func (x *ExportFeatureValuesResponse) String() string {
  1257  	return protoimpl.X.MessageStringOf(x)
  1258  }
  1259  
  1260  func (*ExportFeatureValuesResponse) ProtoMessage() {}
  1261  
  1262  func (x *ExportFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  1263  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[12]
  1264  	if x != nil {
  1265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1266  		if ms.LoadMessageInfo() == nil {
  1267  			ms.StoreMessageInfo(mi)
  1268  		}
  1269  		return ms
  1270  	}
  1271  	return mi.MessageOf(x)
  1272  }
  1273  
  1274  // Deprecated: Use ExportFeatureValuesResponse.ProtoReflect.Descriptor instead.
  1275  func (*ExportFeatureValuesResponse) Descriptor() ([]byte, []int) {
  1276  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{12}
  1277  }
  1278  
  1279  // Response message for
  1280  // [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
  1281  type BatchReadFeatureValuesResponse struct {
  1282  	state         protoimpl.MessageState
  1283  	sizeCache     protoimpl.SizeCache
  1284  	unknownFields protoimpl.UnknownFields
  1285  }
  1286  
  1287  func (x *BatchReadFeatureValuesResponse) Reset() {
  1288  	*x = BatchReadFeatureValuesResponse{}
  1289  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[13]
  1290  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1291  	ms.StoreMessageInfo(mi)
  1292  }
  1293  
  1294  func (x *BatchReadFeatureValuesResponse) String() string {
  1295  	return protoimpl.X.MessageStringOf(x)
  1296  }
  1297  
  1298  func (*BatchReadFeatureValuesResponse) ProtoMessage() {}
  1299  
  1300  func (x *BatchReadFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  1301  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[13]
  1302  	if x != nil {
  1303  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1304  		if ms.LoadMessageInfo() == nil {
  1305  			ms.StoreMessageInfo(mi)
  1306  		}
  1307  		return ms
  1308  	}
  1309  	return mi.MessageOf(x)
  1310  }
  1311  
  1312  // Deprecated: Use BatchReadFeatureValuesResponse.ProtoReflect.Descriptor instead.
  1313  func (*BatchReadFeatureValuesResponse) Descriptor() ([]byte, []int) {
  1314  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{13}
  1315  }
  1316  
  1317  // Request message for
  1318  // [FeaturestoreService.CreateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType].
  1319  type CreateEntityTypeRequest struct {
  1320  	state         protoimpl.MessageState
  1321  	sizeCache     protoimpl.SizeCache
  1322  	unknownFields protoimpl.UnknownFields
  1323  
  1324  	// Required. The resource name of the Featurestore to create EntityTypes.
  1325  	// Format:
  1326  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
  1327  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1328  	// The EntityType to create.
  1329  	EntityType *EntityType `protobuf:"bytes,2,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  1330  	// Required. The ID to use for the EntityType, which will become the final
  1331  	// component of the EntityType's resource name.
  1332  	//
  1333  	// This value may be up to 60 characters, and valid characters are
  1334  	// `[a-z0-9_]`. The first character cannot be a number.
  1335  	//
  1336  	// The value must be unique within a featurestore.
  1337  	EntityTypeId string `protobuf:"bytes,3,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"`
  1338  }
  1339  
  1340  func (x *CreateEntityTypeRequest) Reset() {
  1341  	*x = CreateEntityTypeRequest{}
  1342  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[14]
  1343  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1344  	ms.StoreMessageInfo(mi)
  1345  }
  1346  
  1347  func (x *CreateEntityTypeRequest) String() string {
  1348  	return protoimpl.X.MessageStringOf(x)
  1349  }
  1350  
  1351  func (*CreateEntityTypeRequest) ProtoMessage() {}
  1352  
  1353  func (x *CreateEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1354  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[14]
  1355  	if x != nil {
  1356  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1357  		if ms.LoadMessageInfo() == nil {
  1358  			ms.StoreMessageInfo(mi)
  1359  		}
  1360  		return ms
  1361  	}
  1362  	return mi.MessageOf(x)
  1363  }
  1364  
  1365  // Deprecated: Use CreateEntityTypeRequest.ProtoReflect.Descriptor instead.
  1366  func (*CreateEntityTypeRequest) Descriptor() ([]byte, []int) {
  1367  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{14}
  1368  }
  1369  
  1370  func (x *CreateEntityTypeRequest) GetParent() string {
  1371  	if x != nil {
  1372  		return x.Parent
  1373  	}
  1374  	return ""
  1375  }
  1376  
  1377  func (x *CreateEntityTypeRequest) GetEntityType() *EntityType {
  1378  	if x != nil {
  1379  		return x.EntityType
  1380  	}
  1381  	return nil
  1382  }
  1383  
  1384  func (x *CreateEntityTypeRequest) GetEntityTypeId() string {
  1385  	if x != nil {
  1386  		return x.EntityTypeId
  1387  	}
  1388  	return ""
  1389  }
  1390  
  1391  // Request message for
  1392  // [FeaturestoreService.GetEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType].
  1393  type GetEntityTypeRequest struct {
  1394  	state         protoimpl.MessageState
  1395  	sizeCache     protoimpl.SizeCache
  1396  	unknownFields protoimpl.UnknownFields
  1397  
  1398  	// Required. The name of the EntityType resource.
  1399  	// Format:
  1400  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1401  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1402  }
  1403  
  1404  func (x *GetEntityTypeRequest) Reset() {
  1405  	*x = GetEntityTypeRequest{}
  1406  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[15]
  1407  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1408  	ms.StoreMessageInfo(mi)
  1409  }
  1410  
  1411  func (x *GetEntityTypeRequest) String() string {
  1412  	return protoimpl.X.MessageStringOf(x)
  1413  }
  1414  
  1415  func (*GetEntityTypeRequest) ProtoMessage() {}
  1416  
  1417  func (x *GetEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1418  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[15]
  1419  	if x != nil {
  1420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1421  		if ms.LoadMessageInfo() == nil {
  1422  			ms.StoreMessageInfo(mi)
  1423  		}
  1424  		return ms
  1425  	}
  1426  	return mi.MessageOf(x)
  1427  }
  1428  
  1429  // Deprecated: Use GetEntityTypeRequest.ProtoReflect.Descriptor instead.
  1430  func (*GetEntityTypeRequest) Descriptor() ([]byte, []int) {
  1431  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{15}
  1432  }
  1433  
  1434  func (x *GetEntityTypeRequest) GetName() string {
  1435  	if x != nil {
  1436  		return x.Name
  1437  	}
  1438  	return ""
  1439  }
  1440  
  1441  // Request message for
  1442  // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes].
  1443  type ListEntityTypesRequest struct {
  1444  	state         protoimpl.MessageState
  1445  	sizeCache     protoimpl.SizeCache
  1446  	unknownFields protoimpl.UnknownFields
  1447  
  1448  	// Required. The resource name of the Featurestore to list EntityTypes.
  1449  	// Format:
  1450  	// `projects/{project}/locations/{location}/featurestores/{featurestore}`
  1451  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1452  	// Lists the EntityTypes that match the filter expression. The following
  1453  	// filters are supported:
  1454  	//
  1455  	// * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
  1456  	// Values must be in RFC 3339 format.
  1457  	// * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons.
  1458  	// Values must be in RFC 3339 format.
  1459  	// * `labels`: Supports key-value equality as well as key presence.
  1460  	//
  1461  	// Examples:
  1462  	//
  1463  	//   - `create_time > \"2020-01-31T15:30:00.000000Z\" OR
  1464  	//     update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
  1465  	//     or updated after 2020-01-31T15:30:00.000000Z.
  1466  	//   - `labels.active = yes AND labels.env = prod` --> EntityTypes having both
  1467  	//     (active: yes) and (env: prod) labels.
  1468  	//   - `labels.env: *` --> Any EntityType which has a label with 'env' as the
  1469  	//     key.
  1470  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  1471  	// The maximum number of EntityTypes to return. The service may return fewer
  1472  	// than this value. If unspecified, at most 1000 EntityTypes will be returned.
  1473  	// The maximum value is 1000; any value greater than 1000 will be coerced to
  1474  	// 1000.
  1475  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1476  	// A page token, received from a previous
  1477  	// [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes]
  1478  	// call. Provide this to retrieve the subsequent page.
  1479  	//
  1480  	// When paginating, all other parameters provided to
  1481  	// [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes]
  1482  	// must match the call that provided the page token.
  1483  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1484  	// A comma-separated list of fields to order by, sorted in ascending order.
  1485  	// Use "desc" after a field name for descending.
  1486  	//
  1487  	// Supported fields:
  1488  	//
  1489  	//   - `entity_type_id`
  1490  	//   - `create_time`
  1491  	//   - `update_time`
  1492  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
  1493  	// Mask specifying which fields to read.
  1494  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
  1495  }
  1496  
  1497  func (x *ListEntityTypesRequest) Reset() {
  1498  	*x = ListEntityTypesRequest{}
  1499  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[16]
  1500  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1501  	ms.StoreMessageInfo(mi)
  1502  }
  1503  
  1504  func (x *ListEntityTypesRequest) String() string {
  1505  	return protoimpl.X.MessageStringOf(x)
  1506  }
  1507  
  1508  func (*ListEntityTypesRequest) ProtoMessage() {}
  1509  
  1510  func (x *ListEntityTypesRequest) ProtoReflect() protoreflect.Message {
  1511  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[16]
  1512  	if x != nil {
  1513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1514  		if ms.LoadMessageInfo() == nil {
  1515  			ms.StoreMessageInfo(mi)
  1516  		}
  1517  		return ms
  1518  	}
  1519  	return mi.MessageOf(x)
  1520  }
  1521  
  1522  // Deprecated: Use ListEntityTypesRequest.ProtoReflect.Descriptor instead.
  1523  func (*ListEntityTypesRequest) Descriptor() ([]byte, []int) {
  1524  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{16}
  1525  }
  1526  
  1527  func (x *ListEntityTypesRequest) GetParent() string {
  1528  	if x != nil {
  1529  		return x.Parent
  1530  	}
  1531  	return ""
  1532  }
  1533  
  1534  func (x *ListEntityTypesRequest) GetFilter() string {
  1535  	if x != nil {
  1536  		return x.Filter
  1537  	}
  1538  	return ""
  1539  }
  1540  
  1541  func (x *ListEntityTypesRequest) GetPageSize() int32 {
  1542  	if x != nil {
  1543  		return x.PageSize
  1544  	}
  1545  	return 0
  1546  }
  1547  
  1548  func (x *ListEntityTypesRequest) GetPageToken() string {
  1549  	if x != nil {
  1550  		return x.PageToken
  1551  	}
  1552  	return ""
  1553  }
  1554  
  1555  func (x *ListEntityTypesRequest) GetOrderBy() string {
  1556  	if x != nil {
  1557  		return x.OrderBy
  1558  	}
  1559  	return ""
  1560  }
  1561  
  1562  func (x *ListEntityTypesRequest) GetReadMask() *fieldmaskpb.FieldMask {
  1563  	if x != nil {
  1564  		return x.ReadMask
  1565  	}
  1566  	return nil
  1567  }
  1568  
  1569  // Response message for
  1570  // [FeaturestoreService.ListEntityTypes][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes].
  1571  type ListEntityTypesResponse struct {
  1572  	state         protoimpl.MessageState
  1573  	sizeCache     protoimpl.SizeCache
  1574  	unknownFields protoimpl.UnknownFields
  1575  
  1576  	// The EntityTypes matching the request.
  1577  	EntityTypes []*EntityType `protobuf:"bytes,1,rep,name=entity_types,json=entityTypes,proto3" json:"entity_types,omitempty"`
  1578  	// A token, which can be sent as
  1579  	// [ListEntityTypesRequest.page_token][google.cloud.aiplatform.v1beta1.ListEntityTypesRequest.page_token]
  1580  	// to retrieve the next page. If this field is omitted, there are no
  1581  	// subsequent pages.
  1582  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1583  }
  1584  
  1585  func (x *ListEntityTypesResponse) Reset() {
  1586  	*x = ListEntityTypesResponse{}
  1587  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[17]
  1588  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1589  	ms.StoreMessageInfo(mi)
  1590  }
  1591  
  1592  func (x *ListEntityTypesResponse) String() string {
  1593  	return protoimpl.X.MessageStringOf(x)
  1594  }
  1595  
  1596  func (*ListEntityTypesResponse) ProtoMessage() {}
  1597  
  1598  func (x *ListEntityTypesResponse) ProtoReflect() protoreflect.Message {
  1599  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[17]
  1600  	if x != nil {
  1601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1602  		if ms.LoadMessageInfo() == nil {
  1603  			ms.StoreMessageInfo(mi)
  1604  		}
  1605  		return ms
  1606  	}
  1607  	return mi.MessageOf(x)
  1608  }
  1609  
  1610  // Deprecated: Use ListEntityTypesResponse.ProtoReflect.Descriptor instead.
  1611  func (*ListEntityTypesResponse) Descriptor() ([]byte, []int) {
  1612  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{17}
  1613  }
  1614  
  1615  func (x *ListEntityTypesResponse) GetEntityTypes() []*EntityType {
  1616  	if x != nil {
  1617  		return x.EntityTypes
  1618  	}
  1619  	return nil
  1620  }
  1621  
  1622  func (x *ListEntityTypesResponse) GetNextPageToken() string {
  1623  	if x != nil {
  1624  		return x.NextPageToken
  1625  	}
  1626  	return ""
  1627  }
  1628  
  1629  // Request message for
  1630  // [FeaturestoreService.UpdateEntityType][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType].
  1631  type UpdateEntityTypeRequest struct {
  1632  	state         protoimpl.MessageState
  1633  	sizeCache     protoimpl.SizeCache
  1634  	unknownFields protoimpl.UnknownFields
  1635  
  1636  	// Required. The EntityType's `name` field is used to identify the EntityType
  1637  	// to be updated. Format:
  1638  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1639  	EntityType *EntityType `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  1640  	// Field mask is used to specify the fields to be overwritten in the
  1641  	// EntityType resource by the update.
  1642  	// The fields specified in the update_mask are relative to the resource, not
  1643  	// the full request. A field will be overwritten if it is in the mask. If the
  1644  	// user does not provide a mask then only the non-empty fields present in the
  1645  	// request will be overwritten. Set the update_mask to `*` to override all
  1646  	// fields.
  1647  	//
  1648  	// Updatable fields:
  1649  	//
  1650  	//   - `description`
  1651  	//   - `labels`
  1652  	//   - `monitoring_config.snapshot_analysis.disabled`
  1653  	//   - `monitoring_config.snapshot_analysis.monitoring_interval_days`
  1654  	//   - `monitoring_config.snapshot_analysis.staleness_days`
  1655  	//   - `monitoring_config.import_features_analysis.state`
  1656  	//   - `monitoring_config.import_features_analysis.anomaly_detection_baseline`
  1657  	//   - `monitoring_config.numerical_threshold_config.value`
  1658  	//   - `monitoring_config.categorical_threshold_config.value`
  1659  	//   - `offline_storage_ttl_days`
  1660  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  1661  }
  1662  
  1663  func (x *UpdateEntityTypeRequest) Reset() {
  1664  	*x = UpdateEntityTypeRequest{}
  1665  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[18]
  1666  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1667  	ms.StoreMessageInfo(mi)
  1668  }
  1669  
  1670  func (x *UpdateEntityTypeRequest) String() string {
  1671  	return protoimpl.X.MessageStringOf(x)
  1672  }
  1673  
  1674  func (*UpdateEntityTypeRequest) ProtoMessage() {}
  1675  
  1676  func (x *UpdateEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1677  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[18]
  1678  	if x != nil {
  1679  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1680  		if ms.LoadMessageInfo() == nil {
  1681  			ms.StoreMessageInfo(mi)
  1682  		}
  1683  		return ms
  1684  	}
  1685  	return mi.MessageOf(x)
  1686  }
  1687  
  1688  // Deprecated: Use UpdateEntityTypeRequest.ProtoReflect.Descriptor instead.
  1689  func (*UpdateEntityTypeRequest) Descriptor() ([]byte, []int) {
  1690  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{18}
  1691  }
  1692  
  1693  func (x *UpdateEntityTypeRequest) GetEntityType() *EntityType {
  1694  	if x != nil {
  1695  		return x.EntityType
  1696  	}
  1697  	return nil
  1698  }
  1699  
  1700  func (x *UpdateEntityTypeRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  1701  	if x != nil {
  1702  		return x.UpdateMask
  1703  	}
  1704  	return nil
  1705  }
  1706  
  1707  // Request message for [FeaturestoreService.DeleteEntityTypes][].
  1708  type DeleteEntityTypeRequest struct {
  1709  	state         protoimpl.MessageState
  1710  	sizeCache     protoimpl.SizeCache
  1711  	unknownFields protoimpl.UnknownFields
  1712  
  1713  	// Required. The name of the EntityType to be deleted.
  1714  	// Format:
  1715  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1716  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1717  	// If set to true, any Features for this EntityType will also be deleted.
  1718  	// (Otherwise, the request will only work if the EntityType has no Features.)
  1719  	Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
  1720  }
  1721  
  1722  func (x *DeleteEntityTypeRequest) Reset() {
  1723  	*x = DeleteEntityTypeRequest{}
  1724  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[19]
  1725  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1726  	ms.StoreMessageInfo(mi)
  1727  }
  1728  
  1729  func (x *DeleteEntityTypeRequest) String() string {
  1730  	return protoimpl.X.MessageStringOf(x)
  1731  }
  1732  
  1733  func (*DeleteEntityTypeRequest) ProtoMessage() {}
  1734  
  1735  func (x *DeleteEntityTypeRequest) ProtoReflect() protoreflect.Message {
  1736  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[19]
  1737  	if x != nil {
  1738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1739  		if ms.LoadMessageInfo() == nil {
  1740  			ms.StoreMessageInfo(mi)
  1741  		}
  1742  		return ms
  1743  	}
  1744  	return mi.MessageOf(x)
  1745  }
  1746  
  1747  // Deprecated: Use DeleteEntityTypeRequest.ProtoReflect.Descriptor instead.
  1748  func (*DeleteEntityTypeRequest) Descriptor() ([]byte, []int) {
  1749  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{19}
  1750  }
  1751  
  1752  func (x *DeleteEntityTypeRequest) GetName() string {
  1753  	if x != nil {
  1754  		return x.Name
  1755  	}
  1756  	return ""
  1757  }
  1758  
  1759  func (x *DeleteEntityTypeRequest) GetForce() bool {
  1760  	if x != nil {
  1761  		return x.Force
  1762  	}
  1763  	return false
  1764  }
  1765  
  1766  // Request message for
  1767  // [FeaturestoreService.CreateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature].
  1768  // Request message for
  1769  // [FeatureRegistryService.CreateFeature][google.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature].
  1770  type CreateFeatureRequest struct {
  1771  	state         protoimpl.MessageState
  1772  	sizeCache     protoimpl.SizeCache
  1773  	unknownFields protoimpl.UnknownFields
  1774  
  1775  	// Required. The resource name of the EntityType or FeatureGroup to create a
  1776  	// Feature. Format for entity_type as parent:
  1777  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1778  	// Format for feature_group as parent:
  1779  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1780  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1781  	// Required. The Feature to create.
  1782  	Feature *Feature `protobuf:"bytes,2,opt,name=feature,proto3" json:"feature,omitempty"`
  1783  	// Required. The ID to use for the Feature, which will become the final
  1784  	// component of the Feature's resource name.
  1785  	//
  1786  	// This value may be up to 128 characters, and valid characters are
  1787  	// `[a-z0-9_]`. The first character cannot be a number.
  1788  	//
  1789  	// The value must be unique within an EntityType/FeatureGroup.
  1790  	FeatureId string `protobuf:"bytes,3,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"`
  1791  }
  1792  
  1793  func (x *CreateFeatureRequest) Reset() {
  1794  	*x = CreateFeatureRequest{}
  1795  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[20]
  1796  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1797  	ms.StoreMessageInfo(mi)
  1798  }
  1799  
  1800  func (x *CreateFeatureRequest) String() string {
  1801  	return protoimpl.X.MessageStringOf(x)
  1802  }
  1803  
  1804  func (*CreateFeatureRequest) ProtoMessage() {}
  1805  
  1806  func (x *CreateFeatureRequest) ProtoReflect() protoreflect.Message {
  1807  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[20]
  1808  	if x != nil {
  1809  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1810  		if ms.LoadMessageInfo() == nil {
  1811  			ms.StoreMessageInfo(mi)
  1812  		}
  1813  		return ms
  1814  	}
  1815  	return mi.MessageOf(x)
  1816  }
  1817  
  1818  // Deprecated: Use CreateFeatureRequest.ProtoReflect.Descriptor instead.
  1819  func (*CreateFeatureRequest) Descriptor() ([]byte, []int) {
  1820  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{20}
  1821  }
  1822  
  1823  func (x *CreateFeatureRequest) GetParent() string {
  1824  	if x != nil {
  1825  		return x.Parent
  1826  	}
  1827  	return ""
  1828  }
  1829  
  1830  func (x *CreateFeatureRequest) GetFeature() *Feature {
  1831  	if x != nil {
  1832  		return x.Feature
  1833  	}
  1834  	return nil
  1835  }
  1836  
  1837  func (x *CreateFeatureRequest) GetFeatureId() string {
  1838  	if x != nil {
  1839  		return x.FeatureId
  1840  	}
  1841  	return ""
  1842  }
  1843  
  1844  // Request message for
  1845  // [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures].
  1846  // Request message for
  1847  // [FeatureRegistryService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeatureRegistryService.BatchCreateFeatures].
  1848  type BatchCreateFeaturesRequest struct {
  1849  	state         protoimpl.MessageState
  1850  	sizeCache     protoimpl.SizeCache
  1851  	unknownFields protoimpl.UnknownFields
  1852  
  1853  	// Required. The resource name of the EntityType/FeatureGroup to create the
  1854  	// batch of Features under. Format:
  1855  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1856  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1857  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1858  	// Required. The request message specifying the Features to create. All
  1859  	// Features must be created under the same parent EntityType / FeatureGroup.
  1860  	// The `parent` field in each child request message can be omitted. If
  1861  	// `parent` is set in a child request, then the value must match the `parent`
  1862  	// value in this request message.
  1863  	Requests []*CreateFeatureRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"`
  1864  }
  1865  
  1866  func (x *BatchCreateFeaturesRequest) Reset() {
  1867  	*x = BatchCreateFeaturesRequest{}
  1868  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[21]
  1869  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1870  	ms.StoreMessageInfo(mi)
  1871  }
  1872  
  1873  func (x *BatchCreateFeaturesRequest) String() string {
  1874  	return protoimpl.X.MessageStringOf(x)
  1875  }
  1876  
  1877  func (*BatchCreateFeaturesRequest) ProtoMessage() {}
  1878  
  1879  func (x *BatchCreateFeaturesRequest) ProtoReflect() protoreflect.Message {
  1880  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[21]
  1881  	if x != nil {
  1882  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1883  		if ms.LoadMessageInfo() == nil {
  1884  			ms.StoreMessageInfo(mi)
  1885  		}
  1886  		return ms
  1887  	}
  1888  	return mi.MessageOf(x)
  1889  }
  1890  
  1891  // Deprecated: Use BatchCreateFeaturesRequest.ProtoReflect.Descriptor instead.
  1892  func (*BatchCreateFeaturesRequest) Descriptor() ([]byte, []int) {
  1893  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{21}
  1894  }
  1895  
  1896  func (x *BatchCreateFeaturesRequest) GetParent() string {
  1897  	if x != nil {
  1898  		return x.Parent
  1899  	}
  1900  	return ""
  1901  }
  1902  
  1903  func (x *BatchCreateFeaturesRequest) GetRequests() []*CreateFeatureRequest {
  1904  	if x != nil {
  1905  		return x.Requests
  1906  	}
  1907  	return nil
  1908  }
  1909  
  1910  // Response message for
  1911  // [FeaturestoreService.BatchCreateFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures].
  1912  type BatchCreateFeaturesResponse struct {
  1913  	state         protoimpl.MessageState
  1914  	sizeCache     protoimpl.SizeCache
  1915  	unknownFields protoimpl.UnknownFields
  1916  
  1917  	// The Features created.
  1918  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  1919  }
  1920  
  1921  func (x *BatchCreateFeaturesResponse) Reset() {
  1922  	*x = BatchCreateFeaturesResponse{}
  1923  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[22]
  1924  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1925  	ms.StoreMessageInfo(mi)
  1926  }
  1927  
  1928  func (x *BatchCreateFeaturesResponse) String() string {
  1929  	return protoimpl.X.MessageStringOf(x)
  1930  }
  1931  
  1932  func (*BatchCreateFeaturesResponse) ProtoMessage() {}
  1933  
  1934  func (x *BatchCreateFeaturesResponse) ProtoReflect() protoreflect.Message {
  1935  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[22]
  1936  	if x != nil {
  1937  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1938  		if ms.LoadMessageInfo() == nil {
  1939  			ms.StoreMessageInfo(mi)
  1940  		}
  1941  		return ms
  1942  	}
  1943  	return mi.MessageOf(x)
  1944  }
  1945  
  1946  // Deprecated: Use BatchCreateFeaturesResponse.ProtoReflect.Descriptor instead.
  1947  func (*BatchCreateFeaturesResponse) Descriptor() ([]byte, []int) {
  1948  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{22}
  1949  }
  1950  
  1951  func (x *BatchCreateFeaturesResponse) GetFeatures() []*Feature {
  1952  	if x != nil {
  1953  		return x.Features
  1954  	}
  1955  	return nil
  1956  }
  1957  
  1958  // Request message for
  1959  // [FeaturestoreService.GetFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature].
  1960  // Request message for
  1961  // [FeatureRegistryService.GetFeature][google.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature].
  1962  type GetFeatureRequest struct {
  1963  	state         protoimpl.MessageState
  1964  	sizeCache     protoimpl.SizeCache
  1965  	unknownFields protoimpl.UnknownFields
  1966  
  1967  	// Required. The name of the Feature resource.
  1968  	// Format for entity_type as parent:
  1969  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  1970  	// Format for feature_group as parent:
  1971  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  1972  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1973  	// Optional. Only applicable for Vertex AI Feature Store.
  1974  	// If set, retrieves FeatureStatsAndAnomaly generated by FeatureMonitors based
  1975  	// on this spec.
  1976  	FeatureStatsAndAnomalySpec *FeatureStatsAndAnomalySpec `protobuf:"bytes,3,opt,name=feature_stats_and_anomaly_spec,json=featureStatsAndAnomalySpec,proto3" json:"feature_stats_and_anomaly_spec,omitempty"`
  1977  }
  1978  
  1979  func (x *GetFeatureRequest) Reset() {
  1980  	*x = GetFeatureRequest{}
  1981  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[23]
  1982  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1983  	ms.StoreMessageInfo(mi)
  1984  }
  1985  
  1986  func (x *GetFeatureRequest) String() string {
  1987  	return protoimpl.X.MessageStringOf(x)
  1988  }
  1989  
  1990  func (*GetFeatureRequest) ProtoMessage() {}
  1991  
  1992  func (x *GetFeatureRequest) ProtoReflect() protoreflect.Message {
  1993  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[23]
  1994  	if x != nil {
  1995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1996  		if ms.LoadMessageInfo() == nil {
  1997  			ms.StoreMessageInfo(mi)
  1998  		}
  1999  		return ms
  2000  	}
  2001  	return mi.MessageOf(x)
  2002  }
  2003  
  2004  // Deprecated: Use GetFeatureRequest.ProtoReflect.Descriptor instead.
  2005  func (*GetFeatureRequest) Descriptor() ([]byte, []int) {
  2006  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{23}
  2007  }
  2008  
  2009  func (x *GetFeatureRequest) GetName() string {
  2010  	if x != nil {
  2011  		return x.Name
  2012  	}
  2013  	return ""
  2014  }
  2015  
  2016  func (x *GetFeatureRequest) GetFeatureStatsAndAnomalySpec() *FeatureStatsAndAnomalySpec {
  2017  	if x != nil {
  2018  		return x.FeatureStatsAndAnomalySpec
  2019  	}
  2020  	return nil
  2021  }
  2022  
  2023  // Request message for
  2024  // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures].
  2025  // Request message for
  2026  // [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures].
  2027  type ListFeaturesRequest struct {
  2028  	state         protoimpl.MessageState
  2029  	sizeCache     protoimpl.SizeCache
  2030  	unknownFields protoimpl.UnknownFields
  2031  
  2032  	// Required. The resource name of the Location to list Features.
  2033  	// Format for entity_type as parent:
  2034  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`
  2035  	// Format for feature_group as parent:
  2036  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}`
  2037  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2038  	// Lists the Features that match the filter expression. The following
  2039  	// filters are supported:
  2040  	//
  2041  	// * `value_type`: Supports = and != comparisons.
  2042  	// * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
  2043  	// be in RFC 3339 format.
  2044  	// * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must
  2045  	// be in RFC 3339 format.
  2046  	// * `labels`: Supports key-value equality as well as key presence.
  2047  	//
  2048  	// Examples:
  2049  	//
  2050  	//   - `value_type = DOUBLE` --> Features whose type is DOUBLE.
  2051  	//   - `create_time > \"2020-01-31T15:30:00.000000Z\" OR
  2052  	//     update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created
  2053  	//     or updated after 2020-01-31T15:30:00.000000Z.
  2054  	//   - `labels.active = yes AND labels.env = prod` --> Features having both
  2055  	//     (active: yes) and (env: prod) labels.
  2056  	//   - `labels.env: *` --> Any Feature which has a label with 'env' as the
  2057  	//     key.
  2058  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2059  	// The maximum number of Features to return. The service may return fewer
  2060  	// than this value. If unspecified, at most 1000 Features will be returned.
  2061  	// The maximum value is 1000; any value greater than 1000 will be coerced to
  2062  	// 1000.
  2063  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2064  	// A page token, received from a previous
  2065  	// [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures]
  2066  	// call or
  2067  	// [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures]
  2068  	// call. Provide this to retrieve the subsequent page.
  2069  	//
  2070  	// When paginating, all other parameters provided to
  2071  	// [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures]
  2072  	// or
  2073  	// [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures]
  2074  	// must match the call that provided the page token.
  2075  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2076  	// A comma-separated list of fields to order by, sorted in ascending order.
  2077  	// Use "desc" after a field name for descending.
  2078  	// Supported fields:
  2079  	//
  2080  	//   - `feature_id`
  2081  	//   - `value_type` (Not supported for FeatureRegistry Feature)
  2082  	//   - `create_time`
  2083  	//   - `update_time`
  2084  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
  2085  	// Mask specifying which fields to read.
  2086  	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
  2087  	// Only applicable for Vertex AI Feature Store (Legacy).
  2088  	// If set, return the most recent
  2089  	// [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count]
  2090  	// of stats for each Feature in response. Valid value is [0, 10]. If number of
  2091  	// stats exists <
  2092  	// [ListFeaturesRequest.latest_stats_count][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count],
  2093  	// return all existing stats.
  2094  	LatestStatsCount int32 `protobuf:"varint,7,opt,name=latest_stats_count,json=latestStatsCount,proto3" json:"latest_stats_count,omitempty"`
  2095  }
  2096  
  2097  func (x *ListFeaturesRequest) Reset() {
  2098  	*x = ListFeaturesRequest{}
  2099  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[24]
  2100  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2101  	ms.StoreMessageInfo(mi)
  2102  }
  2103  
  2104  func (x *ListFeaturesRequest) String() string {
  2105  	return protoimpl.X.MessageStringOf(x)
  2106  }
  2107  
  2108  func (*ListFeaturesRequest) ProtoMessage() {}
  2109  
  2110  func (x *ListFeaturesRequest) ProtoReflect() protoreflect.Message {
  2111  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[24]
  2112  	if x != nil {
  2113  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2114  		if ms.LoadMessageInfo() == nil {
  2115  			ms.StoreMessageInfo(mi)
  2116  		}
  2117  		return ms
  2118  	}
  2119  	return mi.MessageOf(x)
  2120  }
  2121  
  2122  // Deprecated: Use ListFeaturesRequest.ProtoReflect.Descriptor instead.
  2123  func (*ListFeaturesRequest) Descriptor() ([]byte, []int) {
  2124  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{24}
  2125  }
  2126  
  2127  func (x *ListFeaturesRequest) GetParent() string {
  2128  	if x != nil {
  2129  		return x.Parent
  2130  	}
  2131  	return ""
  2132  }
  2133  
  2134  func (x *ListFeaturesRequest) GetFilter() string {
  2135  	if x != nil {
  2136  		return x.Filter
  2137  	}
  2138  	return ""
  2139  }
  2140  
  2141  func (x *ListFeaturesRequest) GetPageSize() int32 {
  2142  	if x != nil {
  2143  		return x.PageSize
  2144  	}
  2145  	return 0
  2146  }
  2147  
  2148  func (x *ListFeaturesRequest) GetPageToken() string {
  2149  	if x != nil {
  2150  		return x.PageToken
  2151  	}
  2152  	return ""
  2153  }
  2154  
  2155  func (x *ListFeaturesRequest) GetOrderBy() string {
  2156  	if x != nil {
  2157  		return x.OrderBy
  2158  	}
  2159  	return ""
  2160  }
  2161  
  2162  func (x *ListFeaturesRequest) GetReadMask() *fieldmaskpb.FieldMask {
  2163  	if x != nil {
  2164  		return x.ReadMask
  2165  	}
  2166  	return nil
  2167  }
  2168  
  2169  func (x *ListFeaturesRequest) GetLatestStatsCount() int32 {
  2170  	if x != nil {
  2171  		return x.LatestStatsCount
  2172  	}
  2173  	return 0
  2174  }
  2175  
  2176  // Response message for
  2177  // [FeaturestoreService.ListFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures].
  2178  // Response message for
  2179  // [FeatureRegistryService.ListFeatures][google.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures].
  2180  type ListFeaturesResponse struct {
  2181  	state         protoimpl.MessageState
  2182  	sizeCache     protoimpl.SizeCache
  2183  	unknownFields protoimpl.UnknownFields
  2184  
  2185  	// The Features matching the request.
  2186  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  2187  	// A token, which can be sent as
  2188  	// [ListFeaturesRequest.page_token][google.cloud.aiplatform.v1beta1.ListFeaturesRequest.page_token]
  2189  	// to retrieve the next page. If this field is omitted, there are no
  2190  	// subsequent pages.
  2191  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2192  }
  2193  
  2194  func (x *ListFeaturesResponse) Reset() {
  2195  	*x = ListFeaturesResponse{}
  2196  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[25]
  2197  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2198  	ms.StoreMessageInfo(mi)
  2199  }
  2200  
  2201  func (x *ListFeaturesResponse) String() string {
  2202  	return protoimpl.X.MessageStringOf(x)
  2203  }
  2204  
  2205  func (*ListFeaturesResponse) ProtoMessage() {}
  2206  
  2207  func (x *ListFeaturesResponse) ProtoReflect() protoreflect.Message {
  2208  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[25]
  2209  	if x != nil {
  2210  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2211  		if ms.LoadMessageInfo() == nil {
  2212  			ms.StoreMessageInfo(mi)
  2213  		}
  2214  		return ms
  2215  	}
  2216  	return mi.MessageOf(x)
  2217  }
  2218  
  2219  // Deprecated: Use ListFeaturesResponse.ProtoReflect.Descriptor instead.
  2220  func (*ListFeaturesResponse) Descriptor() ([]byte, []int) {
  2221  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{25}
  2222  }
  2223  
  2224  func (x *ListFeaturesResponse) GetFeatures() []*Feature {
  2225  	if x != nil {
  2226  		return x.Features
  2227  	}
  2228  	return nil
  2229  }
  2230  
  2231  func (x *ListFeaturesResponse) GetNextPageToken() string {
  2232  	if x != nil {
  2233  		return x.NextPageToken
  2234  	}
  2235  	return ""
  2236  }
  2237  
  2238  // Request message for
  2239  // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures].
  2240  type SearchFeaturesRequest struct {
  2241  	state         protoimpl.MessageState
  2242  	sizeCache     protoimpl.SizeCache
  2243  	unknownFields protoimpl.UnknownFields
  2244  
  2245  	// Required. The resource name of the Location to search Features.
  2246  	// Format:
  2247  	// `projects/{project}/locations/{location}`
  2248  	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
  2249  	// Query string that is a conjunction of field-restricted queries and/or
  2250  	// field-restricted filters.  Field-restricted queries and filters can be
  2251  	// combined using `AND` to form a conjunction.
  2252  	//
  2253  	// A field query is in the form FIELD:QUERY. This implicitly checks if QUERY
  2254  	// exists as a substring within Feature's FIELD. The QUERY
  2255  	// and the FIELD are converted to a sequence of words (i.e. tokens) for
  2256  	// comparison. This is done by:
  2257  	//
  2258  	//   - Removing leading/trailing whitespace and tokenizing the search value.
  2259  	//     Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore
  2260  	//     `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated
  2261  	//     as a wildcard that matches characters within a token.
  2262  	//   - Ignoring case.
  2263  	//   - Prepending an asterisk to the first and appending an asterisk to the
  2264  	//     last token in QUERY.
  2265  	//
  2266  	// A QUERY must be either a singular token or a phrase. A phrase is one or
  2267  	// multiple words enclosed in double quotation marks ("). With phrases, the
  2268  	// order of the words is important. Words in the phrase must be matching in
  2269  	// order and consecutively.
  2270  	//
  2271  	// Supported FIELDs for field-restricted queries:
  2272  	//
  2273  	// * `feature_id`
  2274  	// * `description`
  2275  	// * `entity_type_id`
  2276  	//
  2277  	// Examples:
  2278  	//
  2279  	// * `feature_id: foo` --> Matches a Feature with ID containing the substring
  2280  	// `foo` (eg. `foo`, `foofeature`, `barfoo`).
  2281  	// * `feature_id: foo*feature` --> Matches a Feature with ID containing the
  2282  	// substring `foo*feature` (eg. `foobarfeature`).
  2283  	// * `feature_id: foo AND description: bar` --> Matches a Feature with ID
  2284  	// containing the substring `foo` and description containing the substring
  2285  	// `bar`.
  2286  	//
  2287  	// Besides field queries, the following exact-match filters are
  2288  	// supported. The exact-match filters do not support wildcards. Unlike
  2289  	// field-restricted queries, exact-match filters are case-sensitive.
  2290  	//
  2291  	// * `feature_id`: Supports = comparisons.
  2292  	// * `description`: Supports = comparisons. Multi-token filters should be
  2293  	// enclosed in quotes.
  2294  	// * `entity_type_id`: Supports = comparisons.
  2295  	// * `value_type`: Supports = and != comparisons.
  2296  	// * `labels`: Supports key-value equality as well as key presence.
  2297  	// * `featurestore_id`: Supports = comparisons.
  2298  	//
  2299  	// Examples:
  2300  	//
  2301  	// * `description = "foo bar"` --> Any Feature with description exactly equal
  2302  	// to `foo bar`
  2303  	//   - `value_type = DOUBLE` --> Features whose type is DOUBLE.
  2304  	//   - `labels.active = yes AND labels.env = prod` --> Features having both
  2305  	//     (active: yes) and (env: prod) labels.
  2306  	//   - `labels.env: *` --> Any Feature which has a label with `env` as the
  2307  	//     key.
  2308  	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
  2309  	// The maximum number of Features to return. The service may return fewer
  2310  	// than this value. If unspecified, at most 100 Features will be returned.
  2311  	// The maximum value is 100; any value greater than 100 will be coerced to
  2312  	// 100.
  2313  	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2314  	// A page token, received from a previous
  2315  	// [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures]
  2316  	// call. Provide this to retrieve the subsequent page.
  2317  	//
  2318  	// When paginating, all other parameters provided to
  2319  	// [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures],
  2320  	// except `page_size`, must match the call that provided the page token.
  2321  	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2322  }
  2323  
  2324  func (x *SearchFeaturesRequest) Reset() {
  2325  	*x = SearchFeaturesRequest{}
  2326  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[26]
  2327  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2328  	ms.StoreMessageInfo(mi)
  2329  }
  2330  
  2331  func (x *SearchFeaturesRequest) String() string {
  2332  	return protoimpl.X.MessageStringOf(x)
  2333  }
  2334  
  2335  func (*SearchFeaturesRequest) ProtoMessage() {}
  2336  
  2337  func (x *SearchFeaturesRequest) ProtoReflect() protoreflect.Message {
  2338  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[26]
  2339  	if x != nil {
  2340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2341  		if ms.LoadMessageInfo() == nil {
  2342  			ms.StoreMessageInfo(mi)
  2343  		}
  2344  		return ms
  2345  	}
  2346  	return mi.MessageOf(x)
  2347  }
  2348  
  2349  // Deprecated: Use SearchFeaturesRequest.ProtoReflect.Descriptor instead.
  2350  func (*SearchFeaturesRequest) Descriptor() ([]byte, []int) {
  2351  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{26}
  2352  }
  2353  
  2354  func (x *SearchFeaturesRequest) GetLocation() string {
  2355  	if x != nil {
  2356  		return x.Location
  2357  	}
  2358  	return ""
  2359  }
  2360  
  2361  func (x *SearchFeaturesRequest) GetQuery() string {
  2362  	if x != nil {
  2363  		return x.Query
  2364  	}
  2365  	return ""
  2366  }
  2367  
  2368  func (x *SearchFeaturesRequest) GetPageSize() int32 {
  2369  	if x != nil {
  2370  		return x.PageSize
  2371  	}
  2372  	return 0
  2373  }
  2374  
  2375  func (x *SearchFeaturesRequest) GetPageToken() string {
  2376  	if x != nil {
  2377  		return x.PageToken
  2378  	}
  2379  	return ""
  2380  }
  2381  
  2382  // Response message for
  2383  // [FeaturestoreService.SearchFeatures][google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures].
  2384  type SearchFeaturesResponse struct {
  2385  	state         protoimpl.MessageState
  2386  	sizeCache     protoimpl.SizeCache
  2387  	unknownFields protoimpl.UnknownFields
  2388  
  2389  	// The Features matching the request.
  2390  	//
  2391  	// Fields returned:
  2392  	//
  2393  	//   - `name`
  2394  	//   - `description`
  2395  	//   - `labels`
  2396  	//   - `create_time`
  2397  	//   - `update_time`
  2398  	Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"`
  2399  	// A token, which can be sent as
  2400  	// [SearchFeaturesRequest.page_token][google.cloud.aiplatform.v1beta1.SearchFeaturesRequest.page_token]
  2401  	// to retrieve the next page. If this field is omitted, there are no
  2402  	// subsequent pages.
  2403  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2404  }
  2405  
  2406  func (x *SearchFeaturesResponse) Reset() {
  2407  	*x = SearchFeaturesResponse{}
  2408  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[27]
  2409  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2410  	ms.StoreMessageInfo(mi)
  2411  }
  2412  
  2413  func (x *SearchFeaturesResponse) String() string {
  2414  	return protoimpl.X.MessageStringOf(x)
  2415  }
  2416  
  2417  func (*SearchFeaturesResponse) ProtoMessage() {}
  2418  
  2419  func (x *SearchFeaturesResponse) ProtoReflect() protoreflect.Message {
  2420  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[27]
  2421  	if x != nil {
  2422  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2423  		if ms.LoadMessageInfo() == nil {
  2424  			ms.StoreMessageInfo(mi)
  2425  		}
  2426  		return ms
  2427  	}
  2428  	return mi.MessageOf(x)
  2429  }
  2430  
  2431  // Deprecated: Use SearchFeaturesResponse.ProtoReflect.Descriptor instead.
  2432  func (*SearchFeaturesResponse) Descriptor() ([]byte, []int) {
  2433  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{27}
  2434  }
  2435  
  2436  func (x *SearchFeaturesResponse) GetFeatures() []*Feature {
  2437  	if x != nil {
  2438  		return x.Features
  2439  	}
  2440  	return nil
  2441  }
  2442  
  2443  func (x *SearchFeaturesResponse) GetNextPageToken() string {
  2444  	if x != nil {
  2445  		return x.NextPageToken
  2446  	}
  2447  	return ""
  2448  }
  2449  
  2450  // Request message for
  2451  // [FeaturestoreService.UpdateFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature].
  2452  // Request message for
  2453  // [FeatureRegistryService.UpdateFeature][google.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature].
  2454  type UpdateFeatureRequest struct {
  2455  	state         protoimpl.MessageState
  2456  	sizeCache     protoimpl.SizeCache
  2457  	unknownFields protoimpl.UnknownFields
  2458  
  2459  	// Required. The Feature's `name` field is used to identify the Feature to be
  2460  	// updated.
  2461  	// Format:
  2462  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
  2463  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
  2464  	Feature *Feature `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"`
  2465  	// Field mask is used to specify the fields to be overwritten in the
  2466  	// Features resource by the update.
  2467  	// The fields specified in the update_mask are relative to the resource, not
  2468  	// the full request. A field will be overwritten if it is in the mask. If the
  2469  	// user does not provide a mask then only the non-empty fields present in the
  2470  	// request will be overwritten. Set the update_mask to `*` to override all
  2471  	// fields.
  2472  	//
  2473  	// Updatable fields:
  2474  	//
  2475  	//   - `description`
  2476  	//   - `labels`
  2477  	//   - `disable_monitoring` (Not supported for FeatureRegistryService Feature)
  2478  	//   - `point_of_contact` (Not supported for FeaturestoreService FeatureStore)
  2479  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2480  }
  2481  
  2482  func (x *UpdateFeatureRequest) Reset() {
  2483  	*x = UpdateFeatureRequest{}
  2484  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[28]
  2485  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2486  	ms.StoreMessageInfo(mi)
  2487  }
  2488  
  2489  func (x *UpdateFeatureRequest) String() string {
  2490  	return protoimpl.X.MessageStringOf(x)
  2491  }
  2492  
  2493  func (*UpdateFeatureRequest) ProtoMessage() {}
  2494  
  2495  func (x *UpdateFeatureRequest) ProtoReflect() protoreflect.Message {
  2496  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[28]
  2497  	if x != nil {
  2498  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2499  		if ms.LoadMessageInfo() == nil {
  2500  			ms.StoreMessageInfo(mi)
  2501  		}
  2502  		return ms
  2503  	}
  2504  	return mi.MessageOf(x)
  2505  }
  2506  
  2507  // Deprecated: Use UpdateFeatureRequest.ProtoReflect.Descriptor instead.
  2508  func (*UpdateFeatureRequest) Descriptor() ([]byte, []int) {
  2509  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{28}
  2510  }
  2511  
  2512  func (x *UpdateFeatureRequest) GetFeature() *Feature {
  2513  	if x != nil {
  2514  		return x.Feature
  2515  	}
  2516  	return nil
  2517  }
  2518  
  2519  func (x *UpdateFeatureRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  2520  	if x != nil {
  2521  		return x.UpdateMask
  2522  	}
  2523  	return nil
  2524  }
  2525  
  2526  // Request message for
  2527  // [FeaturestoreService.DeleteFeature][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature].
  2528  // Request message for
  2529  // [FeatureRegistryService.DeleteFeature][google.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature].
  2530  type DeleteFeatureRequest struct {
  2531  	state         protoimpl.MessageState
  2532  	sizeCache     protoimpl.SizeCache
  2533  	unknownFields protoimpl.UnknownFields
  2534  
  2535  	// Required. The name of the Features to be deleted.
  2536  	// Format:
  2537  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}`
  2538  	// `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`
  2539  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2540  }
  2541  
  2542  func (x *DeleteFeatureRequest) Reset() {
  2543  	*x = DeleteFeatureRequest{}
  2544  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[29]
  2545  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2546  	ms.StoreMessageInfo(mi)
  2547  }
  2548  
  2549  func (x *DeleteFeatureRequest) String() string {
  2550  	return protoimpl.X.MessageStringOf(x)
  2551  }
  2552  
  2553  func (*DeleteFeatureRequest) ProtoMessage() {}
  2554  
  2555  func (x *DeleteFeatureRequest) ProtoReflect() protoreflect.Message {
  2556  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[29]
  2557  	if x != nil {
  2558  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2559  		if ms.LoadMessageInfo() == nil {
  2560  			ms.StoreMessageInfo(mi)
  2561  		}
  2562  		return ms
  2563  	}
  2564  	return mi.MessageOf(x)
  2565  }
  2566  
  2567  // Deprecated: Use DeleteFeatureRequest.ProtoReflect.Descriptor instead.
  2568  func (*DeleteFeatureRequest) Descriptor() ([]byte, []int) {
  2569  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{29}
  2570  }
  2571  
  2572  func (x *DeleteFeatureRequest) GetName() string {
  2573  	if x != nil {
  2574  		return x.Name
  2575  	}
  2576  	return ""
  2577  }
  2578  
  2579  // Details of operations that perform create Featurestore.
  2580  type CreateFeaturestoreOperationMetadata struct {
  2581  	state         protoimpl.MessageState
  2582  	sizeCache     protoimpl.SizeCache
  2583  	unknownFields protoimpl.UnknownFields
  2584  
  2585  	// Operation metadata for Featurestore.
  2586  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2587  }
  2588  
  2589  func (x *CreateFeaturestoreOperationMetadata) Reset() {
  2590  	*x = CreateFeaturestoreOperationMetadata{}
  2591  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[30]
  2592  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2593  	ms.StoreMessageInfo(mi)
  2594  }
  2595  
  2596  func (x *CreateFeaturestoreOperationMetadata) String() string {
  2597  	return protoimpl.X.MessageStringOf(x)
  2598  }
  2599  
  2600  func (*CreateFeaturestoreOperationMetadata) ProtoMessage() {}
  2601  
  2602  func (x *CreateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message {
  2603  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[30]
  2604  	if x != nil {
  2605  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2606  		if ms.LoadMessageInfo() == nil {
  2607  			ms.StoreMessageInfo(mi)
  2608  		}
  2609  		return ms
  2610  	}
  2611  	return mi.MessageOf(x)
  2612  }
  2613  
  2614  // Deprecated: Use CreateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead.
  2615  func (*CreateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) {
  2616  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{30}
  2617  }
  2618  
  2619  func (x *CreateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2620  	if x != nil {
  2621  		return x.GenericMetadata
  2622  	}
  2623  	return nil
  2624  }
  2625  
  2626  // Details of operations that perform update Featurestore.
  2627  type UpdateFeaturestoreOperationMetadata struct {
  2628  	state         protoimpl.MessageState
  2629  	sizeCache     protoimpl.SizeCache
  2630  	unknownFields protoimpl.UnknownFields
  2631  
  2632  	// Operation metadata for Featurestore.
  2633  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2634  }
  2635  
  2636  func (x *UpdateFeaturestoreOperationMetadata) Reset() {
  2637  	*x = UpdateFeaturestoreOperationMetadata{}
  2638  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[31]
  2639  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2640  	ms.StoreMessageInfo(mi)
  2641  }
  2642  
  2643  func (x *UpdateFeaturestoreOperationMetadata) String() string {
  2644  	return protoimpl.X.MessageStringOf(x)
  2645  }
  2646  
  2647  func (*UpdateFeaturestoreOperationMetadata) ProtoMessage() {}
  2648  
  2649  func (x *UpdateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message {
  2650  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[31]
  2651  	if x != nil {
  2652  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2653  		if ms.LoadMessageInfo() == nil {
  2654  			ms.StoreMessageInfo(mi)
  2655  		}
  2656  		return ms
  2657  	}
  2658  	return mi.MessageOf(x)
  2659  }
  2660  
  2661  // Deprecated: Use UpdateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead.
  2662  func (*UpdateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) {
  2663  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{31}
  2664  }
  2665  
  2666  func (x *UpdateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2667  	if x != nil {
  2668  		return x.GenericMetadata
  2669  	}
  2670  	return nil
  2671  }
  2672  
  2673  // Details of operations that perform import Feature values.
  2674  type ImportFeatureValuesOperationMetadata struct {
  2675  	state         protoimpl.MessageState
  2676  	sizeCache     protoimpl.SizeCache
  2677  	unknownFields protoimpl.UnknownFields
  2678  
  2679  	// Operation metadata for Featurestore import Feature values.
  2680  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2681  	// Number of entities that have been imported by the operation.
  2682  	ImportedEntityCount int64 `protobuf:"varint,2,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"`
  2683  	// Number of Feature values that have been imported by the operation.
  2684  	ImportedFeatureValueCount int64 `protobuf:"varint,3,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"`
  2685  	// The source URI from where Feature values are imported.
  2686  	SourceUris []string `protobuf:"bytes,4,rep,name=source_uris,json=sourceUris,proto3" json:"source_uris,omitempty"`
  2687  	// The number of rows in input source that weren't imported due to either
  2688  	// * Not having any featureValues.
  2689  	// * Having a null entityId.
  2690  	// * Having a null timestamp.
  2691  	// * Not being parsable (applicable for CSV sources).
  2692  	InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"`
  2693  	// The number rows that weren't ingested due to having timestamps outside the
  2694  	// retention boundary.
  2695  	TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,7,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"`
  2696  	// List of ImportFeatureValues operations running under a single EntityType
  2697  	// that are blocking this operation.
  2698  	BlockingOperationIds []int64 `protobuf:"varint,8,rep,packed,name=blocking_operation_ids,json=blockingOperationIds,proto3" json:"blocking_operation_ids,omitempty"`
  2699  }
  2700  
  2701  func (x *ImportFeatureValuesOperationMetadata) Reset() {
  2702  	*x = ImportFeatureValuesOperationMetadata{}
  2703  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[32]
  2704  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2705  	ms.StoreMessageInfo(mi)
  2706  }
  2707  
  2708  func (x *ImportFeatureValuesOperationMetadata) String() string {
  2709  	return protoimpl.X.MessageStringOf(x)
  2710  }
  2711  
  2712  func (*ImportFeatureValuesOperationMetadata) ProtoMessage() {}
  2713  
  2714  func (x *ImportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2715  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[32]
  2716  	if x != nil {
  2717  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2718  		if ms.LoadMessageInfo() == nil {
  2719  			ms.StoreMessageInfo(mi)
  2720  		}
  2721  		return ms
  2722  	}
  2723  	return mi.MessageOf(x)
  2724  }
  2725  
  2726  // Deprecated: Use ImportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2727  func (*ImportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2728  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{32}
  2729  }
  2730  
  2731  func (x *ImportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2732  	if x != nil {
  2733  		return x.GenericMetadata
  2734  	}
  2735  	return nil
  2736  }
  2737  
  2738  func (x *ImportFeatureValuesOperationMetadata) GetImportedEntityCount() int64 {
  2739  	if x != nil {
  2740  		return x.ImportedEntityCount
  2741  	}
  2742  	return 0
  2743  }
  2744  
  2745  func (x *ImportFeatureValuesOperationMetadata) GetImportedFeatureValueCount() int64 {
  2746  	if x != nil {
  2747  		return x.ImportedFeatureValueCount
  2748  	}
  2749  	return 0
  2750  }
  2751  
  2752  func (x *ImportFeatureValuesOperationMetadata) GetSourceUris() []string {
  2753  	if x != nil {
  2754  		return x.SourceUris
  2755  	}
  2756  	return nil
  2757  }
  2758  
  2759  func (x *ImportFeatureValuesOperationMetadata) GetInvalidRowCount() int64 {
  2760  	if x != nil {
  2761  		return x.InvalidRowCount
  2762  	}
  2763  	return 0
  2764  }
  2765  
  2766  func (x *ImportFeatureValuesOperationMetadata) GetTimestampOutsideRetentionRowsCount() int64 {
  2767  	if x != nil {
  2768  		return x.TimestampOutsideRetentionRowsCount
  2769  	}
  2770  	return 0
  2771  }
  2772  
  2773  func (x *ImportFeatureValuesOperationMetadata) GetBlockingOperationIds() []int64 {
  2774  	if x != nil {
  2775  		return x.BlockingOperationIds
  2776  	}
  2777  	return nil
  2778  }
  2779  
  2780  // Details of operations that exports Features values.
  2781  type ExportFeatureValuesOperationMetadata struct {
  2782  	state         protoimpl.MessageState
  2783  	sizeCache     protoimpl.SizeCache
  2784  	unknownFields protoimpl.UnknownFields
  2785  
  2786  	// Operation metadata for Featurestore export Feature values.
  2787  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2788  }
  2789  
  2790  func (x *ExportFeatureValuesOperationMetadata) Reset() {
  2791  	*x = ExportFeatureValuesOperationMetadata{}
  2792  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[33]
  2793  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2794  	ms.StoreMessageInfo(mi)
  2795  }
  2796  
  2797  func (x *ExportFeatureValuesOperationMetadata) String() string {
  2798  	return protoimpl.X.MessageStringOf(x)
  2799  }
  2800  
  2801  func (*ExportFeatureValuesOperationMetadata) ProtoMessage() {}
  2802  
  2803  func (x *ExportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2804  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[33]
  2805  	if x != nil {
  2806  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2807  		if ms.LoadMessageInfo() == nil {
  2808  			ms.StoreMessageInfo(mi)
  2809  		}
  2810  		return ms
  2811  	}
  2812  	return mi.MessageOf(x)
  2813  }
  2814  
  2815  // Deprecated: Use ExportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2816  func (*ExportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2817  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{33}
  2818  }
  2819  
  2820  func (x *ExportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2821  	if x != nil {
  2822  		return x.GenericMetadata
  2823  	}
  2824  	return nil
  2825  }
  2826  
  2827  // Details of operations that batch reads Feature values.
  2828  type BatchReadFeatureValuesOperationMetadata struct {
  2829  	state         protoimpl.MessageState
  2830  	sizeCache     protoimpl.SizeCache
  2831  	unknownFields protoimpl.UnknownFields
  2832  
  2833  	// Operation metadata for Featurestore batch read Features values.
  2834  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2835  }
  2836  
  2837  func (x *BatchReadFeatureValuesOperationMetadata) Reset() {
  2838  	*x = BatchReadFeatureValuesOperationMetadata{}
  2839  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[34]
  2840  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2841  	ms.StoreMessageInfo(mi)
  2842  }
  2843  
  2844  func (x *BatchReadFeatureValuesOperationMetadata) String() string {
  2845  	return protoimpl.X.MessageStringOf(x)
  2846  }
  2847  
  2848  func (*BatchReadFeatureValuesOperationMetadata) ProtoMessage() {}
  2849  
  2850  func (x *BatchReadFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2851  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[34]
  2852  	if x != nil {
  2853  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2854  		if ms.LoadMessageInfo() == nil {
  2855  			ms.StoreMessageInfo(mi)
  2856  		}
  2857  		return ms
  2858  	}
  2859  	return mi.MessageOf(x)
  2860  }
  2861  
  2862  // Deprecated: Use BatchReadFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2863  func (*BatchReadFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2864  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{34}
  2865  }
  2866  
  2867  func (x *BatchReadFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2868  	if x != nil {
  2869  		return x.GenericMetadata
  2870  	}
  2871  	return nil
  2872  }
  2873  
  2874  // Details of operations that delete Feature values.
  2875  type DeleteFeatureValuesOperationMetadata struct {
  2876  	state         protoimpl.MessageState
  2877  	sizeCache     protoimpl.SizeCache
  2878  	unknownFields protoimpl.UnknownFields
  2879  
  2880  	// Operation metadata for Featurestore delete Features values.
  2881  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2882  }
  2883  
  2884  func (x *DeleteFeatureValuesOperationMetadata) Reset() {
  2885  	*x = DeleteFeatureValuesOperationMetadata{}
  2886  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[35]
  2887  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2888  	ms.StoreMessageInfo(mi)
  2889  }
  2890  
  2891  func (x *DeleteFeatureValuesOperationMetadata) String() string {
  2892  	return protoimpl.X.MessageStringOf(x)
  2893  }
  2894  
  2895  func (*DeleteFeatureValuesOperationMetadata) ProtoMessage() {}
  2896  
  2897  func (x *DeleteFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message {
  2898  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[35]
  2899  	if x != nil {
  2900  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2901  		if ms.LoadMessageInfo() == nil {
  2902  			ms.StoreMessageInfo(mi)
  2903  		}
  2904  		return ms
  2905  	}
  2906  	return mi.MessageOf(x)
  2907  }
  2908  
  2909  // Deprecated: Use DeleteFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead.
  2910  func (*DeleteFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) {
  2911  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{35}
  2912  }
  2913  
  2914  func (x *DeleteFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2915  	if x != nil {
  2916  		return x.GenericMetadata
  2917  	}
  2918  	return nil
  2919  }
  2920  
  2921  // Details of operations that perform create EntityType.
  2922  type CreateEntityTypeOperationMetadata struct {
  2923  	state         protoimpl.MessageState
  2924  	sizeCache     protoimpl.SizeCache
  2925  	unknownFields protoimpl.UnknownFields
  2926  
  2927  	// Operation metadata for EntityType.
  2928  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2929  }
  2930  
  2931  func (x *CreateEntityTypeOperationMetadata) Reset() {
  2932  	*x = CreateEntityTypeOperationMetadata{}
  2933  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[36]
  2934  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2935  	ms.StoreMessageInfo(mi)
  2936  }
  2937  
  2938  func (x *CreateEntityTypeOperationMetadata) String() string {
  2939  	return protoimpl.X.MessageStringOf(x)
  2940  }
  2941  
  2942  func (*CreateEntityTypeOperationMetadata) ProtoMessage() {}
  2943  
  2944  func (x *CreateEntityTypeOperationMetadata) ProtoReflect() protoreflect.Message {
  2945  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[36]
  2946  	if x != nil {
  2947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2948  		if ms.LoadMessageInfo() == nil {
  2949  			ms.StoreMessageInfo(mi)
  2950  		}
  2951  		return ms
  2952  	}
  2953  	return mi.MessageOf(x)
  2954  }
  2955  
  2956  // Deprecated: Use CreateEntityTypeOperationMetadata.ProtoReflect.Descriptor instead.
  2957  func (*CreateEntityTypeOperationMetadata) Descriptor() ([]byte, []int) {
  2958  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{36}
  2959  }
  2960  
  2961  func (x *CreateEntityTypeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  2962  	if x != nil {
  2963  		return x.GenericMetadata
  2964  	}
  2965  	return nil
  2966  }
  2967  
  2968  // Details of operations that perform create Feature.
  2969  type CreateFeatureOperationMetadata struct {
  2970  	state         protoimpl.MessageState
  2971  	sizeCache     protoimpl.SizeCache
  2972  	unknownFields protoimpl.UnknownFields
  2973  
  2974  	// Operation metadata for Feature.
  2975  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  2976  }
  2977  
  2978  func (x *CreateFeatureOperationMetadata) Reset() {
  2979  	*x = CreateFeatureOperationMetadata{}
  2980  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[37]
  2981  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2982  	ms.StoreMessageInfo(mi)
  2983  }
  2984  
  2985  func (x *CreateFeatureOperationMetadata) String() string {
  2986  	return protoimpl.X.MessageStringOf(x)
  2987  }
  2988  
  2989  func (*CreateFeatureOperationMetadata) ProtoMessage() {}
  2990  
  2991  func (x *CreateFeatureOperationMetadata) ProtoReflect() protoreflect.Message {
  2992  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[37]
  2993  	if x != nil {
  2994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2995  		if ms.LoadMessageInfo() == nil {
  2996  			ms.StoreMessageInfo(mi)
  2997  		}
  2998  		return ms
  2999  	}
  3000  	return mi.MessageOf(x)
  3001  }
  3002  
  3003  // Deprecated: Use CreateFeatureOperationMetadata.ProtoReflect.Descriptor instead.
  3004  func (*CreateFeatureOperationMetadata) Descriptor() ([]byte, []int) {
  3005  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{37}
  3006  }
  3007  
  3008  func (x *CreateFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  3009  	if x != nil {
  3010  		return x.GenericMetadata
  3011  	}
  3012  	return nil
  3013  }
  3014  
  3015  // Details of operations that perform batch create Features.
  3016  type BatchCreateFeaturesOperationMetadata struct {
  3017  	state         protoimpl.MessageState
  3018  	sizeCache     protoimpl.SizeCache
  3019  	unknownFields protoimpl.UnknownFields
  3020  
  3021  	// Operation metadata for Feature.
  3022  	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
  3023  }
  3024  
  3025  func (x *BatchCreateFeaturesOperationMetadata) Reset() {
  3026  	*x = BatchCreateFeaturesOperationMetadata{}
  3027  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[38]
  3028  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3029  	ms.StoreMessageInfo(mi)
  3030  }
  3031  
  3032  func (x *BatchCreateFeaturesOperationMetadata) String() string {
  3033  	return protoimpl.X.MessageStringOf(x)
  3034  }
  3035  
  3036  func (*BatchCreateFeaturesOperationMetadata) ProtoMessage() {}
  3037  
  3038  func (x *BatchCreateFeaturesOperationMetadata) ProtoReflect() protoreflect.Message {
  3039  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[38]
  3040  	if x != nil {
  3041  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3042  		if ms.LoadMessageInfo() == nil {
  3043  			ms.StoreMessageInfo(mi)
  3044  		}
  3045  		return ms
  3046  	}
  3047  	return mi.MessageOf(x)
  3048  }
  3049  
  3050  // Deprecated: Use BatchCreateFeaturesOperationMetadata.ProtoReflect.Descriptor instead.
  3051  func (*BatchCreateFeaturesOperationMetadata) Descriptor() ([]byte, []int) {
  3052  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{38}
  3053  }
  3054  
  3055  func (x *BatchCreateFeaturesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
  3056  	if x != nil {
  3057  		return x.GenericMetadata
  3058  	}
  3059  	return nil
  3060  }
  3061  
  3062  // Request message for
  3063  // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
  3064  type DeleteFeatureValuesRequest struct {
  3065  	state         protoimpl.MessageState
  3066  	sizeCache     protoimpl.SizeCache
  3067  	unknownFields protoimpl.UnknownFields
  3068  
  3069  	// Defines options to select feature values to be deleted.
  3070  	//
  3071  	// Types that are assignable to DeleteOption:
  3072  	//
  3073  	//	*DeleteFeatureValuesRequest_SelectEntity_
  3074  	//	*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_
  3075  	DeleteOption isDeleteFeatureValuesRequest_DeleteOption `protobuf_oneof:"DeleteOption"`
  3076  	// Required. The resource name of the EntityType grouping the Features for
  3077  	// which values are being deleted from. Format:
  3078  	// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
  3079  	EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
  3080  }
  3081  
  3082  func (x *DeleteFeatureValuesRequest) Reset() {
  3083  	*x = DeleteFeatureValuesRequest{}
  3084  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39]
  3085  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3086  	ms.StoreMessageInfo(mi)
  3087  }
  3088  
  3089  func (x *DeleteFeatureValuesRequest) String() string {
  3090  	return protoimpl.X.MessageStringOf(x)
  3091  }
  3092  
  3093  func (*DeleteFeatureValuesRequest) ProtoMessage() {}
  3094  
  3095  func (x *DeleteFeatureValuesRequest) ProtoReflect() protoreflect.Message {
  3096  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39]
  3097  	if x != nil {
  3098  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3099  		if ms.LoadMessageInfo() == nil {
  3100  			ms.StoreMessageInfo(mi)
  3101  		}
  3102  		return ms
  3103  	}
  3104  	return mi.MessageOf(x)
  3105  }
  3106  
  3107  // Deprecated: Use DeleteFeatureValuesRequest.ProtoReflect.Descriptor instead.
  3108  func (*DeleteFeatureValuesRequest) Descriptor() ([]byte, []int) {
  3109  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39}
  3110  }
  3111  
  3112  func (m *DeleteFeatureValuesRequest) GetDeleteOption() isDeleteFeatureValuesRequest_DeleteOption {
  3113  	if m != nil {
  3114  		return m.DeleteOption
  3115  	}
  3116  	return nil
  3117  }
  3118  
  3119  func (x *DeleteFeatureValuesRequest) GetSelectEntity() *DeleteFeatureValuesRequest_SelectEntity {
  3120  	if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectEntity_); ok {
  3121  		return x.SelectEntity
  3122  	}
  3123  	return nil
  3124  }
  3125  
  3126  func (x *DeleteFeatureValuesRequest) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature {
  3127  	if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_); ok {
  3128  		return x.SelectTimeRangeAndFeature
  3129  	}
  3130  	return nil
  3131  }
  3132  
  3133  func (x *DeleteFeatureValuesRequest) GetEntityType() string {
  3134  	if x != nil {
  3135  		return x.EntityType
  3136  	}
  3137  	return ""
  3138  }
  3139  
  3140  type isDeleteFeatureValuesRequest_DeleteOption interface {
  3141  	isDeleteFeatureValuesRequest_DeleteOption()
  3142  }
  3143  
  3144  type DeleteFeatureValuesRequest_SelectEntity_ struct {
  3145  	// Select feature values to be deleted by specifying entities.
  3146  	SelectEntity *DeleteFeatureValuesRequest_SelectEntity `protobuf:"bytes,2,opt,name=select_entity,json=selectEntity,proto3,oneof"`
  3147  }
  3148  
  3149  type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ struct {
  3150  	// Select feature values to be deleted by specifying time range and
  3151  	// features.
  3152  	SelectTimeRangeAndFeature *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature `protobuf:"bytes,3,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"`
  3153  }
  3154  
  3155  func (*DeleteFeatureValuesRequest_SelectEntity_) isDeleteFeatureValuesRequest_DeleteOption() {}
  3156  
  3157  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_) isDeleteFeatureValuesRequest_DeleteOption() {
  3158  }
  3159  
  3160  // Response message for
  3161  // [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
  3162  type DeleteFeatureValuesResponse struct {
  3163  	state         protoimpl.MessageState
  3164  	sizeCache     protoimpl.SizeCache
  3165  	unknownFields protoimpl.UnknownFields
  3166  
  3167  	// Response based on which delete option is specified in the
  3168  	// request
  3169  	//
  3170  	// Types that are assignable to Response:
  3171  	//
  3172  	//	*DeleteFeatureValuesResponse_SelectEntity_
  3173  	//	*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_
  3174  	Response isDeleteFeatureValuesResponse_Response `protobuf_oneof:"response"`
  3175  }
  3176  
  3177  func (x *DeleteFeatureValuesResponse) Reset() {
  3178  	*x = DeleteFeatureValuesResponse{}
  3179  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40]
  3180  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3181  	ms.StoreMessageInfo(mi)
  3182  }
  3183  
  3184  func (x *DeleteFeatureValuesResponse) String() string {
  3185  	return protoimpl.X.MessageStringOf(x)
  3186  }
  3187  
  3188  func (*DeleteFeatureValuesResponse) ProtoMessage() {}
  3189  
  3190  func (x *DeleteFeatureValuesResponse) ProtoReflect() protoreflect.Message {
  3191  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40]
  3192  	if x != nil {
  3193  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3194  		if ms.LoadMessageInfo() == nil {
  3195  			ms.StoreMessageInfo(mi)
  3196  		}
  3197  		return ms
  3198  	}
  3199  	return mi.MessageOf(x)
  3200  }
  3201  
  3202  // Deprecated: Use DeleteFeatureValuesResponse.ProtoReflect.Descriptor instead.
  3203  func (*DeleteFeatureValuesResponse) Descriptor() ([]byte, []int) {
  3204  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40}
  3205  }
  3206  
  3207  func (m *DeleteFeatureValuesResponse) GetResponse() isDeleteFeatureValuesResponse_Response {
  3208  	if m != nil {
  3209  		return m.Response
  3210  	}
  3211  	return nil
  3212  }
  3213  
  3214  func (x *DeleteFeatureValuesResponse) GetSelectEntity() *DeleteFeatureValuesResponse_SelectEntity {
  3215  	if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectEntity_); ok {
  3216  		return x.SelectEntity
  3217  	}
  3218  	return nil
  3219  }
  3220  
  3221  func (x *DeleteFeatureValuesResponse) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature {
  3222  	if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_); ok {
  3223  		return x.SelectTimeRangeAndFeature
  3224  	}
  3225  	return nil
  3226  }
  3227  
  3228  type isDeleteFeatureValuesResponse_Response interface {
  3229  	isDeleteFeatureValuesResponse_Response()
  3230  }
  3231  
  3232  type DeleteFeatureValuesResponse_SelectEntity_ struct {
  3233  	// Response for request specifying the entities to delete
  3234  	SelectEntity *DeleteFeatureValuesResponse_SelectEntity `protobuf:"bytes,1,opt,name=select_entity,json=selectEntity,proto3,oneof"`
  3235  }
  3236  
  3237  type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ struct {
  3238  	// Response for request specifying time range and feature
  3239  	SelectTimeRangeAndFeature *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature `protobuf:"bytes,2,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"`
  3240  }
  3241  
  3242  func (*DeleteFeatureValuesResponse_SelectEntity_) isDeleteFeatureValuesResponse_Response() {}
  3243  
  3244  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_) isDeleteFeatureValuesResponse_Response() {
  3245  }
  3246  
  3247  // Selector for entityId. Getting ids from the given source.
  3248  type EntityIdSelector struct {
  3249  	state         protoimpl.MessageState
  3250  	sizeCache     protoimpl.SizeCache
  3251  	unknownFields protoimpl.UnknownFields
  3252  
  3253  	// Details about the source data, including the location of the storage and
  3254  	// the format.
  3255  	//
  3256  	// Types that are assignable to EntityIdsSource:
  3257  	//
  3258  	//	*EntityIdSelector_CsvSource
  3259  	EntityIdsSource isEntityIdSelector_EntityIdsSource `protobuf_oneof:"EntityIdsSource"`
  3260  	// Source column that holds entity IDs. If not provided, entity IDs are
  3261  	// extracted from the column named entity_id.
  3262  	EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"`
  3263  }
  3264  
  3265  func (x *EntityIdSelector) Reset() {
  3266  	*x = EntityIdSelector{}
  3267  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41]
  3268  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3269  	ms.StoreMessageInfo(mi)
  3270  }
  3271  
  3272  func (x *EntityIdSelector) String() string {
  3273  	return protoimpl.X.MessageStringOf(x)
  3274  }
  3275  
  3276  func (*EntityIdSelector) ProtoMessage() {}
  3277  
  3278  func (x *EntityIdSelector) ProtoReflect() protoreflect.Message {
  3279  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41]
  3280  	if x != nil {
  3281  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3282  		if ms.LoadMessageInfo() == nil {
  3283  			ms.StoreMessageInfo(mi)
  3284  		}
  3285  		return ms
  3286  	}
  3287  	return mi.MessageOf(x)
  3288  }
  3289  
  3290  // Deprecated: Use EntityIdSelector.ProtoReflect.Descriptor instead.
  3291  func (*EntityIdSelector) Descriptor() ([]byte, []int) {
  3292  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{41}
  3293  }
  3294  
  3295  func (m *EntityIdSelector) GetEntityIdsSource() isEntityIdSelector_EntityIdsSource {
  3296  	if m != nil {
  3297  		return m.EntityIdsSource
  3298  	}
  3299  	return nil
  3300  }
  3301  
  3302  func (x *EntityIdSelector) GetCsvSource() *CsvSource {
  3303  	if x, ok := x.GetEntityIdsSource().(*EntityIdSelector_CsvSource); ok {
  3304  		return x.CsvSource
  3305  	}
  3306  	return nil
  3307  }
  3308  
  3309  func (x *EntityIdSelector) GetEntityIdField() string {
  3310  	if x != nil {
  3311  		return x.EntityIdField
  3312  	}
  3313  	return ""
  3314  }
  3315  
  3316  type isEntityIdSelector_EntityIdsSource interface {
  3317  	isEntityIdSelector_EntityIdsSource()
  3318  }
  3319  
  3320  type EntityIdSelector_CsvSource struct {
  3321  	// Source of Csv
  3322  	CsvSource *CsvSource `protobuf:"bytes,3,opt,name=csv_source,json=csvSource,proto3,oneof"`
  3323  }
  3324  
  3325  func (*EntityIdSelector_CsvSource) isEntityIdSelector_EntityIdsSource() {}
  3326  
  3327  // Defines the Feature value(s) to import.
  3328  type ImportFeatureValuesRequest_FeatureSpec struct {
  3329  	state         protoimpl.MessageState
  3330  	sizeCache     protoimpl.SizeCache
  3331  	unknownFields protoimpl.UnknownFields
  3332  
  3333  	// Required. ID of the Feature to import values of. This Feature must exist
  3334  	// in the target EntityType, or the request will fail.
  3335  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  3336  	// Source column to get the Feature values from. If not set, uses the column
  3337  	// with the same name as the Feature ID.
  3338  	SourceField string `protobuf:"bytes,2,opt,name=source_field,json=sourceField,proto3" json:"source_field,omitempty"`
  3339  }
  3340  
  3341  func (x *ImportFeatureValuesRequest_FeatureSpec) Reset() {
  3342  	*x = ImportFeatureValuesRequest_FeatureSpec{}
  3343  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[42]
  3344  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3345  	ms.StoreMessageInfo(mi)
  3346  }
  3347  
  3348  func (x *ImportFeatureValuesRequest_FeatureSpec) String() string {
  3349  	return protoimpl.X.MessageStringOf(x)
  3350  }
  3351  
  3352  func (*ImportFeatureValuesRequest_FeatureSpec) ProtoMessage() {}
  3353  
  3354  func (x *ImportFeatureValuesRequest_FeatureSpec) ProtoReflect() protoreflect.Message {
  3355  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[42]
  3356  	if x != nil {
  3357  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3358  		if ms.LoadMessageInfo() == nil {
  3359  			ms.StoreMessageInfo(mi)
  3360  		}
  3361  		return ms
  3362  	}
  3363  	return mi.MessageOf(x)
  3364  }
  3365  
  3366  // Deprecated: Use ImportFeatureValuesRequest_FeatureSpec.ProtoReflect.Descriptor instead.
  3367  func (*ImportFeatureValuesRequest_FeatureSpec) Descriptor() ([]byte, []int) {
  3368  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{6, 0}
  3369  }
  3370  
  3371  func (x *ImportFeatureValuesRequest_FeatureSpec) GetId() string {
  3372  	if x != nil {
  3373  		return x.Id
  3374  	}
  3375  	return ""
  3376  }
  3377  
  3378  func (x *ImportFeatureValuesRequest_FeatureSpec) GetSourceField() string {
  3379  	if x != nil {
  3380  		return x.SourceField
  3381  	}
  3382  	return ""
  3383  }
  3384  
  3385  // Describe pass-through fields in read_instance source.
  3386  type BatchReadFeatureValuesRequest_PassThroughField struct {
  3387  	state         protoimpl.MessageState
  3388  	sizeCache     protoimpl.SizeCache
  3389  	unknownFields protoimpl.UnknownFields
  3390  
  3391  	// Required. The name of the field in the CSV header or the name of the
  3392  	// column in BigQuery table. The naming restriction is the same as
  3393  	// [Feature.name][google.cloud.aiplatform.v1beta1.Feature.name].
  3394  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
  3395  }
  3396  
  3397  func (x *BatchReadFeatureValuesRequest_PassThroughField) Reset() {
  3398  	*x = BatchReadFeatureValuesRequest_PassThroughField{}
  3399  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[43]
  3400  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3401  	ms.StoreMessageInfo(mi)
  3402  }
  3403  
  3404  func (x *BatchReadFeatureValuesRequest_PassThroughField) String() string {
  3405  	return protoimpl.X.MessageStringOf(x)
  3406  }
  3407  
  3408  func (*BatchReadFeatureValuesRequest_PassThroughField) ProtoMessage() {}
  3409  
  3410  func (x *BatchReadFeatureValuesRequest_PassThroughField) ProtoReflect() protoreflect.Message {
  3411  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[43]
  3412  	if x != nil {
  3413  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3414  		if ms.LoadMessageInfo() == nil {
  3415  			ms.StoreMessageInfo(mi)
  3416  		}
  3417  		return ms
  3418  	}
  3419  	return mi.MessageOf(x)
  3420  }
  3421  
  3422  // Deprecated: Use BatchReadFeatureValuesRequest_PassThroughField.ProtoReflect.Descriptor instead.
  3423  func (*BatchReadFeatureValuesRequest_PassThroughField) Descriptor() ([]byte, []int) {
  3424  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8, 0}
  3425  }
  3426  
  3427  func (x *BatchReadFeatureValuesRequest_PassThroughField) GetFieldName() string {
  3428  	if x != nil {
  3429  		return x.FieldName
  3430  	}
  3431  	return ""
  3432  }
  3433  
  3434  // Selects Features of an EntityType to read values of and specifies read
  3435  // settings.
  3436  type BatchReadFeatureValuesRequest_EntityTypeSpec struct {
  3437  	state         protoimpl.MessageState
  3438  	sizeCache     protoimpl.SizeCache
  3439  	unknownFields protoimpl.UnknownFields
  3440  
  3441  	// Required. ID of the EntityType to select Features. The EntityType id is
  3442  	// the
  3443  	// [entity_type_id][google.cloud.aiplatform.v1beta1.CreateEntityTypeRequest.entity_type_id]
  3444  	// specified during EntityType creation.
  3445  	EntityTypeId string `protobuf:"bytes,1,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"`
  3446  	// Required. Selectors choosing which Feature values to read from the
  3447  	// EntityType.
  3448  	FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
  3449  	// Per-Feature settings for the batch read.
  3450  	Settings []*DestinationFeatureSetting `protobuf:"bytes,3,rep,name=settings,proto3" json:"settings,omitempty"`
  3451  }
  3452  
  3453  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) Reset() {
  3454  	*x = BatchReadFeatureValuesRequest_EntityTypeSpec{}
  3455  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[44]
  3456  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3457  	ms.StoreMessageInfo(mi)
  3458  }
  3459  
  3460  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) String() string {
  3461  	return protoimpl.X.MessageStringOf(x)
  3462  }
  3463  
  3464  func (*BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoMessage() {}
  3465  
  3466  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoReflect() protoreflect.Message {
  3467  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[44]
  3468  	if x != nil {
  3469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3470  		if ms.LoadMessageInfo() == nil {
  3471  			ms.StoreMessageInfo(mi)
  3472  		}
  3473  		return ms
  3474  	}
  3475  	return mi.MessageOf(x)
  3476  }
  3477  
  3478  // Deprecated: Use BatchReadFeatureValuesRequest_EntityTypeSpec.ProtoReflect.Descriptor instead.
  3479  func (*BatchReadFeatureValuesRequest_EntityTypeSpec) Descriptor() ([]byte, []int) {
  3480  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8, 1}
  3481  }
  3482  
  3483  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetEntityTypeId() string {
  3484  	if x != nil {
  3485  		return x.EntityTypeId
  3486  	}
  3487  	return ""
  3488  }
  3489  
  3490  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetFeatureSelector() *FeatureSelector {
  3491  	if x != nil {
  3492  		return x.FeatureSelector
  3493  	}
  3494  	return nil
  3495  }
  3496  
  3497  func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetSettings() []*DestinationFeatureSetting {
  3498  	if x != nil {
  3499  		return x.Settings
  3500  	}
  3501  	return nil
  3502  }
  3503  
  3504  // Describes exporting the latest Feature values of all entities of the
  3505  // EntityType between [start_time, snapshot_time].
  3506  type ExportFeatureValuesRequest_SnapshotExport struct {
  3507  	state         protoimpl.MessageState
  3508  	sizeCache     protoimpl.SizeCache
  3509  	unknownFields protoimpl.UnknownFields
  3510  
  3511  	// Exports Feature values as of this timestamp. If not set,
  3512  	// retrieve values as of now. Timestamp, if present, must not have higher
  3513  	// than millisecond precision.
  3514  	SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
  3515  	// Excludes Feature values with feature generation timestamp before this
  3516  	// timestamp. If not set, retrieve oldest values kept in Feature Store.
  3517  	// Timestamp, if present, must not have higher than millisecond precision.
  3518  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  3519  }
  3520  
  3521  func (x *ExportFeatureValuesRequest_SnapshotExport) Reset() {
  3522  	*x = ExportFeatureValuesRequest_SnapshotExport{}
  3523  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[45]
  3524  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3525  	ms.StoreMessageInfo(mi)
  3526  }
  3527  
  3528  func (x *ExportFeatureValuesRequest_SnapshotExport) String() string {
  3529  	return protoimpl.X.MessageStringOf(x)
  3530  }
  3531  
  3532  func (*ExportFeatureValuesRequest_SnapshotExport) ProtoMessage() {}
  3533  
  3534  func (x *ExportFeatureValuesRequest_SnapshotExport) ProtoReflect() protoreflect.Message {
  3535  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[45]
  3536  	if x != nil {
  3537  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3538  		if ms.LoadMessageInfo() == nil {
  3539  			ms.StoreMessageInfo(mi)
  3540  		}
  3541  		return ms
  3542  	}
  3543  	return mi.MessageOf(x)
  3544  }
  3545  
  3546  // Deprecated: Use ExportFeatureValuesRequest_SnapshotExport.ProtoReflect.Descriptor instead.
  3547  func (*ExportFeatureValuesRequest_SnapshotExport) Descriptor() ([]byte, []int) {
  3548  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9, 0}
  3549  }
  3550  
  3551  func (x *ExportFeatureValuesRequest_SnapshotExport) GetSnapshotTime() *timestamppb.Timestamp {
  3552  	if x != nil {
  3553  		return x.SnapshotTime
  3554  	}
  3555  	return nil
  3556  }
  3557  
  3558  func (x *ExportFeatureValuesRequest_SnapshotExport) GetStartTime() *timestamppb.Timestamp {
  3559  	if x != nil {
  3560  		return x.StartTime
  3561  	}
  3562  	return nil
  3563  }
  3564  
  3565  // Describes exporting all historical Feature values of all entities of the
  3566  // EntityType between [start_time, end_time].
  3567  type ExportFeatureValuesRequest_FullExport struct {
  3568  	state         protoimpl.MessageState
  3569  	sizeCache     protoimpl.SizeCache
  3570  	unknownFields protoimpl.UnknownFields
  3571  
  3572  	// Excludes Feature values with feature generation timestamp before this
  3573  	// timestamp. If not set, retrieve oldest values kept in Feature Store.
  3574  	// Timestamp, if present, must not have higher than millisecond precision.
  3575  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  3576  	// Exports Feature values as of this timestamp. If not set,
  3577  	// retrieve values as of now. Timestamp, if present, must not have higher
  3578  	// than millisecond precision.
  3579  	EndTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  3580  }
  3581  
  3582  func (x *ExportFeatureValuesRequest_FullExport) Reset() {
  3583  	*x = ExportFeatureValuesRequest_FullExport{}
  3584  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[46]
  3585  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3586  	ms.StoreMessageInfo(mi)
  3587  }
  3588  
  3589  func (x *ExportFeatureValuesRequest_FullExport) String() string {
  3590  	return protoimpl.X.MessageStringOf(x)
  3591  }
  3592  
  3593  func (*ExportFeatureValuesRequest_FullExport) ProtoMessage() {}
  3594  
  3595  func (x *ExportFeatureValuesRequest_FullExport) ProtoReflect() protoreflect.Message {
  3596  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[46]
  3597  	if x != nil {
  3598  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3599  		if ms.LoadMessageInfo() == nil {
  3600  			ms.StoreMessageInfo(mi)
  3601  		}
  3602  		return ms
  3603  	}
  3604  	return mi.MessageOf(x)
  3605  }
  3606  
  3607  // Deprecated: Use ExportFeatureValuesRequest_FullExport.ProtoReflect.Descriptor instead.
  3608  func (*ExportFeatureValuesRequest_FullExport) Descriptor() ([]byte, []int) {
  3609  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9, 1}
  3610  }
  3611  
  3612  func (x *ExportFeatureValuesRequest_FullExport) GetStartTime() *timestamppb.Timestamp {
  3613  	if x != nil {
  3614  		return x.StartTime
  3615  	}
  3616  	return nil
  3617  }
  3618  
  3619  func (x *ExportFeatureValuesRequest_FullExport) GetEndTime() *timestamppb.Timestamp {
  3620  	if x != nil {
  3621  		return x.EndTime
  3622  	}
  3623  	return nil
  3624  }
  3625  
  3626  // Message to select entity.
  3627  // If an entity id is selected, all the feature values corresponding to the
  3628  // entity id will be deleted, including the entityId.
  3629  type DeleteFeatureValuesRequest_SelectEntity struct {
  3630  	state         protoimpl.MessageState
  3631  	sizeCache     protoimpl.SizeCache
  3632  	unknownFields protoimpl.UnknownFields
  3633  
  3634  	// Required. Selectors choosing feature values of which entity id to be
  3635  	// deleted from the EntityType.
  3636  	EntityIdSelector *EntityIdSelector `protobuf:"bytes,1,opt,name=entity_id_selector,json=entityIdSelector,proto3" json:"entity_id_selector,omitempty"`
  3637  }
  3638  
  3639  func (x *DeleteFeatureValuesRequest_SelectEntity) Reset() {
  3640  	*x = DeleteFeatureValuesRequest_SelectEntity{}
  3641  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[47]
  3642  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3643  	ms.StoreMessageInfo(mi)
  3644  }
  3645  
  3646  func (x *DeleteFeatureValuesRequest_SelectEntity) String() string {
  3647  	return protoimpl.X.MessageStringOf(x)
  3648  }
  3649  
  3650  func (*DeleteFeatureValuesRequest_SelectEntity) ProtoMessage() {}
  3651  
  3652  func (x *DeleteFeatureValuesRequest_SelectEntity) ProtoReflect() protoreflect.Message {
  3653  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[47]
  3654  	if x != nil {
  3655  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3656  		if ms.LoadMessageInfo() == nil {
  3657  			ms.StoreMessageInfo(mi)
  3658  		}
  3659  		return ms
  3660  	}
  3661  	return mi.MessageOf(x)
  3662  }
  3663  
  3664  // Deprecated: Use DeleteFeatureValuesRequest_SelectEntity.ProtoReflect.Descriptor instead.
  3665  func (*DeleteFeatureValuesRequest_SelectEntity) Descriptor() ([]byte, []int) {
  3666  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39, 0}
  3667  }
  3668  
  3669  func (x *DeleteFeatureValuesRequest_SelectEntity) GetEntityIdSelector() *EntityIdSelector {
  3670  	if x != nil {
  3671  		return x.EntityIdSelector
  3672  	}
  3673  	return nil
  3674  }
  3675  
  3676  // Message to select time range and feature.
  3677  // Values of the selected feature generated within an inclusive time range
  3678  // will be deleted. Using this option permanently deletes the feature values
  3679  // from the specified feature IDs within the specified time range.
  3680  // This might include data from the online storage. If you want to retain
  3681  // any deleted historical data in the online storage, you must re-ingest it.
  3682  type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature struct {
  3683  	state         protoimpl.MessageState
  3684  	sizeCache     protoimpl.SizeCache
  3685  	unknownFields protoimpl.UnknownFields
  3686  
  3687  	// Required. Select feature generated within a half-inclusive time range.
  3688  	// The time range is lower inclusive and upper exclusive.
  3689  	TimeRange *interval.Interval `protobuf:"bytes,1,opt,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
  3690  	// Required. Selectors choosing which feature values to be deleted from the
  3691  	// EntityType.
  3692  	FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"`
  3693  	// If set, data will not be deleted from online storage.
  3694  	// When time range is older than the data in online storage, setting this to
  3695  	// be true will make the deletion have no impact on online serving.
  3696  	SkipOnlineStorageDelete bool `protobuf:"varint,3,opt,name=skip_online_storage_delete,json=skipOnlineStorageDelete,proto3" json:"skip_online_storage_delete,omitempty"`
  3697  }
  3698  
  3699  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Reset() {
  3700  	*x = DeleteFeatureValuesRequest_SelectTimeRangeAndFeature{}
  3701  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[48]
  3702  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3703  	ms.StoreMessageInfo(mi)
  3704  }
  3705  
  3706  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) String() string {
  3707  	return protoimpl.X.MessageStringOf(x)
  3708  }
  3709  
  3710  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoMessage() {}
  3711  
  3712  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message {
  3713  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[48]
  3714  	if x != nil {
  3715  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3716  		if ms.LoadMessageInfo() == nil {
  3717  			ms.StoreMessageInfo(mi)
  3718  		}
  3719  		return ms
  3720  	}
  3721  	return mi.MessageOf(x)
  3722  }
  3723  
  3724  // Deprecated: Use DeleteFeatureValuesRequest_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead.
  3725  func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) {
  3726  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39, 1}
  3727  }
  3728  
  3729  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetTimeRange() *interval.Interval {
  3730  	if x != nil {
  3731  		return x.TimeRange
  3732  	}
  3733  	return nil
  3734  }
  3735  
  3736  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetFeatureSelector() *FeatureSelector {
  3737  	if x != nil {
  3738  		return x.FeatureSelector
  3739  	}
  3740  	return nil
  3741  }
  3742  
  3743  func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetSkipOnlineStorageDelete() bool {
  3744  	if x != nil {
  3745  		return x.SkipOnlineStorageDelete
  3746  	}
  3747  	return false
  3748  }
  3749  
  3750  // Response message if the request uses the SelectEntity option.
  3751  type DeleteFeatureValuesResponse_SelectEntity struct {
  3752  	state         protoimpl.MessageState
  3753  	sizeCache     protoimpl.SizeCache
  3754  	unknownFields protoimpl.UnknownFields
  3755  
  3756  	// The count of deleted entity rows in the offline storage.
  3757  	// Each row corresponds to the combination of an entity ID and a timestamp.
  3758  	// One entity ID can have multiple rows in the offline storage.
  3759  	OfflineStorageDeletedEntityRowCount int64 `protobuf:"varint,1,opt,name=offline_storage_deleted_entity_row_count,json=offlineStorageDeletedEntityRowCount,proto3" json:"offline_storage_deleted_entity_row_count,omitempty"`
  3760  	// The count of deleted entities in the online storage.
  3761  	// Each entity ID corresponds to one entity.
  3762  	OnlineStorageDeletedEntityCount int64 `protobuf:"varint,2,opt,name=online_storage_deleted_entity_count,json=onlineStorageDeletedEntityCount,proto3" json:"online_storage_deleted_entity_count,omitempty"`
  3763  }
  3764  
  3765  func (x *DeleteFeatureValuesResponse_SelectEntity) Reset() {
  3766  	*x = DeleteFeatureValuesResponse_SelectEntity{}
  3767  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[49]
  3768  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3769  	ms.StoreMessageInfo(mi)
  3770  }
  3771  
  3772  func (x *DeleteFeatureValuesResponse_SelectEntity) String() string {
  3773  	return protoimpl.X.MessageStringOf(x)
  3774  }
  3775  
  3776  func (*DeleteFeatureValuesResponse_SelectEntity) ProtoMessage() {}
  3777  
  3778  func (x *DeleteFeatureValuesResponse_SelectEntity) ProtoReflect() protoreflect.Message {
  3779  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[49]
  3780  	if x != nil {
  3781  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3782  		if ms.LoadMessageInfo() == nil {
  3783  			ms.StoreMessageInfo(mi)
  3784  		}
  3785  		return ms
  3786  	}
  3787  	return mi.MessageOf(x)
  3788  }
  3789  
  3790  // Deprecated: Use DeleteFeatureValuesResponse_SelectEntity.ProtoReflect.Descriptor instead.
  3791  func (*DeleteFeatureValuesResponse_SelectEntity) Descriptor() ([]byte, []int) {
  3792  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40, 0}
  3793  }
  3794  
  3795  func (x *DeleteFeatureValuesResponse_SelectEntity) GetOfflineStorageDeletedEntityRowCount() int64 {
  3796  	if x != nil {
  3797  		return x.OfflineStorageDeletedEntityRowCount
  3798  	}
  3799  	return 0
  3800  }
  3801  
  3802  func (x *DeleteFeatureValuesResponse_SelectEntity) GetOnlineStorageDeletedEntityCount() int64 {
  3803  	if x != nil {
  3804  		return x.OnlineStorageDeletedEntityCount
  3805  	}
  3806  	return 0
  3807  }
  3808  
  3809  // Response message if the request uses the SelectTimeRangeAndFeature option.
  3810  type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature struct {
  3811  	state         protoimpl.MessageState
  3812  	sizeCache     protoimpl.SizeCache
  3813  	unknownFields protoimpl.UnknownFields
  3814  
  3815  	// The count of the features or columns impacted.
  3816  	// This is the same as the feature count in the request.
  3817  	ImpactedFeatureCount int64 `protobuf:"varint,1,opt,name=impacted_feature_count,json=impactedFeatureCount,proto3" json:"impacted_feature_count,omitempty"`
  3818  	// The count of modified entity rows in the offline storage.
  3819  	// Each row corresponds to the combination of an entity ID and a timestamp.
  3820  	// One entity ID can have multiple rows in the offline storage.
  3821  	// Within each row, only the features specified in the request are
  3822  	// deleted.
  3823  	OfflineStorageModifiedEntityRowCount int64 `protobuf:"varint,2,opt,name=offline_storage_modified_entity_row_count,json=offlineStorageModifiedEntityRowCount,proto3" json:"offline_storage_modified_entity_row_count,omitempty"`
  3824  	// The count of modified entities in the online storage.
  3825  	// Each entity ID corresponds to one entity.
  3826  	// Within each entity, only the features specified in the request are
  3827  	// deleted.
  3828  	OnlineStorageModifiedEntityCount int64 `protobuf:"varint,3,opt,name=online_storage_modified_entity_count,json=onlineStorageModifiedEntityCount,proto3" json:"online_storage_modified_entity_count,omitempty"`
  3829  }
  3830  
  3831  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Reset() {
  3832  	*x = DeleteFeatureValuesResponse_SelectTimeRangeAndFeature{}
  3833  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[50]
  3834  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3835  	ms.StoreMessageInfo(mi)
  3836  }
  3837  
  3838  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) String() string {
  3839  	return protoimpl.X.MessageStringOf(x)
  3840  }
  3841  
  3842  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoMessage() {}
  3843  
  3844  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message {
  3845  	mi := &file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[50]
  3846  	if x != nil {
  3847  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3848  		if ms.LoadMessageInfo() == nil {
  3849  			ms.StoreMessageInfo(mi)
  3850  		}
  3851  		return ms
  3852  	}
  3853  	return mi.MessageOf(x)
  3854  }
  3855  
  3856  // Deprecated: Use DeleteFeatureValuesResponse_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead.
  3857  func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) {
  3858  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40, 1}
  3859  }
  3860  
  3861  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetImpactedFeatureCount() int64 {
  3862  	if x != nil {
  3863  		return x.ImpactedFeatureCount
  3864  	}
  3865  	return 0
  3866  }
  3867  
  3868  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOfflineStorageModifiedEntityRowCount() int64 {
  3869  	if x != nil {
  3870  		return x.OfflineStorageModifiedEntityRowCount
  3871  	}
  3872  	return 0
  3873  }
  3874  
  3875  func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOnlineStorageModifiedEntityCount() int64 {
  3876  	if x != nil {
  3877  		return x.OnlineStorageModifiedEntityCount
  3878  	}
  3879  	return 0
  3880  }
  3881  
  3882  var File_google_cloud_aiplatform_v1beta1_featurestore_service_proto protoreflect.FileDescriptor
  3883  
  3884  var file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc = []byte{
  3885  	0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  3886  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  3887  	0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73,
  3888  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f,
  3889  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  3890  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67,
  3891  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  3892  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
  3893  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
  3894  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
  3895  	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
  3896  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
  3897  	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3898  	0x1a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  3899  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  3900  	0x31, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
  3901  	0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
  3902  	0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62,
  3903  	0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  3904  	0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  3905  	0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65,
  3906  	0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69,
  3907  	0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  3908  	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  3909  	0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  3910  	0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3911  	0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
  3912  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
  3913  	0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
  3914  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
  3915  	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
  3916  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  3917  	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69,
  3918  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  3919  	0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3920  	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
  3921  	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
  3922  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  3923  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
  3924  	0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  3925  	0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70,
  3926  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  3927  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  3928  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
  3929  	0x70, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3930  	0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74,
  3931  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  3932  	0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  3933  	0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  3934  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  3935  	0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52,
  3936  	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75,
  3937  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
  3938  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  3939  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  3940  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41,
  3941  	0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12,
  3942  	0x2c, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
  3943  	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66,
  3944  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x5c, 0x0a,
  3945  	0x16, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  3946  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  3947  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61,
  3948  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3949  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  3950  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x02, 0x0a, 0x18,
  3951  	0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  3952  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
  3953  	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28,
  3954  	0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
  3955  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74,
  3956  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
  3957  	0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  3958  	0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
  3959  	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
  3960  	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
  3961  	0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
  3962  	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79,
  3963  	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12,
  3964  	0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01,
  3965  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  3966  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08,
  3967  	0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73,
  3968  	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65,
  3969  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  3970  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
  3971  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  3972  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  3973  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x0d, 0x66, 0x65,
  3974  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
  3975  	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
  3976  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
  3977  	0x6b, 0x65, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65,
  3978  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  3979  	0x74, 0x12, 0x56, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  3980  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  3981  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  3982  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  3983  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61,
  3984  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
  3985  	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  3986  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3987  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
  3988  	0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x75, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  3989  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
  3990  	0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  3991  	0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61,
  3992  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  3993  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  3994  	0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
  3995  	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xef, 0x06,
  3996  	0x0a, 0x1a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  3997  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0b,
  3998  	0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  3999  	0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4000  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  4001  	0x74, 0x61, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00,
  4002  	0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0f,
  4003  	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
  4004  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4005  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4006  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
  4007  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
  4008  	0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f,
  4009  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  4010  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4011  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
  4012  	0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x53,
  4013  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4014  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
  4015  	0x09, 0x48, 0x01, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65,
  4016  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4017  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  4018  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  4019  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75,
  4020  	0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4021  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02,
  4022  	0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4023  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45,
  4024  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4025  	0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
  4026  	0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  4027  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x71, 0x0a,
  4028  	0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x08,
  4029  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4030  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4031  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61,
  4032  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4033  	0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0,
  4034  	0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73,
  4035  	0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69,
  4036  	0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
  4037  	0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
  4038  	0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
  4039  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x77, 0x6f,
  4040  	0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x69, 0x73,
  4041  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61,
  4042  	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64,
  4043  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41,
  4044  	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0x45, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75,
  4045  	0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  4046  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73,
  4047  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  4048  	0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x08,
  4049  	0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74,
  4050  	0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
  4051  	0x92, 0x02, 0x0a, 0x1b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4052  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  4053  	0x32, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69,
  4054  	0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
  4055  	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f,
  4056  	0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f,
  4057  	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f,
  4058  	0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72,
  4059  	0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43,
  4060  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f,
  4061  	0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
  4062  	0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  4063  	0x12, 0x52, 0x0a, 0x26, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75,
  4064  	0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  4065  	0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
  4066  	0x52, 0x22, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69,
  4067  	0x64, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43,
  4068  	0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9b, 0x08, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
  4069  	0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52,
  4070  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x12, 0x63, 0x73, 0x76, 0x5f, 0x72, 0x65,
  4071  	0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01,
  4072  	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4073  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  4074  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00,
  4075  	0x52, 0x10, 0x63, 0x73, 0x76, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
  4076  	0x65, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72,
  4077  	0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20,
  4078  	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4079  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4080  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f,
  4081  	0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x15, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
  4082  	0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a,
  4083  	0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20,
  4084  	0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70,
  4085  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  4086  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4087  	0x6f, 0x72, 0x65, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4088  	0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4089  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4090  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4091  	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4092  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4093  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4094  	0x6f, 0x6e, 0x12, 0x7f, 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75,
  4095  	0x67, 0x68, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4096  	0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4097  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4098  	0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75,
  4099  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  4100  	0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64,
  4101  	0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65,
  4102  	0x6c, 0x64, 0x73, 0x12, 0x7e, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79,
  4103  	0x70, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d,
  4104  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4105  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4106  	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4107  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45,
  4108  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0,
  4109  	0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70,
  4110  	0x65, 0x63, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d,
  4111  	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4112  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4113  	0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54,
  4114  	0x69, 0x6d, 0x65, 0x1a, 0x36, 0x0a, 0x10, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75,
  4115  	0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64,
  4116  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  4117  	0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xf5, 0x01, 0x0a, 0x0e,
  4118  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x29,
  4119  	0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64,
  4120  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x6e, 0x74,
  4121  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x60, 0x0a, 0x10, 0x66, 0x65, 0x61,
  4122  	0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20,
  4123  	0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4124  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4125  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c,
  4126  	0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74,
  4127  	0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x08, 0x73,
  4128  	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
  4129  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4130  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4131  	0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75,
  4132  	0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69,
  4133  	0x6e, 0x67, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69,
  4134  	0x6f, 0x6e, 0x22, 0xff, 0x06, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61,
  4135  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4136  	0x74, 0x12, 0x75, 0x0a, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x78,
  4137  	0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f,
  4138  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4139  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
  4140  	0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4141  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  4142  	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
  4143  	0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x69, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c,
  4144  	0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e,
  4145  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4146  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4147  	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  4148  	0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x45,
  4149  	0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70,
  4150  	0x6f, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79,
  4151  	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26,
  4152  	0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
  4153  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69,
  4154  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4155  	0x70, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4156  	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4157  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4158  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4159  	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4160  	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  4161  	0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73,
  4162  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e,
  4163  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4164  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4165  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42,
  4166  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c,
  4167  	0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
  4168  	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4169  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4170  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
  4171  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74,
  4172  	0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x8c, 0x01,
  4173  	0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
  4174  	0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d,
  4175  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4176  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4177  	0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d,
  4178  	0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  4179  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  4180  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  4181  	0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x7e, 0x0a, 0x0a,
  4182  	0x46, 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74,
  4183  	0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  4184  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  4185  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
  4186  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,
  4187  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4188  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  4189  	0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04,
  4190  	0x6d, 0x6f, 0x64, 0x65, 0x22, 0x6c, 0x0a, 0x19, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
  4191  	0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
  4192  	0x67, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18,
  4193  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74,
  4194  	0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
  4195  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  4196  	0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65,
  4197  	0x6c, 0x64, 0x22, 0xda, 0x02, 0x0a, 0x17, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4198  	0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69,
  4199  	0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69,
  4200  	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
  4201  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4202  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42,
  4203  	0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
  4204  	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65,
  4205  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x14, 0x74, 0x66, 0x72,
  4206  	0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  4207  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4208  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4209  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x46, 0x52, 0x65, 0x63, 0x6f,
  4210  	0x72, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
  4211  	0x13, 0x74, 0x66, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
  4212  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x0f, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x73, 0x74,
  4213  	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
  4214  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4215  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4216  	0x43, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
  4217  	0x52, 0x0e, 0x63, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4218  	0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
  4219  	0x1d, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4220  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20,
  4221  	0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75,
  4222  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  4223  	0x22, 0xda, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4224  	0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06,
  4225  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41,
  4226  	0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4227  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  4228  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61,
  4229  	0x72, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74,
  4230  	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4231  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4232  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69,
  4233  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4234  	0x70, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70,
  4235  	0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  4236  	0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x58, 0x0a,
  4237  	0x14, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65,
  4238  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  4239  	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70,
  4240  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  4241  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4242  	0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74,
  4243  	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  4244  	0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  4245  	0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x12, 0x24, 0x61, 0x69, 0x70, 0x6c,
  4246  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  4247  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4248  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
  4249  	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  4250  	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
  4251  	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a,
  4252  	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
  4253  	0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08,
  4254  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  4255  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
  4256  	0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  4257  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
  4258  	0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b,
  4259  	0x22, 0x91, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4260  	0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0c,
  4261  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
  4262  	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4263  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  4264  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
  4265  	0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f,
  4266  	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
  4267  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
  4268  	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
  4269  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  4270  	0x12, 0x51, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
  4271  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4272  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4273  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4274  	0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4275  	0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
  4276  	0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4277  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  4278  	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b,
  4279  	0x22, 0x71, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4280  	0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e,
  4281  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  4282  	0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f,
  4283  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74,
  4284  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
  4285  	0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
  4286  	0x72, 0x63, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65,
  4287  	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06,
  4288  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41,
  4289  	0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4290  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  4291  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
  4292  	0x47, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  4293  	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4294  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4295  	0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  4296  	0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74,
  4297  	0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  4298  	0x02, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a,
  4299  	0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74,
  4300  	0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70,
  4301  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
  4302  	0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4303  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46,
  4304  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56,
  4305  	0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  4306  	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4307  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4308  	0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4309  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65,
  4310  	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43,
  4311  	0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73,
  4312  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4313  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4314  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4315  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4316  	0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x11,
  4317  	0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4318  	0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  4319  	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4320  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4321  	0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  4322  	0x12, 0x84, 0x01, 0x0a, 0x1e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61,
  4323  	0x74, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x73,
  4324  	0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4325  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4326  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  4327  	0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x41, 0x6e, 0x6f, 0x6d, 0x61,
  4328  	0x6c, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x66, 0x65, 0x61,
  4329  	0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x41, 0x6e, 0x6f, 0x6d,
  4330  	0x61, 0x6c, 0x79, 0x53, 0x70, 0x65, 0x63, 0x22, 0xae, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
  4331  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  4332  	0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  4333  	0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4334  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4335  	0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
  4336  	0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
  4337  	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
  4338  	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
  4339  	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
  4340  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67,
  4341  	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f,
  4342  	0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42,
  4343  	0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06,
  4344  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4345  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
  4346  	0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61,
  4347  	0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  4348  	0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74,
  4349  	0x61, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73,
  4350  	0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  4351  	0x65, 0x12, 0x44, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20,
  4352  	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4353  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4354  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66,
  4355  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
  4356  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  4357  	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
  4358  	0xb0, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4359  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
  4360  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
  4361  	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67,
  4362  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f,
  4363  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4364  	0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  4365  	0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
  4366  	0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
  4367  	0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
  4368  	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
  4369  	0x65, 0x6e, 0x22, 0x86, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61,
  4370  	0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a,
  4371  	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4372  	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4373  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4374  	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
  4375  	0x72, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
  4376  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
  4377  	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x14,
  4378  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71,
  4379  	0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
  4380  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  4381  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  4382  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42,
  4383  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a,
  4384  	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,
  4385  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  4386  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a,
  4387  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x55, 0x0a, 0x14, 0x44, 0x65,
  4388  	0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
  4389  	0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  4390  	0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4391  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  4392  	0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  4393  	0x65, 0x22, 0x8b, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74,
  4394  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  4395  	0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e,
  4396  	0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
  4397  	0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4398  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4399  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65,
  4400  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f,
  4401  	0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22,
  4402  	0x8b, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4403  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  4404  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72,
  4405  	0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
  4406  	0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4407  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  4408  	0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4409  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65,
  4410  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd8, 0x03,
  4411  	0x0a, 0x24, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4412  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4413  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
  4414  	0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4415  	0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4416  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4417  	0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4418  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e,
  4419  	0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15,
  4420  	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
  4421  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6d, 0x70,
  4422  	0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  4423  	0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61,
  4424  	0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  4425  	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
  4426  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e,
  4427  	0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73,
  4428  	0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72,
  4429  	0x69, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x6f,
  4430  	0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69,
  4431  	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52,
  4432  	0x0a, 0x26, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x73,
  4433  	0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f,
  4434  	0x77, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22,
  4435  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65,
  4436  	0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x75,
  4437  	0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f,
  4438  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03,
  4439  	0x28, 0x03, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72,
  4440  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x24, 0x45, 0x78, 0x70,
  4441  	0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4442  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  4443  	0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74,
  4444  	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f,
  4445  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4446  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65,
  4447  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4448  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d,
  4449  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63,
  4450  	0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
  4451  	0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
  4452  	0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d,
  4453  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e,
  4454  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4455  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4456  	0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4457  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
  4458  	0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, 0x24, 0x44, 0x65,
  4459  	0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
  4460  	0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
  4461  	0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65,
  4462  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67,
  4463  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4464  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47,
  4465  	0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  4466  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63,
  4467  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65,
  4468  	0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x70, 0x65,
  4469  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64,
  4470  	0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
  4471  	0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4472  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4473  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
  4474  	0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
  4475  	0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61,
  4476  	0x64, 0x61, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46,
  4477  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
  4478  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72,
  4479  	0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
  4480  	0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4481  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  4482  	0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4483  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65,
  4484  	0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01,
  4485  	0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61,
  4486  	0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
  4487  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69,
  4488  	0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  4489  	0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4490  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4491  	0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4492  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e,
  4493  	0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf6, 0x05, 0x0a,
  4494  	0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61,
  4495  	0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x0d, 0x73,
  4496  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
  4497  	0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4498  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  4499  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
  4500  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
  4501  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c,
  4502  	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x99, 0x01, 0x0a,
  4503  	0x1d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e,
  4504  	0x67, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03,
  4505  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4506  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4507  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61,
  4508  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4509  	0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67,
  4510  	0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73,
  4511  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e,
  4512  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69,
  4513  	0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0,
  4514  	0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4515  	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  4516  	0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74,
  4517  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x74, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63,
  4518  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x64, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4519  	0x79, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20,
  4520  	0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4521  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4522  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65,
  4523  	0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x6e, 0x74,
  4524  	0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xf5, 0x01,
  4525  	0x0a, 0x19, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67,
  4526  	0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x74,
  4527  	0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4528  	0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e,
  4529  	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d,
  4530  	0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4531  	0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  4532  	0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4533  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4534  	0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
  4535  	0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4536  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x6b, 0x69, 0x70,
  4537  	0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f,
  4538  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x6b,
  4539  	0x69, 0x70, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44,
  4540  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f,
  4541  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xeb, 0x05, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4542  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73,
  4543  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f,
  4544  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67,
  4545  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4546  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44,
  4547  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
  4548  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63,
  4549  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63,
  4550  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65,
  4551  	0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x6e,
  4552  	0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4553  	0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4554  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4555  	0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
  4556  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65,
  4557  	0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64,
  4558  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63,
  4559  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61,
  4560  	0x74, 0x75, 0x72, 0x65, 0x1a, 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45,
  4561  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x55, 0x0a, 0x28, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
  4562  	0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
  4563  	0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  4564  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x23, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65,
  4565  	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e,
  4566  	0x74, 0x69, 0x74, 0x79, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x23,
  4567  	0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64,
  4568  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f,
  4569  	0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e,
  4570  	0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45,
  4571  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xfa, 0x01, 0x0a, 0x19, 0x53,
  4572  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e,
  4573  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6d, 0x70, 0x61,
  4574  	0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75,
  4575  	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74,
  4576  	0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x57,
  4577  	0x0a, 0x29, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  4578  	0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4579  	0x79, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  4580  	0x03, 0x52, 0x24, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
  4581  	0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
  4582  	0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x6f, 0x6e, 0x6c, 0x69, 0x6e,
  4583  	0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
  4584  	0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  4585  	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f,
  4586  	0x72, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69,
  4587  	0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f,
  4588  	0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
  4589  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f,
  4590  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  4591  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  4592  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
  4593  	0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x53,
  4594  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
  4595  	0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  4596  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a,
  4597  	0x0f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  4598  	0x32, 0xe5, 0x2b, 0x0a, 0x13, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4599  	0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb0, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65,
  4600  	0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12,
  4601  	0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4602  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4603  	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4604  	0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f,
  4605  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
  4606  	0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xca, 0x41, 0x33,
  4607  	0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23,
  4608  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4609  	0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
  4610  	0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61,
  4611  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65,
  4612  	0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c,
  4613  	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x82,
  4614  	0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4615  	0x6f, 0x72, 0x65, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70,
  4616  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  4617  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65,
  4618  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0xc0, 0x01, 0x0a, 0x0f,
  4619  	0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12,
  4620  	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4621  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4622  	0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
  4623  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4624  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4625  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
  4626  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  4627  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4628  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4629  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4630  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd3,
  4631  	0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4632  	0x6f, 0x72, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4633  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4634  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4635  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  4636  	0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  4637  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4638  	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4639  	0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06,
  4640  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76,
  4641  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
  4642  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  4643  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4644  	0x6f, 0x72, 0x65, 0x73, 0x12, 0x9c, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46,
  4645  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f,
  4646  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4647  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70,
  4648  	0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4649  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4650  	0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65,
  4651  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65,
  4652  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x55, 0x70, 0x64, 0x61,
  4653  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70,
  4654  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda,
  4655  	0x41, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x75,
  4656  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53,
  4657  	0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x32, 0x43,
  4658  	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4659  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  4660  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  4661  	0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73,
  4662  	0x2f, 0x2a, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65,
  4663  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
  4664  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4665  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c,
  4666  	0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52,
  4667  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4668  	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
  4669  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f,
  4670  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
  4671  	0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4672  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61,
  4673  	0x6d, 0x65, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x82,
  4674  	0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
  4675  	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  4676  	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61,
  4677  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb2, 0x02,
  4678  	0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4679  	0x70, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  4680  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  4681  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
  4682  	0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
  4683  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
  4684  	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0xca, 0x41,
  4685  	0x2f, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x43,
  4686  	0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f,
  4687  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4688  	0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4689  	0x5f, 0x74, 0x79, 0x70, 0x65, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65,
  4690  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4691  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a,
  4692  	0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x44, 0x2f, 0x76,
  4693  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
  4694  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  4695  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4696  	0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
  4697  	0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4698  	0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4699  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4700  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4701  	0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f,
  4702  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4703  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e,
  4704  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
  4705  	0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4706  	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  4707  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66,
  4708  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65,
  4709  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdb, 0x01,
  4710  	0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4711  	0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4712  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  4713  	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4714  	0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f,
  4715  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4716  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73,
  4717  	0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
  4718  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82,
  4719  	0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
  4720  	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  4721  	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66,
  4722  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
  4723  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xfa, 0x01, 0x0a, 0x10,
  4724  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4725  	0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  4726  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  4727  	0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4728  	0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
  4729  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  4730  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74,
  4731  	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7f, 0xda, 0x41, 0x17, 0x65, 0x6e, 0x74, 0x69,
  4732  	0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d,
  4733  	0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4734  	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x32, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4735  	0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6e, 0x61,
  4736  	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
  4737  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4738  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  4739  	0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x81, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x6c,
  4740  	0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x2e,
  4741  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  4742  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  4743  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4744  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4745  	0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65,
  4746  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f,
  4747  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
  4748  	0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4749  	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e,
  4750  	0x61, 0x6d, 0x65, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65,
  4751  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x2a, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4752  	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  4753  	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65,
  4754  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e,
  4755  	0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa1, 0x02, 0x0a,
  4756  	0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35,
  4757  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4758  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4759  	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
  4760  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c,
  4761  	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4762  	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xca, 0x41, 0x29, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74,
  4763  	0x75, 0x72, 0x65, 0x12, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
  4764  	0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
  4765  	0x61, 0x74, 0x61, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61,
  4766  	0x74, 0x75, 0x72, 0x65, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65,
  4767  	0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64,
  4768  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22,
  4769  	0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
  4770  	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  4771  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4772  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4773  	0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4774  	0x12, 0xb2, 0x02, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
  4775  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4776  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4777  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
  4778  	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65,
  4779  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c,
  4780  	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
  4781  	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63,
  4782  	0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52,
  4783  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72,
  4784  	0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72,
  4785  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0f,
  4786  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82,
  4787  	0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x01, 0x2a, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
  4788  	0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  4789  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  4790  	0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f,
  4791  	0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
  4792  	0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43,
  4793  	0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61,
  4794  	0x74, 0x75, 0x72, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4795  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4796  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4797  	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4798  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4799  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
  4800  	0x72, 0x65, 0x22, 0x5e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  4801  	0x51, 0x12, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
  4802  	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
  4803  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4804  	0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54,
  4805  	0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f,
  4806  	0x2a, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  4807  	0x72, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4808  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4809  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  4810  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4811  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4812  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
  4813  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  4814  	0x22, 0x60, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  4815  	0x51, 0x12, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
  4816  	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
  4817  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75,
  4818  	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74,
  4819  	0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4820  	0x65, 0x73, 0x12, 0xf0, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61,
  4821  	0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  4822  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  4823  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61,
  4824  	0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f,
  4825  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4826  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65,
  4827  	0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7e, 0xda, 0x41, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4828  	0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4,
  4829  	0x93, 0x02, 0x62, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x32, 0x57, 0x2f, 0x76,
  4830  	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e,
  4831  	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  4832  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74,
  4833  	0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69,
  4834  	0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  4835  	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf9, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4836  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4837  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4838  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  4839  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
  4840  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
  4841  	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01,
  4842  	0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  4843  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65,
  4844  	0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
  4845  	0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51,
  4846  	0x2a, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
  4847  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
  4848  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
  4849  	0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79,
  4850  	0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a,
  4851  	0x7d, 0x12, 0xb2, 0x02, 0x0a, 0x13, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74,
  4852  	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4853  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  4854  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
  4855  	0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52,
  4856  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4857  	0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72,
  4858  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x49, 0x6d, 0x70,
  4859  	0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  4860  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
  4861  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65,
  4862  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41,
  4863  	0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93,
  4864  	0x02, 0x64, 0x3a, 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
  4865  	0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f,
  4866  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4867  	0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
  4868  	0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f,
  4869  	0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4870  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xb5, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68,
  4871  	0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
  4872  	0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  4873  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  4874  	0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61,
  4875  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  4876  	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
  4877  	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4878  	0x22, 0xbb, 0x01, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61,
  4879  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65,
  4880  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61,
  4881  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70,
  4882  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda,
  4883  	0x41, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x82, 0xd3,
  4884  	0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x01, 0x2a, 0x22, 0x55, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4885  	0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3d,
  4886  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  4887  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74,
  4888  	0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61,
  4889  	0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xb2,
  4890  	0x02, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  4891  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4892  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  4893  	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46,
  4894  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
  4895  	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
  4896  	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  4897  	0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
  4898  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73,
  4899  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61,
  4900  	0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  4901  	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0b, 0x65, 0x6e,
  4902  	0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a,
  4903  	0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e,
  4904  	0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  4905  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
  4906  	0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a,
  4907  	0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
  4908  	0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c,
  4909  	0x75, 0x65, 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65,
  4910  	0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f,
  4911  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4912  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65,
  4913  	0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
  4914  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4915  	0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70,
  4916  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x44,
  4917  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
  4918  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x44, 0x65, 0x6c, 0x65,
  4919  	0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f,
  4920  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  4921  	0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3,
  4922  	0xe4, 0x93, 0x02, 0x64, 0x3a, 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  4923  	0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70,
  4924  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  4925  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f,
  4926  	0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
  4927  	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75,
  4928  	0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xee, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61,
  4929  	0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f,
  4930  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  4931  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65,
  4932  	0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
  4933  	0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  4934  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  4935  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74,
  4936  	0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0xda, 0x41,
  4937  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x0e, 0x6c, 0x6f, 0x63, 0x61,
  4938  	0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49,
  4939  	0x12, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
  4940  	0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  4941  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61,
  4942  	0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63,
  4943  	0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69,
  4944  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  4945  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
  4946  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  4947  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
  4948  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xef, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d,
  4949  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  4950  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
  4951  	0x42, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65,
  4952  	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c,
  4953  	0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67,
  4954  	0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69,
  4955  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  4956  	0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70,
  4957  	0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
  4958  	0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65,
  4959  	0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
  4960  	0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31,
  4961  	0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a,
  4962  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  4963  	0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
  4964  	0x6f, 0x33,
  4965  }
  4966  
  4967  var (
  4968  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescOnce sync.Once
  4969  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc
  4970  )
  4971  
  4972  func file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP() []byte {
  4973  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescOnce.Do(func() {
  4974  		file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData)
  4975  	})
  4976  	return file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData
  4977  }
  4978  
  4979  var file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
  4980  var file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes = []any{
  4981  	(*CreateFeaturestoreRequest)(nil),                             // 0: google.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest
  4982  	(*GetFeaturestoreRequest)(nil),                                // 1: google.cloud.aiplatform.v1beta1.GetFeaturestoreRequest
  4983  	(*ListFeaturestoresRequest)(nil),                              // 2: google.cloud.aiplatform.v1beta1.ListFeaturestoresRequest
  4984  	(*ListFeaturestoresResponse)(nil),                             // 3: google.cloud.aiplatform.v1beta1.ListFeaturestoresResponse
  4985  	(*UpdateFeaturestoreRequest)(nil),                             // 4: google.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest
  4986  	(*DeleteFeaturestoreRequest)(nil),                             // 5: google.cloud.aiplatform.v1beta1.DeleteFeaturestoreRequest
  4987  	(*ImportFeatureValuesRequest)(nil),                            // 6: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest
  4988  	(*ImportFeatureValuesResponse)(nil),                           // 7: google.cloud.aiplatform.v1beta1.ImportFeatureValuesResponse
  4989  	(*BatchReadFeatureValuesRequest)(nil),                         // 8: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest
  4990  	(*ExportFeatureValuesRequest)(nil),                            // 9: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest
  4991  	(*DestinationFeatureSetting)(nil),                             // 10: google.cloud.aiplatform.v1beta1.DestinationFeatureSetting
  4992  	(*FeatureValueDestination)(nil),                               // 11: google.cloud.aiplatform.v1beta1.FeatureValueDestination
  4993  	(*ExportFeatureValuesResponse)(nil),                           // 12: google.cloud.aiplatform.v1beta1.ExportFeatureValuesResponse
  4994  	(*BatchReadFeatureValuesResponse)(nil),                        // 13: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesResponse
  4995  	(*CreateEntityTypeRequest)(nil),                               // 14: google.cloud.aiplatform.v1beta1.CreateEntityTypeRequest
  4996  	(*GetEntityTypeRequest)(nil),                                  // 15: google.cloud.aiplatform.v1beta1.GetEntityTypeRequest
  4997  	(*ListEntityTypesRequest)(nil),                                // 16: google.cloud.aiplatform.v1beta1.ListEntityTypesRequest
  4998  	(*ListEntityTypesResponse)(nil),                               // 17: google.cloud.aiplatform.v1beta1.ListEntityTypesResponse
  4999  	(*UpdateEntityTypeRequest)(nil),                               // 18: google.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest
  5000  	(*DeleteEntityTypeRequest)(nil),                               // 19: google.cloud.aiplatform.v1beta1.DeleteEntityTypeRequest
  5001  	(*CreateFeatureRequest)(nil),                                  // 20: google.cloud.aiplatform.v1beta1.CreateFeatureRequest
  5002  	(*BatchCreateFeaturesRequest)(nil),                            // 21: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest
  5003  	(*BatchCreateFeaturesResponse)(nil),                           // 22: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesResponse
  5004  	(*GetFeatureRequest)(nil),                                     // 23: google.cloud.aiplatform.v1beta1.GetFeatureRequest
  5005  	(*ListFeaturesRequest)(nil),                                   // 24: google.cloud.aiplatform.v1beta1.ListFeaturesRequest
  5006  	(*ListFeaturesResponse)(nil),                                  // 25: google.cloud.aiplatform.v1beta1.ListFeaturesResponse
  5007  	(*SearchFeaturesRequest)(nil),                                 // 26: google.cloud.aiplatform.v1beta1.SearchFeaturesRequest
  5008  	(*SearchFeaturesResponse)(nil),                                // 27: google.cloud.aiplatform.v1beta1.SearchFeaturesResponse
  5009  	(*UpdateFeatureRequest)(nil),                                  // 28: google.cloud.aiplatform.v1beta1.UpdateFeatureRequest
  5010  	(*DeleteFeatureRequest)(nil),                                  // 29: google.cloud.aiplatform.v1beta1.DeleteFeatureRequest
  5011  	(*CreateFeaturestoreOperationMetadata)(nil),                   // 30: google.cloud.aiplatform.v1beta1.CreateFeaturestoreOperationMetadata
  5012  	(*UpdateFeaturestoreOperationMetadata)(nil),                   // 31: google.cloud.aiplatform.v1beta1.UpdateFeaturestoreOperationMetadata
  5013  	(*ImportFeatureValuesOperationMetadata)(nil),                  // 32: google.cloud.aiplatform.v1beta1.ImportFeatureValuesOperationMetadata
  5014  	(*ExportFeatureValuesOperationMetadata)(nil),                  // 33: google.cloud.aiplatform.v1beta1.ExportFeatureValuesOperationMetadata
  5015  	(*BatchReadFeatureValuesOperationMetadata)(nil),               // 34: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesOperationMetadata
  5016  	(*DeleteFeatureValuesOperationMetadata)(nil),                  // 35: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesOperationMetadata
  5017  	(*CreateEntityTypeOperationMetadata)(nil),                     // 36: google.cloud.aiplatform.v1beta1.CreateEntityTypeOperationMetadata
  5018  	(*CreateFeatureOperationMetadata)(nil),                        // 37: google.cloud.aiplatform.v1beta1.CreateFeatureOperationMetadata
  5019  	(*BatchCreateFeaturesOperationMetadata)(nil),                  // 38: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesOperationMetadata
  5020  	(*DeleteFeatureValuesRequest)(nil),                            // 39: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest
  5021  	(*DeleteFeatureValuesResponse)(nil),                           // 40: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse
  5022  	(*EntityIdSelector)(nil),                                      // 41: google.cloud.aiplatform.v1beta1.EntityIdSelector
  5023  	(*ImportFeatureValuesRequest_FeatureSpec)(nil),                // 42: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.FeatureSpec
  5024  	(*BatchReadFeatureValuesRequest_PassThroughField)(nil),        // 43: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.PassThroughField
  5025  	(*BatchReadFeatureValuesRequest_EntityTypeSpec)(nil),          // 44: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec
  5026  	(*ExportFeatureValuesRequest_SnapshotExport)(nil),             // 45: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport
  5027  	(*ExportFeatureValuesRequest_FullExport)(nil),                 // 46: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport
  5028  	(*DeleteFeatureValuesRequest_SelectEntity)(nil),               // 47: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity
  5029  	(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature)(nil),  // 48: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature
  5030  	(*DeleteFeatureValuesResponse_SelectEntity)(nil),              // 49: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectEntity
  5031  	(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature)(nil), // 50: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature
  5032  	(*Featurestore)(nil),                                          // 51: google.cloud.aiplatform.v1beta1.Featurestore
  5033  	(*fieldmaskpb.FieldMask)(nil),                                 // 52: google.protobuf.FieldMask
  5034  	(*AvroSource)(nil),                                            // 53: google.cloud.aiplatform.v1beta1.AvroSource
  5035  	(*BigQuerySource)(nil),                                        // 54: google.cloud.aiplatform.v1beta1.BigQuerySource
  5036  	(*CsvSource)(nil),                                             // 55: google.cloud.aiplatform.v1beta1.CsvSource
  5037  	(*timestamppb.Timestamp)(nil),                                 // 56: google.protobuf.Timestamp
  5038  	(*FeatureSelector)(nil),                                       // 57: google.cloud.aiplatform.v1beta1.FeatureSelector
  5039  	(*BigQueryDestination)(nil),                                   // 58: google.cloud.aiplatform.v1beta1.BigQueryDestination
  5040  	(*TFRecordDestination)(nil),                                   // 59: google.cloud.aiplatform.v1beta1.TFRecordDestination
  5041  	(*CsvDestination)(nil),                                        // 60: google.cloud.aiplatform.v1beta1.CsvDestination
  5042  	(*EntityType)(nil),                                            // 61: google.cloud.aiplatform.v1beta1.EntityType
  5043  	(*Feature)(nil),                                               // 62: google.cloud.aiplatform.v1beta1.Feature
  5044  	(*FeatureStatsAndAnomalySpec)(nil),                            // 63: google.cloud.aiplatform.v1beta1.FeatureStatsAndAnomalySpec
  5045  	(*GenericOperationMetadata)(nil),                              // 64: google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5046  	(*interval.Interval)(nil),                                     // 65: google.type.Interval
  5047  	(*longrunningpb.Operation)(nil),                               // 66: google.longrunning.Operation
  5048  }
  5049  var file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs = []int32{
  5050  	51, // 0: google.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest.featurestore:type_name -> google.cloud.aiplatform.v1beta1.Featurestore
  5051  	52, // 1: google.cloud.aiplatform.v1beta1.ListFeaturestoresRequest.read_mask:type_name -> google.protobuf.FieldMask
  5052  	51, // 2: google.cloud.aiplatform.v1beta1.ListFeaturestoresResponse.featurestores:type_name -> google.cloud.aiplatform.v1beta1.Featurestore
  5053  	51, // 3: google.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest.featurestore:type_name -> google.cloud.aiplatform.v1beta1.Featurestore
  5054  	52, // 4: google.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest.update_mask:type_name -> google.protobuf.FieldMask
  5055  	53, // 5: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.avro_source:type_name -> google.cloud.aiplatform.v1beta1.AvroSource
  5056  	54, // 6: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.bigquery_source:type_name -> google.cloud.aiplatform.v1beta1.BigQuerySource
  5057  	55, // 7: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.csv_source:type_name -> google.cloud.aiplatform.v1beta1.CsvSource
  5058  	56, // 8: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.feature_time:type_name -> google.protobuf.Timestamp
  5059  	42, // 9: google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.feature_specs:type_name -> google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.FeatureSpec
  5060  	55, // 10: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.csv_read_instances:type_name -> google.cloud.aiplatform.v1beta1.CsvSource
  5061  	54, // 11: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.bigquery_read_instances:type_name -> google.cloud.aiplatform.v1beta1.BigQuerySource
  5062  	11, // 12: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.destination:type_name -> google.cloud.aiplatform.v1beta1.FeatureValueDestination
  5063  	43, // 13: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.pass_through_fields:type_name -> google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.PassThroughField
  5064  	44, // 14: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.entity_type_specs:type_name -> google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec
  5065  	56, // 15: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.start_time:type_name -> google.protobuf.Timestamp
  5066  	45, // 16: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.snapshot_export:type_name -> google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport
  5067  	46, // 17: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.full_export:type_name -> google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport
  5068  	11, // 18: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.destination:type_name -> google.cloud.aiplatform.v1beta1.FeatureValueDestination
  5069  	57, // 19: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.feature_selector:type_name -> google.cloud.aiplatform.v1beta1.FeatureSelector
  5070  	10, // 20: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.settings:type_name -> google.cloud.aiplatform.v1beta1.DestinationFeatureSetting
  5071  	58, // 21: google.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination:type_name -> google.cloud.aiplatform.v1beta1.BigQueryDestination
  5072  	59, // 22: google.cloud.aiplatform.v1beta1.FeatureValueDestination.tfrecord_destination:type_name -> google.cloud.aiplatform.v1beta1.TFRecordDestination
  5073  	60, // 23: google.cloud.aiplatform.v1beta1.FeatureValueDestination.csv_destination:type_name -> google.cloud.aiplatform.v1beta1.CsvDestination
  5074  	61, // 24: google.cloud.aiplatform.v1beta1.CreateEntityTypeRequest.entity_type:type_name -> google.cloud.aiplatform.v1beta1.EntityType
  5075  	52, // 25: google.cloud.aiplatform.v1beta1.ListEntityTypesRequest.read_mask:type_name -> google.protobuf.FieldMask
  5076  	61, // 26: google.cloud.aiplatform.v1beta1.ListEntityTypesResponse.entity_types:type_name -> google.cloud.aiplatform.v1beta1.EntityType
  5077  	61, // 27: google.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest.entity_type:type_name -> google.cloud.aiplatform.v1beta1.EntityType
  5078  	52, // 28: google.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest.update_mask:type_name -> google.protobuf.FieldMask
  5079  	62, // 29: google.cloud.aiplatform.v1beta1.CreateFeatureRequest.feature:type_name -> google.cloud.aiplatform.v1beta1.Feature
  5080  	20, // 30: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest.requests:type_name -> google.cloud.aiplatform.v1beta1.CreateFeatureRequest
  5081  	62, // 31: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1beta1.Feature
  5082  	63, // 32: google.cloud.aiplatform.v1beta1.GetFeatureRequest.feature_stats_and_anomaly_spec:type_name -> google.cloud.aiplatform.v1beta1.FeatureStatsAndAnomalySpec
  5083  	52, // 33: google.cloud.aiplatform.v1beta1.ListFeaturesRequest.read_mask:type_name -> google.protobuf.FieldMask
  5084  	62, // 34: google.cloud.aiplatform.v1beta1.ListFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1beta1.Feature
  5085  	62, // 35: google.cloud.aiplatform.v1beta1.SearchFeaturesResponse.features:type_name -> google.cloud.aiplatform.v1beta1.Feature
  5086  	62, // 36: google.cloud.aiplatform.v1beta1.UpdateFeatureRequest.feature:type_name -> google.cloud.aiplatform.v1beta1.Feature
  5087  	52, // 37: google.cloud.aiplatform.v1beta1.UpdateFeatureRequest.update_mask:type_name -> google.protobuf.FieldMask
  5088  	64, // 38: google.cloud.aiplatform.v1beta1.CreateFeaturestoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5089  	64, // 39: google.cloud.aiplatform.v1beta1.UpdateFeaturestoreOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5090  	64, // 40: google.cloud.aiplatform.v1beta1.ImportFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5091  	64, // 41: google.cloud.aiplatform.v1beta1.ExportFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5092  	64, // 42: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5093  	64, // 43: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5094  	64, // 44: google.cloud.aiplatform.v1beta1.CreateEntityTypeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5095  	64, // 45: google.cloud.aiplatform.v1beta1.CreateFeatureOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5096  	64, // 46: google.cloud.aiplatform.v1beta1.BatchCreateFeaturesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata
  5097  	47, // 47: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.select_entity:type_name -> google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity
  5098  	48, // 48: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.select_time_range_and_feature:type_name -> google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature
  5099  	49, // 49: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.select_entity:type_name -> google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectEntity
  5100  	50, // 50: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.select_time_range_and_feature:type_name -> google.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature
  5101  	55, // 51: google.cloud.aiplatform.v1beta1.EntityIdSelector.csv_source:type_name -> google.cloud.aiplatform.v1beta1.CsvSource
  5102  	57, // 52: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec.feature_selector:type_name -> google.cloud.aiplatform.v1beta1.FeatureSelector
  5103  	10, // 53: google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec.settings:type_name -> google.cloud.aiplatform.v1beta1.DestinationFeatureSetting
  5104  	56, // 54: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport.snapshot_time:type_name -> google.protobuf.Timestamp
  5105  	56, // 55: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport.start_time:type_name -> google.protobuf.Timestamp
  5106  	56, // 56: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport.start_time:type_name -> google.protobuf.Timestamp
  5107  	56, // 57: google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport.end_time:type_name -> google.protobuf.Timestamp
  5108  	41, // 58: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity.entity_id_selector:type_name -> google.cloud.aiplatform.v1beta1.EntityIdSelector
  5109  	65, // 59: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.time_range:type_name -> google.type.Interval
  5110  	57, // 60: google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.feature_selector:type_name -> google.cloud.aiplatform.v1beta1.FeatureSelector
  5111  	0,  // 61: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore:input_type -> google.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest
  5112  	1,  // 62: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore:input_type -> google.cloud.aiplatform.v1beta1.GetFeaturestoreRequest
  5113  	2,  // 63: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores:input_type -> google.cloud.aiplatform.v1beta1.ListFeaturestoresRequest
  5114  	4,  // 64: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore:input_type -> google.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest
  5115  	5,  // 65: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeaturestoreRequest
  5116  	14, // 66: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType:input_type -> google.cloud.aiplatform.v1beta1.CreateEntityTypeRequest
  5117  	15, // 67: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType:input_type -> google.cloud.aiplatform.v1beta1.GetEntityTypeRequest
  5118  	16, // 68: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes:input_type -> google.cloud.aiplatform.v1beta1.ListEntityTypesRequest
  5119  	18, // 69: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType:input_type -> google.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest
  5120  	19, // 70: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteEntityType:input_type -> google.cloud.aiplatform.v1beta1.DeleteEntityTypeRequest
  5121  	20, // 71: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature:input_type -> google.cloud.aiplatform.v1beta1.CreateFeatureRequest
  5122  	21, // 72: google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures:input_type -> google.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest
  5123  	23, // 73: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature:input_type -> google.cloud.aiplatform.v1beta1.GetFeatureRequest
  5124  	24, // 74: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures:input_type -> google.cloud.aiplatform.v1beta1.ListFeaturesRequest
  5125  	28, // 75: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature:input_type -> google.cloud.aiplatform.v1beta1.UpdateFeatureRequest
  5126  	29, // 76: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeatureRequest
  5127  	6,  // 77: google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues:input_type -> google.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest
  5128  	8,  // 78: google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues:input_type -> google.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest
  5129  	9,  // 79: google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues:input_type -> google.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest
  5130  	39, // 80: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues:input_type -> google.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest
  5131  	26, // 81: google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures:input_type -> google.cloud.aiplatform.v1beta1.SearchFeaturesRequest
  5132  	66, // 82: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore:output_type -> google.longrunning.Operation
  5133  	51, // 83: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore:output_type -> google.cloud.aiplatform.v1beta1.Featurestore
  5134  	3,  // 84: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores:output_type -> google.cloud.aiplatform.v1beta1.ListFeaturestoresResponse
  5135  	66, // 85: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore:output_type -> google.longrunning.Operation
  5136  	66, // 86: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore:output_type -> google.longrunning.Operation
  5137  	66, // 87: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType:output_type -> google.longrunning.Operation
  5138  	61, // 88: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType:output_type -> google.cloud.aiplatform.v1beta1.EntityType
  5139  	17, // 89: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes:output_type -> google.cloud.aiplatform.v1beta1.ListEntityTypesResponse
  5140  	61, // 90: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType:output_type -> google.cloud.aiplatform.v1beta1.EntityType
  5141  	66, // 91: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteEntityType:output_type -> google.longrunning.Operation
  5142  	66, // 92: google.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature:output_type -> google.longrunning.Operation
  5143  	66, // 93: google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures:output_type -> google.longrunning.Operation
  5144  	62, // 94: google.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature:output_type -> google.cloud.aiplatform.v1beta1.Feature
  5145  	25, // 95: google.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures:output_type -> google.cloud.aiplatform.v1beta1.ListFeaturesResponse
  5146  	62, // 96: google.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature:output_type -> google.cloud.aiplatform.v1beta1.Feature
  5147  	66, // 97: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature:output_type -> google.longrunning.Operation
  5148  	66, // 98: google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues:output_type -> google.longrunning.Operation
  5149  	66, // 99: google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues:output_type -> google.longrunning.Operation
  5150  	66, // 100: google.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues:output_type -> google.longrunning.Operation
  5151  	66, // 101: google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues:output_type -> google.longrunning.Operation
  5152  	27, // 102: google.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures:output_type -> google.cloud.aiplatform.v1beta1.SearchFeaturesResponse
  5153  	82, // [82:103] is the sub-list for method output_type
  5154  	61, // [61:82] is the sub-list for method input_type
  5155  	61, // [61:61] is the sub-list for extension type_name
  5156  	61, // [61:61] is the sub-list for extension extendee
  5157  	0,  // [0:61] is the sub-list for field type_name
  5158  }
  5159  
  5160  func init() { file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_init() }
  5161  func file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_init() {
  5162  	if File_google_cloud_aiplatform_v1beta1_featurestore_service_proto != nil {
  5163  		return
  5164  	}
  5165  	file_google_cloud_aiplatform_v1beta1_entity_type_proto_init()
  5166  	file_google_cloud_aiplatform_v1beta1_feature_proto_init()
  5167  	file_google_cloud_aiplatform_v1beta1_feature_monitor_proto_init()
  5168  	file_google_cloud_aiplatform_v1beta1_feature_selector_proto_init()
  5169  	file_google_cloud_aiplatform_v1beta1_featurestore_proto_init()
  5170  	file_google_cloud_aiplatform_v1beta1_io_proto_init()
  5171  	file_google_cloud_aiplatform_v1beta1_operation_proto_init()
  5172  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6].OneofWrappers = []any{
  5173  		(*ImportFeatureValuesRequest_AvroSource)(nil),
  5174  		(*ImportFeatureValuesRequest_BigquerySource)(nil),
  5175  		(*ImportFeatureValuesRequest_CsvSource)(nil),
  5176  		(*ImportFeatureValuesRequest_FeatureTimeField)(nil),
  5177  		(*ImportFeatureValuesRequest_FeatureTime)(nil),
  5178  	}
  5179  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8].OneofWrappers = []any{
  5180  		(*BatchReadFeatureValuesRequest_CsvReadInstances)(nil),
  5181  		(*BatchReadFeatureValuesRequest_BigqueryReadInstances)(nil),
  5182  	}
  5183  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9].OneofWrappers = []any{
  5184  		(*ExportFeatureValuesRequest_SnapshotExport_)(nil),
  5185  		(*ExportFeatureValuesRequest_FullExport_)(nil),
  5186  	}
  5187  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11].OneofWrappers = []any{
  5188  		(*FeatureValueDestination_BigqueryDestination)(nil),
  5189  		(*FeatureValueDestination_TfrecordDestination)(nil),
  5190  		(*FeatureValueDestination_CsvDestination)(nil),
  5191  	}
  5192  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39].OneofWrappers = []any{
  5193  		(*DeleteFeatureValuesRequest_SelectEntity_)(nil),
  5194  		(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_)(nil),
  5195  	}
  5196  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40].OneofWrappers = []any{
  5197  		(*DeleteFeatureValuesResponse_SelectEntity_)(nil),
  5198  		(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_)(nil),
  5199  	}
  5200  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41].OneofWrappers = []any{
  5201  		(*EntityIdSelector_CsvSource)(nil),
  5202  	}
  5203  	type x struct{}
  5204  	out := protoimpl.TypeBuilder{
  5205  		File: protoimpl.DescBuilder{
  5206  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  5207  			RawDescriptor: file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc,
  5208  			NumEnums:      0,
  5209  			NumMessages:   51,
  5210  			NumExtensions: 0,
  5211  			NumServices:   1,
  5212  		},
  5213  		GoTypes:           file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes,
  5214  		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs,
  5215  		MessageInfos:      file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes,
  5216  	}.Build()
  5217  	File_google_cloud_aiplatform_v1beta1_featurestore_service_proto = out.File
  5218  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc = nil
  5219  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes = nil
  5220  	file_google_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs = nil
  5221  }