cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/model_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/model_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 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 _ "google.golang.org/protobuf/types/known/emptypb" 29 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // The user accelerator quota state. 42 type RecommendSpecResponse_Recommendation_QuotaState int32 43 44 const ( 45 // Unspecified quota state. Quota information not available. 46 RecommendSpecResponse_Recommendation_QUOTA_STATE_UNSPECIFIED RecommendSpecResponse_Recommendation_QuotaState = 0 47 // User has enough accelerator quota for the machine type. 48 RecommendSpecResponse_Recommendation_QUOTA_STATE_USER_HAS_QUOTA RecommendSpecResponse_Recommendation_QuotaState = 1 49 // User does not have enough accelerator quota for the machine type. 50 RecommendSpecResponse_Recommendation_QUOTA_STATE_NO_USER_QUOTA RecommendSpecResponse_Recommendation_QuotaState = 2 51 ) 52 53 // Enum value maps for RecommendSpecResponse_Recommendation_QuotaState. 54 var ( 55 RecommendSpecResponse_Recommendation_QuotaState_name = map[int32]string{ 56 0: "QUOTA_STATE_UNSPECIFIED", 57 1: "QUOTA_STATE_USER_HAS_QUOTA", 58 2: "QUOTA_STATE_NO_USER_QUOTA", 59 } 60 RecommendSpecResponse_Recommendation_QuotaState_value = map[string]int32{ 61 "QUOTA_STATE_UNSPECIFIED": 0, 62 "QUOTA_STATE_USER_HAS_QUOTA": 1, 63 "QUOTA_STATE_NO_USER_QUOTA": 2, 64 } 65 ) 66 67 func (x RecommendSpecResponse_Recommendation_QuotaState) Enum() *RecommendSpecResponse_Recommendation_QuotaState { 68 p := new(RecommendSpecResponse_Recommendation_QuotaState) 69 *p = x 70 return p 71 } 72 73 func (x RecommendSpecResponse_Recommendation_QuotaState) String() string { 74 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 75 } 76 77 func (RecommendSpecResponse_Recommendation_QuotaState) Descriptor() protoreflect.EnumDescriptor { 78 return file_google_cloud_aiplatform_v1beta1_model_service_proto_enumTypes[0].Descriptor() 79 } 80 81 func (RecommendSpecResponse_Recommendation_QuotaState) Type() protoreflect.EnumType { 82 return &file_google_cloud_aiplatform_v1beta1_model_service_proto_enumTypes[0] 83 } 84 85 func (x RecommendSpecResponse_Recommendation_QuotaState) Number() protoreflect.EnumNumber { 86 return protoreflect.EnumNumber(x) 87 } 88 89 // Deprecated: Use RecommendSpecResponse_Recommendation_QuotaState.Descriptor instead. 90 func (RecommendSpecResponse_Recommendation_QuotaState) EnumDescriptor() ([]byte, []int) { 91 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{36, 1, 0} 92 } 93 94 // Request message for 95 // [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel]. 96 type UploadModelRequest struct { 97 state protoimpl.MessageState 98 sizeCache protoimpl.SizeCache 99 unknownFields protoimpl.UnknownFields 100 101 // Required. The resource name of the Location into which to upload the Model. 102 // Format: `projects/{project}/locations/{location}` 103 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 104 // Optional. The resource name of the model into which to upload the version. 105 // Only specify this field when uploading a new version. 106 ParentModel string `protobuf:"bytes,4,opt,name=parent_model,json=parentModel,proto3" json:"parent_model,omitempty"` 107 // Optional. The ID to use for the uploaded Model, which will become the final 108 // component of the model resource name. 109 // 110 // This value may be up to 63 characters, and valid characters are 111 // `[a-z0-9_-]`. The first character cannot be a number or hyphen. 112 ModelId string `protobuf:"bytes,5,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"` 113 // Required. The Model to create. 114 Model *Model `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 115 // Optional. The user-provided custom service account to use to do the model 116 // upload. If empty, [Vertex AI Service 117 // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 118 // will be used to access resources needed to upload the model. This account 119 // must belong to the target project where the model is uploaded to, i.e., the 120 // project specified in the `parent` field of this request and have necessary 121 // read permissions (to Google Cloud Storage, Artifact Registry, etc.). 122 ServiceAccount string `protobuf:"bytes,6,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` 123 } 124 125 func (x *UploadModelRequest) Reset() { 126 *x = UploadModelRequest{} 127 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[0] 128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 129 ms.StoreMessageInfo(mi) 130 } 131 132 func (x *UploadModelRequest) String() string { 133 return protoimpl.X.MessageStringOf(x) 134 } 135 136 func (*UploadModelRequest) ProtoMessage() {} 137 138 func (x *UploadModelRequest) ProtoReflect() protoreflect.Message { 139 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[0] 140 if x != nil { 141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 142 if ms.LoadMessageInfo() == nil { 143 ms.StoreMessageInfo(mi) 144 } 145 return ms 146 } 147 return mi.MessageOf(x) 148 } 149 150 // Deprecated: Use UploadModelRequest.ProtoReflect.Descriptor instead. 151 func (*UploadModelRequest) Descriptor() ([]byte, []int) { 152 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{0} 153 } 154 155 func (x *UploadModelRequest) GetParent() string { 156 if x != nil { 157 return x.Parent 158 } 159 return "" 160 } 161 162 func (x *UploadModelRequest) GetParentModel() string { 163 if x != nil { 164 return x.ParentModel 165 } 166 return "" 167 } 168 169 func (x *UploadModelRequest) GetModelId() string { 170 if x != nil { 171 return x.ModelId 172 } 173 return "" 174 } 175 176 func (x *UploadModelRequest) GetModel() *Model { 177 if x != nil { 178 return x.Model 179 } 180 return nil 181 } 182 183 func (x *UploadModelRequest) GetServiceAccount() string { 184 if x != nil { 185 return x.ServiceAccount 186 } 187 return "" 188 } 189 190 // Details of 191 // [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] 192 // operation. 193 type UploadModelOperationMetadata struct { 194 state protoimpl.MessageState 195 sizeCache protoimpl.SizeCache 196 unknownFields protoimpl.UnknownFields 197 198 // The common part of the operation metadata. 199 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 200 } 201 202 func (x *UploadModelOperationMetadata) Reset() { 203 *x = UploadModelOperationMetadata{} 204 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[1] 205 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 206 ms.StoreMessageInfo(mi) 207 } 208 209 func (x *UploadModelOperationMetadata) String() string { 210 return protoimpl.X.MessageStringOf(x) 211 } 212 213 func (*UploadModelOperationMetadata) ProtoMessage() {} 214 215 func (x *UploadModelOperationMetadata) ProtoReflect() protoreflect.Message { 216 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[1] 217 if x != nil { 218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 219 if ms.LoadMessageInfo() == nil { 220 ms.StoreMessageInfo(mi) 221 } 222 return ms 223 } 224 return mi.MessageOf(x) 225 } 226 227 // Deprecated: Use UploadModelOperationMetadata.ProtoReflect.Descriptor instead. 228 func (*UploadModelOperationMetadata) Descriptor() ([]byte, []int) { 229 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{1} 230 } 231 232 func (x *UploadModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 233 if x != nil { 234 return x.GenericMetadata 235 } 236 return nil 237 } 238 239 // Response message of 240 // [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel] 241 // operation. 242 type UploadModelResponse struct { 243 state protoimpl.MessageState 244 sizeCache protoimpl.SizeCache 245 unknownFields protoimpl.UnknownFields 246 247 // The name of the uploaded Model resource. 248 // Format: `projects/{project}/locations/{location}/models/{model}` 249 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 250 // Output only. The version ID of the model that is uploaded. 251 ModelVersionId string `protobuf:"bytes,2,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` 252 } 253 254 func (x *UploadModelResponse) Reset() { 255 *x = UploadModelResponse{} 256 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[2] 257 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 258 ms.StoreMessageInfo(mi) 259 } 260 261 func (x *UploadModelResponse) String() string { 262 return protoimpl.X.MessageStringOf(x) 263 } 264 265 func (*UploadModelResponse) ProtoMessage() {} 266 267 func (x *UploadModelResponse) ProtoReflect() protoreflect.Message { 268 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[2] 269 if x != nil { 270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 271 if ms.LoadMessageInfo() == nil { 272 ms.StoreMessageInfo(mi) 273 } 274 return ms 275 } 276 return mi.MessageOf(x) 277 } 278 279 // Deprecated: Use UploadModelResponse.ProtoReflect.Descriptor instead. 280 func (*UploadModelResponse) Descriptor() ([]byte, []int) { 281 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{2} 282 } 283 284 func (x *UploadModelResponse) GetModel() string { 285 if x != nil { 286 return x.Model 287 } 288 return "" 289 } 290 291 func (x *UploadModelResponse) GetModelVersionId() string { 292 if x != nil { 293 return x.ModelVersionId 294 } 295 return "" 296 } 297 298 // Request message for 299 // [ModelService.GetModel][google.cloud.aiplatform.v1beta1.ModelService.GetModel]. 300 type GetModelRequest struct { 301 state protoimpl.MessageState 302 sizeCache protoimpl.SizeCache 303 unknownFields protoimpl.UnknownFields 304 305 // Required. The name of the Model resource. 306 // Format: `projects/{project}/locations/{location}/models/{model}` 307 // 308 // In order to retrieve a specific version of the model, also provide 309 // the version ID or version alias. 310 // 311 // Example: `projects/{project}/locations/{location}/models/{model}@2` 312 // or 313 // `projects/{project}/locations/{location}/models/{model}@golden` 314 // 315 // If no version ID or alias is specified, the "default" version will be 316 // returned. The "default" version alias is created for the first version of 317 // the model, and can be moved to other versions later on. There will be 318 // exactly one default version. 319 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 320 } 321 322 func (x *GetModelRequest) Reset() { 323 *x = GetModelRequest{} 324 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[3] 325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 326 ms.StoreMessageInfo(mi) 327 } 328 329 func (x *GetModelRequest) String() string { 330 return protoimpl.X.MessageStringOf(x) 331 } 332 333 func (*GetModelRequest) ProtoMessage() {} 334 335 func (x *GetModelRequest) ProtoReflect() protoreflect.Message { 336 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[3] 337 if x != nil { 338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 339 if ms.LoadMessageInfo() == nil { 340 ms.StoreMessageInfo(mi) 341 } 342 return ms 343 } 344 return mi.MessageOf(x) 345 } 346 347 // Deprecated: Use GetModelRequest.ProtoReflect.Descriptor instead. 348 func (*GetModelRequest) Descriptor() ([]byte, []int) { 349 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{3} 350 } 351 352 func (x *GetModelRequest) GetName() string { 353 if x != nil { 354 return x.Name 355 } 356 return "" 357 } 358 359 // Request message for 360 // [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels]. 361 type ListModelsRequest struct { 362 state protoimpl.MessageState 363 sizeCache protoimpl.SizeCache 364 unknownFields protoimpl.UnknownFields 365 366 // Required. The resource name of the Location to list the Models from. 367 // Format: `projects/{project}/locations/{location}` 368 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 369 // An expression for filtering the results of the request. For field names 370 // both snake_case and camelCase are supported. 371 // 372 // - `model` supports = and !=. `model` represents the Model ID, 373 // i.e. the last segment of the Model's [resource 374 // name][google.cloud.aiplatform.v1beta1.Model.name]. 375 // - `display_name` supports = and != 376 // - `labels` supports general map functions that is: 377 // - `labels.key=value` - key:value equality 378 // - `labels.key:* or labels:key - key existence 379 // - A key including a space must be quoted. `labels."a key"`. 380 // - `base_model_name` only supports = 381 // 382 // Some examples: 383 // 384 // - `model=1234` 385 // - `displayName="myDisplayName"` 386 // - `labels.myKey="myValue"` 387 // - `baseModelName="text-bison"` 388 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 389 // The standard list page size. 390 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 391 // The standard list page token. 392 // Typically obtained via 393 // [ListModelsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelsResponse.next_page_token] 394 // of the previous 395 // [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels] 396 // call. 397 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 398 // Mask specifying which fields to read. 399 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 400 } 401 402 func (x *ListModelsRequest) Reset() { 403 *x = ListModelsRequest{} 404 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[4] 405 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 406 ms.StoreMessageInfo(mi) 407 } 408 409 func (x *ListModelsRequest) String() string { 410 return protoimpl.X.MessageStringOf(x) 411 } 412 413 func (*ListModelsRequest) ProtoMessage() {} 414 415 func (x *ListModelsRequest) ProtoReflect() protoreflect.Message { 416 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[4] 417 if x != nil { 418 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 419 if ms.LoadMessageInfo() == nil { 420 ms.StoreMessageInfo(mi) 421 } 422 return ms 423 } 424 return mi.MessageOf(x) 425 } 426 427 // Deprecated: Use ListModelsRequest.ProtoReflect.Descriptor instead. 428 func (*ListModelsRequest) Descriptor() ([]byte, []int) { 429 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{4} 430 } 431 432 func (x *ListModelsRequest) GetParent() string { 433 if x != nil { 434 return x.Parent 435 } 436 return "" 437 } 438 439 func (x *ListModelsRequest) GetFilter() string { 440 if x != nil { 441 return x.Filter 442 } 443 return "" 444 } 445 446 func (x *ListModelsRequest) GetPageSize() int32 { 447 if x != nil { 448 return x.PageSize 449 } 450 return 0 451 } 452 453 func (x *ListModelsRequest) GetPageToken() string { 454 if x != nil { 455 return x.PageToken 456 } 457 return "" 458 } 459 460 func (x *ListModelsRequest) GetReadMask() *fieldmaskpb.FieldMask { 461 if x != nil { 462 return x.ReadMask 463 } 464 return nil 465 } 466 467 // Response message for 468 // [ModelService.ListModels][google.cloud.aiplatform.v1beta1.ModelService.ListModels] 469 type ListModelsResponse struct { 470 state protoimpl.MessageState 471 sizeCache protoimpl.SizeCache 472 unknownFields protoimpl.UnknownFields 473 474 // List of Models in the requested page. 475 Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"` 476 // A token to retrieve next page of results. 477 // Pass to 478 // [ListModelsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelsRequest.page_token] 479 // to obtain that page. 480 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 481 } 482 483 func (x *ListModelsResponse) Reset() { 484 *x = ListModelsResponse{} 485 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[5] 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 487 ms.StoreMessageInfo(mi) 488 } 489 490 func (x *ListModelsResponse) String() string { 491 return protoimpl.X.MessageStringOf(x) 492 } 493 494 func (*ListModelsResponse) ProtoMessage() {} 495 496 func (x *ListModelsResponse) ProtoReflect() protoreflect.Message { 497 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[5] 498 if x != nil { 499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 500 if ms.LoadMessageInfo() == nil { 501 ms.StoreMessageInfo(mi) 502 } 503 return ms 504 } 505 return mi.MessageOf(x) 506 } 507 508 // Deprecated: Use ListModelsResponse.ProtoReflect.Descriptor instead. 509 func (*ListModelsResponse) Descriptor() ([]byte, []int) { 510 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{5} 511 } 512 513 func (x *ListModelsResponse) GetModels() []*Model { 514 if x != nil { 515 return x.Models 516 } 517 return nil 518 } 519 520 func (x *ListModelsResponse) GetNextPageToken() string { 521 if x != nil { 522 return x.NextPageToken 523 } 524 return "" 525 } 526 527 // Request message for 528 // [ModelService.ListModelVersions][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions]. 529 type ListModelVersionsRequest struct { 530 state protoimpl.MessageState 531 sizeCache protoimpl.SizeCache 532 unknownFields protoimpl.UnknownFields 533 534 // Required. The name of the model to list versions for. 535 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 536 // The standard list page size. 537 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 538 // The standard list page token. 539 // Typically obtained via 540 // [next_page_token][google.cloud.aiplatform.v1beta1.ListModelVersionsResponse.next_page_token] 541 // of the previous 542 // [ListModelVersions][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions] 543 // call. 544 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 545 // An expression for filtering the results of the request. For field names 546 // both snake_case and camelCase are supported. 547 // 548 // - `labels` supports general map functions that is: 549 // - `labels.key=value` - key:value equality 550 // - `labels.key:* or labels:key - key existence 551 // - A key including a space must be quoted. `labels."a key"`. 552 // 553 // Some examples: 554 // 555 // - `labels.myKey="myValue"` 556 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 557 // Mask specifying which fields to read. 558 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 559 // A comma-separated list of fields to order by, sorted in ascending order. 560 // Use "desc" after a field name for descending. 561 // Supported fields: 562 // 563 // - `create_time` 564 // - `update_time` 565 // 566 // Example: `update_time asc, create_time desc`. 567 OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 568 } 569 570 func (x *ListModelVersionsRequest) Reset() { 571 *x = ListModelVersionsRequest{} 572 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[6] 573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 574 ms.StoreMessageInfo(mi) 575 } 576 577 func (x *ListModelVersionsRequest) String() string { 578 return protoimpl.X.MessageStringOf(x) 579 } 580 581 func (*ListModelVersionsRequest) ProtoMessage() {} 582 583 func (x *ListModelVersionsRequest) ProtoReflect() protoreflect.Message { 584 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[6] 585 if x != nil { 586 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 587 if ms.LoadMessageInfo() == nil { 588 ms.StoreMessageInfo(mi) 589 } 590 return ms 591 } 592 return mi.MessageOf(x) 593 } 594 595 // Deprecated: Use ListModelVersionsRequest.ProtoReflect.Descriptor instead. 596 func (*ListModelVersionsRequest) Descriptor() ([]byte, []int) { 597 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{6} 598 } 599 600 func (x *ListModelVersionsRequest) GetName() string { 601 if x != nil { 602 return x.Name 603 } 604 return "" 605 } 606 607 func (x *ListModelVersionsRequest) GetPageSize() int32 { 608 if x != nil { 609 return x.PageSize 610 } 611 return 0 612 } 613 614 func (x *ListModelVersionsRequest) GetPageToken() string { 615 if x != nil { 616 return x.PageToken 617 } 618 return "" 619 } 620 621 func (x *ListModelVersionsRequest) GetFilter() string { 622 if x != nil { 623 return x.Filter 624 } 625 return "" 626 } 627 628 func (x *ListModelVersionsRequest) GetReadMask() *fieldmaskpb.FieldMask { 629 if x != nil { 630 return x.ReadMask 631 } 632 return nil 633 } 634 635 func (x *ListModelVersionsRequest) GetOrderBy() string { 636 if x != nil { 637 return x.OrderBy 638 } 639 return "" 640 } 641 642 // Response message for 643 // [ModelService.ListModelVersions][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions] 644 type ListModelVersionsResponse struct { 645 state protoimpl.MessageState 646 sizeCache protoimpl.SizeCache 647 unknownFields protoimpl.UnknownFields 648 649 // List of Model versions in the requested page. 650 // In the returned Model name field, version ID instead of regvision tag will 651 // be included. 652 Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"` 653 // A token to retrieve the next page of results. 654 // Pass to 655 // [ListModelVersionsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelVersionsRequest.page_token] 656 // to obtain that page. 657 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 658 } 659 660 func (x *ListModelVersionsResponse) Reset() { 661 *x = ListModelVersionsResponse{} 662 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[7] 663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 664 ms.StoreMessageInfo(mi) 665 } 666 667 func (x *ListModelVersionsResponse) String() string { 668 return protoimpl.X.MessageStringOf(x) 669 } 670 671 func (*ListModelVersionsResponse) ProtoMessage() {} 672 673 func (x *ListModelVersionsResponse) ProtoReflect() protoreflect.Message { 674 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[7] 675 if x != nil { 676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 677 if ms.LoadMessageInfo() == nil { 678 ms.StoreMessageInfo(mi) 679 } 680 return ms 681 } 682 return mi.MessageOf(x) 683 } 684 685 // Deprecated: Use ListModelVersionsResponse.ProtoReflect.Descriptor instead. 686 func (*ListModelVersionsResponse) Descriptor() ([]byte, []int) { 687 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{7} 688 } 689 690 func (x *ListModelVersionsResponse) GetModels() []*Model { 691 if x != nil { 692 return x.Models 693 } 694 return nil 695 } 696 697 func (x *ListModelVersionsResponse) GetNextPageToken() string { 698 if x != nil { 699 return x.NextPageToken 700 } 701 return "" 702 } 703 704 // Request message for 705 // [ModelService.ListModelVersionCheckpoints][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersionCheckpoints]. 706 type ListModelVersionCheckpointsRequest struct { 707 state protoimpl.MessageState 708 sizeCache protoimpl.SizeCache 709 unknownFields protoimpl.UnknownFields 710 711 // Required. The name of the model version to list checkpoints for. 712 // `projects/{project}/locations/{location}/models/{model}@{version}` 713 // Example: `projects/{project}/locations/{location}/models/{model}@2` 714 // or 715 // `projects/{project}/locations/{location}/models/{model}@golden` 716 // If no version ID or alias is specified, the latest version will be 717 // used. 718 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 719 // Optional. The standard list page size. 720 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 721 // Optional. The standard list page token. 722 // Typically obtained via 723 // [next_page_token][google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsResponse.next_page_token] 724 // of the previous 725 // [ListModelVersionCheckpoints][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersionCheckpoints] 726 // call. 727 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 728 } 729 730 func (x *ListModelVersionCheckpointsRequest) Reset() { 731 *x = ListModelVersionCheckpointsRequest{} 732 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[8] 733 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 734 ms.StoreMessageInfo(mi) 735 } 736 737 func (x *ListModelVersionCheckpointsRequest) String() string { 738 return protoimpl.X.MessageStringOf(x) 739 } 740 741 func (*ListModelVersionCheckpointsRequest) ProtoMessage() {} 742 743 func (x *ListModelVersionCheckpointsRequest) ProtoReflect() protoreflect.Message { 744 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[8] 745 if x != nil { 746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 747 if ms.LoadMessageInfo() == nil { 748 ms.StoreMessageInfo(mi) 749 } 750 return ms 751 } 752 return mi.MessageOf(x) 753 } 754 755 // Deprecated: Use ListModelVersionCheckpointsRequest.ProtoReflect.Descriptor instead. 756 func (*ListModelVersionCheckpointsRequest) Descriptor() ([]byte, []int) { 757 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{8} 758 } 759 760 func (x *ListModelVersionCheckpointsRequest) GetName() string { 761 if x != nil { 762 return x.Name 763 } 764 return "" 765 } 766 767 func (x *ListModelVersionCheckpointsRequest) GetPageSize() int32 { 768 if x != nil { 769 return x.PageSize 770 } 771 return 0 772 } 773 774 func (x *ListModelVersionCheckpointsRequest) GetPageToken() string { 775 if x != nil { 776 return x.PageToken 777 } 778 return "" 779 } 780 781 // A proto representation of a Spanner-stored ModelVersionCheckpoint. 782 // The meaning of the fields is equivalent to their in-Spanner counterparts. 783 type ModelVersionCheckpoint struct { 784 state protoimpl.MessageState 785 sizeCache protoimpl.SizeCache 786 unknownFields protoimpl.UnknownFields 787 788 // The ID of the checkpoint. 789 CheckpointId string `protobuf:"bytes,1,opt,name=checkpoint_id,json=checkpointId,proto3" json:"checkpoint_id,omitempty"` 790 // The epoch of the checkpoint. 791 Epoch int64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` 792 // The step of the checkpoint. 793 Step int64 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` 794 } 795 796 func (x *ModelVersionCheckpoint) Reset() { 797 *x = ModelVersionCheckpoint{} 798 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[9] 799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 800 ms.StoreMessageInfo(mi) 801 } 802 803 func (x *ModelVersionCheckpoint) String() string { 804 return protoimpl.X.MessageStringOf(x) 805 } 806 807 func (*ModelVersionCheckpoint) ProtoMessage() {} 808 809 func (x *ModelVersionCheckpoint) ProtoReflect() protoreflect.Message { 810 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[9] 811 if x != nil { 812 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 813 if ms.LoadMessageInfo() == nil { 814 ms.StoreMessageInfo(mi) 815 } 816 return ms 817 } 818 return mi.MessageOf(x) 819 } 820 821 // Deprecated: Use ModelVersionCheckpoint.ProtoReflect.Descriptor instead. 822 func (*ModelVersionCheckpoint) Descriptor() ([]byte, []int) { 823 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{9} 824 } 825 826 func (x *ModelVersionCheckpoint) GetCheckpointId() string { 827 if x != nil { 828 return x.CheckpointId 829 } 830 return "" 831 } 832 833 func (x *ModelVersionCheckpoint) GetEpoch() int64 { 834 if x != nil { 835 return x.Epoch 836 } 837 return 0 838 } 839 840 func (x *ModelVersionCheckpoint) GetStep() int64 { 841 if x != nil { 842 return x.Step 843 } 844 return 0 845 } 846 847 // Response message for 848 // [ModelService.ListModelVersionCheckpoints][google.cloud.aiplatform.v1beta1.ModelService.ListModelVersionCheckpoints] 849 type ListModelVersionCheckpointsResponse struct { 850 state protoimpl.MessageState 851 sizeCache protoimpl.SizeCache 852 unknownFields protoimpl.UnknownFields 853 854 // List of Model Version checkpoints. 855 Checkpoints []*ModelVersionCheckpoint `protobuf:"bytes,1,rep,name=checkpoints,proto3" json:"checkpoints,omitempty"` 856 // A token to retrieve the next page of results. 857 // Pass to 858 // [ListModelVersionCheckpointsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsRequest.page_token] 859 // to obtain that page. 860 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 861 } 862 863 func (x *ListModelVersionCheckpointsResponse) Reset() { 864 *x = ListModelVersionCheckpointsResponse{} 865 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[10] 866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 867 ms.StoreMessageInfo(mi) 868 } 869 870 func (x *ListModelVersionCheckpointsResponse) String() string { 871 return protoimpl.X.MessageStringOf(x) 872 } 873 874 func (*ListModelVersionCheckpointsResponse) ProtoMessage() {} 875 876 func (x *ListModelVersionCheckpointsResponse) ProtoReflect() protoreflect.Message { 877 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[10] 878 if x != nil { 879 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 880 if ms.LoadMessageInfo() == nil { 881 ms.StoreMessageInfo(mi) 882 } 883 return ms 884 } 885 return mi.MessageOf(x) 886 } 887 888 // Deprecated: Use ListModelVersionCheckpointsResponse.ProtoReflect.Descriptor instead. 889 func (*ListModelVersionCheckpointsResponse) Descriptor() ([]byte, []int) { 890 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{10} 891 } 892 893 func (x *ListModelVersionCheckpointsResponse) GetCheckpoints() []*ModelVersionCheckpoint { 894 if x != nil { 895 return x.Checkpoints 896 } 897 return nil 898 } 899 900 func (x *ListModelVersionCheckpointsResponse) GetNextPageToken() string { 901 if x != nil { 902 return x.NextPageToken 903 } 904 return "" 905 } 906 907 // Request message for 908 // [ModelService.UpdateModel][google.cloud.aiplatform.v1beta1.ModelService.UpdateModel]. 909 type UpdateModelRequest struct { 910 state protoimpl.MessageState 911 sizeCache protoimpl.SizeCache 912 unknownFields protoimpl.UnknownFields 913 914 // Required. The Model which replaces the resource on the server. 915 // When Model Versioning is enabled, the model.name will be used to determine 916 // whether to update the model or model version. 917 // 1. model.name with the @ value, e.g. models/123@1, refers to a version 918 // specific update. 919 // 2. model.name without the @ value, e.g. models/123, refers to a model 920 // update. 921 // 3. model.name with @-, e.g. models/123@-, refers to a model update. 922 // 4. Supported model fields: display_name, description; supported 923 // version-specific fields: version_description. Labels are supported in both 924 // scenarios. Both the model labels and the version labels are merged when a 925 // model is returned. When updating labels, if the request is for 926 // model-specific update, model label gets updated. Otherwise, version labels 927 // get updated. 928 // 5. A model name or model version name fields update mismatch will cause a 929 // precondition error. 930 // 6. One request cannot update both the model and the version fields. You 931 // must update them separately. 932 Model *Model `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 933 // Required. The update mask applies to the resource. 934 // For the `FieldMask` definition, see 935 // [google.protobuf.FieldMask][google.protobuf.FieldMask]. 936 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 937 } 938 939 func (x *UpdateModelRequest) Reset() { 940 *x = UpdateModelRequest{} 941 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[11] 942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 943 ms.StoreMessageInfo(mi) 944 } 945 946 func (x *UpdateModelRequest) String() string { 947 return protoimpl.X.MessageStringOf(x) 948 } 949 950 func (*UpdateModelRequest) ProtoMessage() {} 951 952 func (x *UpdateModelRequest) ProtoReflect() protoreflect.Message { 953 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[11] 954 if x != nil { 955 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 956 if ms.LoadMessageInfo() == nil { 957 ms.StoreMessageInfo(mi) 958 } 959 return ms 960 } 961 return mi.MessageOf(x) 962 } 963 964 // Deprecated: Use UpdateModelRequest.ProtoReflect.Descriptor instead. 965 func (*UpdateModelRequest) Descriptor() ([]byte, []int) { 966 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{11} 967 } 968 969 func (x *UpdateModelRequest) GetModel() *Model { 970 if x != nil { 971 return x.Model 972 } 973 return nil 974 } 975 976 func (x *UpdateModelRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 977 if x != nil { 978 return x.UpdateMask 979 } 980 return nil 981 } 982 983 // Request message for 984 // [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset]. 985 type UpdateExplanationDatasetRequest struct { 986 state protoimpl.MessageState 987 sizeCache protoimpl.SizeCache 988 unknownFields protoimpl.UnknownFields 989 990 // Required. The resource name of the Model to update. 991 // Format: `projects/{project}/locations/{location}/models/{model}` 992 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 993 // The example config containing the location of the dataset. 994 Examples *Examples `protobuf:"bytes,2,opt,name=examples,proto3" json:"examples,omitempty"` 995 } 996 997 func (x *UpdateExplanationDatasetRequest) Reset() { 998 *x = UpdateExplanationDatasetRequest{} 999 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[12] 1000 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1001 ms.StoreMessageInfo(mi) 1002 } 1003 1004 func (x *UpdateExplanationDatasetRequest) String() string { 1005 return protoimpl.X.MessageStringOf(x) 1006 } 1007 1008 func (*UpdateExplanationDatasetRequest) ProtoMessage() {} 1009 1010 func (x *UpdateExplanationDatasetRequest) ProtoReflect() protoreflect.Message { 1011 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[12] 1012 if x != nil { 1013 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1014 if ms.LoadMessageInfo() == nil { 1015 ms.StoreMessageInfo(mi) 1016 } 1017 return ms 1018 } 1019 return mi.MessageOf(x) 1020 } 1021 1022 // Deprecated: Use UpdateExplanationDatasetRequest.ProtoReflect.Descriptor instead. 1023 func (*UpdateExplanationDatasetRequest) Descriptor() ([]byte, []int) { 1024 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{12} 1025 } 1026 1027 func (x *UpdateExplanationDatasetRequest) GetModel() string { 1028 if x != nil { 1029 return x.Model 1030 } 1031 return "" 1032 } 1033 1034 func (x *UpdateExplanationDatasetRequest) GetExamples() *Examples { 1035 if x != nil { 1036 return x.Examples 1037 } 1038 return nil 1039 } 1040 1041 // Runtime operation information for 1042 // [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset]. 1043 type UpdateExplanationDatasetOperationMetadata struct { 1044 state protoimpl.MessageState 1045 sizeCache protoimpl.SizeCache 1046 unknownFields protoimpl.UnknownFields 1047 1048 // The common part of the operation metadata. 1049 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1050 } 1051 1052 func (x *UpdateExplanationDatasetOperationMetadata) Reset() { 1053 *x = UpdateExplanationDatasetOperationMetadata{} 1054 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[13] 1055 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1056 ms.StoreMessageInfo(mi) 1057 } 1058 1059 func (x *UpdateExplanationDatasetOperationMetadata) String() string { 1060 return protoimpl.X.MessageStringOf(x) 1061 } 1062 1063 func (*UpdateExplanationDatasetOperationMetadata) ProtoMessage() {} 1064 1065 func (x *UpdateExplanationDatasetOperationMetadata) ProtoReflect() protoreflect.Message { 1066 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[13] 1067 if x != nil { 1068 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1069 if ms.LoadMessageInfo() == nil { 1070 ms.StoreMessageInfo(mi) 1071 } 1072 return ms 1073 } 1074 return mi.MessageOf(x) 1075 } 1076 1077 // Deprecated: Use UpdateExplanationDatasetOperationMetadata.ProtoReflect.Descriptor instead. 1078 func (*UpdateExplanationDatasetOperationMetadata) Descriptor() ([]byte, []int) { 1079 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{13} 1080 } 1081 1082 func (x *UpdateExplanationDatasetOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1083 if x != nil { 1084 return x.GenericMetadata 1085 } 1086 return nil 1087 } 1088 1089 // Request message for 1090 // [ModelService.DeleteModel][google.cloud.aiplatform.v1beta1.ModelService.DeleteModel]. 1091 type DeleteModelRequest struct { 1092 state protoimpl.MessageState 1093 sizeCache protoimpl.SizeCache 1094 unknownFields protoimpl.UnknownFields 1095 1096 // Required. The name of the Model resource to be deleted. 1097 // Format: `projects/{project}/locations/{location}/models/{model}` 1098 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1099 } 1100 1101 func (x *DeleteModelRequest) Reset() { 1102 *x = DeleteModelRequest{} 1103 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[14] 1104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1105 ms.StoreMessageInfo(mi) 1106 } 1107 1108 func (x *DeleteModelRequest) String() string { 1109 return protoimpl.X.MessageStringOf(x) 1110 } 1111 1112 func (*DeleteModelRequest) ProtoMessage() {} 1113 1114 func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message { 1115 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[14] 1116 if x != nil { 1117 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1118 if ms.LoadMessageInfo() == nil { 1119 ms.StoreMessageInfo(mi) 1120 } 1121 return ms 1122 } 1123 return mi.MessageOf(x) 1124 } 1125 1126 // Deprecated: Use DeleteModelRequest.ProtoReflect.Descriptor instead. 1127 func (*DeleteModelRequest) Descriptor() ([]byte, []int) { 1128 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{14} 1129 } 1130 1131 func (x *DeleteModelRequest) GetName() string { 1132 if x != nil { 1133 return x.Name 1134 } 1135 return "" 1136 } 1137 1138 // Request message for 1139 // [ModelService.DeleteModelVersion][google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion]. 1140 type DeleteModelVersionRequest struct { 1141 state protoimpl.MessageState 1142 sizeCache protoimpl.SizeCache 1143 unknownFields protoimpl.UnknownFields 1144 1145 // Required. The name of the model version to be deleted, with a version ID 1146 // explicitly included. 1147 // 1148 // Example: `projects/{project}/locations/{location}/models/{model}@1234` 1149 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1150 } 1151 1152 func (x *DeleteModelVersionRequest) Reset() { 1153 *x = DeleteModelVersionRequest{} 1154 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[15] 1155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1156 ms.StoreMessageInfo(mi) 1157 } 1158 1159 func (x *DeleteModelVersionRequest) String() string { 1160 return protoimpl.X.MessageStringOf(x) 1161 } 1162 1163 func (*DeleteModelVersionRequest) ProtoMessage() {} 1164 1165 func (x *DeleteModelVersionRequest) ProtoReflect() protoreflect.Message { 1166 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[15] 1167 if x != nil { 1168 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1169 if ms.LoadMessageInfo() == nil { 1170 ms.StoreMessageInfo(mi) 1171 } 1172 return ms 1173 } 1174 return mi.MessageOf(x) 1175 } 1176 1177 // Deprecated: Use DeleteModelVersionRequest.ProtoReflect.Descriptor instead. 1178 func (*DeleteModelVersionRequest) Descriptor() ([]byte, []int) { 1179 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{15} 1180 } 1181 1182 func (x *DeleteModelVersionRequest) GetName() string { 1183 if x != nil { 1184 return x.Name 1185 } 1186 return "" 1187 } 1188 1189 // Request message for 1190 // [ModelService.MergeVersionAliases][google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases]. 1191 type MergeVersionAliasesRequest struct { 1192 state protoimpl.MessageState 1193 sizeCache protoimpl.SizeCache 1194 unknownFields protoimpl.UnknownFields 1195 1196 // Required. The name of the model version to merge aliases, with a version ID 1197 // explicitly included. 1198 // 1199 // Example: `projects/{project}/locations/{location}/models/{model}@1234` 1200 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1201 // Required. The set of version aliases to merge. 1202 // The alias should be at most 128 characters, and match 1203 // `[a-z][a-zA-Z0-9-]{0,126}[a-z-0-9]`. 1204 // Add the `-` prefix to an alias means removing that alias from the version. 1205 // `-` is NOT counted in the 128 characters. Example: `-golden` means removing 1206 // the `golden` alias from the version. 1207 // 1208 // There is NO ordering in aliases, which means 1209 // 1) The aliases returned from GetModel API might not have the exactly same 1210 // order from this MergeVersionAliases API. 2) Adding and deleting the same 1211 // alias in the request is not recommended, and the 2 operations will be 1212 // cancelled out. 1213 VersionAliases []string `protobuf:"bytes,2,rep,name=version_aliases,json=versionAliases,proto3" json:"version_aliases,omitempty"` 1214 } 1215 1216 func (x *MergeVersionAliasesRequest) Reset() { 1217 *x = MergeVersionAliasesRequest{} 1218 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[16] 1219 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1220 ms.StoreMessageInfo(mi) 1221 } 1222 1223 func (x *MergeVersionAliasesRequest) String() string { 1224 return protoimpl.X.MessageStringOf(x) 1225 } 1226 1227 func (*MergeVersionAliasesRequest) ProtoMessage() {} 1228 1229 func (x *MergeVersionAliasesRequest) ProtoReflect() protoreflect.Message { 1230 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[16] 1231 if x != nil { 1232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1233 if ms.LoadMessageInfo() == nil { 1234 ms.StoreMessageInfo(mi) 1235 } 1236 return ms 1237 } 1238 return mi.MessageOf(x) 1239 } 1240 1241 // Deprecated: Use MergeVersionAliasesRequest.ProtoReflect.Descriptor instead. 1242 func (*MergeVersionAliasesRequest) Descriptor() ([]byte, []int) { 1243 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{16} 1244 } 1245 1246 func (x *MergeVersionAliasesRequest) GetName() string { 1247 if x != nil { 1248 return x.Name 1249 } 1250 return "" 1251 } 1252 1253 func (x *MergeVersionAliasesRequest) GetVersionAliases() []string { 1254 if x != nil { 1255 return x.VersionAliases 1256 } 1257 return nil 1258 } 1259 1260 // Request message for 1261 // [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel]. 1262 type ExportModelRequest struct { 1263 state protoimpl.MessageState 1264 sizeCache protoimpl.SizeCache 1265 unknownFields protoimpl.UnknownFields 1266 1267 // Required. The resource name of the Model to export. 1268 // The resource name may contain version id or version alias to specify the 1269 // version, if no version is specified, the default version will be exported. 1270 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1271 // Required. The desired output location and configuration. 1272 OutputConfig *ExportModelRequest_OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 1273 } 1274 1275 func (x *ExportModelRequest) Reset() { 1276 *x = ExportModelRequest{} 1277 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[17] 1278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1279 ms.StoreMessageInfo(mi) 1280 } 1281 1282 func (x *ExportModelRequest) String() string { 1283 return protoimpl.X.MessageStringOf(x) 1284 } 1285 1286 func (*ExportModelRequest) ProtoMessage() {} 1287 1288 func (x *ExportModelRequest) ProtoReflect() protoreflect.Message { 1289 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[17] 1290 if x != nil { 1291 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1292 if ms.LoadMessageInfo() == nil { 1293 ms.StoreMessageInfo(mi) 1294 } 1295 return ms 1296 } 1297 return mi.MessageOf(x) 1298 } 1299 1300 // Deprecated: Use ExportModelRequest.ProtoReflect.Descriptor instead. 1301 func (*ExportModelRequest) Descriptor() ([]byte, []int) { 1302 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{17} 1303 } 1304 1305 func (x *ExportModelRequest) GetName() string { 1306 if x != nil { 1307 return x.Name 1308 } 1309 return "" 1310 } 1311 1312 func (x *ExportModelRequest) GetOutputConfig() *ExportModelRequest_OutputConfig { 1313 if x != nil { 1314 return x.OutputConfig 1315 } 1316 return nil 1317 } 1318 1319 // Details of 1320 // [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] 1321 // operation. 1322 type ExportModelOperationMetadata struct { 1323 state protoimpl.MessageState 1324 sizeCache protoimpl.SizeCache 1325 unknownFields protoimpl.UnknownFields 1326 1327 // The common part of the operation metadata. 1328 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1329 // Output only. Information further describing the output of this Model 1330 // export. 1331 OutputInfo *ExportModelOperationMetadata_OutputInfo `protobuf:"bytes,2,opt,name=output_info,json=outputInfo,proto3" json:"output_info,omitempty"` 1332 } 1333 1334 func (x *ExportModelOperationMetadata) Reset() { 1335 *x = ExportModelOperationMetadata{} 1336 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18] 1337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1338 ms.StoreMessageInfo(mi) 1339 } 1340 1341 func (x *ExportModelOperationMetadata) String() string { 1342 return protoimpl.X.MessageStringOf(x) 1343 } 1344 1345 func (*ExportModelOperationMetadata) ProtoMessage() {} 1346 1347 func (x *ExportModelOperationMetadata) ProtoReflect() protoreflect.Message { 1348 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18] 1349 if x != nil { 1350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1351 if ms.LoadMessageInfo() == nil { 1352 ms.StoreMessageInfo(mi) 1353 } 1354 return ms 1355 } 1356 return mi.MessageOf(x) 1357 } 1358 1359 // Deprecated: Use ExportModelOperationMetadata.ProtoReflect.Descriptor instead. 1360 func (*ExportModelOperationMetadata) Descriptor() ([]byte, []int) { 1361 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{18} 1362 } 1363 1364 func (x *ExportModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1365 if x != nil { 1366 return x.GenericMetadata 1367 } 1368 return nil 1369 } 1370 1371 func (x *ExportModelOperationMetadata) GetOutputInfo() *ExportModelOperationMetadata_OutputInfo { 1372 if x != nil { 1373 return x.OutputInfo 1374 } 1375 return nil 1376 } 1377 1378 // Response message of 1379 // [ModelService.UpdateExplanationDataset][google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset] 1380 // operation. 1381 type UpdateExplanationDatasetResponse struct { 1382 state protoimpl.MessageState 1383 sizeCache protoimpl.SizeCache 1384 unknownFields protoimpl.UnknownFields 1385 } 1386 1387 func (x *UpdateExplanationDatasetResponse) Reset() { 1388 *x = UpdateExplanationDatasetResponse{} 1389 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[19] 1390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1391 ms.StoreMessageInfo(mi) 1392 } 1393 1394 func (x *UpdateExplanationDatasetResponse) String() string { 1395 return protoimpl.X.MessageStringOf(x) 1396 } 1397 1398 func (*UpdateExplanationDatasetResponse) ProtoMessage() {} 1399 1400 func (x *UpdateExplanationDatasetResponse) ProtoReflect() protoreflect.Message { 1401 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[19] 1402 if x != nil { 1403 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1404 if ms.LoadMessageInfo() == nil { 1405 ms.StoreMessageInfo(mi) 1406 } 1407 return ms 1408 } 1409 return mi.MessageOf(x) 1410 } 1411 1412 // Deprecated: Use UpdateExplanationDatasetResponse.ProtoReflect.Descriptor instead. 1413 func (*UpdateExplanationDatasetResponse) Descriptor() ([]byte, []int) { 1414 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{19} 1415 } 1416 1417 // Response message of 1418 // [ModelService.ExportModel][google.cloud.aiplatform.v1beta1.ModelService.ExportModel] 1419 // operation. 1420 type ExportModelResponse struct { 1421 state protoimpl.MessageState 1422 sizeCache protoimpl.SizeCache 1423 unknownFields protoimpl.UnknownFields 1424 } 1425 1426 func (x *ExportModelResponse) Reset() { 1427 *x = ExportModelResponse{} 1428 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[20] 1429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1430 ms.StoreMessageInfo(mi) 1431 } 1432 1433 func (x *ExportModelResponse) String() string { 1434 return protoimpl.X.MessageStringOf(x) 1435 } 1436 1437 func (*ExportModelResponse) ProtoMessage() {} 1438 1439 func (x *ExportModelResponse) ProtoReflect() protoreflect.Message { 1440 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[20] 1441 if x != nil { 1442 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1443 if ms.LoadMessageInfo() == nil { 1444 ms.StoreMessageInfo(mi) 1445 } 1446 return ms 1447 } 1448 return mi.MessageOf(x) 1449 } 1450 1451 // Deprecated: Use ExportModelResponse.ProtoReflect.Descriptor instead. 1452 func (*ExportModelResponse) Descriptor() ([]byte, []int) { 1453 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{20} 1454 } 1455 1456 // Request message for 1457 // [ModelService.CopyModel][google.cloud.aiplatform.v1beta1.ModelService.CopyModel]. 1458 type CopyModelRequest struct { 1459 state protoimpl.MessageState 1460 sizeCache protoimpl.SizeCache 1461 unknownFields protoimpl.UnknownFields 1462 1463 // If both fields are unset, a new Model will be created with a generated ID. 1464 // 1465 // Types that are assignable to DestinationModel: 1466 // 1467 // *CopyModelRequest_ModelId 1468 // *CopyModelRequest_ParentModel 1469 DestinationModel isCopyModelRequest_DestinationModel `protobuf_oneof:"destination_model"` 1470 // Required. The resource name of the Location into which to copy the Model. 1471 // Format: `projects/{project}/locations/{location}` 1472 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1473 // Required. The resource name of the Model to copy. That Model must be in the 1474 // same Project. Format: 1475 // `projects/{project}/locations/{location}/models/{model}` 1476 SourceModel string `protobuf:"bytes,2,opt,name=source_model,json=sourceModel,proto3" json:"source_model,omitempty"` 1477 // Customer-managed encryption key options. If this is set, 1478 // then the Model copy will be encrypted with the provided encryption key. 1479 EncryptionSpec *EncryptionSpec `protobuf:"bytes,3,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` 1480 } 1481 1482 func (x *CopyModelRequest) Reset() { 1483 *x = CopyModelRequest{} 1484 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488 1489 func (x *CopyModelRequest) String() string { 1490 return protoimpl.X.MessageStringOf(x) 1491 } 1492 1493 func (*CopyModelRequest) ProtoMessage() {} 1494 1495 func (x *CopyModelRequest) ProtoReflect() protoreflect.Message { 1496 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21] 1497 if x != nil { 1498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1499 if ms.LoadMessageInfo() == nil { 1500 ms.StoreMessageInfo(mi) 1501 } 1502 return ms 1503 } 1504 return mi.MessageOf(x) 1505 } 1506 1507 // Deprecated: Use CopyModelRequest.ProtoReflect.Descriptor instead. 1508 func (*CopyModelRequest) Descriptor() ([]byte, []int) { 1509 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{21} 1510 } 1511 1512 func (m *CopyModelRequest) GetDestinationModel() isCopyModelRequest_DestinationModel { 1513 if m != nil { 1514 return m.DestinationModel 1515 } 1516 return nil 1517 } 1518 1519 func (x *CopyModelRequest) GetModelId() string { 1520 if x, ok := x.GetDestinationModel().(*CopyModelRequest_ModelId); ok { 1521 return x.ModelId 1522 } 1523 return "" 1524 } 1525 1526 func (x *CopyModelRequest) GetParentModel() string { 1527 if x, ok := x.GetDestinationModel().(*CopyModelRequest_ParentModel); ok { 1528 return x.ParentModel 1529 } 1530 return "" 1531 } 1532 1533 func (x *CopyModelRequest) GetParent() string { 1534 if x != nil { 1535 return x.Parent 1536 } 1537 return "" 1538 } 1539 1540 func (x *CopyModelRequest) GetSourceModel() string { 1541 if x != nil { 1542 return x.SourceModel 1543 } 1544 return "" 1545 } 1546 1547 func (x *CopyModelRequest) GetEncryptionSpec() *EncryptionSpec { 1548 if x != nil { 1549 return x.EncryptionSpec 1550 } 1551 return nil 1552 } 1553 1554 type isCopyModelRequest_DestinationModel interface { 1555 isCopyModelRequest_DestinationModel() 1556 } 1557 1558 type CopyModelRequest_ModelId struct { 1559 // Optional. Copy source_model into a new Model with this ID. The ID will 1560 // become the final component of the model resource name. 1561 // 1562 // This value may be up to 63 characters, and valid characters are 1563 // `[a-z0-9_-]`. The first character cannot be a number or hyphen. 1564 ModelId string `protobuf:"bytes,4,opt,name=model_id,json=modelId,proto3,oneof"` 1565 } 1566 1567 type CopyModelRequest_ParentModel struct { 1568 // Optional. Specify this field to copy source_model into this existing 1569 // Model as a new version. Format: 1570 // `projects/{project}/locations/{location}/models/{model}` 1571 ParentModel string `protobuf:"bytes,5,opt,name=parent_model,json=parentModel,proto3,oneof"` 1572 } 1573 1574 func (*CopyModelRequest_ModelId) isCopyModelRequest_DestinationModel() {} 1575 1576 func (*CopyModelRequest_ParentModel) isCopyModelRequest_DestinationModel() {} 1577 1578 // Details of 1579 // [ModelService.CopyModel][google.cloud.aiplatform.v1beta1.ModelService.CopyModel] 1580 // operation. 1581 type CopyModelOperationMetadata struct { 1582 state protoimpl.MessageState 1583 sizeCache protoimpl.SizeCache 1584 unknownFields protoimpl.UnknownFields 1585 1586 // The common part of the operation metadata. 1587 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 1588 } 1589 1590 func (x *CopyModelOperationMetadata) Reset() { 1591 *x = CopyModelOperationMetadata{} 1592 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[22] 1593 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1594 ms.StoreMessageInfo(mi) 1595 } 1596 1597 func (x *CopyModelOperationMetadata) String() string { 1598 return protoimpl.X.MessageStringOf(x) 1599 } 1600 1601 func (*CopyModelOperationMetadata) ProtoMessage() {} 1602 1603 func (x *CopyModelOperationMetadata) ProtoReflect() protoreflect.Message { 1604 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[22] 1605 if x != nil { 1606 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1607 if ms.LoadMessageInfo() == nil { 1608 ms.StoreMessageInfo(mi) 1609 } 1610 return ms 1611 } 1612 return mi.MessageOf(x) 1613 } 1614 1615 // Deprecated: Use CopyModelOperationMetadata.ProtoReflect.Descriptor instead. 1616 func (*CopyModelOperationMetadata) Descriptor() ([]byte, []int) { 1617 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{22} 1618 } 1619 1620 func (x *CopyModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 1621 if x != nil { 1622 return x.GenericMetadata 1623 } 1624 return nil 1625 } 1626 1627 // Response message of 1628 // [ModelService.CopyModel][google.cloud.aiplatform.v1beta1.ModelService.CopyModel] 1629 // operation. 1630 type CopyModelResponse struct { 1631 state protoimpl.MessageState 1632 sizeCache protoimpl.SizeCache 1633 unknownFields protoimpl.UnknownFields 1634 1635 // The name of the copied Model resource. 1636 // Format: `projects/{project}/locations/{location}/models/{model}` 1637 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 1638 // Output only. The version ID of the model that is copied. 1639 ModelVersionId string `protobuf:"bytes,2,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` 1640 } 1641 1642 func (x *CopyModelResponse) Reset() { 1643 *x = CopyModelResponse{} 1644 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[23] 1645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1646 ms.StoreMessageInfo(mi) 1647 } 1648 1649 func (x *CopyModelResponse) String() string { 1650 return protoimpl.X.MessageStringOf(x) 1651 } 1652 1653 func (*CopyModelResponse) ProtoMessage() {} 1654 1655 func (x *CopyModelResponse) ProtoReflect() protoreflect.Message { 1656 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[23] 1657 if x != nil { 1658 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1659 if ms.LoadMessageInfo() == nil { 1660 ms.StoreMessageInfo(mi) 1661 } 1662 return ms 1663 } 1664 return mi.MessageOf(x) 1665 } 1666 1667 // Deprecated: Use CopyModelResponse.ProtoReflect.Descriptor instead. 1668 func (*CopyModelResponse) Descriptor() ([]byte, []int) { 1669 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{23} 1670 } 1671 1672 func (x *CopyModelResponse) GetModel() string { 1673 if x != nil { 1674 return x.Model 1675 } 1676 return "" 1677 } 1678 1679 func (x *CopyModelResponse) GetModelVersionId() string { 1680 if x != nil { 1681 return x.ModelVersionId 1682 } 1683 return "" 1684 } 1685 1686 // Request message for 1687 // [ModelService.ImportModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation] 1688 type ImportModelEvaluationRequest struct { 1689 state protoimpl.MessageState 1690 sizeCache protoimpl.SizeCache 1691 unknownFields protoimpl.UnknownFields 1692 1693 // Required. The name of the parent model resource. 1694 // Format: `projects/{project}/locations/{location}/models/{model}` 1695 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1696 // Required. Model evaluation resource to be imported. 1697 ModelEvaluation *ModelEvaluation `protobuf:"bytes,2,opt,name=model_evaluation,json=modelEvaluation,proto3" json:"model_evaluation,omitempty"` 1698 } 1699 1700 func (x *ImportModelEvaluationRequest) Reset() { 1701 *x = ImportModelEvaluationRequest{} 1702 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[24] 1703 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1704 ms.StoreMessageInfo(mi) 1705 } 1706 1707 func (x *ImportModelEvaluationRequest) String() string { 1708 return protoimpl.X.MessageStringOf(x) 1709 } 1710 1711 func (*ImportModelEvaluationRequest) ProtoMessage() {} 1712 1713 func (x *ImportModelEvaluationRequest) ProtoReflect() protoreflect.Message { 1714 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[24] 1715 if x != nil { 1716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1717 if ms.LoadMessageInfo() == nil { 1718 ms.StoreMessageInfo(mi) 1719 } 1720 return ms 1721 } 1722 return mi.MessageOf(x) 1723 } 1724 1725 // Deprecated: Use ImportModelEvaluationRequest.ProtoReflect.Descriptor instead. 1726 func (*ImportModelEvaluationRequest) Descriptor() ([]byte, []int) { 1727 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{24} 1728 } 1729 1730 func (x *ImportModelEvaluationRequest) GetParent() string { 1731 if x != nil { 1732 return x.Parent 1733 } 1734 return "" 1735 } 1736 1737 func (x *ImportModelEvaluationRequest) GetModelEvaluation() *ModelEvaluation { 1738 if x != nil { 1739 return x.ModelEvaluation 1740 } 1741 return nil 1742 } 1743 1744 // Request message for 1745 // [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices] 1746 type BatchImportModelEvaluationSlicesRequest struct { 1747 state protoimpl.MessageState 1748 sizeCache protoimpl.SizeCache 1749 unknownFields protoimpl.UnknownFields 1750 1751 // Required. The name of the parent ModelEvaluation resource. 1752 // Format: 1753 // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` 1754 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1755 // Required. Model evaluation slice resource to be imported. 1756 ModelEvaluationSlices []*ModelEvaluationSlice `protobuf:"bytes,2,rep,name=model_evaluation_slices,json=modelEvaluationSlices,proto3" json:"model_evaluation_slices,omitempty"` 1757 } 1758 1759 func (x *BatchImportModelEvaluationSlicesRequest) Reset() { 1760 *x = BatchImportModelEvaluationSlicesRequest{} 1761 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[25] 1762 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1763 ms.StoreMessageInfo(mi) 1764 } 1765 1766 func (x *BatchImportModelEvaluationSlicesRequest) String() string { 1767 return protoimpl.X.MessageStringOf(x) 1768 } 1769 1770 func (*BatchImportModelEvaluationSlicesRequest) ProtoMessage() {} 1771 1772 func (x *BatchImportModelEvaluationSlicesRequest) ProtoReflect() protoreflect.Message { 1773 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[25] 1774 if x != nil { 1775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1776 if ms.LoadMessageInfo() == nil { 1777 ms.StoreMessageInfo(mi) 1778 } 1779 return ms 1780 } 1781 return mi.MessageOf(x) 1782 } 1783 1784 // Deprecated: Use BatchImportModelEvaluationSlicesRequest.ProtoReflect.Descriptor instead. 1785 func (*BatchImportModelEvaluationSlicesRequest) Descriptor() ([]byte, []int) { 1786 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{25} 1787 } 1788 1789 func (x *BatchImportModelEvaluationSlicesRequest) GetParent() string { 1790 if x != nil { 1791 return x.Parent 1792 } 1793 return "" 1794 } 1795 1796 func (x *BatchImportModelEvaluationSlicesRequest) GetModelEvaluationSlices() []*ModelEvaluationSlice { 1797 if x != nil { 1798 return x.ModelEvaluationSlices 1799 } 1800 return nil 1801 } 1802 1803 // Response message for 1804 // [ModelService.BatchImportModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices] 1805 type BatchImportModelEvaluationSlicesResponse struct { 1806 state protoimpl.MessageState 1807 sizeCache protoimpl.SizeCache 1808 unknownFields protoimpl.UnknownFields 1809 1810 // Output only. List of imported 1811 // [ModelEvaluationSlice.name][google.cloud.aiplatform.v1beta1.ModelEvaluationSlice.name]. 1812 ImportedModelEvaluationSlices []string `protobuf:"bytes,1,rep,name=imported_model_evaluation_slices,json=importedModelEvaluationSlices,proto3" json:"imported_model_evaluation_slices,omitempty"` 1813 } 1814 1815 func (x *BatchImportModelEvaluationSlicesResponse) Reset() { 1816 *x = BatchImportModelEvaluationSlicesResponse{} 1817 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[26] 1818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1819 ms.StoreMessageInfo(mi) 1820 } 1821 1822 func (x *BatchImportModelEvaluationSlicesResponse) String() string { 1823 return protoimpl.X.MessageStringOf(x) 1824 } 1825 1826 func (*BatchImportModelEvaluationSlicesResponse) ProtoMessage() {} 1827 1828 func (x *BatchImportModelEvaluationSlicesResponse) ProtoReflect() protoreflect.Message { 1829 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[26] 1830 if x != nil { 1831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1832 if ms.LoadMessageInfo() == nil { 1833 ms.StoreMessageInfo(mi) 1834 } 1835 return ms 1836 } 1837 return mi.MessageOf(x) 1838 } 1839 1840 // Deprecated: Use BatchImportModelEvaluationSlicesResponse.ProtoReflect.Descriptor instead. 1841 func (*BatchImportModelEvaluationSlicesResponse) Descriptor() ([]byte, []int) { 1842 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{26} 1843 } 1844 1845 func (x *BatchImportModelEvaluationSlicesResponse) GetImportedModelEvaluationSlices() []string { 1846 if x != nil { 1847 return x.ImportedModelEvaluationSlices 1848 } 1849 return nil 1850 } 1851 1852 // Request message for 1853 // [ModelService.BatchImportEvaluatedAnnotations][google.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations] 1854 type BatchImportEvaluatedAnnotationsRequest struct { 1855 state protoimpl.MessageState 1856 sizeCache protoimpl.SizeCache 1857 unknownFields protoimpl.UnknownFields 1858 1859 // Required. The name of the parent ModelEvaluationSlice resource. 1860 // Format: 1861 // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}` 1862 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1863 // Required. Evaluated annotations resource to be imported. 1864 EvaluatedAnnotations []*EvaluatedAnnotation `protobuf:"bytes,2,rep,name=evaluated_annotations,json=evaluatedAnnotations,proto3" json:"evaluated_annotations,omitempty"` 1865 } 1866 1867 func (x *BatchImportEvaluatedAnnotationsRequest) Reset() { 1868 *x = BatchImportEvaluatedAnnotationsRequest{} 1869 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[27] 1870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1871 ms.StoreMessageInfo(mi) 1872 } 1873 1874 func (x *BatchImportEvaluatedAnnotationsRequest) String() string { 1875 return protoimpl.X.MessageStringOf(x) 1876 } 1877 1878 func (*BatchImportEvaluatedAnnotationsRequest) ProtoMessage() {} 1879 1880 func (x *BatchImportEvaluatedAnnotationsRequest) ProtoReflect() protoreflect.Message { 1881 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[27] 1882 if x != nil { 1883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1884 if ms.LoadMessageInfo() == nil { 1885 ms.StoreMessageInfo(mi) 1886 } 1887 return ms 1888 } 1889 return mi.MessageOf(x) 1890 } 1891 1892 // Deprecated: Use BatchImportEvaluatedAnnotationsRequest.ProtoReflect.Descriptor instead. 1893 func (*BatchImportEvaluatedAnnotationsRequest) Descriptor() ([]byte, []int) { 1894 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{27} 1895 } 1896 1897 func (x *BatchImportEvaluatedAnnotationsRequest) GetParent() string { 1898 if x != nil { 1899 return x.Parent 1900 } 1901 return "" 1902 } 1903 1904 func (x *BatchImportEvaluatedAnnotationsRequest) GetEvaluatedAnnotations() []*EvaluatedAnnotation { 1905 if x != nil { 1906 return x.EvaluatedAnnotations 1907 } 1908 return nil 1909 } 1910 1911 // Response message for 1912 // [ModelService.BatchImportEvaluatedAnnotations][google.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations] 1913 type BatchImportEvaluatedAnnotationsResponse struct { 1914 state protoimpl.MessageState 1915 sizeCache protoimpl.SizeCache 1916 unknownFields protoimpl.UnknownFields 1917 1918 // Output only. Number of EvaluatedAnnotations imported. 1919 ImportedEvaluatedAnnotationsCount int32 `protobuf:"varint,1,opt,name=imported_evaluated_annotations_count,json=importedEvaluatedAnnotationsCount,proto3" json:"imported_evaluated_annotations_count,omitempty"` 1920 } 1921 1922 func (x *BatchImportEvaluatedAnnotationsResponse) Reset() { 1923 *x = BatchImportEvaluatedAnnotationsResponse{} 1924 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[28] 1925 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1926 ms.StoreMessageInfo(mi) 1927 } 1928 1929 func (x *BatchImportEvaluatedAnnotationsResponse) String() string { 1930 return protoimpl.X.MessageStringOf(x) 1931 } 1932 1933 func (*BatchImportEvaluatedAnnotationsResponse) ProtoMessage() {} 1934 1935 func (x *BatchImportEvaluatedAnnotationsResponse) ProtoReflect() protoreflect.Message { 1936 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[28] 1937 if x != nil { 1938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1939 if ms.LoadMessageInfo() == nil { 1940 ms.StoreMessageInfo(mi) 1941 } 1942 return ms 1943 } 1944 return mi.MessageOf(x) 1945 } 1946 1947 // Deprecated: Use BatchImportEvaluatedAnnotationsResponse.ProtoReflect.Descriptor instead. 1948 func (*BatchImportEvaluatedAnnotationsResponse) Descriptor() ([]byte, []int) { 1949 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{28} 1950 } 1951 1952 func (x *BatchImportEvaluatedAnnotationsResponse) GetImportedEvaluatedAnnotationsCount() int32 { 1953 if x != nil { 1954 return x.ImportedEvaluatedAnnotationsCount 1955 } 1956 return 0 1957 } 1958 1959 // Request message for 1960 // [ModelService.GetModelEvaluation][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation]. 1961 type GetModelEvaluationRequest struct { 1962 state protoimpl.MessageState 1963 sizeCache protoimpl.SizeCache 1964 unknownFields protoimpl.UnknownFields 1965 1966 // Required. The name of the ModelEvaluation resource. 1967 // Format: 1968 // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` 1969 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1970 } 1971 1972 func (x *GetModelEvaluationRequest) Reset() { 1973 *x = GetModelEvaluationRequest{} 1974 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[29] 1975 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1976 ms.StoreMessageInfo(mi) 1977 } 1978 1979 func (x *GetModelEvaluationRequest) String() string { 1980 return protoimpl.X.MessageStringOf(x) 1981 } 1982 1983 func (*GetModelEvaluationRequest) ProtoMessage() {} 1984 1985 func (x *GetModelEvaluationRequest) ProtoReflect() protoreflect.Message { 1986 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[29] 1987 if x != nil { 1988 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1989 if ms.LoadMessageInfo() == nil { 1990 ms.StoreMessageInfo(mi) 1991 } 1992 return ms 1993 } 1994 return mi.MessageOf(x) 1995 } 1996 1997 // Deprecated: Use GetModelEvaluationRequest.ProtoReflect.Descriptor instead. 1998 func (*GetModelEvaluationRequest) Descriptor() ([]byte, []int) { 1999 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{29} 2000 } 2001 2002 func (x *GetModelEvaluationRequest) GetName() string { 2003 if x != nil { 2004 return x.Name 2005 } 2006 return "" 2007 } 2008 2009 // Request message for 2010 // [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations]. 2011 type ListModelEvaluationsRequest struct { 2012 state protoimpl.MessageState 2013 sizeCache protoimpl.SizeCache 2014 unknownFields protoimpl.UnknownFields 2015 2016 // Required. The resource name of the Model to list the ModelEvaluations from. 2017 // Format: `projects/{project}/locations/{location}/models/{model}` 2018 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2019 // The standard list filter. 2020 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 2021 // The standard list page size. 2022 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2023 // The standard list page token. 2024 // Typically obtained via 2025 // [ListModelEvaluationsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.next_page_token] 2026 // of the previous 2027 // [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations] 2028 // call. 2029 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2030 // Mask specifying which fields to read. 2031 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 2032 } 2033 2034 func (x *ListModelEvaluationsRequest) Reset() { 2035 *x = ListModelEvaluationsRequest{} 2036 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[30] 2037 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2038 ms.StoreMessageInfo(mi) 2039 } 2040 2041 func (x *ListModelEvaluationsRequest) String() string { 2042 return protoimpl.X.MessageStringOf(x) 2043 } 2044 2045 func (*ListModelEvaluationsRequest) ProtoMessage() {} 2046 2047 func (x *ListModelEvaluationsRequest) ProtoReflect() protoreflect.Message { 2048 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[30] 2049 if x != nil { 2050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2051 if ms.LoadMessageInfo() == nil { 2052 ms.StoreMessageInfo(mi) 2053 } 2054 return ms 2055 } 2056 return mi.MessageOf(x) 2057 } 2058 2059 // Deprecated: Use ListModelEvaluationsRequest.ProtoReflect.Descriptor instead. 2060 func (*ListModelEvaluationsRequest) Descriptor() ([]byte, []int) { 2061 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{30} 2062 } 2063 2064 func (x *ListModelEvaluationsRequest) GetParent() string { 2065 if x != nil { 2066 return x.Parent 2067 } 2068 return "" 2069 } 2070 2071 func (x *ListModelEvaluationsRequest) GetFilter() string { 2072 if x != nil { 2073 return x.Filter 2074 } 2075 return "" 2076 } 2077 2078 func (x *ListModelEvaluationsRequest) GetPageSize() int32 { 2079 if x != nil { 2080 return x.PageSize 2081 } 2082 return 0 2083 } 2084 2085 func (x *ListModelEvaluationsRequest) GetPageToken() string { 2086 if x != nil { 2087 return x.PageToken 2088 } 2089 return "" 2090 } 2091 2092 func (x *ListModelEvaluationsRequest) GetReadMask() *fieldmaskpb.FieldMask { 2093 if x != nil { 2094 return x.ReadMask 2095 } 2096 return nil 2097 } 2098 2099 // Response message for 2100 // [ModelService.ListModelEvaluations][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations]. 2101 type ListModelEvaluationsResponse struct { 2102 state protoimpl.MessageState 2103 sizeCache protoimpl.SizeCache 2104 unknownFields protoimpl.UnknownFields 2105 2106 // List of ModelEvaluations in the requested page. 2107 ModelEvaluations []*ModelEvaluation `protobuf:"bytes,1,rep,name=model_evaluations,json=modelEvaluations,proto3" json:"model_evaluations,omitempty"` 2108 // A token to retrieve next page of results. 2109 // Pass to 2110 // [ListModelEvaluationsRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.page_token] 2111 // to obtain that page. 2112 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2113 } 2114 2115 func (x *ListModelEvaluationsResponse) Reset() { 2116 *x = ListModelEvaluationsResponse{} 2117 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[31] 2118 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2119 ms.StoreMessageInfo(mi) 2120 } 2121 2122 func (x *ListModelEvaluationsResponse) String() string { 2123 return protoimpl.X.MessageStringOf(x) 2124 } 2125 2126 func (*ListModelEvaluationsResponse) ProtoMessage() {} 2127 2128 func (x *ListModelEvaluationsResponse) ProtoReflect() protoreflect.Message { 2129 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[31] 2130 if x != nil { 2131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2132 if ms.LoadMessageInfo() == nil { 2133 ms.StoreMessageInfo(mi) 2134 } 2135 return ms 2136 } 2137 return mi.MessageOf(x) 2138 } 2139 2140 // Deprecated: Use ListModelEvaluationsResponse.ProtoReflect.Descriptor instead. 2141 func (*ListModelEvaluationsResponse) Descriptor() ([]byte, []int) { 2142 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{31} 2143 } 2144 2145 func (x *ListModelEvaluationsResponse) GetModelEvaluations() []*ModelEvaluation { 2146 if x != nil { 2147 return x.ModelEvaluations 2148 } 2149 return nil 2150 } 2151 2152 func (x *ListModelEvaluationsResponse) GetNextPageToken() string { 2153 if x != nil { 2154 return x.NextPageToken 2155 } 2156 return "" 2157 } 2158 2159 // Request message for 2160 // [ModelService.GetModelEvaluationSlice][google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice]. 2161 type GetModelEvaluationSliceRequest struct { 2162 state protoimpl.MessageState 2163 sizeCache protoimpl.SizeCache 2164 unknownFields protoimpl.UnknownFields 2165 2166 // Required. The name of the ModelEvaluationSlice resource. 2167 // Format: 2168 // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}` 2169 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2170 } 2171 2172 func (x *GetModelEvaluationSliceRequest) Reset() { 2173 *x = GetModelEvaluationSliceRequest{} 2174 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[32] 2175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2176 ms.StoreMessageInfo(mi) 2177 } 2178 2179 func (x *GetModelEvaluationSliceRequest) String() string { 2180 return protoimpl.X.MessageStringOf(x) 2181 } 2182 2183 func (*GetModelEvaluationSliceRequest) ProtoMessage() {} 2184 2185 func (x *GetModelEvaluationSliceRequest) ProtoReflect() protoreflect.Message { 2186 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[32] 2187 if x != nil { 2188 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2189 if ms.LoadMessageInfo() == nil { 2190 ms.StoreMessageInfo(mi) 2191 } 2192 return ms 2193 } 2194 return mi.MessageOf(x) 2195 } 2196 2197 // Deprecated: Use GetModelEvaluationSliceRequest.ProtoReflect.Descriptor instead. 2198 func (*GetModelEvaluationSliceRequest) Descriptor() ([]byte, []int) { 2199 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{32} 2200 } 2201 2202 func (x *GetModelEvaluationSliceRequest) GetName() string { 2203 if x != nil { 2204 return x.Name 2205 } 2206 return "" 2207 } 2208 2209 // Request message for 2210 // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices]. 2211 type ListModelEvaluationSlicesRequest struct { 2212 state protoimpl.MessageState 2213 sizeCache protoimpl.SizeCache 2214 unknownFields protoimpl.UnknownFields 2215 2216 // Required. The resource name of the ModelEvaluation to list the 2217 // ModelEvaluationSlices from. Format: 2218 // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` 2219 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2220 // The standard list filter. 2221 // 2222 // - `slice.dimension` - for =. 2223 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 2224 // The standard list page size. 2225 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2226 // The standard list page token. 2227 // Typically obtained via 2228 // [ListModelEvaluationSlicesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.next_page_token] 2229 // of the previous 2230 // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices] 2231 // call. 2232 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2233 // Mask specifying which fields to read. 2234 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 2235 } 2236 2237 func (x *ListModelEvaluationSlicesRequest) Reset() { 2238 *x = ListModelEvaluationSlicesRequest{} 2239 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[33] 2240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2241 ms.StoreMessageInfo(mi) 2242 } 2243 2244 func (x *ListModelEvaluationSlicesRequest) String() string { 2245 return protoimpl.X.MessageStringOf(x) 2246 } 2247 2248 func (*ListModelEvaluationSlicesRequest) ProtoMessage() {} 2249 2250 func (x *ListModelEvaluationSlicesRequest) ProtoReflect() protoreflect.Message { 2251 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[33] 2252 if x != nil { 2253 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2254 if ms.LoadMessageInfo() == nil { 2255 ms.StoreMessageInfo(mi) 2256 } 2257 return ms 2258 } 2259 return mi.MessageOf(x) 2260 } 2261 2262 // Deprecated: Use ListModelEvaluationSlicesRequest.ProtoReflect.Descriptor instead. 2263 func (*ListModelEvaluationSlicesRequest) Descriptor() ([]byte, []int) { 2264 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{33} 2265 } 2266 2267 func (x *ListModelEvaluationSlicesRequest) GetParent() string { 2268 if x != nil { 2269 return x.Parent 2270 } 2271 return "" 2272 } 2273 2274 func (x *ListModelEvaluationSlicesRequest) GetFilter() string { 2275 if x != nil { 2276 return x.Filter 2277 } 2278 return "" 2279 } 2280 2281 func (x *ListModelEvaluationSlicesRequest) GetPageSize() int32 { 2282 if x != nil { 2283 return x.PageSize 2284 } 2285 return 0 2286 } 2287 2288 func (x *ListModelEvaluationSlicesRequest) GetPageToken() string { 2289 if x != nil { 2290 return x.PageToken 2291 } 2292 return "" 2293 } 2294 2295 func (x *ListModelEvaluationSlicesRequest) GetReadMask() *fieldmaskpb.FieldMask { 2296 if x != nil { 2297 return x.ReadMask 2298 } 2299 return nil 2300 } 2301 2302 // Response message for 2303 // [ModelService.ListModelEvaluationSlices][google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices]. 2304 type ListModelEvaluationSlicesResponse struct { 2305 state protoimpl.MessageState 2306 sizeCache protoimpl.SizeCache 2307 unknownFields protoimpl.UnknownFields 2308 2309 // List of ModelEvaluations in the requested page. 2310 ModelEvaluationSlices []*ModelEvaluationSlice `protobuf:"bytes,1,rep,name=model_evaluation_slices,json=modelEvaluationSlices,proto3" json:"model_evaluation_slices,omitempty"` 2311 // A token to retrieve next page of results. 2312 // Pass to 2313 // [ListModelEvaluationSlicesRequest.page_token][google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.page_token] 2314 // to obtain that page. 2315 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2316 } 2317 2318 func (x *ListModelEvaluationSlicesResponse) Reset() { 2319 *x = ListModelEvaluationSlicesResponse{} 2320 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[34] 2321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2322 ms.StoreMessageInfo(mi) 2323 } 2324 2325 func (x *ListModelEvaluationSlicesResponse) String() string { 2326 return protoimpl.X.MessageStringOf(x) 2327 } 2328 2329 func (*ListModelEvaluationSlicesResponse) ProtoMessage() {} 2330 2331 func (x *ListModelEvaluationSlicesResponse) ProtoReflect() protoreflect.Message { 2332 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[34] 2333 if x != nil { 2334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2335 if ms.LoadMessageInfo() == nil { 2336 ms.StoreMessageInfo(mi) 2337 } 2338 return ms 2339 } 2340 return mi.MessageOf(x) 2341 } 2342 2343 // Deprecated: Use ListModelEvaluationSlicesResponse.ProtoReflect.Descriptor instead. 2344 func (*ListModelEvaluationSlicesResponse) Descriptor() ([]byte, []int) { 2345 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{34} 2346 } 2347 2348 func (x *ListModelEvaluationSlicesResponse) GetModelEvaluationSlices() []*ModelEvaluationSlice { 2349 if x != nil { 2350 return x.ModelEvaluationSlices 2351 } 2352 return nil 2353 } 2354 2355 func (x *ListModelEvaluationSlicesResponse) GetNextPageToken() string { 2356 if x != nil { 2357 return x.NextPageToken 2358 } 2359 return "" 2360 } 2361 2362 // Request message for 2363 // [ModelService.RecommendSpec][google.cloud.aiplatform.v1beta1.ModelService.RecommendSpec]. 2364 type RecommendSpecRequest struct { 2365 state protoimpl.MessageState 2366 sizeCache protoimpl.SizeCache 2367 unknownFields protoimpl.UnknownFields 2368 2369 // Required. The resource name of the Location from which to recommend specs. 2370 // The users must have permission to make a call in the project. 2371 // Format: 2372 // `projects/{project}/locations/{location}`. 2373 Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` 2374 // Required. The Google Cloud Storage URI of the custom model, storing weights 2375 // and config files (which can be used to infer the base model). 2376 GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3" json:"gcs_uri,omitempty"` 2377 // Optional. If true, check machine availability for the recommended regions. 2378 // Only return the machine spec in regions where the machine is available. 2379 CheckMachineAvailability bool `protobuf:"varint,3,opt,name=check_machine_availability,json=checkMachineAvailability,proto3" json:"check_machine_availability,omitempty"` 2380 // Optional. If true, check user quota for the recommended regions. 2381 // Returns all the machine spec in regions they are available, and also the 2382 // user quota state for each machine type in each region. 2383 CheckUserQuota bool `protobuf:"varint,4,opt,name=check_user_quota,json=checkUserQuota,proto3" json:"check_user_quota,omitempty"` 2384 } 2385 2386 func (x *RecommendSpecRequest) Reset() { 2387 *x = RecommendSpecRequest{} 2388 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[35] 2389 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2390 ms.StoreMessageInfo(mi) 2391 } 2392 2393 func (x *RecommendSpecRequest) String() string { 2394 return protoimpl.X.MessageStringOf(x) 2395 } 2396 2397 func (*RecommendSpecRequest) ProtoMessage() {} 2398 2399 func (x *RecommendSpecRequest) ProtoReflect() protoreflect.Message { 2400 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[35] 2401 if x != nil { 2402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2403 if ms.LoadMessageInfo() == nil { 2404 ms.StoreMessageInfo(mi) 2405 } 2406 return ms 2407 } 2408 return mi.MessageOf(x) 2409 } 2410 2411 // Deprecated: Use RecommendSpecRequest.ProtoReflect.Descriptor instead. 2412 func (*RecommendSpecRequest) Descriptor() ([]byte, []int) { 2413 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{35} 2414 } 2415 2416 func (x *RecommendSpecRequest) GetParent() string { 2417 if x != nil { 2418 return x.Parent 2419 } 2420 return "" 2421 } 2422 2423 func (x *RecommendSpecRequest) GetGcsUri() string { 2424 if x != nil { 2425 return x.GcsUri 2426 } 2427 return "" 2428 } 2429 2430 func (x *RecommendSpecRequest) GetCheckMachineAvailability() bool { 2431 if x != nil { 2432 return x.CheckMachineAvailability 2433 } 2434 return false 2435 } 2436 2437 func (x *RecommendSpecRequest) GetCheckUserQuota() bool { 2438 if x != nil { 2439 return x.CheckUserQuota 2440 } 2441 return false 2442 } 2443 2444 // Response message for 2445 // [ModelService.RecommendSpec][google.cloud.aiplatform.v1beta1.ModelService.RecommendSpec]. 2446 type RecommendSpecResponse struct { 2447 state protoimpl.MessageState 2448 sizeCache protoimpl.SizeCache 2449 unknownFields protoimpl.UnknownFields 2450 2451 // Output only. The base model used to finetune the custom model. 2452 BaseModel string `protobuf:"bytes,1,opt,name=base_model,json=baseModel,proto3" json:"base_model,omitempty"` 2453 // Output only. Recommendations of deployment options for the given custom 2454 // weights model. 2455 Recommendations []*RecommendSpecResponse_Recommendation `protobuf:"bytes,3,rep,name=recommendations,proto3" json:"recommendations,omitempty"` 2456 // Output only. The machine and model container specs. 2457 Specs []*RecommendSpecResponse_MachineAndModelContainerSpec `protobuf:"bytes,2,rep,name=specs,proto3" json:"specs,omitempty"` 2458 } 2459 2460 func (x *RecommendSpecResponse) Reset() { 2461 *x = RecommendSpecResponse{} 2462 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[36] 2463 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2464 ms.StoreMessageInfo(mi) 2465 } 2466 2467 func (x *RecommendSpecResponse) String() string { 2468 return protoimpl.X.MessageStringOf(x) 2469 } 2470 2471 func (*RecommendSpecResponse) ProtoMessage() {} 2472 2473 func (x *RecommendSpecResponse) ProtoReflect() protoreflect.Message { 2474 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[36] 2475 if x != nil { 2476 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2477 if ms.LoadMessageInfo() == nil { 2478 ms.StoreMessageInfo(mi) 2479 } 2480 return ms 2481 } 2482 return mi.MessageOf(x) 2483 } 2484 2485 // Deprecated: Use RecommendSpecResponse.ProtoReflect.Descriptor instead. 2486 func (*RecommendSpecResponse) Descriptor() ([]byte, []int) { 2487 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{36} 2488 } 2489 2490 func (x *RecommendSpecResponse) GetBaseModel() string { 2491 if x != nil { 2492 return x.BaseModel 2493 } 2494 return "" 2495 } 2496 2497 func (x *RecommendSpecResponse) GetRecommendations() []*RecommendSpecResponse_Recommendation { 2498 if x != nil { 2499 return x.Recommendations 2500 } 2501 return nil 2502 } 2503 2504 func (x *RecommendSpecResponse) GetSpecs() []*RecommendSpecResponse_MachineAndModelContainerSpec { 2505 if x != nil { 2506 return x.Specs 2507 } 2508 return nil 2509 } 2510 2511 // Output configuration for the Model export. 2512 type ExportModelRequest_OutputConfig struct { 2513 state protoimpl.MessageState 2514 sizeCache protoimpl.SizeCache 2515 unknownFields protoimpl.UnknownFields 2516 2517 // The ID of the format in which the Model must be exported. Each Model 2518 // lists the [export formats it 2519 // supports][google.cloud.aiplatform.v1beta1.Model.supported_export_formats]. 2520 // If no value is provided here, then the first from the list of the Model's 2521 // supported formats is used by default. 2522 ExportFormatId string `protobuf:"bytes,1,opt,name=export_format_id,json=exportFormatId,proto3" json:"export_format_id,omitempty"` 2523 // The Cloud Storage location where the Model artifact is to be 2524 // written to. Under the directory given as the destination a new one with 2525 // name "`model-export-<model-display-name>-<timestamp-of-export-call>`", 2526 // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, 2527 // will be created. Inside, the Model and any of its supporting files 2528 // will be written. 2529 // This field should only be set when the `exportableContent` field of the 2530 // [Model.supported_export_formats] object contains `ARTIFACT`. 2531 ArtifactDestination *GcsDestination `protobuf:"bytes,3,opt,name=artifact_destination,json=artifactDestination,proto3" json:"artifact_destination,omitempty"` 2532 // The Google Container Registry or Artifact Registry uri where the 2533 // Model container image will be copied to. 2534 // This field should only be set when the `exportableContent` field of the 2535 // [Model.supported_export_formats] object contains `IMAGE`. 2536 ImageDestination *ContainerRegistryDestination `protobuf:"bytes,4,opt,name=image_destination,json=imageDestination,proto3" json:"image_destination,omitempty"` 2537 } 2538 2539 func (x *ExportModelRequest_OutputConfig) Reset() { 2540 *x = ExportModelRequest_OutputConfig{} 2541 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[37] 2542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2543 ms.StoreMessageInfo(mi) 2544 } 2545 2546 func (x *ExportModelRequest_OutputConfig) String() string { 2547 return protoimpl.X.MessageStringOf(x) 2548 } 2549 2550 func (*ExportModelRequest_OutputConfig) ProtoMessage() {} 2551 2552 func (x *ExportModelRequest_OutputConfig) ProtoReflect() protoreflect.Message { 2553 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[37] 2554 if x != nil { 2555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2556 if ms.LoadMessageInfo() == nil { 2557 ms.StoreMessageInfo(mi) 2558 } 2559 return ms 2560 } 2561 return mi.MessageOf(x) 2562 } 2563 2564 // Deprecated: Use ExportModelRequest_OutputConfig.ProtoReflect.Descriptor instead. 2565 func (*ExportModelRequest_OutputConfig) Descriptor() ([]byte, []int) { 2566 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{17, 0} 2567 } 2568 2569 func (x *ExportModelRequest_OutputConfig) GetExportFormatId() string { 2570 if x != nil { 2571 return x.ExportFormatId 2572 } 2573 return "" 2574 } 2575 2576 func (x *ExportModelRequest_OutputConfig) GetArtifactDestination() *GcsDestination { 2577 if x != nil { 2578 return x.ArtifactDestination 2579 } 2580 return nil 2581 } 2582 2583 func (x *ExportModelRequest_OutputConfig) GetImageDestination() *ContainerRegistryDestination { 2584 if x != nil { 2585 return x.ImageDestination 2586 } 2587 return nil 2588 } 2589 2590 // Further describes the output of the ExportModel. Supplements 2591 // [ExportModelRequest.OutputConfig][google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig]. 2592 type ExportModelOperationMetadata_OutputInfo struct { 2593 state protoimpl.MessageState 2594 sizeCache protoimpl.SizeCache 2595 unknownFields protoimpl.UnknownFields 2596 2597 // Output only. If the Model artifact is being exported to Google Cloud 2598 // Storage this is the full path of the directory created, into which the 2599 // Model files are being written to. 2600 ArtifactOutputUri string `protobuf:"bytes,2,opt,name=artifact_output_uri,json=artifactOutputUri,proto3" json:"artifact_output_uri,omitempty"` 2601 // Output only. If the Model image is being exported to Google Container 2602 // Registry or Artifact Registry this is the full path of the image created. 2603 ImageOutputUri string `protobuf:"bytes,3,opt,name=image_output_uri,json=imageOutputUri,proto3" json:"image_output_uri,omitempty"` 2604 } 2605 2606 func (x *ExportModelOperationMetadata_OutputInfo) Reset() { 2607 *x = ExportModelOperationMetadata_OutputInfo{} 2608 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[38] 2609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2610 ms.StoreMessageInfo(mi) 2611 } 2612 2613 func (x *ExportModelOperationMetadata_OutputInfo) String() string { 2614 return protoimpl.X.MessageStringOf(x) 2615 } 2616 2617 func (*ExportModelOperationMetadata_OutputInfo) ProtoMessage() {} 2618 2619 func (x *ExportModelOperationMetadata_OutputInfo) ProtoReflect() protoreflect.Message { 2620 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[38] 2621 if x != nil { 2622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2623 if ms.LoadMessageInfo() == nil { 2624 ms.StoreMessageInfo(mi) 2625 } 2626 return ms 2627 } 2628 return mi.MessageOf(x) 2629 } 2630 2631 // Deprecated: Use ExportModelOperationMetadata_OutputInfo.ProtoReflect.Descriptor instead. 2632 func (*ExportModelOperationMetadata_OutputInfo) Descriptor() ([]byte, []int) { 2633 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{18, 0} 2634 } 2635 2636 func (x *ExportModelOperationMetadata_OutputInfo) GetArtifactOutputUri() string { 2637 if x != nil { 2638 return x.ArtifactOutputUri 2639 } 2640 return "" 2641 } 2642 2643 func (x *ExportModelOperationMetadata_OutputInfo) GetImageOutputUri() string { 2644 if x != nil { 2645 return x.ImageOutputUri 2646 } 2647 return "" 2648 } 2649 2650 // A machine and model container spec. 2651 type RecommendSpecResponse_MachineAndModelContainerSpec struct { 2652 state protoimpl.MessageState 2653 sizeCache protoimpl.SizeCache 2654 unknownFields protoimpl.UnknownFields 2655 2656 // Output only. The machine spec. 2657 MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` 2658 // Output only. The model container spec. 2659 ContainerSpec *ModelContainerSpec `protobuf:"bytes,2,opt,name=container_spec,json=containerSpec,proto3" json:"container_spec,omitempty"` 2660 } 2661 2662 func (x *RecommendSpecResponse_MachineAndModelContainerSpec) Reset() { 2663 *x = RecommendSpecResponse_MachineAndModelContainerSpec{} 2664 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[39] 2665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2666 ms.StoreMessageInfo(mi) 2667 } 2668 2669 func (x *RecommendSpecResponse_MachineAndModelContainerSpec) String() string { 2670 return protoimpl.X.MessageStringOf(x) 2671 } 2672 2673 func (*RecommendSpecResponse_MachineAndModelContainerSpec) ProtoMessage() {} 2674 2675 func (x *RecommendSpecResponse_MachineAndModelContainerSpec) ProtoReflect() protoreflect.Message { 2676 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[39] 2677 if x != nil { 2678 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2679 if ms.LoadMessageInfo() == nil { 2680 ms.StoreMessageInfo(mi) 2681 } 2682 return ms 2683 } 2684 return mi.MessageOf(x) 2685 } 2686 2687 // Deprecated: Use RecommendSpecResponse_MachineAndModelContainerSpec.ProtoReflect.Descriptor instead. 2688 func (*RecommendSpecResponse_MachineAndModelContainerSpec) Descriptor() ([]byte, []int) { 2689 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{36, 0} 2690 } 2691 2692 func (x *RecommendSpecResponse_MachineAndModelContainerSpec) GetMachineSpec() *MachineSpec { 2693 if x != nil { 2694 return x.MachineSpec 2695 } 2696 return nil 2697 } 2698 2699 func (x *RecommendSpecResponse_MachineAndModelContainerSpec) GetContainerSpec() *ModelContainerSpec { 2700 if x != nil { 2701 return x.ContainerSpec 2702 } 2703 return nil 2704 } 2705 2706 // Recommendation of one deployment option for the given custom weights model 2707 // in one region. 2708 // Contains the machine and container spec, and user accelerator quota state. 2709 type RecommendSpecResponse_Recommendation struct { 2710 state protoimpl.MessageState 2711 sizeCache protoimpl.SizeCache 2712 unknownFields protoimpl.UnknownFields 2713 2714 // The region for the deployment spec (machine). 2715 Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` 2716 // Output only. The machine and model container specs. 2717 Spec *RecommendSpecResponse_MachineAndModelContainerSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` 2718 // Output only. The user accelerator quota state. 2719 UserQuotaState RecommendSpecResponse_Recommendation_QuotaState `protobuf:"varint,3,opt,name=user_quota_state,json=userQuotaState,proto3,enum=google.cloud.aiplatform.v1beta1.RecommendSpecResponse_Recommendation_QuotaState" json:"user_quota_state,omitempty"` 2720 } 2721 2722 func (x *RecommendSpecResponse_Recommendation) Reset() { 2723 *x = RecommendSpecResponse_Recommendation{} 2724 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[40] 2725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2726 ms.StoreMessageInfo(mi) 2727 } 2728 2729 func (x *RecommendSpecResponse_Recommendation) String() string { 2730 return protoimpl.X.MessageStringOf(x) 2731 } 2732 2733 func (*RecommendSpecResponse_Recommendation) ProtoMessage() {} 2734 2735 func (x *RecommendSpecResponse_Recommendation) ProtoReflect() protoreflect.Message { 2736 mi := &file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[40] 2737 if x != nil { 2738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2739 if ms.LoadMessageInfo() == nil { 2740 ms.StoreMessageInfo(mi) 2741 } 2742 return ms 2743 } 2744 return mi.MessageOf(x) 2745 } 2746 2747 // Deprecated: Use RecommendSpecResponse_Recommendation.ProtoReflect.Descriptor instead. 2748 func (*RecommendSpecResponse_Recommendation) Descriptor() ([]byte, []int) { 2749 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{36, 1} 2750 } 2751 2752 func (x *RecommendSpecResponse_Recommendation) GetRegion() string { 2753 if x != nil { 2754 return x.Region 2755 } 2756 return "" 2757 } 2758 2759 func (x *RecommendSpecResponse_Recommendation) GetSpec() *RecommendSpecResponse_MachineAndModelContainerSpec { 2760 if x != nil { 2761 return x.Spec 2762 } 2763 return nil 2764 } 2765 2766 func (x *RecommendSpecResponse_Recommendation) GetUserQuotaState() RecommendSpecResponse_Recommendation_QuotaState { 2767 if x != nil { 2768 return x.UserQuotaState 2769 } 2770 return RecommendSpecResponse_Recommendation_QUOTA_STATE_UNSPECIFIED 2771 } 2772 2773 var File_google_cloud_aiplatform_v1beta1_model_service_proto protoreflect.FileDescriptor 2774 2775 var file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDesc = []byte{ 2776 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 2777 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2778 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 2779 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2780 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2781 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 2782 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 2783 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2784 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 2785 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 2786 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 2787 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 2788 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2789 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2790 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 2791 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2792 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 2793 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2794 0x31, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 2795 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 2796 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 2797 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 2798 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2799 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 2800 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2801 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2802 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2803 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 2804 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 2805 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2806 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 2807 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2808 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 2809 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 2810 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 2811 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2812 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2813 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 2814 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x2e, 2815 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 2816 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 2817 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2818 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 2819 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 2820 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 2821 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 2822 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2823 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 2824 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x12, 0x55, 2825 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2826 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 2827 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 2828 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2829 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 2830 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 2831 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2832 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x08, 2833 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2834 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x05, 2835 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 2836 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2837 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 2838 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 2839 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 2840 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 2841 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 2842 0x0a, 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 2843 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 2844 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 2845 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2846 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2847 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 2848 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 2849 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 2850 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 2851 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 2852 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 2853 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2854 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 2855 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 2856 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 2857 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 2858 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x6f, 2859 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 2860 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 2861 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2862 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 2863 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 2864 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 2865 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 2866 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2867 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2868 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 2869 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 2870 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 2871 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 2872 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 2873 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 2874 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 2875 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2876 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 2877 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7c, 0x0a, 2878 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2879 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 2880 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2881 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 2882 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 2883 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 2884 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 2885 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xff, 0x01, 0x0a, 0x18, 2886 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 2887 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2888 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 2889 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2890 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 2891 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 2892 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 2893 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 2894 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 2895 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 2896 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 2897 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 2898 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 2899 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 2900 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 2901 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x83, 0x01, 2902 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 2903 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x6d, 2904 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 2905 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2906 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 2907 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 2908 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 2909 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 2910 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 2911 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 2912 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 2913 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 2914 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2915 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 2916 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 2917 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2918 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 2919 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2920 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x67, 0x0a, 2921 0x16, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 2922 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 2923 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 2924 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 2925 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x70, 0x6f, 2926 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 2927 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0xa8, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x4d, 2928 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 2929 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 2930 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 2931 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2932 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 2933 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 2934 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x68, 2935 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 2936 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 2937 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 2938 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 2939 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 2940 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2941 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2942 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 2943 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 2944 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 2945 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 2946 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 2947 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa7, 0x01, 2948 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 2949 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2950 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2951 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2952 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 2953 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 2954 0x12, 0x45, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 2955 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2956 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 2957 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x08, 0x65, 2958 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 2959 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 2960 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 2961 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 2962 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 2963 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2964 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 2965 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 2966 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 2967 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x12, 0x44, 2968 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2969 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2970 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2971 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 2972 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 2973 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 2974 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 2975 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 2976 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 2977 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 2978 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x4d, 0x65, 0x72, 2979 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 2980 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2981 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 2982 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2983 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 2984 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 2985 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 2986 0x41, 0x02, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 2987 0x65, 0x73, 0x22, 0xc8, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 2988 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 2989 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 2990 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2991 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 2992 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6a, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 2993 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 2994 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2995 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2996 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 2997 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 2998 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 2999 0x69, 0x67, 0x1a, 0x88, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 3000 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 3001 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 3002 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x49, 0x64, 0x12, 0x62, 0x0a, 3003 0x14, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 3004 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 3005 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3006 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 3007 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x72, 3008 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 3009 0x6e, 0x12, 0x6a, 0x0a, 0x11, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 3010 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 3011 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3012 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 3013 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 3014 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x6d, 0x61, 3015 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x02, 3016 0x0a, 0x1c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 3017 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 3018 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 3019 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3020 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3021 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 3022 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 3023 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 3024 0x64, 0x61, 0x74, 0x61, 0x12, 0x6e, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 3025 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3026 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3027 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 3028 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3029 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 3030 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 3031 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x70, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 3032 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6f, 3033 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 3034 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4f, 0x75, 3035 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 3036 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 3037 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4f, 0x75, 0x74, 3038 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x22, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 3039 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 3040 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x45, 0x78, 3041 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3042 0x65, 0x22, 0x80, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 3043 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 3044 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 3045 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 3046 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 3047 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3048 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3049 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3050 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3051 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 3052 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3053 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3054 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 3055 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 3056 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3057 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3058 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3059 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x58, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 3060 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 3061 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3062 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 3063 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 3064 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 3065 0x13, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 3066 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 3067 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 3068 0x61, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 3069 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 3070 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3071 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3072 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3073 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 3074 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7e, 0x0a, 0x11, 0x43, 0x6f, 0x70, 3075 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 3076 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 3077 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 3078 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 3079 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 3080 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 3081 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3082 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x1c, 0x49, 0x6d, 3083 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 3084 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 3085 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 3086 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 3087 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 3088 0x64, 0x65, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x10, 0x6d, 3089 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 3090 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3091 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3092 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 3093 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x6f, 3094 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe8, 0x01, 3095 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 3096 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 3097 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 3098 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3099 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 3100 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 3101 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 3102 0x72, 0x65, 0x6e, 0x74, 0x12, 0x72, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 3103 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 3104 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3105 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3106 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 3107 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 3108 0x02, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 3109 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 3110 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 3111 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 3112 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 3113 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 3114 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 3115 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, 3116 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 3117 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 3118 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 3119 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 3120 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 3121 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3122 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3123 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3124 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 3125 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 3126 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 3127 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3128 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 3129 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3130 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 3131 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7f, 0x0a, 3132 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 3133 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3134 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x24, 0x69, 0x6d, 0x70, 0x6f, 3135 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 3136 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3137 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, 0x69, 0x6d, 0x70, 3138 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 3139 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x62, 3140 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 3141 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 3142 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3143 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 3144 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 3145 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 3146 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3147 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 3148 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 3149 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 3150 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3151 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 3152 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 3153 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 3154 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 3155 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 3156 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 3157 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 3158 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3159 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3160 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 3161 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 3162 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3163 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 3164 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 3165 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3166 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 3167 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 3168 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3169 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 3170 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 3171 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6c, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, 3172 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 3173 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x6e, 0x61, 3174 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 3175 0x0a, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 3176 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 3177 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 3178 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4d, 3179 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 3180 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 3181 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 3182 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3183 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 3184 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 3185 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 3186 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 3187 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3188 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 3189 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3190 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 3191 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 3192 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 3193 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 3194 0x61, 0x73, 0x6b, 0x22, 0xba, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 3195 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 3196 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 3197 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 3198 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 3199 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3200 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 3201 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 3202 0x65, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 3203 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 3204 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 3205 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 3206 0x22, 0xe9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 3207 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 3208 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3209 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 3210 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 3211 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 3212 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 3213 0x41, 0x02, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x41, 0x0a, 0x1a, 0x63, 0x68, 3214 0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 3215 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 3216 0xe0, 0x41, 0x01, 0x52, 0x18, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 3217 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 3218 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x6f, 0x74, 3219 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 0x68, 3220 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x22, 0xfd, 0x06, 0x0a, 3221 0x15, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 3222 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 3223 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 3224 0x09, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x74, 0x0a, 0x0f, 0x72, 0x65, 3225 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 3226 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3227 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3228 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 3229 0x70, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 3230 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 3231 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3232 0x12, 0x6e, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 3233 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3234 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3235 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 3236 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x41, 3237 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 3238 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 3239 0x1a, 0xd5, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x41, 0x6e, 0x64, 0x4d, 3240 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 3241 0x63, 0x12, 0x54, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 3242 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3243 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3244 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 3245 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 3246 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 3247 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3248 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3249 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3250 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 3251 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 3252 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x81, 0x03, 0x0a, 0x0e, 0x52, 0x65, 0x63, 3253 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 3254 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 3255 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 3256 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3257 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3258 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 3259 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 3260 0x65, 0x41, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 3261 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x70, 0x65, 3262 0x63, 0x12, 0x7f, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 3263 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 3264 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3265 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 3266 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 3267 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 3268 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 3269 0x41, 0x03, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 3270 0x74, 0x65, 0x22, 0x68, 0x0a, 0x0a, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 3271 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 3272 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 3273 0x1a, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x53, 0x45, 3274 0x52, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x10, 0x01, 0x12, 0x1d, 0x0a, 3275 0x19, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 3276 0x55, 0x53, 0x45, 0x52, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x10, 0x02, 0x32, 0xcc, 0x25, 0x0a, 3277 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xea, 0x01, 3278 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x33, 0x2e, 3279 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3280 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3281 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 3282 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 3283 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 3284 0x6e, 0x22, 0x86, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 3285 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x55, 0x70, 3286 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 3287 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 3288 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 3289 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 3290 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3291 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 3292 0x65, 0x6c, 0x73, 0x3a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0xa4, 0x01, 0x0a, 0x08, 0x47, 3293 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3294 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3295 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 3296 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3297 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3298 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 3299 0x6c, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 3300 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 3301 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 3302 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 3303 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 3304 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3305 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3306 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 3307 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3308 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3309 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3310 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x06, 0x70, 0x61, 3311 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 3312 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 3313 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3314 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x11, 3315 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 3316 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3317 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3318 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 3319 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 3320 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3321 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 3322 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 3323 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 3324 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 3325 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3326 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 3327 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 3328 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 3329 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 3330 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3331 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3332 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 3333 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 3334 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 3335 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3336 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 3337 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 3338 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3339 0x22, 0x4e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 3340 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3341 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3342 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 3343 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 3344 0x12, 0xc4, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3345 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3346 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3347 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 3348 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3349 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3350 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x58, 0xda, 3351 0x41, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 3352 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3353 0x32, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 3354 0x6c, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3355 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 3356 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 3357 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 3358 0x61, 0x73, 0x65, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3359 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3360 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 3361 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 3362 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3363 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 3364 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0xca, 0x41, 0x4d, 0x0a, 0x20, 0x55, 0x70, 0x64, 3365 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 3366 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x55, 3367 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3368 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3369 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3370 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 3371 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3372 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3373 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 3374 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 3375 0x61, 0x73, 0x65, 0x74, 0x12, 0xd4, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 3376 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3377 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3378 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 3379 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3380 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 3381 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 3382 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 3383 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 3384 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 3385 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x62, 3386 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3387 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3388 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x12, 3389 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 3390 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3391 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3392 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3393 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 3394 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 3395 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xca, 3396 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3397 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 3398 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 3399 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 3400 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3401 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3402 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 3403 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xe1, 3404 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 3405 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3406 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3407 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 3408 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 3409 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3410 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3411 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x65, 0xda, 0x41, 0x14, 3412 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 3413 0x61, 0x73, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 3414 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 3415 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3416 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 3417 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 3418 0x65, 0x73, 0x12, 0xf0, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 3419 0x65, 0x6c, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3420 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3421 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3422 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3423 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 3424 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0xca, 0x41, 0x33, 0x0a, 0x13, 0x45, 0x78, 3425 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 3426 0x65, 0x12, 0x1c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 3427 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 3428 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 3429 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 3430 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 3431 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3432 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 3433 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xe7, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 3434 0x64, 0x65, 0x6c, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3435 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3436 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 3437 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3438 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 3439 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xca, 0x41, 0x2f, 0x0a, 0x11, 0x43, 0x6f, 0x70, 3440 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 3441 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 3442 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 3443 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3444 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x62, 0x65, 3445 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 3446 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3447 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x3a, 0x63, 0x6f, 0x70, 0x79, 0x12, 3448 0xf3, 0x01, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 3449 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3450 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3451 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 3452 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 3453 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3454 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3455 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3456 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 3457 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 3458 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 3459 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3460 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3461 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 3462 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x69, 3463 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xb7, 0x02, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 3464 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 3465 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 3466 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3467 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 3468 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 3469 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 3470 0x75, 0x65, 0x73, 0x74, 0x1a, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3471 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3472 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 3473 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 3474 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 3475 0x7e, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3476 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 3477 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 3478 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 3479 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3480 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 3481 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6c, 0x69, 3482 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 3483 0xb4, 0x02, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 3484 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 3485 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3486 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3487 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 3488 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 3489 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, 3490 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3491 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 3492 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 3493 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 3494 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0xda, 0x41, 0x1c, 0x70, 0x61, 0x72, 0x65, 0x6e, 3495 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 3496 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x3a, 0x01, 0x2a, 3497 0x22, 0x54, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3498 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3499 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 3500 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3501 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 3502 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xd0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 3503 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 3504 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3505 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3506 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 3507 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3508 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3509 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 3510 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0xda, 0x41, 0x04, 3511 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x62, 3512 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 3513 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 3514 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 3515 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x14, 0x4c, 0x69, 3516 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 3517 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3518 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 3519 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 3520 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3521 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3522 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 3523 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 3524 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 3525 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 3526 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3527 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3528 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 3529 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 3530 0xe8, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 3531 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 3532 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3533 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 3534 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3535 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 3536 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3537 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 3538 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 3539 0x69, 0x63, 0x65, 0x22, 0x55, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 3540 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 3541 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3542 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 3543 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3544 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfb, 0x01, 0x0a, 0x19, 0x4c, 3545 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 3546 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3547 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3548 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 3549 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 3550 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 3551 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3552 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 3553 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 3554 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 3555 0x57, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 3556 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 3557 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 3558 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 3559 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3560 0x7d, 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x63, 3561 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 3562 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3563 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 3564 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3565 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3566 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3567 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 3568 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3569 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 3570 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3571 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 3572 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x4d, 0xca, 0x41, 3573 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3574 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 3575 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3576 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 3577 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe8, 0x01, 0x0a, 0x23, 3578 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3579 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 3580 0x74, 0x61, 0x31, 0x42, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 3581 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3582 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 3583 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 3584 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 3585 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 3586 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 3587 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 3588 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 3589 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 3590 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 3591 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 3592 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 3593 } 3594 3595 var ( 3596 file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescOnce sync.Once 3597 file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDesc 3598 ) 3599 3600 func file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP() []byte { 3601 file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescOnce.Do(func() { 3602 file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescData) 3603 }) 3604 return file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDescData 3605 } 3606 3607 var file_google_cloud_aiplatform_v1beta1_model_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 3608 var file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes = make([]protoimpl.MessageInfo, 41) 3609 var file_google_cloud_aiplatform_v1beta1_model_service_proto_goTypes = []any{ 3610 (RecommendSpecResponse_Recommendation_QuotaState)(0), // 0: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation.QuotaState 3611 (*UploadModelRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.UploadModelRequest 3612 (*UploadModelOperationMetadata)(nil), // 2: google.cloud.aiplatform.v1beta1.UploadModelOperationMetadata 3613 (*UploadModelResponse)(nil), // 3: google.cloud.aiplatform.v1beta1.UploadModelResponse 3614 (*GetModelRequest)(nil), // 4: google.cloud.aiplatform.v1beta1.GetModelRequest 3615 (*ListModelsRequest)(nil), // 5: google.cloud.aiplatform.v1beta1.ListModelsRequest 3616 (*ListModelsResponse)(nil), // 6: google.cloud.aiplatform.v1beta1.ListModelsResponse 3617 (*ListModelVersionsRequest)(nil), // 7: google.cloud.aiplatform.v1beta1.ListModelVersionsRequest 3618 (*ListModelVersionsResponse)(nil), // 8: google.cloud.aiplatform.v1beta1.ListModelVersionsResponse 3619 (*ListModelVersionCheckpointsRequest)(nil), // 9: google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsRequest 3620 (*ModelVersionCheckpoint)(nil), // 10: google.cloud.aiplatform.v1beta1.ModelVersionCheckpoint 3621 (*ListModelVersionCheckpointsResponse)(nil), // 11: google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsResponse 3622 (*UpdateModelRequest)(nil), // 12: google.cloud.aiplatform.v1beta1.UpdateModelRequest 3623 (*UpdateExplanationDatasetRequest)(nil), // 13: google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest 3624 (*UpdateExplanationDatasetOperationMetadata)(nil), // 14: google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetOperationMetadata 3625 (*DeleteModelRequest)(nil), // 15: google.cloud.aiplatform.v1beta1.DeleteModelRequest 3626 (*DeleteModelVersionRequest)(nil), // 16: google.cloud.aiplatform.v1beta1.DeleteModelVersionRequest 3627 (*MergeVersionAliasesRequest)(nil), // 17: google.cloud.aiplatform.v1beta1.MergeVersionAliasesRequest 3628 (*ExportModelRequest)(nil), // 18: google.cloud.aiplatform.v1beta1.ExportModelRequest 3629 (*ExportModelOperationMetadata)(nil), // 19: google.cloud.aiplatform.v1beta1.ExportModelOperationMetadata 3630 (*UpdateExplanationDatasetResponse)(nil), // 20: google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetResponse 3631 (*ExportModelResponse)(nil), // 21: google.cloud.aiplatform.v1beta1.ExportModelResponse 3632 (*CopyModelRequest)(nil), // 22: google.cloud.aiplatform.v1beta1.CopyModelRequest 3633 (*CopyModelOperationMetadata)(nil), // 23: google.cloud.aiplatform.v1beta1.CopyModelOperationMetadata 3634 (*CopyModelResponse)(nil), // 24: google.cloud.aiplatform.v1beta1.CopyModelResponse 3635 (*ImportModelEvaluationRequest)(nil), // 25: google.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest 3636 (*BatchImportModelEvaluationSlicesRequest)(nil), // 26: google.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest 3637 (*BatchImportModelEvaluationSlicesResponse)(nil), // 27: google.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesResponse 3638 (*BatchImportEvaluatedAnnotationsRequest)(nil), // 28: google.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest 3639 (*BatchImportEvaluatedAnnotationsResponse)(nil), // 29: google.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsResponse 3640 (*GetModelEvaluationRequest)(nil), // 30: google.cloud.aiplatform.v1beta1.GetModelEvaluationRequest 3641 (*ListModelEvaluationsRequest)(nil), // 31: google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest 3642 (*ListModelEvaluationsResponse)(nil), // 32: google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse 3643 (*GetModelEvaluationSliceRequest)(nil), // 33: google.cloud.aiplatform.v1beta1.GetModelEvaluationSliceRequest 3644 (*ListModelEvaluationSlicesRequest)(nil), // 34: google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest 3645 (*ListModelEvaluationSlicesResponse)(nil), // 35: google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse 3646 (*RecommendSpecRequest)(nil), // 36: google.cloud.aiplatform.v1beta1.RecommendSpecRequest 3647 (*RecommendSpecResponse)(nil), // 37: google.cloud.aiplatform.v1beta1.RecommendSpecResponse 3648 (*ExportModelRequest_OutputConfig)(nil), // 38: google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig 3649 (*ExportModelOperationMetadata_OutputInfo)(nil), // 39: google.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.OutputInfo 3650 (*RecommendSpecResponse_MachineAndModelContainerSpec)(nil), // 40: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.MachineAndModelContainerSpec 3651 (*RecommendSpecResponse_Recommendation)(nil), // 41: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation 3652 (*Model)(nil), // 42: google.cloud.aiplatform.v1beta1.Model 3653 (*GenericOperationMetadata)(nil), // 43: google.cloud.aiplatform.v1beta1.GenericOperationMetadata 3654 (*fieldmaskpb.FieldMask)(nil), // 44: google.protobuf.FieldMask 3655 (*Examples)(nil), // 45: google.cloud.aiplatform.v1beta1.Examples 3656 (*EncryptionSpec)(nil), // 46: google.cloud.aiplatform.v1beta1.EncryptionSpec 3657 (*ModelEvaluation)(nil), // 47: google.cloud.aiplatform.v1beta1.ModelEvaluation 3658 (*ModelEvaluationSlice)(nil), // 48: google.cloud.aiplatform.v1beta1.ModelEvaluationSlice 3659 (*EvaluatedAnnotation)(nil), // 49: google.cloud.aiplatform.v1beta1.EvaluatedAnnotation 3660 (*GcsDestination)(nil), // 50: google.cloud.aiplatform.v1beta1.GcsDestination 3661 (*ContainerRegistryDestination)(nil), // 51: google.cloud.aiplatform.v1beta1.ContainerRegistryDestination 3662 (*MachineSpec)(nil), // 52: google.cloud.aiplatform.v1beta1.MachineSpec 3663 (*ModelContainerSpec)(nil), // 53: google.cloud.aiplatform.v1beta1.ModelContainerSpec 3664 (*longrunningpb.Operation)(nil), // 54: google.longrunning.Operation 3665 } 3666 var file_google_cloud_aiplatform_v1beta1_model_service_proto_depIdxs = []int32{ 3667 42, // 0: google.cloud.aiplatform.v1beta1.UploadModelRequest.model:type_name -> google.cloud.aiplatform.v1beta1.Model 3668 43, // 1: google.cloud.aiplatform.v1beta1.UploadModelOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 3669 44, // 2: google.cloud.aiplatform.v1beta1.ListModelsRequest.read_mask:type_name -> google.protobuf.FieldMask 3670 42, // 3: google.cloud.aiplatform.v1beta1.ListModelsResponse.models:type_name -> google.cloud.aiplatform.v1beta1.Model 3671 44, // 4: google.cloud.aiplatform.v1beta1.ListModelVersionsRequest.read_mask:type_name -> google.protobuf.FieldMask 3672 42, // 5: google.cloud.aiplatform.v1beta1.ListModelVersionsResponse.models:type_name -> google.cloud.aiplatform.v1beta1.Model 3673 10, // 6: google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsResponse.checkpoints:type_name -> google.cloud.aiplatform.v1beta1.ModelVersionCheckpoint 3674 42, // 7: google.cloud.aiplatform.v1beta1.UpdateModelRequest.model:type_name -> google.cloud.aiplatform.v1beta1.Model 3675 44, // 8: google.cloud.aiplatform.v1beta1.UpdateModelRequest.update_mask:type_name -> google.protobuf.FieldMask 3676 45, // 9: google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest.examples:type_name -> google.cloud.aiplatform.v1beta1.Examples 3677 43, // 10: google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 3678 38, // 11: google.cloud.aiplatform.v1beta1.ExportModelRequest.output_config:type_name -> google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig 3679 43, // 12: google.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 3680 39, // 13: google.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.output_info:type_name -> google.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.OutputInfo 3681 46, // 14: google.cloud.aiplatform.v1beta1.CopyModelRequest.encryption_spec:type_name -> google.cloud.aiplatform.v1beta1.EncryptionSpec 3682 43, // 15: google.cloud.aiplatform.v1beta1.CopyModelOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata 3683 47, // 16: google.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest.model_evaluation:type_name -> google.cloud.aiplatform.v1beta1.ModelEvaluation 3684 48, // 17: google.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest.model_evaluation_slices:type_name -> google.cloud.aiplatform.v1beta1.ModelEvaluationSlice 3685 49, // 18: google.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest.evaluated_annotations:type_name -> google.cloud.aiplatform.v1beta1.EvaluatedAnnotation 3686 44, // 19: google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.read_mask:type_name -> google.protobuf.FieldMask 3687 47, // 20: google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.model_evaluations:type_name -> google.cloud.aiplatform.v1beta1.ModelEvaluation 3688 44, // 21: google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.read_mask:type_name -> google.protobuf.FieldMask 3689 48, // 22: google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.model_evaluation_slices:type_name -> google.cloud.aiplatform.v1beta1.ModelEvaluationSlice 3690 41, // 23: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.recommendations:type_name -> google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation 3691 40, // 24: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.specs:type_name -> google.cloud.aiplatform.v1beta1.RecommendSpecResponse.MachineAndModelContainerSpec 3692 50, // 25: google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig.artifact_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination 3693 51, // 26: google.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig.image_destination:type_name -> google.cloud.aiplatform.v1beta1.ContainerRegistryDestination 3694 52, // 27: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.MachineAndModelContainerSpec.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 3695 53, // 28: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.MachineAndModelContainerSpec.container_spec:type_name -> google.cloud.aiplatform.v1beta1.ModelContainerSpec 3696 40, // 29: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation.spec:type_name -> google.cloud.aiplatform.v1beta1.RecommendSpecResponse.MachineAndModelContainerSpec 3697 0, // 30: google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation.user_quota_state:type_name -> google.cloud.aiplatform.v1beta1.RecommendSpecResponse.Recommendation.QuotaState 3698 1, // 31: google.cloud.aiplatform.v1beta1.ModelService.UploadModel:input_type -> google.cloud.aiplatform.v1beta1.UploadModelRequest 3699 4, // 32: google.cloud.aiplatform.v1beta1.ModelService.GetModel:input_type -> google.cloud.aiplatform.v1beta1.GetModelRequest 3700 5, // 33: google.cloud.aiplatform.v1beta1.ModelService.ListModels:input_type -> google.cloud.aiplatform.v1beta1.ListModelsRequest 3701 7, // 34: google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions:input_type -> google.cloud.aiplatform.v1beta1.ListModelVersionsRequest 3702 9, // 35: google.cloud.aiplatform.v1beta1.ModelService.ListModelVersionCheckpoints:input_type -> google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsRequest 3703 12, // 36: google.cloud.aiplatform.v1beta1.ModelService.UpdateModel:input_type -> google.cloud.aiplatform.v1beta1.UpdateModelRequest 3704 13, // 37: google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset:input_type -> google.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest 3705 15, // 38: google.cloud.aiplatform.v1beta1.ModelService.DeleteModel:input_type -> google.cloud.aiplatform.v1beta1.DeleteModelRequest 3706 16, // 39: google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion:input_type -> google.cloud.aiplatform.v1beta1.DeleteModelVersionRequest 3707 17, // 40: google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases:input_type -> google.cloud.aiplatform.v1beta1.MergeVersionAliasesRequest 3708 18, // 41: google.cloud.aiplatform.v1beta1.ModelService.ExportModel:input_type -> google.cloud.aiplatform.v1beta1.ExportModelRequest 3709 22, // 42: google.cloud.aiplatform.v1beta1.ModelService.CopyModel:input_type -> google.cloud.aiplatform.v1beta1.CopyModelRequest 3710 25, // 43: google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation:input_type -> google.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest 3711 26, // 44: google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices:input_type -> google.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest 3712 28, // 45: google.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations:input_type -> google.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest 3713 30, // 46: google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation:input_type -> google.cloud.aiplatform.v1beta1.GetModelEvaluationRequest 3714 31, // 47: google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations:input_type -> google.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest 3715 33, // 48: google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice:input_type -> google.cloud.aiplatform.v1beta1.GetModelEvaluationSliceRequest 3716 34, // 49: google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices:input_type -> google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest 3717 36, // 50: google.cloud.aiplatform.v1beta1.ModelService.RecommendSpec:input_type -> google.cloud.aiplatform.v1beta1.RecommendSpecRequest 3718 54, // 51: google.cloud.aiplatform.v1beta1.ModelService.UploadModel:output_type -> google.longrunning.Operation 3719 42, // 52: google.cloud.aiplatform.v1beta1.ModelService.GetModel:output_type -> google.cloud.aiplatform.v1beta1.Model 3720 6, // 53: google.cloud.aiplatform.v1beta1.ModelService.ListModels:output_type -> google.cloud.aiplatform.v1beta1.ListModelsResponse 3721 8, // 54: google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions:output_type -> google.cloud.aiplatform.v1beta1.ListModelVersionsResponse 3722 11, // 55: google.cloud.aiplatform.v1beta1.ModelService.ListModelVersionCheckpoints:output_type -> google.cloud.aiplatform.v1beta1.ListModelVersionCheckpointsResponse 3723 42, // 56: google.cloud.aiplatform.v1beta1.ModelService.UpdateModel:output_type -> google.cloud.aiplatform.v1beta1.Model 3724 54, // 57: google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset:output_type -> google.longrunning.Operation 3725 54, // 58: google.cloud.aiplatform.v1beta1.ModelService.DeleteModel:output_type -> google.longrunning.Operation 3726 54, // 59: google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion:output_type -> google.longrunning.Operation 3727 42, // 60: google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases:output_type -> google.cloud.aiplatform.v1beta1.Model 3728 54, // 61: google.cloud.aiplatform.v1beta1.ModelService.ExportModel:output_type -> google.longrunning.Operation 3729 54, // 62: google.cloud.aiplatform.v1beta1.ModelService.CopyModel:output_type -> google.longrunning.Operation 3730 47, // 63: google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation:output_type -> google.cloud.aiplatform.v1beta1.ModelEvaluation 3731 27, // 64: google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices:output_type -> google.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesResponse 3732 29, // 65: google.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations:output_type -> google.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsResponse 3733 47, // 66: google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation:output_type -> google.cloud.aiplatform.v1beta1.ModelEvaluation 3734 32, // 67: google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations:output_type -> google.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse 3735 48, // 68: google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice:output_type -> google.cloud.aiplatform.v1beta1.ModelEvaluationSlice 3736 35, // 69: google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices:output_type -> google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse 3737 37, // 70: google.cloud.aiplatform.v1beta1.ModelService.RecommendSpec:output_type -> google.cloud.aiplatform.v1beta1.RecommendSpecResponse 3738 51, // [51:71] is the sub-list for method output_type 3739 31, // [31:51] is the sub-list for method input_type 3740 31, // [31:31] is the sub-list for extension type_name 3741 31, // [31:31] is the sub-list for extension extendee 3742 0, // [0:31] is the sub-list for field type_name 3743 } 3744 3745 func init() { file_google_cloud_aiplatform_v1beta1_model_service_proto_init() } 3746 func file_google_cloud_aiplatform_v1beta1_model_service_proto_init() { 3747 if File_google_cloud_aiplatform_v1beta1_model_service_proto != nil { 3748 return 3749 } 3750 file_google_cloud_aiplatform_v1beta1_encryption_spec_proto_init() 3751 file_google_cloud_aiplatform_v1beta1_evaluated_annotation_proto_init() 3752 file_google_cloud_aiplatform_v1beta1_explanation_proto_init() 3753 file_google_cloud_aiplatform_v1beta1_io_proto_init() 3754 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() 3755 file_google_cloud_aiplatform_v1beta1_model_proto_init() 3756 file_google_cloud_aiplatform_v1beta1_model_evaluation_proto_init() 3757 file_google_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_init() 3758 file_google_cloud_aiplatform_v1beta1_operation_proto_init() 3759 file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21].OneofWrappers = []any{ 3760 (*CopyModelRequest_ModelId)(nil), 3761 (*CopyModelRequest_ParentModel)(nil), 3762 } 3763 type x struct{} 3764 out := protoimpl.TypeBuilder{ 3765 File: protoimpl.DescBuilder{ 3766 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3767 RawDescriptor: file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDesc, 3768 NumEnums: 1, 3769 NumMessages: 41, 3770 NumExtensions: 0, 3771 NumServices: 1, 3772 }, 3773 GoTypes: file_google_cloud_aiplatform_v1beta1_model_service_proto_goTypes, 3774 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_model_service_proto_depIdxs, 3775 EnumInfos: file_google_cloud_aiplatform_v1beta1_model_service_proto_enumTypes, 3776 MessageInfos: file_google_cloud_aiplatform_v1beta1_model_service_proto_msgTypes, 3777 }.Build() 3778 File_google_cloud_aiplatform_v1beta1_model_service_proto = out.File 3779 file_google_cloud_aiplatform_v1beta1_model_service_proto_rawDesc = nil 3780 file_google_cloud_aiplatform_v1beta1_model_service_proto_goTypes = nil 3781 file_google_cloud_aiplatform_v1beta1_model_service_proto_depIdxs = nil 3782 }