go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/common/proto/gerrit/gerrit.pb.go (about) 1 // Copyright 2018 The LUCI Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.31.0 18 // protoc v3.21.7 19 // source: go.chromium.org/luci/common/proto/gerrit/gerrit.proto 20 21 package gerritpb 22 23 import ( 24 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 25 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 26 emptypb "google.golang.org/protobuf/types/known/emptypb" 27 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 28 reflect "reflect" 29 sync "sync" 30 ) 31 32 const ( 33 // Verify that this generated code is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 35 // Verify that runtime/protoimpl is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 37 ) 38 39 // Specifies what extra information to include in the response. 40 // 41 // Source of truth: 42 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#query-options 43 type QueryOption int32 44 45 const ( 46 QueryOption_OPTION_UNSPECIFIED QueryOption = 0 47 // A summary of each label required for submit, and approvers that have 48 // granted (or rejected) with that label. 49 QueryOption_LABELS QueryOption = 1 50 // Detailed label information, including numeric values of all existing 51 // approvals, recognized label values, values permitted to be set by the 52 // current user, all reviewers by state, and reviewers that may be removed by 53 // the current user. 54 QueryOption_DETAILED_LABELS QueryOption = 2 55 // Describe the current revision (patch set) of the change, including the 56 // commit SHA-1 and URLs to fetch from. 57 QueryOption_CURRENT_REVISION QueryOption = 4 58 // Describe all revisions, not just current. 59 QueryOption_ALL_REVISIONS QueryOption = 8 60 // Parse and output all header fields from the commit object, including 61 // message. Only valid when the CURRENT_REVISION or ALL_REVISIONS option is 62 // selected. 63 QueryOption_CURRENT_COMMIT QueryOption = 16 64 // Parse and output all header fields from the output revisions. If only 65 // CURRENT_REVISION was requested then only the current revision’s commit data 66 // will be output. 67 QueryOption_ALL_COMMITS QueryOption = 32 68 // List files modified by the commit and magic files, including basic line 69 // counts inserted/deleted per file. Only valid when the CURRENT_REVISION or 70 // ALL_REVISIONS option is selected. 71 QueryOption_CURRENT_FILES QueryOption = 64 72 // List files modified by the commit and magic files, including basic line 73 // counts inserted/deleted per file. If only the CURRENT_REVISION was 74 // requested then only that commit’s modified files will be output. 75 QueryOption_ALL_FILES QueryOption = 128 76 // Include _account_id, email and username fields when referencing accounts. 77 QueryOption_DETAILED_ACCOUNTS QueryOption = 256 78 // Include updates to reviewers set as ReviewerUpdateInfo entities. 79 QueryOption_REVIEWER_UPDATES QueryOption = 512 80 // Include messages associated with the change. 81 QueryOption_MESSAGES QueryOption = 1024 82 // Include information on available actions for the change and its current 83 // revision. Ignored if the caller is not authenticated. 84 QueryOption_CURRENT_ACTIONS QueryOption = 2048 85 // Include information on available change actions for the change. Ignored if 86 // the caller is not authenticated. 87 QueryOption_CHANGE_ACTIONS QueryOption = 4096 88 // Include the reviewed field if all of the following are true: 89 // - the change is open 90 // - the caller is authenticated 91 // - the caller has commented on the change more recently than the last update 92 // from the change owner, i.e. this change would show up in the results of 93 // reviewedby:self. 94 QueryOption_REVIEWED QueryOption = 8192 95 // Skip the mergeable field in ChangeInfo. For fast moving projects, this 96 // field must be recomputed often, which is slow for projects with big trees. 97 QueryOption_SKIP_MERGEABLE QueryOption = 16384 98 // Include the submittable field in ChangeInfo, which can be used to tell if 99 // the change is reviewed and ready for submit. 100 QueryOption_SUBMITTABLE QueryOption = 32768 101 // Include the web_links field in CommitInfo, therefore only valid in 102 // combination with CURRENT_COMMIT or ALL_COMMITS. 103 QueryOption_WEB_LINKS QueryOption = 65536 104 // Include potential problems with the change. 105 QueryOption_CHECK QueryOption = 131072 106 // Include the full commit message with Gerrit-specific commit footers in the 107 // RevisionInfo. 108 QueryOption_COMMIT_FOOTERS QueryOption = 262144 109 // Include push certificate information in the RevisionInfo. Ignored if signed 110 // push is not enabled on the server. 111 QueryOption_PUSH_CERTIFICATES QueryOption = 524288 112 // Include references to external tracking systems as TrackingIdInfo. 113 QueryOption_TRACKING_IDS QueryOption = 1048576 114 // Include the commands field in the FetchInfo for revisions. Only valid when 115 // the CURRENT_REVISION or ALL_REVISIONS option is selected. 116 QueryOption_DOWNLOAD_COMMANDS QueryOption = 2097152 117 // Include the submit_requirements field in ChangeInfo. 118 QueryOption_SUBMIT_REQUIREMENTS QueryOption = 4194304 119 // MAX_QUERY_OPTION is the largest possible number in QueryOption. 120 // 121 // This is not meant to be used, but to indicate the upper bound of the valid 122 // enum value set. 123 // 124 // QueryOption is typed as int32, and the largest possible value is 125 // pow(2,31) - 1. MAX_QUERY_OPTION is the largest power of 2 allowed in 126 // QueryOption. 127 QueryOption_MAX_QUERY_OPTION QueryOption = 1073741824 128 ) 129 130 // Enum value maps for QueryOption. 131 var ( 132 QueryOption_name = map[int32]string{ 133 0: "OPTION_UNSPECIFIED", 134 1: "LABELS", 135 2: "DETAILED_LABELS", 136 4: "CURRENT_REVISION", 137 8: "ALL_REVISIONS", 138 16: "CURRENT_COMMIT", 139 32: "ALL_COMMITS", 140 64: "CURRENT_FILES", 141 128: "ALL_FILES", 142 256: "DETAILED_ACCOUNTS", 143 512: "REVIEWER_UPDATES", 144 1024: "MESSAGES", 145 2048: "CURRENT_ACTIONS", 146 4096: "CHANGE_ACTIONS", 147 8192: "REVIEWED", 148 16384: "SKIP_MERGEABLE", 149 32768: "SUBMITTABLE", 150 65536: "WEB_LINKS", 151 131072: "CHECK", 152 262144: "COMMIT_FOOTERS", 153 524288: "PUSH_CERTIFICATES", 154 1048576: "TRACKING_IDS", 155 2097152: "DOWNLOAD_COMMANDS", 156 4194304: "SUBMIT_REQUIREMENTS", 157 1073741824: "MAX_QUERY_OPTION", 158 } 159 QueryOption_value = map[string]int32{ 160 "OPTION_UNSPECIFIED": 0, 161 "LABELS": 1, 162 "DETAILED_LABELS": 2, 163 "CURRENT_REVISION": 4, 164 "ALL_REVISIONS": 8, 165 "CURRENT_COMMIT": 16, 166 "ALL_COMMITS": 32, 167 "CURRENT_FILES": 64, 168 "ALL_FILES": 128, 169 "DETAILED_ACCOUNTS": 256, 170 "REVIEWER_UPDATES": 512, 171 "MESSAGES": 1024, 172 "CURRENT_ACTIONS": 2048, 173 "CHANGE_ACTIONS": 4096, 174 "REVIEWED": 8192, 175 "SKIP_MERGEABLE": 16384, 176 "SUBMITTABLE": 32768, 177 "WEB_LINKS": 65536, 178 "CHECK": 131072, 179 "COMMIT_FOOTERS": 262144, 180 "PUSH_CERTIFICATES": 524288, 181 "TRACKING_IDS": 1048576, 182 "DOWNLOAD_COMMANDS": 2097152, 183 "SUBMIT_REQUIREMENTS": 4194304, 184 "MAX_QUERY_OPTION": 1073741824, 185 } 186 ) 187 188 func (x QueryOption) Enum() *QueryOption { 189 p := new(QueryOption) 190 *p = x 191 return p 192 } 193 194 func (x QueryOption) String() string { 195 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 196 } 197 198 func (QueryOption) Descriptor() protoreflect.EnumDescriptor { 199 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[0].Descriptor() 200 } 201 202 func (QueryOption) Type() protoreflect.EnumType { 203 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[0] 204 } 205 206 func (x QueryOption) Number() protoreflect.EnumNumber { 207 return protoreflect.EnumNumber(x) 208 } 209 210 // Deprecated: Use QueryOption.Descriptor instead. 211 func (QueryOption) EnumDescriptor() ([]byte, []int) { 212 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{0} 213 } 214 215 // Specify the notification options for an action. 216 // Different endpoints support different subsets of this enum. 217 type Notify int32 218 219 const ( 220 Notify_NOTIFY_UNSPECIFIED Notify = 0 221 // Do not send email notifications. 222 Notify_NOTIFY_NONE Notify = 1 223 // Notify all OWNERS. 224 Notify_NOTIFY_OWNER Notify = 2 225 // Notify OWNERS who are also reviewers 226 Notify_NOTIFY_OWNER_REVIEWERS Notify = 3 227 // Notify all OWNERS and reviewers 228 Notify_NOTIFY_ALL Notify = 4 229 ) 230 231 // Enum value maps for Notify. 232 var ( 233 Notify_name = map[int32]string{ 234 0: "NOTIFY_UNSPECIFIED", 235 1: "NOTIFY_NONE", 236 2: "NOTIFY_OWNER", 237 3: "NOTIFY_OWNER_REVIEWERS", 238 4: "NOTIFY_ALL", 239 } 240 Notify_value = map[string]int32{ 241 "NOTIFY_UNSPECIFIED": 0, 242 "NOTIFY_NONE": 1, 243 "NOTIFY_OWNER": 2, 244 "NOTIFY_OWNER_REVIEWERS": 3, 245 "NOTIFY_ALL": 4, 246 } 247 ) 248 249 func (x Notify) Enum() *Notify { 250 p := new(Notify) 251 *p = x 252 return p 253 } 254 255 func (x Notify) String() string { 256 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 257 } 258 259 func (Notify) Descriptor() protoreflect.EnumDescriptor { 260 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[1].Descriptor() 261 } 262 263 func (Notify) Type() protoreflect.EnumType { 264 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[1] 265 } 266 267 func (x Notify) Number() protoreflect.EnumNumber { 268 return protoreflect.EnumNumber(x) 269 } 270 271 // Deprecated: Use Notify.Descriptor instead. 272 func (Notify) EnumDescriptor() ([]byte, []int) { 273 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{1} 274 } 275 276 type ChangeStatus int32 277 278 const ( 279 ChangeStatus_CHANGE_STATUS_INVALID ChangeStatus = 0 280 ChangeStatus_NEW ChangeStatus = 1 281 ChangeStatus_MERGED ChangeStatus = 2 282 ChangeStatus_ABANDONED ChangeStatus = 3 283 ) 284 285 // Enum value maps for ChangeStatus. 286 var ( 287 ChangeStatus_name = map[int32]string{ 288 0: "CHANGE_STATUS_INVALID", 289 1: "NEW", 290 2: "MERGED", 291 3: "ABANDONED", 292 } 293 ChangeStatus_value = map[string]int32{ 294 "CHANGE_STATUS_INVALID": 0, 295 "NEW": 1, 296 "MERGED": 2, 297 "ABANDONED": 3, 298 } 299 ) 300 301 func (x ChangeStatus) Enum() *ChangeStatus { 302 p := new(ChangeStatus) 303 *p = x 304 return p 305 } 306 307 func (x ChangeStatus) String() string { 308 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 309 } 310 311 func (ChangeStatus) Descriptor() protoreflect.EnumDescriptor { 312 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[2].Descriptor() 313 } 314 315 func (ChangeStatus) Type() protoreflect.EnumType { 316 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[2] 317 } 318 319 func (x ChangeStatus) Number() protoreflect.EnumNumber { 320 return protoreflect.EnumNumber(x) 321 } 322 323 // Deprecated: Use ChangeStatus.Descriptor instead. 324 func (ChangeStatus) EnumDescriptor() ([]byte, []int) { 325 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{2} 326 } 327 328 type MergeableStrategy int32 329 330 const ( 331 MergeableStrategy_MERGEABLE_STRATEGY_UNSPECIFIED MergeableStrategy = 0 332 MergeableStrategy_RECURSIVE MergeableStrategy = 1 333 MergeableStrategy_RESOLVE MergeableStrategy = 2 334 MergeableStrategy_SIMPLE_TWO_WAY_IN_CORE MergeableStrategy = 3 335 MergeableStrategy_OURS MergeableStrategy = 4 336 MergeableStrategy_THEIRS MergeableStrategy = 5 337 ) 338 339 // Enum value maps for MergeableStrategy. 340 var ( 341 MergeableStrategy_name = map[int32]string{ 342 0: "MERGEABLE_STRATEGY_UNSPECIFIED", 343 1: "RECURSIVE", 344 2: "RESOLVE", 345 3: "SIMPLE_TWO_WAY_IN_CORE", 346 4: "OURS", 347 5: "THEIRS", 348 } 349 MergeableStrategy_value = map[string]int32{ 350 "MERGEABLE_STRATEGY_UNSPECIFIED": 0, 351 "RECURSIVE": 1, 352 "RESOLVE": 2, 353 "SIMPLE_TWO_WAY_IN_CORE": 3, 354 "OURS": 4, 355 "THEIRS": 5, 356 } 357 ) 358 359 func (x MergeableStrategy) Enum() *MergeableStrategy { 360 p := new(MergeableStrategy) 361 *p = x 362 return p 363 } 364 365 func (x MergeableStrategy) String() string { 366 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 367 } 368 369 func (MergeableStrategy) Descriptor() protoreflect.EnumDescriptor { 370 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[3].Descriptor() 371 } 372 373 func (MergeableStrategy) Type() protoreflect.EnumType { 374 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[3] 375 } 376 377 func (x MergeableStrategy) Number() protoreflect.EnumNumber { 378 return protoreflect.EnumNumber(x) 379 } 380 381 // Deprecated: Use MergeableStrategy.Descriptor instead. 382 func (MergeableStrategy) EnumDescriptor() ([]byte, []int) { 383 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{3} 384 } 385 386 // Specify how recipient will be notified. 387 // 388 // Source of truth: 389 // https://gerrit-review.googlesource.com/Documentation/user-notify.html#recipient-types 390 type NotifyDetails_RecipientType int32 391 392 const ( 393 NotifyDetails_RECIPIENT_TYPE_UNSPECIFIED NotifyDetails_RecipientType = 0 394 // The standard To field is used; addresses are visible to all. 395 NotifyDetails_RECIPIENT_TYPE_TO NotifyDetails_RecipientType = 1 396 // The standard CC field is used; addresses are visible to all. 397 NotifyDetails_RECIPIENT_TYPE_CC NotifyDetails_RecipientType = 2 398 // SMTP RCPT TO is used to hide the address. 399 NotifyDetails_RECIPIENT_TYPE_BCC NotifyDetails_RecipientType = 3 400 ) 401 402 // Enum value maps for NotifyDetails_RecipientType. 403 var ( 404 NotifyDetails_RecipientType_name = map[int32]string{ 405 0: "RECIPIENT_TYPE_UNSPECIFIED", 406 1: "RECIPIENT_TYPE_TO", 407 2: "RECIPIENT_TYPE_CC", 408 3: "RECIPIENT_TYPE_BCC", 409 } 410 NotifyDetails_RecipientType_value = map[string]int32{ 411 "RECIPIENT_TYPE_UNSPECIFIED": 0, 412 "RECIPIENT_TYPE_TO": 1, 413 "RECIPIENT_TYPE_CC": 2, 414 "RECIPIENT_TYPE_BCC": 3, 415 } 416 ) 417 418 func (x NotifyDetails_RecipientType) Enum() *NotifyDetails_RecipientType { 419 p := new(NotifyDetails_RecipientType) 420 *p = x 421 return p 422 } 423 424 func (x NotifyDetails_RecipientType) String() string { 425 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 426 } 427 428 func (NotifyDetails_RecipientType) Descriptor() protoreflect.EnumDescriptor { 429 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[4].Descriptor() 430 } 431 432 func (NotifyDetails_RecipientType) Type() protoreflect.EnumType { 433 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[4] 434 } 435 436 func (x NotifyDetails_RecipientType) Number() protoreflect.EnumNumber { 437 return protoreflect.EnumNumber(x) 438 } 439 440 // Deprecated: Use NotifyDetails_RecipientType.Descriptor instead. 441 func (NotifyDetails_RecipientType) EnumDescriptor() ([]byte, []int) { 442 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{0, 0} 443 } 444 445 // The kind of change for this revision. 446 type RevisionInfo_Kind int32 447 448 const ( 449 RevisionInfo_KIND_INVALID RevisionInfo_Kind = 0 450 RevisionInfo_REWORK RevisionInfo_Kind = 1 451 RevisionInfo_TRIVIAL_REBASE RevisionInfo_Kind = 2 452 RevisionInfo_MERGE_FIRST_PARENT_UPDATE RevisionInfo_Kind = 3 453 RevisionInfo_NO_CODE_CHANGE RevisionInfo_Kind = 4 454 RevisionInfo_NO_CHANGE RevisionInfo_Kind = 5 455 ) 456 457 // Enum value maps for RevisionInfo_Kind. 458 var ( 459 RevisionInfo_Kind_name = map[int32]string{ 460 0: "KIND_INVALID", 461 1: "REWORK", 462 2: "TRIVIAL_REBASE", 463 3: "MERGE_FIRST_PARENT_UPDATE", 464 4: "NO_CODE_CHANGE", 465 5: "NO_CHANGE", 466 } 467 RevisionInfo_Kind_value = map[string]int32{ 468 "KIND_INVALID": 0, 469 "REWORK": 1, 470 "TRIVIAL_REBASE": 2, 471 "MERGE_FIRST_PARENT_UPDATE": 3, 472 "NO_CODE_CHANGE": 4, 473 "NO_CHANGE": 5, 474 } 475 ) 476 477 func (x RevisionInfo_Kind) Enum() *RevisionInfo_Kind { 478 p := new(RevisionInfo_Kind) 479 *p = x 480 return p 481 } 482 483 func (x RevisionInfo_Kind) String() string { 484 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 485 } 486 487 func (RevisionInfo_Kind) Descriptor() protoreflect.EnumDescriptor { 488 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[5].Descriptor() 489 } 490 491 func (RevisionInfo_Kind) Type() protoreflect.EnumType { 492 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[5] 493 } 494 495 func (x RevisionInfo_Kind) Number() protoreflect.EnumNumber { 496 return protoreflect.EnumNumber(x) 497 } 498 499 // Deprecated: Use RevisionInfo_Kind.Descriptor instead. 500 func (RevisionInfo_Kind) EnumDescriptor() ([]byte, []int) { 501 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{8, 0} 502 } 503 504 type Requirement_Status int32 505 506 const ( 507 Requirement_REQUIREMENT_STATUS_UNSPECIFIED Requirement_Status = 0 508 Requirement_REQUIREMENT_STATUS_OK Requirement_Status = 1 509 Requirement_REQUIREMENT_STATUS_NOT_READY Requirement_Status = 2 510 Requirement_REQUIREMENT_STATUS_RULE_ERROR Requirement_Status = 3 511 ) 512 513 // Enum value maps for Requirement_Status. 514 var ( 515 Requirement_Status_name = map[int32]string{ 516 0: "REQUIREMENT_STATUS_UNSPECIFIED", 517 1: "REQUIREMENT_STATUS_OK", 518 2: "REQUIREMENT_STATUS_NOT_READY", 519 3: "REQUIREMENT_STATUS_RULE_ERROR", 520 } 521 Requirement_Status_value = map[string]int32{ 522 "REQUIREMENT_STATUS_UNSPECIFIED": 0, 523 "REQUIREMENT_STATUS_OK": 1, 524 "REQUIREMENT_STATUS_NOT_READY": 2, 525 "REQUIREMENT_STATUS_RULE_ERROR": 3, 526 } 527 ) 528 529 func (x Requirement_Status) Enum() *Requirement_Status { 530 p := new(Requirement_Status) 531 *p = x 532 return p 533 } 534 535 func (x Requirement_Status) String() string { 536 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 537 } 538 539 func (Requirement_Status) Descriptor() protoreflect.EnumDescriptor { 540 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[6].Descriptor() 541 } 542 543 func (Requirement_Status) Type() protoreflect.EnumType { 544 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[6] 545 } 546 547 func (x Requirement_Status) Number() protoreflect.EnumNumber { 548 return protoreflect.EnumNumber(x) 549 } 550 551 // Deprecated: Use Requirement_Status.Descriptor instead. 552 func (Requirement_Status) EnumDescriptor() ([]byte, []int) { 553 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{14, 0} 554 } 555 556 type FileInfo_Status int32 557 558 const ( 559 FileInfo_M FileInfo_Status = 0 // Modified (default; omitted) 560 FileInfo_A FileInfo_Status = 1 // Added 561 FileInfo_D FileInfo_Status = 2 // Deleted 562 FileInfo_R FileInfo_Status = 3 // Renamed 563 FileInfo_C FileInfo_Status = 4 // Copied 564 FileInfo_W FileInfo_Status = 5 // Rewritten 565 ) 566 567 // Enum value maps for FileInfo_Status. 568 var ( 569 FileInfo_Status_name = map[int32]string{ 570 0: "M", 571 1: "A", 572 2: "D", 573 3: "R", 574 4: "C", 575 5: "W", 576 } 577 FileInfo_Status_value = map[string]int32{ 578 "M": 0, 579 "A": 1, 580 "D": 2, 581 "R": 3, 582 "C": 4, 583 "W": 5, 584 } 585 ) 586 587 func (x FileInfo_Status) Enum() *FileInfo_Status { 588 p := new(FileInfo_Status) 589 *p = x 590 return p 591 } 592 593 func (x FileInfo_Status) String() string { 594 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 595 } 596 597 func (FileInfo_Status) Descriptor() protoreflect.EnumDescriptor { 598 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[7].Descriptor() 599 } 600 601 func (FileInfo_Status) Type() protoreflect.EnumType { 602 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[7] 603 } 604 605 func (x FileInfo_Status) Number() protoreflect.EnumNumber { 606 return protoreflect.EnumNumber(x) 607 } 608 609 // Deprecated: Use FileInfo_Status.Descriptor instead. 610 func (FileInfo_Status) EnumDescriptor() ([]byte, []int) { 611 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{15, 0} 612 } 613 614 type AddReviewerRequest_State int32 615 616 const ( 617 AddReviewerRequest_ADD_REVIEWER_STATE_UNSPECIFIED AddReviewerRequest_State = 0 618 AddReviewerRequest_ADD_REVIEWER_STATE_REVIEWER AddReviewerRequest_State = 1 619 AddReviewerRequest_ADD_REVIEWER_STATE_CC AddReviewerRequest_State = 2 620 ) 621 622 // Enum value maps for AddReviewerRequest_State. 623 var ( 624 AddReviewerRequest_State_name = map[int32]string{ 625 0: "ADD_REVIEWER_STATE_UNSPECIFIED", 626 1: "ADD_REVIEWER_STATE_REVIEWER", 627 2: "ADD_REVIEWER_STATE_CC", 628 } 629 AddReviewerRequest_State_value = map[string]int32{ 630 "ADD_REVIEWER_STATE_UNSPECIFIED": 0, 631 "ADD_REVIEWER_STATE_REVIEWER": 1, 632 "ADD_REVIEWER_STATE_CC": 2, 633 } 634 ) 635 636 func (x AddReviewerRequest_State) Enum() *AddReviewerRequest_State { 637 p := new(AddReviewerRequest_State) 638 *p = x 639 return p 640 } 641 642 func (x AddReviewerRequest_State) String() string { 643 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 644 } 645 646 func (AddReviewerRequest_State) Descriptor() protoreflect.EnumDescriptor { 647 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[8].Descriptor() 648 } 649 650 func (AddReviewerRequest_State) Type() protoreflect.EnumType { 651 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[8] 652 } 653 654 func (x AddReviewerRequest_State) Number() protoreflect.EnumNumber { 655 return protoreflect.EnumNumber(x) 656 } 657 658 // Deprecated: Use AddReviewerRequest_State.Descriptor instead. 659 func (AddReviewerRequest_State) EnumDescriptor() ([]byte, []int) { 660 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{25, 0} 661 } 662 663 // Subset of reviewer states. See the "state" entry at 664 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#reviewer-input 665 type ReviewerInput_State int32 666 667 const ( 668 ReviewerInput_REVIEWER_INPUT_STATE_UNSPECIFIED ReviewerInput_State = 0 669 ReviewerInput_REVIEWER_INPUT_STATE_REVIEWER ReviewerInput_State = 1 670 ReviewerInput_REVIEWER_INPUT_STATE_CC ReviewerInput_State = 2 671 ) 672 673 // Enum value maps for ReviewerInput_State. 674 var ( 675 ReviewerInput_State_name = map[int32]string{ 676 0: "REVIEWER_INPUT_STATE_UNSPECIFIED", 677 1: "REVIEWER_INPUT_STATE_REVIEWER", 678 2: "REVIEWER_INPUT_STATE_CC", 679 } 680 ReviewerInput_State_value = map[string]int32{ 681 "REVIEWER_INPUT_STATE_UNSPECIFIED": 0, 682 "REVIEWER_INPUT_STATE_REVIEWER": 1, 683 "REVIEWER_INPUT_STATE_CC": 2, 684 } 685 ) 686 687 func (x ReviewerInput_State) Enum() *ReviewerInput_State { 688 p := new(ReviewerInput_State) 689 *p = x 690 return p 691 } 692 693 func (x ReviewerInput_State) String() string { 694 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 695 } 696 697 func (ReviewerInput_State) Descriptor() protoreflect.EnumDescriptor { 698 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[9].Descriptor() 699 } 700 701 func (ReviewerInput_State) Type() protoreflect.EnumType { 702 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[9] 703 } 704 705 func (x ReviewerInput_State) Number() protoreflect.EnumNumber { 706 return protoreflect.EnumNumber(x) 707 } 708 709 // Deprecated: Use ReviewerInput_State.Descriptor instead. 710 func (ReviewerInput_State) EnumDescriptor() ([]byte, []int) { 711 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{30, 0} 712 } 713 714 type MergeableInfo_SubmitType int32 715 716 const ( 717 MergeableInfo_SUBMIT_TYPE_UNSPECIFIED MergeableInfo_SubmitType = 0 718 MergeableInfo_MERGE_IF_NECESSARY MergeableInfo_SubmitType = 1 719 MergeableInfo_FAST_FORWARD_ONLY MergeableInfo_SubmitType = 2 720 MergeableInfo_REBASE_IF_NECESSARY MergeableInfo_SubmitType = 3 721 MergeableInfo_REBASE_ALWAYS MergeableInfo_SubmitType = 4 722 MergeableInfo_MERGE_ALWAYS MergeableInfo_SubmitType = 5 723 MergeableInfo_CHERRY_PICK MergeableInfo_SubmitType = 6 724 ) 725 726 // Enum value maps for MergeableInfo_SubmitType. 727 var ( 728 MergeableInfo_SubmitType_name = map[int32]string{ 729 0: "SUBMIT_TYPE_UNSPECIFIED", 730 1: "MERGE_IF_NECESSARY", 731 2: "FAST_FORWARD_ONLY", 732 3: "REBASE_IF_NECESSARY", 733 4: "REBASE_ALWAYS", 734 5: "MERGE_ALWAYS", 735 6: "CHERRY_PICK", 736 } 737 MergeableInfo_SubmitType_value = map[string]int32{ 738 "SUBMIT_TYPE_UNSPECIFIED": 0, 739 "MERGE_IF_NECESSARY": 1, 740 "FAST_FORWARD_ONLY": 2, 741 "REBASE_IF_NECESSARY": 3, 742 "REBASE_ALWAYS": 4, 743 "MERGE_ALWAYS": 5, 744 "CHERRY_PICK": 6, 745 } 746 ) 747 748 func (x MergeableInfo_SubmitType) Enum() *MergeableInfo_SubmitType { 749 p := new(MergeableInfo_SubmitType) 750 *p = x 751 return p 752 } 753 754 func (x MergeableInfo_SubmitType) String() string { 755 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 756 } 757 758 func (MergeableInfo_SubmitType) Descriptor() protoreflect.EnumDescriptor { 759 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[10].Descriptor() 760 } 761 762 func (MergeableInfo_SubmitType) Type() protoreflect.EnumType { 763 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[10] 764 } 765 766 func (x MergeableInfo_SubmitType) Number() protoreflect.EnumNumber { 767 return protoreflect.EnumNumber(x) 768 } 769 770 // Deprecated: Use MergeableInfo_SubmitType.Descriptor instead. 771 func (MergeableInfo_SubmitType) EnumDescriptor() ([]byte, []int) { 772 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{35, 0} 773 } 774 775 type ProjectInfo_State int32 776 777 const ( 778 ProjectInfo_PROJECT_STATE_UNSPECIFIED ProjectInfo_State = 0 779 ProjectInfo_PROJECT_STATE_ACTIVE ProjectInfo_State = 1 780 ProjectInfo_PROJECT_STATE_READ_ONLY ProjectInfo_State = 2 781 ProjectInfo_PROJECT_STATE_HIDDEN ProjectInfo_State = 3 782 ) 783 784 // Enum value maps for ProjectInfo_State. 785 var ( 786 ProjectInfo_State_name = map[int32]string{ 787 0: "PROJECT_STATE_UNSPECIFIED", 788 1: "PROJECT_STATE_ACTIVE", 789 2: "PROJECT_STATE_READ_ONLY", 790 3: "PROJECT_STATE_HIDDEN", 791 } 792 ProjectInfo_State_value = map[string]int32{ 793 "PROJECT_STATE_UNSPECIFIED": 0, 794 "PROJECT_STATE_ACTIVE": 1, 795 "PROJECT_STATE_READ_ONLY": 2, 796 "PROJECT_STATE_HIDDEN": 3, 797 } 798 ) 799 800 func (x ProjectInfo_State) Enum() *ProjectInfo_State { 801 p := new(ProjectInfo_State) 802 *p = x 803 return p 804 } 805 806 func (x ProjectInfo_State) String() string { 807 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 808 } 809 810 func (ProjectInfo_State) Descriptor() protoreflect.EnumDescriptor { 811 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[11].Descriptor() 812 } 813 814 func (ProjectInfo_State) Type() protoreflect.EnumType { 815 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[11] 816 } 817 818 func (x ProjectInfo_State) Number() protoreflect.EnumNumber { 819 return protoreflect.EnumNumber(x) 820 } 821 822 // Deprecated: Use ProjectInfo_State.Descriptor instead. 823 func (ProjectInfo_State) EnumDescriptor() ([]byte, []int) { 824 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{42, 0} 825 } 826 827 type SubmitRequirementResultInfo_Status int32 828 829 const ( 830 SubmitRequirementResultInfo_SUBMIT_REQUIREMENT_STATUS_UNSPECIFIED SubmitRequirementResultInfo_Status = 0 831 SubmitRequirementResultInfo_SATISFIED SubmitRequirementResultInfo_Status = 1 832 SubmitRequirementResultInfo_UNSATISFIED SubmitRequirementResultInfo_Status = 2 833 SubmitRequirementResultInfo_OVERRIDDEN SubmitRequirementResultInfo_Status = 3 834 SubmitRequirementResultInfo_NOT_APPLICABLE SubmitRequirementResultInfo_Status = 4 835 SubmitRequirementResultInfo_ERROR SubmitRequirementResultInfo_Status = 5 836 SubmitRequirementResultInfo_FORCED SubmitRequirementResultInfo_Status = 6 837 ) 838 839 // Enum value maps for SubmitRequirementResultInfo_Status. 840 var ( 841 SubmitRequirementResultInfo_Status_name = map[int32]string{ 842 0: "SUBMIT_REQUIREMENT_STATUS_UNSPECIFIED", 843 1: "SATISFIED", 844 2: "UNSATISFIED", 845 3: "OVERRIDDEN", 846 4: "NOT_APPLICABLE", 847 5: "ERROR", 848 6: "FORCED", 849 } 850 SubmitRequirementResultInfo_Status_value = map[string]int32{ 851 "SUBMIT_REQUIREMENT_STATUS_UNSPECIFIED": 0, 852 "SATISFIED": 1, 853 "UNSATISFIED": 2, 854 "OVERRIDDEN": 3, 855 "NOT_APPLICABLE": 4, 856 "ERROR": 5, 857 "FORCED": 6, 858 } 859 ) 860 861 func (x SubmitRequirementResultInfo_Status) Enum() *SubmitRequirementResultInfo_Status { 862 p := new(SubmitRequirementResultInfo_Status) 863 *p = x 864 return p 865 } 866 867 func (x SubmitRequirementResultInfo_Status) String() string { 868 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 869 } 870 871 func (SubmitRequirementResultInfo_Status) Descriptor() protoreflect.EnumDescriptor { 872 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[12].Descriptor() 873 } 874 875 func (SubmitRequirementResultInfo_Status) Type() protoreflect.EnumType { 876 return &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes[12] 877 } 878 879 func (x SubmitRequirementResultInfo_Status) Number() protoreflect.EnumNumber { 880 return protoreflect.EnumNumber(x) 881 } 882 883 // Deprecated: Use SubmitRequirementResultInfo_Status.Descriptor instead. 884 func (SubmitRequirementResultInfo_Status) EnumDescriptor() ([]byte, []int) { 885 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{52, 0} 886 } 887 888 // Detailed information about whom to notify about the update. 889 type NotifyDetails struct { 890 state protoimpl.MessageState 891 sizeCache protoimpl.SizeCache 892 unknownFields protoimpl.UnknownFields 893 894 // Recipients of the same RecipientType will be merged. Duplicate 895 // accountIDs in `notify_info` will be removed. 896 Recipients []*NotifyDetails_Recipient `protobuf:"bytes,1,rep,name=recipients,proto3" json:"recipients,omitempty"` 897 } 898 899 func (x *NotifyDetails) Reset() { 900 *x = NotifyDetails{} 901 if protoimpl.UnsafeEnabled { 902 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[0] 903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 904 ms.StoreMessageInfo(mi) 905 } 906 } 907 908 func (x *NotifyDetails) String() string { 909 return protoimpl.X.MessageStringOf(x) 910 } 911 912 func (*NotifyDetails) ProtoMessage() {} 913 914 func (x *NotifyDetails) ProtoReflect() protoreflect.Message { 915 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[0] 916 if protoimpl.UnsafeEnabled && x != nil { 917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 918 if ms.LoadMessageInfo() == nil { 919 ms.StoreMessageInfo(mi) 920 } 921 return ms 922 } 923 return mi.MessageOf(x) 924 } 925 926 // Deprecated: Use NotifyDetails.ProtoReflect.Descriptor instead. 927 func (*NotifyDetails) Descriptor() ([]byte, []int) { 928 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{0} 929 } 930 931 func (x *NotifyDetails) GetRecipients() []*NotifyDetails_Recipient { 932 if x != nil { 933 return x.Recipients 934 } 935 return nil 936 } 937 938 // Request to list changes based on a query. 939 type ListChangesRequest struct { 940 state protoimpl.MessageState 941 sizeCache protoimpl.SizeCache 942 unknownFields protoimpl.UnknownFields 943 944 // The query used to filter the changes. 945 // 946 // This is the same as the query that can be used in the Gerrit web UI. It is 947 // space-separated and can include filters like "label:Commit-Queue" or 948 // "status:open". The possible search operators are described at: 949 // https://gerrit-review.googlesource.com/Documentation/user-search.html 950 // 951 // An empty query matches all changes. 952 Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` 953 // What to include in the response. 954 Options []QueryOption `protobuf:"varint,2,rep,packed,name=options,proto3,enum=gerrit.QueryOption" json:"options,omitempty"` 955 // Caps the number of results to return. Required. 956 // 957 // Defaults to 25 if not provided; maximum value 1000. 958 // 959 // Use luci/common/api/gerrit:PagingListChanges wrapper if you need to fetch 960 // more or all changes. 961 Limit int64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` 962 // The number of changes to skip from the start, for pagination. 963 // 964 // Note that without using offset, it's also possible to do paging by 965 // including a "before:" time in the query, and querying for changes before 966 // the earliest change in the current page. This may be preferred but is not 967 // very trivial to implement correctly. 968 Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` 969 } 970 971 func (x *ListChangesRequest) Reset() { 972 *x = ListChangesRequest{} 973 if protoimpl.UnsafeEnabled { 974 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[1] 975 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 976 ms.StoreMessageInfo(mi) 977 } 978 } 979 980 func (x *ListChangesRequest) String() string { 981 return protoimpl.X.MessageStringOf(x) 982 } 983 984 func (*ListChangesRequest) ProtoMessage() {} 985 986 func (x *ListChangesRequest) ProtoReflect() protoreflect.Message { 987 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[1] 988 if protoimpl.UnsafeEnabled && x != nil { 989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 990 if ms.LoadMessageInfo() == nil { 991 ms.StoreMessageInfo(mi) 992 } 993 return ms 994 } 995 return mi.MessageOf(x) 996 } 997 998 // Deprecated: Use ListChangesRequest.ProtoReflect.Descriptor instead. 999 func (*ListChangesRequest) Descriptor() ([]byte, []int) { 1000 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{1} 1001 } 1002 1003 func (x *ListChangesRequest) GetQuery() string { 1004 if x != nil { 1005 return x.Query 1006 } 1007 return "" 1008 } 1009 1010 func (x *ListChangesRequest) GetOptions() []QueryOption { 1011 if x != nil { 1012 return x.Options 1013 } 1014 return nil 1015 } 1016 1017 func (x *ListChangesRequest) GetLimit() int64 { 1018 if x != nil { 1019 return x.Limit 1020 } 1021 return 0 1022 } 1023 1024 func (x *ListChangesRequest) GetOffset() int64 { 1025 if x != nil { 1026 return x.Offset 1027 } 1028 return 0 1029 } 1030 1031 // A list of changes that matched the query. 1032 type ListChangesResponse struct { 1033 state protoimpl.MessageState 1034 sizeCache protoimpl.SizeCache 1035 unknownFields protoimpl.UnknownFields 1036 1037 // The changes that matched the query, with the fields requested. 1038 // 1039 // The order of the changes is expected to be decreasing by update time, 1040 // however the The Gerrit API doc doesn't explicitly specify the order: 1041 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html 1042 Changes []*ChangeInfo `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"` 1043 // True if there are more changes not returned. 1044 // 1045 // This will be set if the number of changes matching the query exceeds the 1046 // limit supplied; however, it's possible that if the number exceeds some 1047 // internal Gerrit maximum, this will not be set. 1048 // 1049 // Specifically (as of Dec 2018) Google's Gerrit instance will not look 1050 // beyond a maximum hardcoded in Gerrit backend of 10k changes in the index 1051 // of changes, and so if a query matches more than that many changes, Gerrit 1052 // backend may not know and may not set "_more_changes". 1053 MoreChanges bool `protobuf:"varint,2,opt,name=more_changes,json=moreChanges,proto3" json:"more_changes,omitempty"` 1054 } 1055 1056 func (x *ListChangesResponse) Reset() { 1057 *x = ListChangesResponse{} 1058 if protoimpl.UnsafeEnabled { 1059 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[2] 1060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1061 ms.StoreMessageInfo(mi) 1062 } 1063 } 1064 1065 func (x *ListChangesResponse) String() string { 1066 return protoimpl.X.MessageStringOf(x) 1067 } 1068 1069 func (*ListChangesResponse) ProtoMessage() {} 1070 1071 func (x *ListChangesResponse) ProtoReflect() protoreflect.Message { 1072 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[2] 1073 if protoimpl.UnsafeEnabled && x != nil { 1074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1075 if ms.LoadMessageInfo() == nil { 1076 ms.StoreMessageInfo(mi) 1077 } 1078 return ms 1079 } 1080 return mi.MessageOf(x) 1081 } 1082 1083 // Deprecated: Use ListChangesResponse.ProtoReflect.Descriptor instead. 1084 func (*ListChangesResponse) Descriptor() ([]byte, []int) { 1085 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{2} 1086 } 1087 1088 func (x *ListChangesResponse) GetChanges() []*ChangeInfo { 1089 if x != nil { 1090 return x.Changes 1091 } 1092 return nil 1093 } 1094 1095 func (x *ListChangesResponse) GetMoreChanges() bool { 1096 if x != nil { 1097 return x.MoreChanges 1098 } 1099 return false 1100 } 1101 1102 // Request to get information for a single change. 1103 // 1104 // Encodes path arguments and query options described at 1105 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-change 1106 type GetChangeRequest struct { 1107 state protoimpl.MessageState 1108 sizeCache protoimpl.SizeCache 1109 unknownFields protoimpl.UnknownFields 1110 1111 // Change number. 1112 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 1113 // What to include in the response. 1114 Options []QueryOption `protobuf:"varint,2,rep,packed,name=options,proto3,enum=gerrit.QueryOption" json:"options,omitempty"` 1115 // The Gerrit project. 1116 // Specifying this field is optional, but encouraged because it requires less 1117 // work on the Gerrit side. 1118 Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` 1119 // The SHA-1 of a historical NoteDB snapshot of the change to retrieve. 1120 // 1121 // If the SHA-1 is not reachable from the serving Gerrit replica, 1122 // status code 412 is returned. 1123 // If the given value is not a valid NoteDB SHA-1, 1124 // status code 400 is returned. 1125 // 1126 // If omitted, GetChange will return the latest snapshot known by the serving 1127 // Gerrit replica. 1128 Meta string `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"` 1129 } 1130 1131 func (x *GetChangeRequest) Reset() { 1132 *x = GetChangeRequest{} 1133 if protoimpl.UnsafeEnabled { 1134 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[3] 1135 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1136 ms.StoreMessageInfo(mi) 1137 } 1138 } 1139 1140 func (x *GetChangeRequest) String() string { 1141 return protoimpl.X.MessageStringOf(x) 1142 } 1143 1144 func (*GetChangeRequest) ProtoMessage() {} 1145 1146 func (x *GetChangeRequest) ProtoReflect() protoreflect.Message { 1147 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[3] 1148 if protoimpl.UnsafeEnabled && x != nil { 1149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1150 if ms.LoadMessageInfo() == nil { 1151 ms.StoreMessageInfo(mi) 1152 } 1153 return ms 1154 } 1155 return mi.MessageOf(x) 1156 } 1157 1158 // Deprecated: Use GetChangeRequest.ProtoReflect.Descriptor instead. 1159 func (*GetChangeRequest) Descriptor() ([]byte, []int) { 1160 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{3} 1161 } 1162 1163 func (x *GetChangeRequest) GetNumber() int64 { 1164 if x != nil { 1165 return x.Number 1166 } 1167 return 0 1168 } 1169 1170 func (x *GetChangeRequest) GetOptions() []QueryOption { 1171 if x != nil { 1172 return x.Options 1173 } 1174 return nil 1175 } 1176 1177 func (x *GetChangeRequest) GetProject() string { 1178 if x != nil { 1179 return x.Project 1180 } 1181 return "" 1182 } 1183 1184 func (x *GetChangeRequest) GetMeta() string { 1185 if x != nil { 1186 return x.Meta 1187 } 1188 return "" 1189 } 1190 1191 // Information about an account. 1192 // 1193 // Source of truth: 1194 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-info 1195 type AccountInfo struct { 1196 state protoimpl.MessageState 1197 sizeCache protoimpl.SizeCache 1198 unknownFields protoimpl.UnknownFields 1199 1200 // The full name of the user. 1201 // Only set if detailed account information is requested. 1202 // See option DETAILED_ACCOUNTS for change queries 1203 // and option DETAILS for account queries. 1204 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1205 // The email address the user prefers to be contacted through. 1206 // Only set if detailed account information is requested. 1207 // See option DETAILED_ACCOUNTS for change queries 1208 // and options DETAILS and ALL_EMAILS for account queries. 1209 Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` 1210 // A list of the secondary email addresses of the user. 1211 // Only set for account queries when the ALL_EMAILS option or the suggest 1212 // parameter is set. Secondary emails are only included if the calling user 1213 // has the Modify Account, and hence is allowed to see secondary emails of 1214 // other users. 1215 SecondaryEmails []string `protobuf:"bytes,3,rep,name=secondary_emails,json=secondaryEmails,proto3" json:"secondary_emails,omitempty"` 1216 // The username of the user. 1217 // Only set if detailed account information is requested. 1218 // See option DETAILED_ACCOUNTS for change queries 1219 // and option DETAILS for account queries. 1220 Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"` 1221 // The numeric ID of the account 1222 AccountId int64 `protobuf:"varint,5,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` 1223 // List of additional tags that this account has. 1224 // 1225 // The only current tag an account can have is SERVICE_USER. 1226 // Only set if detailed account information is requested. 1227 // See option DETAILED_ACCOUNTS 1228 Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` 1229 } 1230 1231 func (x *AccountInfo) Reset() { 1232 *x = AccountInfo{} 1233 if protoimpl.UnsafeEnabled { 1234 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[4] 1235 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1236 ms.StoreMessageInfo(mi) 1237 } 1238 } 1239 1240 func (x *AccountInfo) String() string { 1241 return protoimpl.X.MessageStringOf(x) 1242 } 1243 1244 func (*AccountInfo) ProtoMessage() {} 1245 1246 func (x *AccountInfo) ProtoReflect() protoreflect.Message { 1247 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[4] 1248 if protoimpl.UnsafeEnabled && x != nil { 1249 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1250 if ms.LoadMessageInfo() == nil { 1251 ms.StoreMessageInfo(mi) 1252 } 1253 return ms 1254 } 1255 return mi.MessageOf(x) 1256 } 1257 1258 // Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead. 1259 func (*AccountInfo) Descriptor() ([]byte, []int) { 1260 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{4} 1261 } 1262 1263 func (x *AccountInfo) GetName() string { 1264 if x != nil { 1265 return x.Name 1266 } 1267 return "" 1268 } 1269 1270 func (x *AccountInfo) GetEmail() string { 1271 if x != nil { 1272 return x.Email 1273 } 1274 return "" 1275 } 1276 1277 func (x *AccountInfo) GetSecondaryEmails() []string { 1278 if x != nil { 1279 return x.SecondaryEmails 1280 } 1281 return nil 1282 } 1283 1284 func (x *AccountInfo) GetUsername() string { 1285 if x != nil { 1286 return x.Username 1287 } 1288 return "" 1289 } 1290 1291 func (x *AccountInfo) GetAccountId() int64 { 1292 if x != nil { 1293 return x.AccountId 1294 } 1295 return 0 1296 } 1297 1298 func (x *AccountInfo) GetTags() []string { 1299 if x != nil { 1300 return x.Tags 1301 } 1302 return nil 1303 } 1304 1305 // The GitPersonInfo entity contains information about the author/committer of a commit. 1306 // 1307 // Fields are a subset of: 1308 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#git-person-info 1309 type GitPersonInfo struct { 1310 state protoimpl.MessageState 1311 sizeCache protoimpl.SizeCache 1312 unknownFields protoimpl.UnknownFields 1313 1314 // The name of the author/committer. 1315 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1316 // The email address of the author/committer. 1317 Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` 1318 } 1319 1320 func (x *GitPersonInfo) Reset() { 1321 *x = GitPersonInfo{} 1322 if protoimpl.UnsafeEnabled { 1323 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[5] 1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1325 ms.StoreMessageInfo(mi) 1326 } 1327 } 1328 1329 func (x *GitPersonInfo) String() string { 1330 return protoimpl.X.MessageStringOf(x) 1331 } 1332 1333 func (*GitPersonInfo) ProtoMessage() {} 1334 1335 func (x *GitPersonInfo) ProtoReflect() protoreflect.Message { 1336 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[5] 1337 if protoimpl.UnsafeEnabled && x != nil { 1338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1339 if ms.LoadMessageInfo() == nil { 1340 ms.StoreMessageInfo(mi) 1341 } 1342 return ms 1343 } 1344 return mi.MessageOf(x) 1345 } 1346 1347 // Deprecated: Use GitPersonInfo.ProtoReflect.Descriptor instead. 1348 func (*GitPersonInfo) Descriptor() ([]byte, []int) { 1349 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{5} 1350 } 1351 1352 func (x *GitPersonInfo) GetName() string { 1353 if x != nil { 1354 return x.Name 1355 } 1356 return "" 1357 } 1358 1359 func (x *GitPersonInfo) GetEmail() string { 1360 if x != nil { 1361 return x.Email 1362 } 1363 return "" 1364 } 1365 1366 // Information about a change. 1367 // 1368 // Source of truth: 1369 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#change-info 1370 // 1371 // Next tag: 24. 1372 type ChangeInfo struct { 1373 state protoimpl.MessageState 1374 sizeCache protoimpl.SizeCache 1375 unknownFields protoimpl.UnknownFields 1376 1377 // The change number. 1378 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 1379 // The owner of the change. 1380 Owner *AccountInfo `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` 1381 // The project of this change. For example, "chromium/src". 1382 Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` 1383 // Ref that this change targets, e.g.: refs/heads/master 1384 // 1385 // Note that the gerrit API may return short branch name (master instead of 1386 // refs/heads/master) but we convert it to a ref for consistency across the 1387 // API. 1388 Ref string `protobuf:"bytes,4,opt,name=ref,proto3" json:"ref,omitempty"` 1389 Status ChangeStatus `protobuf:"varint,5,opt,name=status,proto3,enum=gerrit.ChangeStatus" json:"status,omitempty"` 1390 // Current revision of the change. 1391 // 1392 // See: 1393 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 1394 CurrentRevision string `protobuf:"bytes,6,opt,name=current_revision,json=currentRevision,proto3" json:"current_revision,omitempty"` 1395 // A map of patch set commit IDs to RevisionInfos. 1396 // 1397 // Only set if revision information is requested. 1398 Revisions map[string]*RevisionInfo `protobuf:"bytes,7,rep,name=revisions,proto3" json:"revisions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1399 // A map of label names to LabelInfos. 1400 // 1401 // Only set if label info is requested. 1402 Labels map[string]*LabelInfo `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1403 // Messages associated with the change. 1404 // 1405 // Only set if messages are requested. 1406 Messages []*ChangeMessageInfo `protobuf:"bytes,9,rep,name=messages,proto3" json:"messages,omitempty"` 1407 // List of the requirements to be met before this change can be submitted. 1408 // 1409 // Deprecated: use `submit_requirements` instead. 1410 // 1411 // Deprecated: Marked as deprecated in go.chromium.org/luci/common/proto/gerrit/gerrit.proto. 1412 Requirements []*Requirement `protobuf:"bytes,14,rep,name=requirements,proto3" json:"requirements,omitempty"` 1413 // Whether the change is approved 1414 // by the project submit rules. 1415 // 1416 // Only set if submittable is requested. 1417 Submittable bool `protobuf:"varint,10,opt,name=submittable,proto3" json:"submittable,omitempty"` 1418 // Whether change is private. 1419 IsPrivate bool `protobuf:"varint,13,opt,name=is_private,json=isPrivate,proto3" json:"is_private,omitempty"` 1420 // List of hashtags that are set on the change. 1421 Hashtags []string `protobuf:"bytes,19,rep,name=hashtags,proto3" json:"hashtags,omitempty"` 1422 // Timestamp of when the change was created 1423 Created *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created,proto3" json:"created,omitempty"` 1424 // Timestamp of when the change was last updated 1425 Updated *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated,proto3" json:"updated,omitempty"` 1426 // Timestamp of when the change was submitted. 1427 // 1428 // Only set for merged changes. 1429 Submitted *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=submitted,proto3" json:"submitted,omitempty"` 1430 // The numeric Change-Id of the change that this change reverts. 1431 RevertOf int64 `protobuf:"varint,15,opt,name=revert_of,json=revertOf,proto3" json:"revert_of,omitempty"` 1432 // The numeric Change-Id of the change that this change was cherry-picked from. 1433 CherryPickOfChange int64 `protobuf:"varint,16,opt,name=cherry_pick_of_change,json=cherryPickOfChange,proto3" json:"cherry_pick_of_change,omitempty"` 1434 // The users who have been added in and removed from the change. 1435 Reviewers *ReviewerStatusMap `protobuf:"bytes,17,opt,name=reviewers,proto3" json:"reviewers,omitempty"` 1436 // The SHA-1 of the NoteDb meta ref. 1437 MetaRevId string `protobuf:"bytes,18,opt,name=meta_rev_id,json=metaRevId,proto3" json:"meta_rev_id,omitempty"` 1438 // The evaluation results of the submit requirements for this change. 1439 SubmitRequirements []*SubmitRequirementResultInfo `protobuf:"bytes,20,rep,name=submit_requirements,json=submitRequirements,proto3" json:"submit_requirements,omitempty"` 1440 // The subject of the change (header line of the commit message). 1441 Subject string `protobuf:"bytes,22,opt,name=subject,proto3" json:"subject,omitempty"` 1442 // The name of the target branch. The refs/heads/ prefix is omitted. 1443 Branch string `protobuf:"bytes,23,opt,name=branch,proto3" json:"branch,omitempty"` 1444 } 1445 1446 func (x *ChangeInfo) Reset() { 1447 *x = ChangeInfo{} 1448 if protoimpl.UnsafeEnabled { 1449 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[6] 1450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1451 ms.StoreMessageInfo(mi) 1452 } 1453 } 1454 1455 func (x *ChangeInfo) String() string { 1456 return protoimpl.X.MessageStringOf(x) 1457 } 1458 1459 func (*ChangeInfo) ProtoMessage() {} 1460 1461 func (x *ChangeInfo) ProtoReflect() protoreflect.Message { 1462 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[6] 1463 if protoimpl.UnsafeEnabled && x != nil { 1464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1465 if ms.LoadMessageInfo() == nil { 1466 ms.StoreMessageInfo(mi) 1467 } 1468 return ms 1469 } 1470 return mi.MessageOf(x) 1471 } 1472 1473 // Deprecated: Use ChangeInfo.ProtoReflect.Descriptor instead. 1474 func (*ChangeInfo) Descriptor() ([]byte, []int) { 1475 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{6} 1476 } 1477 1478 func (x *ChangeInfo) GetNumber() int64 { 1479 if x != nil { 1480 return x.Number 1481 } 1482 return 0 1483 } 1484 1485 func (x *ChangeInfo) GetOwner() *AccountInfo { 1486 if x != nil { 1487 return x.Owner 1488 } 1489 return nil 1490 } 1491 1492 func (x *ChangeInfo) GetProject() string { 1493 if x != nil { 1494 return x.Project 1495 } 1496 return "" 1497 } 1498 1499 func (x *ChangeInfo) GetRef() string { 1500 if x != nil { 1501 return x.Ref 1502 } 1503 return "" 1504 } 1505 1506 func (x *ChangeInfo) GetStatus() ChangeStatus { 1507 if x != nil { 1508 return x.Status 1509 } 1510 return ChangeStatus_CHANGE_STATUS_INVALID 1511 } 1512 1513 func (x *ChangeInfo) GetCurrentRevision() string { 1514 if x != nil { 1515 return x.CurrentRevision 1516 } 1517 return "" 1518 } 1519 1520 func (x *ChangeInfo) GetRevisions() map[string]*RevisionInfo { 1521 if x != nil { 1522 return x.Revisions 1523 } 1524 return nil 1525 } 1526 1527 func (x *ChangeInfo) GetLabels() map[string]*LabelInfo { 1528 if x != nil { 1529 return x.Labels 1530 } 1531 return nil 1532 } 1533 1534 func (x *ChangeInfo) GetMessages() []*ChangeMessageInfo { 1535 if x != nil { 1536 return x.Messages 1537 } 1538 return nil 1539 } 1540 1541 // Deprecated: Marked as deprecated in go.chromium.org/luci/common/proto/gerrit/gerrit.proto. 1542 func (x *ChangeInfo) GetRequirements() []*Requirement { 1543 if x != nil { 1544 return x.Requirements 1545 } 1546 return nil 1547 } 1548 1549 func (x *ChangeInfo) GetSubmittable() bool { 1550 if x != nil { 1551 return x.Submittable 1552 } 1553 return false 1554 } 1555 1556 func (x *ChangeInfo) GetIsPrivate() bool { 1557 if x != nil { 1558 return x.IsPrivate 1559 } 1560 return false 1561 } 1562 1563 func (x *ChangeInfo) GetHashtags() []string { 1564 if x != nil { 1565 return x.Hashtags 1566 } 1567 return nil 1568 } 1569 1570 func (x *ChangeInfo) GetCreated() *timestamppb.Timestamp { 1571 if x != nil { 1572 return x.Created 1573 } 1574 return nil 1575 } 1576 1577 func (x *ChangeInfo) GetUpdated() *timestamppb.Timestamp { 1578 if x != nil { 1579 return x.Updated 1580 } 1581 return nil 1582 } 1583 1584 func (x *ChangeInfo) GetSubmitted() *timestamppb.Timestamp { 1585 if x != nil { 1586 return x.Submitted 1587 } 1588 return nil 1589 } 1590 1591 func (x *ChangeInfo) GetRevertOf() int64 { 1592 if x != nil { 1593 return x.RevertOf 1594 } 1595 return 0 1596 } 1597 1598 func (x *ChangeInfo) GetCherryPickOfChange() int64 { 1599 if x != nil { 1600 return x.CherryPickOfChange 1601 } 1602 return 0 1603 } 1604 1605 func (x *ChangeInfo) GetReviewers() *ReviewerStatusMap { 1606 if x != nil { 1607 return x.Reviewers 1608 } 1609 return nil 1610 } 1611 1612 func (x *ChangeInfo) GetMetaRevId() string { 1613 if x != nil { 1614 return x.MetaRevId 1615 } 1616 return "" 1617 } 1618 1619 func (x *ChangeInfo) GetSubmitRequirements() []*SubmitRequirementResultInfo { 1620 if x != nil { 1621 return x.SubmitRequirements 1622 } 1623 return nil 1624 } 1625 1626 func (x *ChangeInfo) GetSubject() string { 1627 if x != nil { 1628 return x.Subject 1629 } 1630 return "" 1631 } 1632 1633 func (x *ChangeInfo) GetBranch() string { 1634 if x != nil { 1635 return x.Branch 1636 } 1637 return "" 1638 } 1639 1640 // ReviewerStatusMap is a map that maps a reviewer state to a list of 1641 // AccountInfo(s). 1642 // 1643 // ReviewerState includes REVIEWER, CC, and REMOVED, and this struct 1644 // defines a field for each of then. 1645 type ReviewerStatusMap struct { 1646 state protoimpl.MessageState 1647 sizeCache protoimpl.SizeCache 1648 unknownFields protoimpl.UnknownFields 1649 1650 // The users who have been added to the change and voted. 1651 Reviewers []*AccountInfo `protobuf:"bytes,1,rep,name=reviewers,proto3" json:"reviewers,omitempty"` 1652 // The users who have been added to the change but haven't voted yet. 1653 Ccs []*AccountInfo `protobuf:"bytes,2,rep,name=ccs,proto3" json:"ccs,omitempty"` 1654 // The users who have been removed from the change. 1655 Removed []*AccountInfo `protobuf:"bytes,3,rep,name=removed,proto3" json:"removed,omitempty"` 1656 } 1657 1658 func (x *ReviewerStatusMap) Reset() { 1659 *x = ReviewerStatusMap{} 1660 if protoimpl.UnsafeEnabled { 1661 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[7] 1662 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1663 ms.StoreMessageInfo(mi) 1664 } 1665 } 1666 1667 func (x *ReviewerStatusMap) String() string { 1668 return protoimpl.X.MessageStringOf(x) 1669 } 1670 1671 func (*ReviewerStatusMap) ProtoMessage() {} 1672 1673 func (x *ReviewerStatusMap) ProtoReflect() protoreflect.Message { 1674 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[7] 1675 if protoimpl.UnsafeEnabled && x != nil { 1676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1677 if ms.LoadMessageInfo() == nil { 1678 ms.StoreMessageInfo(mi) 1679 } 1680 return ms 1681 } 1682 return mi.MessageOf(x) 1683 } 1684 1685 // Deprecated: Use ReviewerStatusMap.ProtoReflect.Descriptor instead. 1686 func (*ReviewerStatusMap) Descriptor() ([]byte, []int) { 1687 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{7} 1688 } 1689 1690 func (x *ReviewerStatusMap) GetReviewers() []*AccountInfo { 1691 if x != nil { 1692 return x.Reviewers 1693 } 1694 return nil 1695 } 1696 1697 func (x *ReviewerStatusMap) GetCcs() []*AccountInfo { 1698 if x != nil { 1699 return x.Ccs 1700 } 1701 return nil 1702 } 1703 1704 func (x *ReviewerStatusMap) GetRemoved() []*AccountInfo { 1705 if x != nil { 1706 return x.Removed 1707 } 1708 return nil 1709 } 1710 1711 // Information about a patch set. 1712 // 1713 // Source of truth: 1714 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-info 1715 type RevisionInfo struct { 1716 state protoimpl.MessageState 1717 sizeCache protoimpl.SizeCache 1718 unknownFields protoimpl.UnknownFields 1719 1720 // The kind of this patch set. 1721 Kind RevisionInfo_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=gerrit.RevisionInfo_Kind" json:"kind,omitempty"` 1722 // The patch set number. 1723 Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` 1724 // The uploader of this patch set. 1725 Uploader *AccountInfo `protobuf:"bytes,3,opt,name=uploader,proto3" json:"uploader,omitempty"` 1726 // The Git reference for the patch set. 1727 Ref string `protobuf:"bytes,4,opt,name=ref,proto3" json:"ref,omitempty"` 1728 // The timestamp of when the patch set was created. 1729 Created *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created,proto3" json:"created,omitempty"` 1730 // The description (aka title) of this patchset, as displayed in the patchset 1731 // selector menu. 1732 // 1733 // Gerrit distinguishes empty string and no value, but here both are clamped 1734 // into "". 1735 // 1736 // This is not CL description, aka Git commit message, which is stored in 1737 // `commit.message`. 1738 Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` 1739 // The commit metadata for the patchset. 1740 // 1741 // Only set if commit information is requested. 1742 Commit *CommitInfo `protobuf:"bytes,5,opt,name=commit,proto3" json:"commit,omitempty"` 1743 // A map of file paths to FileInfos. 1744 // 1745 // Only set if file information is requested. 1746 Files map[string]*FileInfo `protobuf:"bytes,6,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1747 } 1748 1749 func (x *RevisionInfo) Reset() { 1750 *x = RevisionInfo{} 1751 if protoimpl.UnsafeEnabled { 1752 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[8] 1753 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1754 ms.StoreMessageInfo(mi) 1755 } 1756 } 1757 1758 func (x *RevisionInfo) String() string { 1759 return protoimpl.X.MessageStringOf(x) 1760 } 1761 1762 func (*RevisionInfo) ProtoMessage() {} 1763 1764 func (x *RevisionInfo) ProtoReflect() protoreflect.Message { 1765 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[8] 1766 if protoimpl.UnsafeEnabled && x != nil { 1767 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1768 if ms.LoadMessageInfo() == nil { 1769 ms.StoreMessageInfo(mi) 1770 } 1771 return ms 1772 } 1773 return mi.MessageOf(x) 1774 } 1775 1776 // Deprecated: Use RevisionInfo.ProtoReflect.Descriptor instead. 1777 func (*RevisionInfo) Descriptor() ([]byte, []int) { 1778 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{8} 1779 } 1780 1781 func (x *RevisionInfo) GetKind() RevisionInfo_Kind { 1782 if x != nil { 1783 return x.Kind 1784 } 1785 return RevisionInfo_KIND_INVALID 1786 } 1787 1788 func (x *RevisionInfo) GetNumber() int32 { 1789 if x != nil { 1790 return x.Number 1791 } 1792 return 0 1793 } 1794 1795 func (x *RevisionInfo) GetUploader() *AccountInfo { 1796 if x != nil { 1797 return x.Uploader 1798 } 1799 return nil 1800 } 1801 1802 func (x *RevisionInfo) GetRef() string { 1803 if x != nil { 1804 return x.Ref 1805 } 1806 return "" 1807 } 1808 1809 func (x *RevisionInfo) GetCreated() *timestamppb.Timestamp { 1810 if x != nil { 1811 return x.Created 1812 } 1813 return nil 1814 } 1815 1816 func (x *RevisionInfo) GetDescription() string { 1817 if x != nil { 1818 return x.Description 1819 } 1820 return "" 1821 } 1822 1823 func (x *RevisionInfo) GetCommit() *CommitInfo { 1824 if x != nil { 1825 return x.Commit 1826 } 1827 return nil 1828 } 1829 1830 func (x *RevisionInfo) GetFiles() map[string]*FileInfo { 1831 if x != nil { 1832 return x.Files 1833 } 1834 return nil 1835 } 1836 1837 // The CommitInfo entity contains information about a commit. 1838 // 1839 // Source of truth: 1840 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#commit-info 1841 type CommitInfo struct { 1842 state protoimpl.MessageState 1843 sizeCache protoimpl.SizeCache 1844 unknownFields protoimpl.UnknownFields 1845 1846 // The commit ID. Not set if included in a RevisionInfo entity that is 1847 // contained in a map which has the commit ID as key. 1848 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 1849 Parents []*CommitInfo_Parent `protobuf:"bytes,2,rep,name=parents,proto3" json:"parents,omitempty"` 1850 // The commit message. 1851 // It is not set when CommitInfo is part of the GetRelatedChangesResponse. 1852 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` 1853 // The author of the commit as a GitPersonInfo entity. 1854 Author *GitPersonInfo `protobuf:"bytes,4,opt,name=author,proto3" json:"author,omitempty"` 1855 } 1856 1857 func (x *CommitInfo) Reset() { 1858 *x = CommitInfo{} 1859 if protoimpl.UnsafeEnabled { 1860 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[9] 1861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1862 ms.StoreMessageInfo(mi) 1863 } 1864 } 1865 1866 func (x *CommitInfo) String() string { 1867 return protoimpl.X.MessageStringOf(x) 1868 } 1869 1870 func (*CommitInfo) ProtoMessage() {} 1871 1872 func (x *CommitInfo) ProtoReflect() protoreflect.Message { 1873 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[9] 1874 if protoimpl.UnsafeEnabled && x != nil { 1875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1876 if ms.LoadMessageInfo() == nil { 1877 ms.StoreMessageInfo(mi) 1878 } 1879 return ms 1880 } 1881 return mi.MessageOf(x) 1882 } 1883 1884 // Deprecated: Use CommitInfo.ProtoReflect.Descriptor instead. 1885 func (*CommitInfo) Descriptor() ([]byte, []int) { 1886 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{9} 1887 } 1888 1889 func (x *CommitInfo) GetId() string { 1890 if x != nil { 1891 return x.Id 1892 } 1893 return "" 1894 } 1895 1896 func (x *CommitInfo) GetParents() []*CommitInfo_Parent { 1897 if x != nil { 1898 return x.Parents 1899 } 1900 return nil 1901 } 1902 1903 func (x *CommitInfo) GetMessage() string { 1904 if x != nil { 1905 return x.Message 1906 } 1907 return "" 1908 } 1909 1910 func (x *CommitInfo) GetAuthor() *GitPersonInfo { 1911 if x != nil { 1912 return x.Author 1913 } 1914 return nil 1915 } 1916 1917 // Information about a Label. 1918 // 1919 // Source of truth: 1920 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#label-info 1921 type LabelInfo struct { 1922 state protoimpl.MessageState 1923 sizeCache protoimpl.SizeCache 1924 unknownFields protoimpl.UnknownFields 1925 1926 // Whether the label is optional. 1927 Optional bool `protobuf:"varint,1,opt,name=optional,proto3" json:"optional,omitempty"` 1928 // One user who approved this label on the change. 1929 // 1930 // Only set if LABELS are requested. 1931 Approved *AccountInfo `protobuf:"bytes,2,opt,name=approved,proto3" json:"approved,omitempty"` 1932 // One user who rejected this label on the change. 1933 // 1934 // Only set if LABELS are requested. 1935 Rejected *AccountInfo `protobuf:"bytes,3,opt,name=rejected,proto3" json:"rejected,omitempty"` 1936 // One user who recommended this label on the change. 1937 // 1938 // Only set if LABELS are requested. 1939 Recommended *AccountInfo `protobuf:"bytes,4,opt,name=recommended,proto3" json:"recommended,omitempty"` 1940 // One user who disliked this label on the change. 1941 // 1942 // Only set if LABELS are requested. 1943 Disliked *AccountInfo `protobuf:"bytes,5,opt,name=disliked,proto3" json:"disliked,omitempty"` 1944 // If true, the label blocks submit operation. 1945 // 1946 // Only set if LABELS are requested. 1947 Blocking bool `protobuf:"varint,6,opt,name=blocking,proto3" json:"blocking,omitempty"` 1948 // The voting value of the user who recommended/disliked this label on the 1949 // change if it is not "+1"/"-1". 1950 // 1951 // Only set if LABELS are requested. 1952 Value int32 `protobuf:"varint,7,opt,name=value,proto3" json:"value,omitempty"` 1953 // The default voting value for the label. 1954 // 1955 // Only set if LABELS are requested. 1956 DefaultValue int32 `protobuf:"varint,8,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` 1957 // List of all votes for this label. 1958 // 1959 // Items in this list may not represent actual votes cast by users; if a user 1960 // votes on any label, a corresponding ApprovalInfo will appear in this list 1961 // for all labels. 1962 // 1963 // Only set if DETAILED_LABELS are requested. 1964 All []*ApprovalInfo `protobuf:"bytes,9,rep,name=all,proto3" json:"all,omitempty"` 1965 // A map of all values that are allowed for this label to their descriptions. 1966 // 1967 // Only set if DETAILED_LABELS are requested. 1968 Values map[int32]string `protobuf:"bytes,10,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1969 } 1970 1971 func (x *LabelInfo) Reset() { 1972 *x = LabelInfo{} 1973 if protoimpl.UnsafeEnabled { 1974 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[10] 1975 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1976 ms.StoreMessageInfo(mi) 1977 } 1978 } 1979 1980 func (x *LabelInfo) String() string { 1981 return protoimpl.X.MessageStringOf(x) 1982 } 1983 1984 func (*LabelInfo) ProtoMessage() {} 1985 1986 func (x *LabelInfo) ProtoReflect() protoreflect.Message { 1987 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[10] 1988 if protoimpl.UnsafeEnabled && x != nil { 1989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1990 if ms.LoadMessageInfo() == nil { 1991 ms.StoreMessageInfo(mi) 1992 } 1993 return ms 1994 } 1995 return mi.MessageOf(x) 1996 } 1997 1998 // Deprecated: Use LabelInfo.ProtoReflect.Descriptor instead. 1999 func (*LabelInfo) Descriptor() ([]byte, []int) { 2000 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{10} 2001 } 2002 2003 func (x *LabelInfo) GetOptional() bool { 2004 if x != nil { 2005 return x.Optional 2006 } 2007 return false 2008 } 2009 2010 func (x *LabelInfo) GetApproved() *AccountInfo { 2011 if x != nil { 2012 return x.Approved 2013 } 2014 return nil 2015 } 2016 2017 func (x *LabelInfo) GetRejected() *AccountInfo { 2018 if x != nil { 2019 return x.Rejected 2020 } 2021 return nil 2022 } 2023 2024 func (x *LabelInfo) GetRecommended() *AccountInfo { 2025 if x != nil { 2026 return x.Recommended 2027 } 2028 return nil 2029 } 2030 2031 func (x *LabelInfo) GetDisliked() *AccountInfo { 2032 if x != nil { 2033 return x.Disliked 2034 } 2035 return nil 2036 } 2037 2038 func (x *LabelInfo) GetBlocking() bool { 2039 if x != nil { 2040 return x.Blocking 2041 } 2042 return false 2043 } 2044 2045 func (x *LabelInfo) GetValue() int32 { 2046 if x != nil { 2047 return x.Value 2048 } 2049 return 0 2050 } 2051 2052 func (x *LabelInfo) GetDefaultValue() int32 { 2053 if x != nil { 2054 return x.DefaultValue 2055 } 2056 return 0 2057 } 2058 2059 func (x *LabelInfo) GetAll() []*ApprovalInfo { 2060 if x != nil { 2061 return x.All 2062 } 2063 return nil 2064 } 2065 2066 func (x *LabelInfo) GetValues() map[int32]string { 2067 if x != nil { 2068 return x.Values 2069 } 2070 return nil 2071 } 2072 2073 // Information about an approval from a user for a label on a change. 2074 // 2075 // Source of truth: 2076 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#approval-info 2077 type ApprovalInfo struct { 2078 state protoimpl.MessageState 2079 sizeCache protoimpl.SizeCache 2080 unknownFields protoimpl.UnknownFields 2081 2082 // User who did the approval. 2083 User *AccountInfo `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` 2084 // The vote that the user has given for the label. 2085 Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` 2086 // The range of votes the user is authorized to vote on that label. 2087 // 2088 // If absent, the user is not permitted to vote on that label. 2089 PermittedVotingRange *VotingRangeInfo `protobuf:"bytes,3,opt,name=permitted_voting_range,json=permittedVotingRange,proto3" json:"permitted_voting_range,omitempty"` 2090 // The time and date describing when the approval was made. 2091 Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` 2092 // Value of the tag field from ReviewInput set while posting the review. 2093 Tag string `protobuf:"bytes,5,opt,name=tag,proto3" json:"tag,omitempty"` 2094 // If true, this vote was made after the change was submitted. 2095 PostSubmit bool `protobuf:"varint,6,opt,name=post_submit,json=postSubmit,proto3" json:"post_submit,omitempty"` 2096 } 2097 2098 func (x *ApprovalInfo) Reset() { 2099 *x = ApprovalInfo{} 2100 if protoimpl.UnsafeEnabled { 2101 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[11] 2102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2103 ms.StoreMessageInfo(mi) 2104 } 2105 } 2106 2107 func (x *ApprovalInfo) String() string { 2108 return protoimpl.X.MessageStringOf(x) 2109 } 2110 2111 func (*ApprovalInfo) ProtoMessage() {} 2112 2113 func (x *ApprovalInfo) ProtoReflect() protoreflect.Message { 2114 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[11] 2115 if protoimpl.UnsafeEnabled && x != nil { 2116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2117 if ms.LoadMessageInfo() == nil { 2118 ms.StoreMessageInfo(mi) 2119 } 2120 return ms 2121 } 2122 return mi.MessageOf(x) 2123 } 2124 2125 // Deprecated: Use ApprovalInfo.ProtoReflect.Descriptor instead. 2126 func (*ApprovalInfo) Descriptor() ([]byte, []int) { 2127 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{11} 2128 } 2129 2130 func (x *ApprovalInfo) GetUser() *AccountInfo { 2131 if x != nil { 2132 return x.User 2133 } 2134 return nil 2135 } 2136 2137 func (x *ApprovalInfo) GetValue() int32 { 2138 if x != nil { 2139 return x.Value 2140 } 2141 return 0 2142 } 2143 2144 func (x *ApprovalInfo) GetPermittedVotingRange() *VotingRangeInfo { 2145 if x != nil { 2146 return x.PermittedVotingRange 2147 } 2148 return nil 2149 } 2150 2151 func (x *ApprovalInfo) GetDate() *timestamppb.Timestamp { 2152 if x != nil { 2153 return x.Date 2154 } 2155 return nil 2156 } 2157 2158 func (x *ApprovalInfo) GetTag() string { 2159 if x != nil { 2160 return x.Tag 2161 } 2162 return "" 2163 } 2164 2165 func (x *ApprovalInfo) GetPostSubmit() bool { 2166 if x != nil { 2167 return x.PostSubmit 2168 } 2169 return false 2170 } 2171 2172 // VotingRangeInfo describes the continuous voting range from min to max values. 2173 // 2174 // Source of truth: 2175 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#voting-range-info 2176 type VotingRangeInfo struct { 2177 state protoimpl.MessageState 2178 sizeCache protoimpl.SizeCache 2179 unknownFields protoimpl.UnknownFields 2180 2181 // The minimum voting value, inclusive. 2182 Min int32 `protobuf:"varint,1,opt,name=min,proto3" json:"min,omitempty"` 2183 // The maximum voting value, inclusive. 2184 Max int32 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` 2185 } 2186 2187 func (x *VotingRangeInfo) Reset() { 2188 *x = VotingRangeInfo{} 2189 if protoimpl.UnsafeEnabled { 2190 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[12] 2191 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2192 ms.StoreMessageInfo(mi) 2193 } 2194 } 2195 2196 func (x *VotingRangeInfo) String() string { 2197 return protoimpl.X.MessageStringOf(x) 2198 } 2199 2200 func (*VotingRangeInfo) ProtoMessage() {} 2201 2202 func (x *VotingRangeInfo) ProtoReflect() protoreflect.Message { 2203 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[12] 2204 if protoimpl.UnsafeEnabled && x != nil { 2205 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2206 if ms.LoadMessageInfo() == nil { 2207 ms.StoreMessageInfo(mi) 2208 } 2209 return ms 2210 } 2211 return mi.MessageOf(x) 2212 } 2213 2214 // Deprecated: Use VotingRangeInfo.ProtoReflect.Descriptor instead. 2215 func (*VotingRangeInfo) Descriptor() ([]byte, []int) { 2216 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{12} 2217 } 2218 2219 func (x *VotingRangeInfo) GetMin() int32 { 2220 if x != nil { 2221 return x.Min 2222 } 2223 return 0 2224 } 2225 2226 func (x *VotingRangeInfo) GetMax() int32 { 2227 if x != nil { 2228 return x.Max 2229 } 2230 return 0 2231 } 2232 2233 // Information about a message attached to change. 2234 // 2235 // Source of truth: 2236 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#change-message-info 2237 type ChangeMessageInfo struct { 2238 state protoimpl.MessageState 2239 sizeCache protoimpl.SizeCache 2240 unknownFields protoimpl.UnknownFields 2241 2242 // The ID of the message 2243 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 2244 // Author of the message. 2245 // 2246 // Unset if written by the Gerrit system. 2247 Author *AccountInfo `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"` 2248 // Real author of the message. 2249 // 2250 // Set if the message was posted on behalf of another user. 2251 RealAuthor *AccountInfo `protobuf:"bytes,3,opt,name=real_author,json=realAuthor,proto3" json:"real_author,omitempty"` 2252 // The timestamp this message was posted. 2253 Date *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` 2254 // The text left by the user. 2255 Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` 2256 // Value of the tag field from ReviewInput set while posting the review 2257 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 2258 } 2259 2260 func (x *ChangeMessageInfo) Reset() { 2261 *x = ChangeMessageInfo{} 2262 if protoimpl.UnsafeEnabled { 2263 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[13] 2264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2265 ms.StoreMessageInfo(mi) 2266 } 2267 } 2268 2269 func (x *ChangeMessageInfo) String() string { 2270 return protoimpl.X.MessageStringOf(x) 2271 } 2272 2273 func (*ChangeMessageInfo) ProtoMessage() {} 2274 2275 func (x *ChangeMessageInfo) ProtoReflect() protoreflect.Message { 2276 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[13] 2277 if protoimpl.UnsafeEnabled && x != nil { 2278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2279 if ms.LoadMessageInfo() == nil { 2280 ms.StoreMessageInfo(mi) 2281 } 2282 return ms 2283 } 2284 return mi.MessageOf(x) 2285 } 2286 2287 // Deprecated: Use ChangeMessageInfo.ProtoReflect.Descriptor instead. 2288 func (*ChangeMessageInfo) Descriptor() ([]byte, []int) { 2289 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{13} 2290 } 2291 2292 func (x *ChangeMessageInfo) GetId() string { 2293 if x != nil { 2294 return x.Id 2295 } 2296 return "" 2297 } 2298 2299 func (x *ChangeMessageInfo) GetAuthor() *AccountInfo { 2300 if x != nil { 2301 return x.Author 2302 } 2303 return nil 2304 } 2305 2306 func (x *ChangeMessageInfo) GetRealAuthor() *AccountInfo { 2307 if x != nil { 2308 return x.RealAuthor 2309 } 2310 return nil 2311 } 2312 2313 func (x *ChangeMessageInfo) GetDate() *timestamppb.Timestamp { 2314 if x != nil { 2315 return x.Date 2316 } 2317 return nil 2318 } 2319 2320 func (x *ChangeMessageInfo) GetMessage() string { 2321 if x != nil { 2322 return x.Message 2323 } 2324 return "" 2325 } 2326 2327 func (x *ChangeMessageInfo) GetTag() string { 2328 if x != nil { 2329 return x.Tag 2330 } 2331 return "" 2332 } 2333 2334 // The Requirement entity contains information about a requirement relative to a 2335 // change. 2336 // 2337 // The requirement explains what has to happen before the change will be 2338 // submittable, e.g. owners CR+2 vote. 2339 // 2340 // Source of truth: 2341 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#requirement 2342 type Requirement struct { 2343 state protoimpl.MessageState 2344 sizeCache protoimpl.SizeCache 2345 unknownFields protoimpl.UnknownFields 2346 2347 Status Requirement_Status `protobuf:"varint,1,opt,name=status,proto3,enum=gerrit.Requirement_Status" json:"status,omitempty"` 2348 // A human readable reason. 2349 FallbackText string `protobuf:"bytes,2,opt,name=fallback_text,json=fallbackText,proto3" json:"fallback_text,omitempty"` 2350 // Alphanumerical (plus hyphens or underscores) string to identify what the 2351 // requirement is and why it was triggered. Can be seen as a class: 2352 // requirements sharing the same type were created for a similar reason, and 2353 // the data structure will follow one set of rules. 2354 Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` 2355 } 2356 2357 func (x *Requirement) Reset() { 2358 *x = Requirement{} 2359 if protoimpl.UnsafeEnabled { 2360 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[14] 2361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2362 ms.StoreMessageInfo(mi) 2363 } 2364 } 2365 2366 func (x *Requirement) String() string { 2367 return protoimpl.X.MessageStringOf(x) 2368 } 2369 2370 func (*Requirement) ProtoMessage() {} 2371 2372 func (x *Requirement) ProtoReflect() protoreflect.Message { 2373 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[14] 2374 if protoimpl.UnsafeEnabled && x != nil { 2375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2376 if ms.LoadMessageInfo() == nil { 2377 ms.StoreMessageInfo(mi) 2378 } 2379 return ms 2380 } 2381 return mi.MessageOf(x) 2382 } 2383 2384 // Deprecated: Use Requirement.ProtoReflect.Descriptor instead. 2385 func (*Requirement) Descriptor() ([]byte, []int) { 2386 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{14} 2387 } 2388 2389 func (x *Requirement) GetStatus() Requirement_Status { 2390 if x != nil { 2391 return x.Status 2392 } 2393 return Requirement_REQUIREMENT_STATUS_UNSPECIFIED 2394 } 2395 2396 func (x *Requirement) GetFallbackText() string { 2397 if x != nil { 2398 return x.FallbackText 2399 } 2400 return "" 2401 } 2402 2403 func (x *Requirement) GetType() string { 2404 if x != nil { 2405 return x.Type 2406 } 2407 return "" 2408 } 2409 2410 // Information about a file in a patch set. 2411 // 2412 // Source of truth: 2413 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#file-info 2414 type FileInfo struct { 2415 state protoimpl.MessageState 2416 sizeCache protoimpl.SizeCache 2417 unknownFields protoimpl.UnknownFields 2418 2419 // Status of the file. 2420 Status FileInfo_Status `protobuf:"varint,1,opt,name=status,proto3,enum=gerrit.FileInfo_Status" json:"status,omitempty"` 2421 // Whether the file is binary. 2422 Binary bool `protobuf:"varint,2,opt,name=binary,proto3" json:"binary,omitempty"` 2423 // The old file path; only set if renamed or copied. 2424 OldPath string `protobuf:"bytes,3,opt,name=old_path,json=oldPath,proto3" json:"old_path,omitempty"` 2425 // Number of lines inserted. 2426 LinesInserted int32 `protobuf:"varint,4,opt,name=lines_inserted,json=linesInserted,proto3" json:"lines_inserted,omitempty"` 2427 // Number of lines deleted. 2428 LinesDeleted int32 `protobuf:"varint,5,opt,name=lines_deleted,json=linesDeleted,proto3" json:"lines_deleted,omitempty"` 2429 // Number of bytes by which the file size increased/decreased. 2430 SizeDelta int64 `protobuf:"varint,6,opt,name=size_delta,json=sizeDelta,proto3" json:"size_delta,omitempty"` 2431 // File size in bytes. 2432 Size int64 `protobuf:"varint,7,opt,name=size,proto3" json:"size,omitempty"` 2433 } 2434 2435 func (x *FileInfo) Reset() { 2436 *x = FileInfo{} 2437 if protoimpl.UnsafeEnabled { 2438 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[15] 2439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2440 ms.StoreMessageInfo(mi) 2441 } 2442 } 2443 2444 func (x *FileInfo) String() string { 2445 return protoimpl.X.MessageStringOf(x) 2446 } 2447 2448 func (*FileInfo) ProtoMessage() {} 2449 2450 func (x *FileInfo) ProtoReflect() protoreflect.Message { 2451 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[15] 2452 if protoimpl.UnsafeEnabled && x != nil { 2453 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2454 if ms.LoadMessageInfo() == nil { 2455 ms.StoreMessageInfo(mi) 2456 } 2457 return ms 2458 } 2459 return mi.MessageOf(x) 2460 } 2461 2462 // Deprecated: Use FileInfo.ProtoReflect.Descriptor instead. 2463 func (*FileInfo) Descriptor() ([]byte, []int) { 2464 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{15} 2465 } 2466 2467 func (x *FileInfo) GetStatus() FileInfo_Status { 2468 if x != nil { 2469 return x.Status 2470 } 2471 return FileInfo_M 2472 } 2473 2474 func (x *FileInfo) GetBinary() bool { 2475 if x != nil { 2476 return x.Binary 2477 } 2478 return false 2479 } 2480 2481 func (x *FileInfo) GetOldPath() string { 2482 if x != nil { 2483 return x.OldPath 2484 } 2485 return "" 2486 } 2487 2488 func (x *FileInfo) GetLinesInserted() int32 { 2489 if x != nil { 2490 return x.LinesInserted 2491 } 2492 return 0 2493 } 2494 2495 func (x *FileInfo) GetLinesDeleted() int32 { 2496 if x != nil { 2497 return x.LinesDeleted 2498 } 2499 return 0 2500 } 2501 2502 func (x *FileInfo) GetSizeDelta() int64 { 2503 if x != nil { 2504 return x.SizeDelta 2505 } 2506 return 0 2507 } 2508 2509 func (x *FileInfo) GetSize() int64 { 2510 if x != nil { 2511 return x.Size 2512 } 2513 return 0 2514 } 2515 2516 // Information for creating a new change. 2517 // 2518 // Fields are a subset of: 2519 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#change-input 2520 type CreateChangeRequest struct { 2521 state protoimpl.MessageState 2522 sizeCache protoimpl.SizeCache 2523 unknownFields protoimpl.UnknownFields 2524 2525 Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` 2526 // Ref to base the new change at. e.g. refs/heads/master 2527 Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` 2528 Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` 2529 // 40-digit hex SHA-1 of the git commit which will be the parent commit of the 2530 // newly created change. If set, it must be a merged commit on the destination 2531 // branch. 2532 BaseCommit string `protobuf:"bytes,4,opt,name=base_commit,json=baseCommit,proto3" json:"base_commit,omitempty"` 2533 Notify Notify `protobuf:"varint,5,opt,name=notify,proto3,enum=gerrit.Notify" json:"notify,omitempty"` 2534 } 2535 2536 func (x *CreateChangeRequest) Reset() { 2537 *x = CreateChangeRequest{} 2538 if protoimpl.UnsafeEnabled { 2539 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[16] 2540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2541 ms.StoreMessageInfo(mi) 2542 } 2543 } 2544 2545 func (x *CreateChangeRequest) String() string { 2546 return protoimpl.X.MessageStringOf(x) 2547 } 2548 2549 func (*CreateChangeRequest) ProtoMessage() {} 2550 2551 func (x *CreateChangeRequest) ProtoReflect() protoreflect.Message { 2552 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[16] 2553 if protoimpl.UnsafeEnabled && x != nil { 2554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2555 if ms.LoadMessageInfo() == nil { 2556 ms.StoreMessageInfo(mi) 2557 } 2558 return ms 2559 } 2560 return mi.MessageOf(x) 2561 } 2562 2563 // Deprecated: Use CreateChangeRequest.ProtoReflect.Descriptor instead. 2564 func (*CreateChangeRequest) Descriptor() ([]byte, []int) { 2565 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{16} 2566 } 2567 2568 func (x *CreateChangeRequest) GetProject() string { 2569 if x != nil { 2570 return x.Project 2571 } 2572 return "" 2573 } 2574 2575 func (x *CreateChangeRequest) GetRef() string { 2576 if x != nil { 2577 return x.Ref 2578 } 2579 return "" 2580 } 2581 2582 func (x *CreateChangeRequest) GetSubject() string { 2583 if x != nil { 2584 return x.Subject 2585 } 2586 return "" 2587 } 2588 2589 func (x *CreateChangeRequest) GetBaseCommit() string { 2590 if x != nil { 2591 return x.BaseCommit 2592 } 2593 return "" 2594 } 2595 2596 func (x *CreateChangeRequest) GetNotify() Notify { 2597 if x != nil { 2598 return x.Notify 2599 } 2600 return Notify_NOTIFY_UNSPECIFIED 2601 } 2602 2603 // Information to submit a change. 2604 // 2605 // This is a placeholder to support the arguments from: 2606 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-change 2607 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-input 2608 type SubmitChangeRequest struct { 2609 state protoimpl.MessageState 2610 sizeCache protoimpl.SizeCache 2611 unknownFields protoimpl.UnknownFields 2612 2613 // The change number. 2614 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 2615 // The project of this change. For example, "chromium/src". 2616 // 2617 // Optional, but recommended for better routing and faster RPC execution. 2618 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 2619 } 2620 2621 func (x *SubmitChangeRequest) Reset() { 2622 *x = SubmitChangeRequest{} 2623 if protoimpl.UnsafeEnabled { 2624 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[17] 2625 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2626 ms.StoreMessageInfo(mi) 2627 } 2628 } 2629 2630 func (x *SubmitChangeRequest) String() string { 2631 return protoimpl.X.MessageStringOf(x) 2632 } 2633 2634 func (*SubmitChangeRequest) ProtoMessage() {} 2635 2636 func (x *SubmitChangeRequest) ProtoReflect() protoreflect.Message { 2637 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[17] 2638 if protoimpl.UnsafeEnabled && x != nil { 2639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2640 if ms.LoadMessageInfo() == nil { 2641 ms.StoreMessageInfo(mi) 2642 } 2643 return ms 2644 } 2645 return mi.MessageOf(x) 2646 } 2647 2648 // Deprecated: Use SubmitChangeRequest.ProtoReflect.Descriptor instead. 2649 func (*SubmitChangeRequest) Descriptor() ([]byte, []int) { 2650 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{17} 2651 } 2652 2653 func (x *SubmitChangeRequest) GetNumber() int64 { 2654 if x != nil { 2655 return x.Number 2656 } 2657 return 0 2658 } 2659 2660 func (x *SubmitChangeRequest) GetProject() string { 2661 if x != nil { 2662 return x.Project 2663 } 2664 return "" 2665 } 2666 2667 // Information to submit a specific revision of a change. 2668 // 2669 // Fields encode the path arguments of 2670 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-revision 2671 type SubmitRevisionRequest struct { 2672 state protoimpl.MessageState 2673 sizeCache protoimpl.SizeCache 2674 unknownFields protoimpl.UnknownFields 2675 2676 // The change number. 2677 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 2678 // Unique ID that identifies one revision of this change. 2679 // 2680 // Source of truth: 2681 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 2682 RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` 2683 // The project of this change. For example, "chromium/src". 2684 // 2685 // Optional, but recommended for better routing and faster RPC execution. 2686 Project string `protobuf:"bytes,5,opt,name=project,proto3" json:"project,omitempty"` 2687 } 2688 2689 func (x *SubmitRevisionRequest) Reset() { 2690 *x = SubmitRevisionRequest{} 2691 if protoimpl.UnsafeEnabled { 2692 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[18] 2693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2694 ms.StoreMessageInfo(mi) 2695 } 2696 } 2697 2698 func (x *SubmitRevisionRequest) String() string { 2699 return protoimpl.X.MessageStringOf(x) 2700 } 2701 2702 func (*SubmitRevisionRequest) ProtoMessage() {} 2703 2704 func (x *SubmitRevisionRequest) ProtoReflect() protoreflect.Message { 2705 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[18] 2706 if protoimpl.UnsafeEnabled && x != nil { 2707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2708 if ms.LoadMessageInfo() == nil { 2709 ms.StoreMessageInfo(mi) 2710 } 2711 return ms 2712 } 2713 return mi.MessageOf(x) 2714 } 2715 2716 // Deprecated: Use SubmitRevisionRequest.ProtoReflect.Descriptor instead. 2717 func (*SubmitRevisionRequest) Descriptor() ([]byte, []int) { 2718 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{18} 2719 } 2720 2721 func (x *SubmitRevisionRequest) GetNumber() int64 { 2722 if x != nil { 2723 return x.Number 2724 } 2725 return 0 2726 } 2727 2728 func (x *SubmitRevisionRequest) GetRevisionId() string { 2729 if x != nil { 2730 return x.RevisionId 2731 } 2732 return "" 2733 } 2734 2735 func (x *SubmitRevisionRequest) GetProject() string { 2736 if x != nil { 2737 return x.Project 2738 } 2739 return "" 2740 } 2741 2742 // Information about the change status after submitting. 2743 // 2744 // Source of truth: 2745 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-info 2746 type SubmitInfo struct { 2747 state protoimpl.MessageState 2748 sizeCache protoimpl.SizeCache 2749 unknownFields protoimpl.UnknownFields 2750 2751 // The status of the change after submitting is MERGED. 2752 Status ChangeStatus `protobuf:"varint,1,opt,name=status,proto3,enum=gerrit.ChangeStatus" json:"status,omitempty"` 2753 } 2754 2755 func (x *SubmitInfo) Reset() { 2756 *x = SubmitInfo{} 2757 if protoimpl.UnsafeEnabled { 2758 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[19] 2759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2760 ms.StoreMessageInfo(mi) 2761 } 2762 } 2763 2764 func (x *SubmitInfo) String() string { 2765 return protoimpl.X.MessageStringOf(x) 2766 } 2767 2768 func (*SubmitInfo) ProtoMessage() {} 2769 2770 func (x *SubmitInfo) ProtoReflect() protoreflect.Message { 2771 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[19] 2772 if protoimpl.UnsafeEnabled && x != nil { 2773 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2774 if ms.LoadMessageInfo() == nil { 2775 ms.StoreMessageInfo(mi) 2776 } 2777 return ms 2778 } 2779 return mi.MessageOf(x) 2780 } 2781 2782 // Deprecated: Use SubmitInfo.ProtoReflect.Descriptor instead. 2783 func (*SubmitInfo) Descriptor() ([]byte, []int) { 2784 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{19} 2785 } 2786 2787 func (x *SubmitInfo) GetStatus() ChangeStatus { 2788 if x != nil { 2789 return x.Status 2790 } 2791 return ChangeStatus_CHANGE_STATUS_INVALID 2792 } 2793 2794 // Information for changing contents of single file in a change edit. 2795 // 2796 // Fields encode the path arguments of 2797 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#put-edit-file 2798 type ChangeEditFileContentRequest struct { 2799 state protoimpl.MessageState 2800 sizeCache protoimpl.SizeCache 2801 unknownFields protoimpl.UnknownFields 2802 2803 // The change number. 2804 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 2805 // The project of this change. For example, "chromium/src". 2806 // 2807 // Optional, but recommended for better routing and faster RPC execution. 2808 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 2809 // Path to the file to edit inside the project. 2810 FilePath string `protobuf:"bytes,3,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` 2811 // New content of the file. Overwrites existing contents entirely. 2812 Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` 2813 } 2814 2815 func (x *ChangeEditFileContentRequest) Reset() { 2816 *x = ChangeEditFileContentRequest{} 2817 if protoimpl.UnsafeEnabled { 2818 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[20] 2819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2820 ms.StoreMessageInfo(mi) 2821 } 2822 } 2823 2824 func (x *ChangeEditFileContentRequest) String() string { 2825 return protoimpl.X.MessageStringOf(x) 2826 } 2827 2828 func (*ChangeEditFileContentRequest) ProtoMessage() {} 2829 2830 func (x *ChangeEditFileContentRequest) ProtoReflect() protoreflect.Message { 2831 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[20] 2832 if protoimpl.UnsafeEnabled && x != nil { 2833 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2834 if ms.LoadMessageInfo() == nil { 2835 ms.StoreMessageInfo(mi) 2836 } 2837 return ms 2838 } 2839 return mi.MessageOf(x) 2840 } 2841 2842 // Deprecated: Use ChangeEditFileContentRequest.ProtoReflect.Descriptor instead. 2843 func (*ChangeEditFileContentRequest) Descriptor() ([]byte, []int) { 2844 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{20} 2845 } 2846 2847 func (x *ChangeEditFileContentRequest) GetNumber() int64 { 2848 if x != nil { 2849 return x.Number 2850 } 2851 return 0 2852 } 2853 2854 func (x *ChangeEditFileContentRequest) GetProject() string { 2855 if x != nil { 2856 return x.Project 2857 } 2858 return "" 2859 } 2860 2861 func (x *ChangeEditFileContentRequest) GetFilePath() string { 2862 if x != nil { 2863 return x.FilePath 2864 } 2865 return "" 2866 } 2867 2868 func (x *ChangeEditFileContentRequest) GetContent() []byte { 2869 if x != nil { 2870 return x.Content 2871 } 2872 return nil 2873 } 2874 2875 // Information for deleting contents of single file in a change edit. 2876 // 2877 // Fields encode the path arguments of 2878 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#delete-edit-file 2879 type DeleteEditFileContentRequest struct { 2880 state protoimpl.MessageState 2881 sizeCache protoimpl.SizeCache 2882 unknownFields protoimpl.UnknownFields 2883 2884 // The change number. 2885 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 2886 // The project of this change. For example, "chromium/src". 2887 // 2888 // Optional, but recommended for better routing and faster RPC execution. 2889 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 2890 // Path to the file to edit inside the project. 2891 FilePath string `protobuf:"bytes,3,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` 2892 } 2893 2894 func (x *DeleteEditFileContentRequest) Reset() { 2895 *x = DeleteEditFileContentRequest{} 2896 if protoimpl.UnsafeEnabled { 2897 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[21] 2898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2899 ms.StoreMessageInfo(mi) 2900 } 2901 } 2902 2903 func (x *DeleteEditFileContentRequest) String() string { 2904 return protoimpl.X.MessageStringOf(x) 2905 } 2906 2907 func (*DeleteEditFileContentRequest) ProtoMessage() {} 2908 2909 func (x *DeleteEditFileContentRequest) ProtoReflect() protoreflect.Message { 2910 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[21] 2911 if protoimpl.UnsafeEnabled && x != nil { 2912 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2913 if ms.LoadMessageInfo() == nil { 2914 ms.StoreMessageInfo(mi) 2915 } 2916 return ms 2917 } 2918 return mi.MessageOf(x) 2919 } 2920 2921 // Deprecated: Use DeleteEditFileContentRequest.ProtoReflect.Descriptor instead. 2922 func (*DeleteEditFileContentRequest) Descriptor() ([]byte, []int) { 2923 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{21} 2924 } 2925 2926 func (x *DeleteEditFileContentRequest) GetNumber() int64 { 2927 if x != nil { 2928 return x.Number 2929 } 2930 return 0 2931 } 2932 2933 func (x *DeleteEditFileContentRequest) GetProject() string { 2934 if x != nil { 2935 return x.Project 2936 } 2937 return "" 2938 } 2939 2940 func (x *DeleteEditFileContentRequest) GetFilePath() string { 2941 if x != nil { 2942 return x.FilePath 2943 } 2944 return "" 2945 } 2946 2947 // Information for publishing a change edit. 2948 // 2949 // This is a placeholder to support the arguments from: 2950 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#publish-edit 2951 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#publish-change-edit-input 2952 type ChangeEditPublishRequest struct { 2953 state protoimpl.MessageState 2954 sizeCache protoimpl.SizeCache 2955 unknownFields protoimpl.UnknownFields 2956 2957 // The change number. 2958 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 2959 // The project of this change. For example, "chromium/src". 2960 // 2961 // Optional, but recommended for better routing and faster RPC execution. 2962 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 2963 } 2964 2965 func (x *ChangeEditPublishRequest) Reset() { 2966 *x = ChangeEditPublishRequest{} 2967 if protoimpl.UnsafeEnabled { 2968 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[22] 2969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2970 ms.StoreMessageInfo(mi) 2971 } 2972 } 2973 2974 func (x *ChangeEditPublishRequest) String() string { 2975 return protoimpl.X.MessageStringOf(x) 2976 } 2977 2978 func (*ChangeEditPublishRequest) ProtoMessage() {} 2979 2980 func (x *ChangeEditPublishRequest) ProtoReflect() protoreflect.Message { 2981 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[22] 2982 if protoimpl.UnsafeEnabled && x != nil { 2983 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2984 if ms.LoadMessageInfo() == nil { 2985 ms.StoreMessageInfo(mi) 2986 } 2987 return ms 2988 } 2989 return mi.MessageOf(x) 2990 } 2991 2992 // Deprecated: Use ChangeEditPublishRequest.ProtoReflect.Descriptor instead. 2993 func (*ChangeEditPublishRequest) Descriptor() ([]byte, []int) { 2994 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{22} 2995 } 2996 2997 func (x *ChangeEditPublishRequest) GetNumber() int64 { 2998 if x != nil { 2999 return x.Number 3000 } 3001 return 0 3002 } 3003 3004 func (x *ChangeEditPublishRequest) GetProject() string { 3005 if x != nil { 3006 return x.Project 3007 } 3008 return "" 3009 } 3010 3011 // Information for reverting a change. 3012 // 3013 // Fields are a subset of arguments from: 3014 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revert-change 3015 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revert-input 3016 type RevertChangeRequest struct { 3017 state protoimpl.MessageState 3018 sizeCache protoimpl.SizeCache 3019 unknownFields protoimpl.UnknownFields 3020 3021 // The change number. 3022 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3023 // The project of this change. For example, "chromium/src". 3024 // 3025 // Optional, but recommended for better routing and faster RPC execution. 3026 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3027 // Message to be added as review comment to the change when reverting the change. 3028 // 3029 // Optional 3030 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` 3031 } 3032 3033 func (x *RevertChangeRequest) Reset() { 3034 *x = RevertChangeRequest{} 3035 if protoimpl.UnsafeEnabled { 3036 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[23] 3037 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3038 ms.StoreMessageInfo(mi) 3039 } 3040 } 3041 3042 func (x *RevertChangeRequest) String() string { 3043 return protoimpl.X.MessageStringOf(x) 3044 } 3045 3046 func (*RevertChangeRequest) ProtoMessage() {} 3047 3048 func (x *RevertChangeRequest) ProtoReflect() protoreflect.Message { 3049 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[23] 3050 if protoimpl.UnsafeEnabled && x != nil { 3051 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3052 if ms.LoadMessageInfo() == nil { 3053 ms.StoreMessageInfo(mi) 3054 } 3055 return ms 3056 } 3057 return mi.MessageOf(x) 3058 } 3059 3060 // Deprecated: Use RevertChangeRequest.ProtoReflect.Descriptor instead. 3061 func (*RevertChangeRequest) Descriptor() ([]byte, []int) { 3062 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{23} 3063 } 3064 3065 func (x *RevertChangeRequest) GetNumber() int64 { 3066 if x != nil { 3067 return x.Number 3068 } 3069 return 0 3070 } 3071 3072 func (x *RevertChangeRequest) GetProject() string { 3073 if x != nil { 3074 return x.Project 3075 } 3076 return "" 3077 } 3078 3079 func (x *RevertChangeRequest) GetMessage() string { 3080 if x != nil { 3081 return x.Message 3082 } 3083 return "" 3084 } 3085 3086 // Information for abandoning a change. 3087 // 3088 // Fields are a subset of arguments from: 3089 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#abandon-change 3090 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#abandon-input 3091 type AbandonChangeRequest struct { 3092 state protoimpl.MessageState 3093 sizeCache protoimpl.SizeCache 3094 unknownFields protoimpl.UnknownFields 3095 3096 // The change number. 3097 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3098 // The project of this change. For example, "chromium/src". 3099 // 3100 // Optional, but recommended for better routing and faster RPC execution. 3101 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3102 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` 3103 } 3104 3105 func (x *AbandonChangeRequest) Reset() { 3106 *x = AbandonChangeRequest{} 3107 if protoimpl.UnsafeEnabled { 3108 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[24] 3109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3110 ms.StoreMessageInfo(mi) 3111 } 3112 } 3113 3114 func (x *AbandonChangeRequest) String() string { 3115 return protoimpl.X.MessageStringOf(x) 3116 } 3117 3118 func (*AbandonChangeRequest) ProtoMessage() {} 3119 3120 func (x *AbandonChangeRequest) ProtoReflect() protoreflect.Message { 3121 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[24] 3122 if protoimpl.UnsafeEnabled && x != nil { 3123 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3124 if ms.LoadMessageInfo() == nil { 3125 ms.StoreMessageInfo(mi) 3126 } 3127 return ms 3128 } 3129 return mi.MessageOf(x) 3130 } 3131 3132 // Deprecated: Use AbandonChangeRequest.ProtoReflect.Descriptor instead. 3133 func (*AbandonChangeRequest) Descriptor() ([]byte, []int) { 3134 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{24} 3135 } 3136 3137 func (x *AbandonChangeRequest) GetNumber() int64 { 3138 if x != nil { 3139 return x.Number 3140 } 3141 return 0 3142 } 3143 3144 func (x *AbandonChangeRequest) GetProject() string { 3145 if x != nil { 3146 return x.Project 3147 } 3148 return "" 3149 } 3150 3151 func (x *AbandonChangeRequest) GetMessage() string { 3152 if x != nil { 3153 return x.Message 3154 } 3155 return "" 3156 } 3157 3158 // Information for adding a reviewer. 3159 // 3160 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#add-reviewer 3161 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#reviewer-input 3162 type AddReviewerRequest struct { 3163 state protoimpl.MessageState 3164 sizeCache protoimpl.SizeCache 3165 unknownFields protoimpl.UnknownFields 3166 3167 // The change number. 3168 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3169 // The project of this change. For example, "chromium/src". 3170 // 3171 // Optional, but recommended for better routing and faster RPC execution. 3172 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3173 // The ID of a single account or group to review the change. 3174 // 3175 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-id 3176 Reviewer string `protobuf:"bytes,3,opt,name=reviewer,proto3" json:"reviewer,omitempty"` 3177 // The state to add reviewer in, defaults to REVIEWER. 3178 State AddReviewerRequest_State `protobuf:"varint,4,opt,name=state,proto3,enum=gerrit.AddReviewerRequest_State" json:"state,omitempty"` 3179 // Whether adding the reviewer is confirmed. 3180 Confirmed bool `protobuf:"varint,5,opt,name=confirmed,proto3" json:"confirmed,omitempty"` 3181 // Defines who should be notified after reviewer is added, defaults to ALL. 3182 Notify Notify `protobuf:"varint,6,opt,name=notify,proto3,enum=gerrit.Notify" json:"notify,omitempty"` 3183 } 3184 3185 func (x *AddReviewerRequest) Reset() { 3186 *x = AddReviewerRequest{} 3187 if protoimpl.UnsafeEnabled { 3188 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[25] 3189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3190 ms.StoreMessageInfo(mi) 3191 } 3192 } 3193 3194 func (x *AddReviewerRequest) String() string { 3195 return protoimpl.X.MessageStringOf(x) 3196 } 3197 3198 func (*AddReviewerRequest) ProtoMessage() {} 3199 3200 func (x *AddReviewerRequest) ProtoReflect() protoreflect.Message { 3201 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[25] 3202 if protoimpl.UnsafeEnabled && x != nil { 3203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3204 if ms.LoadMessageInfo() == nil { 3205 ms.StoreMessageInfo(mi) 3206 } 3207 return ms 3208 } 3209 return mi.MessageOf(x) 3210 } 3211 3212 // Deprecated: Use AddReviewerRequest.ProtoReflect.Descriptor instead. 3213 func (*AddReviewerRequest) Descriptor() ([]byte, []int) { 3214 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{25} 3215 } 3216 3217 func (x *AddReviewerRequest) GetNumber() int64 { 3218 if x != nil { 3219 return x.Number 3220 } 3221 return 0 3222 } 3223 3224 func (x *AddReviewerRequest) GetProject() string { 3225 if x != nil { 3226 return x.Project 3227 } 3228 return "" 3229 } 3230 3231 func (x *AddReviewerRequest) GetReviewer() string { 3232 if x != nil { 3233 return x.Reviewer 3234 } 3235 return "" 3236 } 3237 3238 func (x *AddReviewerRequest) GetState() AddReviewerRequest_State { 3239 if x != nil { 3240 return x.State 3241 } 3242 return AddReviewerRequest_ADD_REVIEWER_STATE_UNSPECIFIED 3243 } 3244 3245 func (x *AddReviewerRequest) GetConfirmed() bool { 3246 if x != nil { 3247 return x.Confirmed 3248 } 3249 return false 3250 } 3251 3252 func (x *AddReviewerRequest) GetNotify() Notify { 3253 if x != nil { 3254 return x.Notify 3255 } 3256 return Notify_NOTIFY_UNSPECIFIED 3257 } 3258 3259 // Information about a reviewer. A superset of information from AccountInfo. 3260 // 3261 // Source of truth: 3262 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#reviewer-info 3263 type ReviewerInfo struct { 3264 state protoimpl.MessageState 3265 sizeCache protoimpl.SizeCache 3266 unknownFields protoimpl.UnknownFields 3267 3268 // The detailed account information about a reviewer. 3269 Account *AccountInfo `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` 3270 // The approvals as a map of label names to approval values. 3271 Approvals map[string]int32 `protobuf:"bytes,2,rep,name=approvals,proto3" json:"approvals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 3272 } 3273 3274 func (x *ReviewerInfo) Reset() { 3275 *x = ReviewerInfo{} 3276 if protoimpl.UnsafeEnabled { 3277 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[26] 3278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3279 ms.StoreMessageInfo(mi) 3280 } 3281 } 3282 3283 func (x *ReviewerInfo) String() string { 3284 return protoimpl.X.MessageStringOf(x) 3285 } 3286 3287 func (*ReviewerInfo) ProtoMessage() {} 3288 3289 func (x *ReviewerInfo) ProtoReflect() protoreflect.Message { 3290 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[26] 3291 if protoimpl.UnsafeEnabled && x != nil { 3292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3293 if ms.LoadMessageInfo() == nil { 3294 ms.StoreMessageInfo(mi) 3295 } 3296 return ms 3297 } 3298 return mi.MessageOf(x) 3299 } 3300 3301 // Deprecated: Use ReviewerInfo.ProtoReflect.Descriptor instead. 3302 func (*ReviewerInfo) Descriptor() ([]byte, []int) { 3303 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{26} 3304 } 3305 3306 func (x *ReviewerInfo) GetAccount() *AccountInfo { 3307 if x != nil { 3308 return x.Account 3309 } 3310 return nil 3311 } 3312 3313 func (x *ReviewerInfo) GetApprovals() map[string]int32 { 3314 if x != nil { 3315 return x.Approvals 3316 } 3317 return nil 3318 } 3319 3320 // The result of adding a reviewer to a change 3321 // 3322 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#add-reviewer 3323 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#add-reviewer-result 3324 type AddReviewerResult struct { 3325 state protoimpl.MessageState 3326 sizeCache protoimpl.SizeCache 3327 unknownFields protoimpl.UnknownFields 3328 3329 // The Account ID from the AddReviewerRequest.reviewer field 3330 // 3331 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-id 3332 Input string `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` 3333 // The newly added reviewers 3334 // If a group is added as a reviewer (or cc) 3335 // all group members are added. 3336 Reviewers []*ReviewerInfo `protobuf:"bytes,2,rep,name=reviewers,proto3" json:"reviewers,omitempty"` 3337 // The newly cc'd accounts 3338 Ccs []*ReviewerInfo `protobuf:"bytes,3,rep,name=ccs,proto3" json:"ccs,omitempty"` 3339 // The error message 3340 Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` 3341 // Whether adding the reviewer requires confirmation 3342 Confirm bool `protobuf:"varint,5,opt,name=confirm,proto3" json:"confirm,omitempty"` 3343 } 3344 3345 func (x *AddReviewerResult) Reset() { 3346 *x = AddReviewerResult{} 3347 if protoimpl.UnsafeEnabled { 3348 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[27] 3349 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3350 ms.StoreMessageInfo(mi) 3351 } 3352 } 3353 3354 func (x *AddReviewerResult) String() string { 3355 return protoimpl.X.MessageStringOf(x) 3356 } 3357 3358 func (*AddReviewerResult) ProtoMessage() {} 3359 3360 func (x *AddReviewerResult) ProtoReflect() protoreflect.Message { 3361 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[27] 3362 if protoimpl.UnsafeEnabled && x != nil { 3363 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3364 if ms.LoadMessageInfo() == nil { 3365 ms.StoreMessageInfo(mi) 3366 } 3367 return ms 3368 } 3369 return mi.MessageOf(x) 3370 } 3371 3372 // Deprecated: Use AddReviewerResult.ProtoReflect.Descriptor instead. 3373 func (*AddReviewerResult) Descriptor() ([]byte, []int) { 3374 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{27} 3375 } 3376 3377 func (x *AddReviewerResult) GetInput() string { 3378 if x != nil { 3379 return x.Input 3380 } 3381 return "" 3382 } 3383 3384 func (x *AddReviewerResult) GetReviewers() []*ReviewerInfo { 3385 if x != nil { 3386 return x.Reviewers 3387 } 3388 return nil 3389 } 3390 3391 func (x *AddReviewerResult) GetCcs() []*ReviewerInfo { 3392 if x != nil { 3393 return x.Ccs 3394 } 3395 return nil 3396 } 3397 3398 func (x *AddReviewerResult) GetError() string { 3399 if x != nil { 3400 return x.Error 3401 } 3402 return "" 3403 } 3404 3405 func (x *AddReviewerResult) GetConfirm() bool { 3406 if x != nil { 3407 return x.Confirm 3408 } 3409 return false 3410 } 3411 3412 type DeleteReviewerRequest struct { 3413 state protoimpl.MessageState 3414 sizeCache protoimpl.SizeCache 3415 unknownFields protoimpl.UnknownFields 3416 3417 // The change number. 3418 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3419 // The project of this change. For example, "chromium/src". 3420 // 3421 // Optional, but recommended for better routing and faster RPC execution. 3422 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3423 // The ID of a single account or group to review the change. 3424 // 3425 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-id 3426 AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` 3427 } 3428 3429 func (x *DeleteReviewerRequest) Reset() { 3430 *x = DeleteReviewerRequest{} 3431 if protoimpl.UnsafeEnabled { 3432 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[28] 3433 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3434 ms.StoreMessageInfo(mi) 3435 } 3436 } 3437 3438 func (x *DeleteReviewerRequest) String() string { 3439 return protoimpl.X.MessageStringOf(x) 3440 } 3441 3442 func (*DeleteReviewerRequest) ProtoMessage() {} 3443 3444 func (x *DeleteReviewerRequest) ProtoReflect() protoreflect.Message { 3445 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[28] 3446 if protoimpl.UnsafeEnabled && x != nil { 3447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3448 if ms.LoadMessageInfo() == nil { 3449 ms.StoreMessageInfo(mi) 3450 } 3451 return ms 3452 } 3453 return mi.MessageOf(x) 3454 } 3455 3456 // Deprecated: Use DeleteReviewerRequest.ProtoReflect.Descriptor instead. 3457 func (*DeleteReviewerRequest) Descriptor() ([]byte, []int) { 3458 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{28} 3459 } 3460 3461 func (x *DeleteReviewerRequest) GetNumber() int64 { 3462 if x != nil { 3463 return x.Number 3464 } 3465 return 0 3466 } 3467 3468 func (x *DeleteReviewerRequest) GetProject() string { 3469 if x != nil { 3470 return x.Project 3471 } 3472 return "" 3473 } 3474 3475 func (x *DeleteReviewerRequest) GetAccountId() string { 3476 if x != nil { 3477 return x.AccountId 3478 } 3479 return "" 3480 } 3481 3482 // Information to set various review bits on a change 3483 // 3484 // Fields are a subset of arguments from: 3485 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-review 3486 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#review-input 3487 type SetReviewRequest struct { 3488 state protoimpl.MessageState 3489 sizeCache protoimpl.SizeCache 3490 unknownFields protoimpl.UnknownFields 3491 3492 // The change number. 3493 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3494 // The project of this change. For example, "chromium/src". 3495 // 3496 // Optional, but recommended for better routing and faster RPC execution. 3497 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3498 // Unique ID for the revision to query. 3499 // 3500 // Source of truth: 3501 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 3502 RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` 3503 // Message to be added to the change along with this review. 3504 Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` 3505 // labels to add, e.g.: 3506 // 3507 // { 3508 // "Code-Review": -1, 3509 // "Verified": 1, 3510 // } 3511 Labels map[string]int32 `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 3512 // Tag to be applied to the review comment message, votes, and inline 3513 // comments. 3514 // 3515 // Tags may be used by CI or other automated systems to distinguish them 3516 // from human reviews. Votes/comments that contain tag with 'autogenerated:' 3517 // prefix can be filtered out in the web UI. 3518 Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` 3519 // Notify defines to whom email notifications should be sent. 3520 Notify Notify `protobuf:"varint,7,opt,name=notify,proto3,enum=gerrit.Notify" json:"notify,omitempty"` 3521 // NotifyDetails contains additional information about whom to notify. 3522 // 3523 // These notifications are sent out even if `notify` options disables normal 3524 // notifications. 3525 NotifyDetails *NotifyDetails `protobuf:"bytes,8,opt,name=notify_details,json=notifyDetails,proto3" json:"notify_details,omitempty"` 3526 // The account_id that the review should be posted on behalf of. 3527 // 3528 // To use this option the caller must have been granted labelAs-NAME 3529 // permission for all keys of labels. 3530 OnBehalfOf int64 `protobuf:"varint,9,opt,name=on_behalf_of,json=onBehalfOf,proto3" json:"on_behalf_of,omitempty"` 3531 // If true, then start review. 3532 // It is an error for both ready and work_in_progress to be true at the same 3533 // time. 3534 Ready bool `protobuf:"varint,10,opt,name=ready,proto3" json:"ready,omitempty"` 3535 // If true, mark the change as work in progress. 3536 // It is an error for both ready and work_in_progress to be true at the same 3537 // time. 3538 WorkInProgress bool `protobuf:"varint,11,opt,name=work_in_progress,json=workInProgress,proto3" json:"work_in_progress,omitempty"` 3539 // list of AttentionSetInput entities to add to the attention set. Users that 3540 // are not reviewers, ccs, owner, or uploader are silently ignored. 3541 AddToAttentionSet []*AttentionSetInput `protobuf:"bytes,12,rep,name=add_to_attention_set,json=addToAttentionSet,proto3" json:"add_to_attention_set,omitempty"` 3542 // list of AttentionSetInput entities to remove from the attention set. 3543 RemoveFromAttentionSet []*AttentionSetInput `protobuf:"bytes,13,rep,name=remove_from_attention_set,json=removeFromAttentionSet,proto3" json:"remove_from_attention_set,omitempty"` 3544 // If true, ignore all automatic attention set rules described in the 3545 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#attention-set 3546 // 3547 // Updates in add_to_attention_set and remove_from_attention_set are not 3548 // ignored. 3549 IgnoreAutomaticAttentionSetRules bool `protobuf:"varint,14,opt,name=ignore_automatic_attention_set_rules,json=ignoreAutomaticAttentionSetRules,proto3" json:"ignore_automatic_attention_set_rules,omitempty"` 3550 // list of ReviewerInput entities representing reviewers that should be 3551 // added to the change. 3552 Reviewers []*ReviewerInput `protobuf:"bytes,15,rep,name=reviewers,proto3" json:"reviewers,omitempty"` 3553 } 3554 3555 func (x *SetReviewRequest) Reset() { 3556 *x = SetReviewRequest{} 3557 if protoimpl.UnsafeEnabled { 3558 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[29] 3559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3560 ms.StoreMessageInfo(mi) 3561 } 3562 } 3563 3564 func (x *SetReviewRequest) String() string { 3565 return protoimpl.X.MessageStringOf(x) 3566 } 3567 3568 func (*SetReviewRequest) ProtoMessage() {} 3569 3570 func (x *SetReviewRequest) ProtoReflect() protoreflect.Message { 3571 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[29] 3572 if protoimpl.UnsafeEnabled && x != nil { 3573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3574 if ms.LoadMessageInfo() == nil { 3575 ms.StoreMessageInfo(mi) 3576 } 3577 return ms 3578 } 3579 return mi.MessageOf(x) 3580 } 3581 3582 // Deprecated: Use SetReviewRequest.ProtoReflect.Descriptor instead. 3583 func (*SetReviewRequest) Descriptor() ([]byte, []int) { 3584 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{29} 3585 } 3586 3587 func (x *SetReviewRequest) GetNumber() int64 { 3588 if x != nil { 3589 return x.Number 3590 } 3591 return 0 3592 } 3593 3594 func (x *SetReviewRequest) GetProject() string { 3595 if x != nil { 3596 return x.Project 3597 } 3598 return "" 3599 } 3600 3601 func (x *SetReviewRequest) GetRevisionId() string { 3602 if x != nil { 3603 return x.RevisionId 3604 } 3605 return "" 3606 } 3607 3608 func (x *SetReviewRequest) GetMessage() string { 3609 if x != nil { 3610 return x.Message 3611 } 3612 return "" 3613 } 3614 3615 func (x *SetReviewRequest) GetLabels() map[string]int32 { 3616 if x != nil { 3617 return x.Labels 3618 } 3619 return nil 3620 } 3621 3622 func (x *SetReviewRequest) GetTag() string { 3623 if x != nil { 3624 return x.Tag 3625 } 3626 return "" 3627 } 3628 3629 func (x *SetReviewRequest) GetNotify() Notify { 3630 if x != nil { 3631 return x.Notify 3632 } 3633 return Notify_NOTIFY_UNSPECIFIED 3634 } 3635 3636 func (x *SetReviewRequest) GetNotifyDetails() *NotifyDetails { 3637 if x != nil { 3638 return x.NotifyDetails 3639 } 3640 return nil 3641 } 3642 3643 func (x *SetReviewRequest) GetOnBehalfOf() int64 { 3644 if x != nil { 3645 return x.OnBehalfOf 3646 } 3647 return 0 3648 } 3649 3650 func (x *SetReviewRequest) GetReady() bool { 3651 if x != nil { 3652 return x.Ready 3653 } 3654 return false 3655 } 3656 3657 func (x *SetReviewRequest) GetWorkInProgress() bool { 3658 if x != nil { 3659 return x.WorkInProgress 3660 } 3661 return false 3662 } 3663 3664 func (x *SetReviewRequest) GetAddToAttentionSet() []*AttentionSetInput { 3665 if x != nil { 3666 return x.AddToAttentionSet 3667 } 3668 return nil 3669 } 3670 3671 func (x *SetReviewRequest) GetRemoveFromAttentionSet() []*AttentionSetInput { 3672 if x != nil { 3673 return x.RemoveFromAttentionSet 3674 } 3675 return nil 3676 } 3677 3678 func (x *SetReviewRequest) GetIgnoreAutomaticAttentionSetRules() bool { 3679 if x != nil { 3680 return x.IgnoreAutomaticAttentionSetRules 3681 } 3682 return false 3683 } 3684 3685 func (x *SetReviewRequest) GetReviewers() []*ReviewerInput { 3686 if x != nil { 3687 return x.Reviewers 3688 } 3689 return nil 3690 } 3691 3692 // Information to add reviewers to a change. 3693 // 3694 // Fields are a subset of arguments from: 3695 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#reviewer-input 3696 type ReviewerInput struct { 3697 state protoimpl.MessageState 3698 sizeCache protoimpl.SizeCache 3699 unknownFields protoimpl.UnknownFields 3700 3701 // The ID of a single account or group to review the change. 3702 // 3703 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-id 3704 Reviewer string `protobuf:"bytes,1,opt,name=reviewer,proto3" json:"reviewer,omitempty"` 3705 // Optional - Add reviewer in this state. 3706 // 3707 // Possible reviewer states are REVIEWER and CC. If not given, 3708 // Gerrit defaults to REVIEWER. 3709 State ReviewerInput_State `protobuf:"varint,2,opt,name=state,proto3,enum=gerrit.ReviewerInput_State" json:"state,omitempty"` 3710 } 3711 3712 func (x *ReviewerInput) Reset() { 3713 *x = ReviewerInput{} 3714 if protoimpl.UnsafeEnabled { 3715 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[30] 3716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3717 ms.StoreMessageInfo(mi) 3718 } 3719 } 3720 3721 func (x *ReviewerInput) String() string { 3722 return protoimpl.X.MessageStringOf(x) 3723 } 3724 3725 func (*ReviewerInput) ProtoMessage() {} 3726 3727 func (x *ReviewerInput) ProtoReflect() protoreflect.Message { 3728 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[30] 3729 if protoimpl.UnsafeEnabled && x != nil { 3730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3731 if ms.LoadMessageInfo() == nil { 3732 ms.StoreMessageInfo(mi) 3733 } 3734 return ms 3735 } 3736 return mi.MessageOf(x) 3737 } 3738 3739 // Deprecated: Use ReviewerInput.ProtoReflect.Descriptor instead. 3740 func (*ReviewerInput) Descriptor() ([]byte, []int) { 3741 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{30} 3742 } 3743 3744 func (x *ReviewerInput) GetReviewer() string { 3745 if x != nil { 3746 return x.Reviewer 3747 } 3748 return "" 3749 } 3750 3751 func (x *ReviewerInput) GetState() ReviewerInput_State { 3752 if x != nil { 3753 return x.State 3754 } 3755 return ReviewerInput_REVIEWER_INPUT_STATE_UNSPECIFIED 3756 } 3757 3758 // Information returned by a SetReview RPC. 3759 // 3760 // Fields are a subset of: 3761 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#review-result 3762 type ReviewResult struct { 3763 state protoimpl.MessageState 3764 sizeCache protoimpl.SizeCache 3765 unknownFields protoimpl.UnknownFields 3766 3767 // Map of labels to values after the review was posted. Null if any reviewer 3768 // additions were rejected. 3769 Labels map[string]int32 `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 3770 // Map of account or group identifier to ReviewerResult representing 3771 // the outcome of adding a reviewer. 3772 // 3773 // Absent if no reviewer additions were requested. 3774 Reviewers map[string]*AddReviewerResult `protobuf:"bytes,2,rep,name=reviewers,proto3" json:"reviewers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3775 } 3776 3777 func (x *ReviewResult) Reset() { 3778 *x = ReviewResult{} 3779 if protoimpl.UnsafeEnabled { 3780 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[31] 3781 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3782 ms.StoreMessageInfo(mi) 3783 } 3784 } 3785 3786 func (x *ReviewResult) String() string { 3787 return protoimpl.X.MessageStringOf(x) 3788 } 3789 3790 func (*ReviewResult) ProtoMessage() {} 3791 3792 func (x *ReviewResult) ProtoReflect() protoreflect.Message { 3793 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[31] 3794 if protoimpl.UnsafeEnabled && x != nil { 3795 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3796 if ms.LoadMessageInfo() == nil { 3797 ms.StoreMessageInfo(mi) 3798 } 3799 return ms 3800 } 3801 return mi.MessageOf(x) 3802 } 3803 3804 // Deprecated: Use ReviewResult.ProtoReflect.Descriptor instead. 3805 func (*ReviewResult) Descriptor() ([]byte, []int) { 3806 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{31} 3807 } 3808 3809 func (x *ReviewResult) GetLabels() map[string]int32 { 3810 if x != nil { 3811 return x.Labels 3812 } 3813 return nil 3814 } 3815 3816 func (x *ReviewResult) GetReviewers() map[string]*AddReviewerResult { 3817 if x != nil { 3818 return x.Reviewers 3819 } 3820 return nil 3821 } 3822 3823 // Information to add/remove a user from the attention set of a change. 3824 // 3825 // Source of truth: 3826 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#attention-set-input 3827 type AttentionSetRequest struct { 3828 state protoimpl.MessageState 3829 sizeCache protoimpl.SizeCache 3830 unknownFields protoimpl.UnknownFields 3831 3832 // The change number. 3833 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3834 // The project of this change. For example, "chromium/src". 3835 // 3836 // Optional, but recommended for better routing and faster RPC execution. 3837 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3838 Input *AttentionSetInput `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` 3839 } 3840 3841 func (x *AttentionSetRequest) Reset() { 3842 *x = AttentionSetRequest{} 3843 if protoimpl.UnsafeEnabled { 3844 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[32] 3845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3846 ms.StoreMessageInfo(mi) 3847 } 3848 } 3849 3850 func (x *AttentionSetRequest) String() string { 3851 return protoimpl.X.MessageStringOf(x) 3852 } 3853 3854 func (*AttentionSetRequest) ProtoMessage() {} 3855 3856 func (x *AttentionSetRequest) ProtoReflect() protoreflect.Message { 3857 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[32] 3858 if protoimpl.UnsafeEnabled && x != nil { 3859 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3860 if ms.LoadMessageInfo() == nil { 3861 ms.StoreMessageInfo(mi) 3862 } 3863 return ms 3864 } 3865 return mi.MessageOf(x) 3866 } 3867 3868 // Deprecated: Use AttentionSetRequest.ProtoReflect.Descriptor instead. 3869 func (*AttentionSetRequest) Descriptor() ([]byte, []int) { 3870 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{32} 3871 } 3872 3873 func (x *AttentionSetRequest) GetNumber() int64 { 3874 if x != nil { 3875 return x.Number 3876 } 3877 return 0 3878 } 3879 3880 func (x *AttentionSetRequest) GetProject() string { 3881 if x != nil { 3882 return x.Project 3883 } 3884 return "" 3885 } 3886 3887 func (x *AttentionSetRequest) GetInput() *AttentionSetInput { 3888 if x != nil { 3889 return x.Input 3890 } 3891 return nil 3892 } 3893 3894 // Information to add/remove a user from the attention set. 3895 // 3896 // Source of truth: 3897 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#attention-set-input 3898 type AttentionSetInput struct { 3899 state protoimpl.MessageState 3900 sizeCache protoimpl.SizeCache 3901 unknownFields protoimpl.UnknownFields 3902 3903 // A unique identifier for an account. 3904 // 3905 // Source of truth: 3906 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#account-id 3907 User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` 3908 // The justification for adding/removing the user. 3909 Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` 3910 // Defines who should be notified after change is created, defaults to OWNER. 3911 Notify Notify `protobuf:"varint,3,opt,name=notify,proto3,enum=gerrit.Notify" json:"notify,omitempty"` 3912 // NotifyDetails contains additional information about whom to notify. 3913 // 3914 // These notifications are sent out even if `notify` options disables normal 3915 // notifications. 3916 NotifyDetails *NotifyDetails `protobuf:"bytes,4,opt,name=notify_details,json=notifyDetails,proto3" json:"notify_details,omitempty"` 3917 } 3918 3919 func (x *AttentionSetInput) Reset() { 3920 *x = AttentionSetInput{} 3921 if protoimpl.UnsafeEnabled { 3922 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[33] 3923 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3924 ms.StoreMessageInfo(mi) 3925 } 3926 } 3927 3928 func (x *AttentionSetInput) String() string { 3929 return protoimpl.X.MessageStringOf(x) 3930 } 3931 3932 func (*AttentionSetInput) ProtoMessage() {} 3933 3934 func (x *AttentionSetInput) ProtoReflect() protoreflect.Message { 3935 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[33] 3936 if protoimpl.UnsafeEnabled && x != nil { 3937 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3938 if ms.LoadMessageInfo() == nil { 3939 ms.StoreMessageInfo(mi) 3940 } 3941 return ms 3942 } 3943 return mi.MessageOf(x) 3944 } 3945 3946 // Deprecated: Use AttentionSetInput.ProtoReflect.Descriptor instead. 3947 func (*AttentionSetInput) Descriptor() ([]byte, []int) { 3948 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{33} 3949 } 3950 3951 func (x *AttentionSetInput) GetUser() string { 3952 if x != nil { 3953 return x.User 3954 } 3955 return "" 3956 } 3957 3958 func (x *AttentionSetInput) GetReason() string { 3959 if x != nil { 3960 return x.Reason 3961 } 3962 return "" 3963 } 3964 3965 func (x *AttentionSetInput) GetNotify() Notify { 3966 if x != nil { 3967 return x.Notify 3968 } 3969 return Notify_NOTIFY_UNSPECIFIED 3970 } 3971 3972 func (x *AttentionSetInput) GetNotifyDetails() *NotifyDetails { 3973 if x != nil { 3974 return x.NotifyDetails 3975 } 3976 return nil 3977 } 3978 3979 type GetMergeableRequest struct { 3980 state protoimpl.MessageState 3981 sizeCache protoimpl.SizeCache 3982 unknownFields protoimpl.UnknownFields 3983 3984 // The change number. 3985 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 3986 // The project of this change. For example, "chromium/src". 3987 // 3988 // Optional, but recommended for better routing and faster RPC execution. 3989 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 3990 // Unique ID for the revision to query. 3991 // 3992 // Source of truth: 3993 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 3994 RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` 3995 // The source to merge from, e.g. a complete or abbreviated commit SHA-1, a 3996 // complete reference name, a short reference name under refs/heads, 3997 // refs/tags, or refs/remotes namespace, etc. 3998 Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` 3999 // The strategy of the merge. 4000 Strategy MergeableStrategy `protobuf:"varint,5,opt,name=strategy,proto3,enum=gerrit.MergeableStrategy" json:"strategy,omitempty"` 4001 } 4002 4003 func (x *GetMergeableRequest) Reset() { 4004 *x = GetMergeableRequest{} 4005 if protoimpl.UnsafeEnabled { 4006 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[34] 4007 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4008 ms.StoreMessageInfo(mi) 4009 } 4010 } 4011 4012 func (x *GetMergeableRequest) String() string { 4013 return protoimpl.X.MessageStringOf(x) 4014 } 4015 4016 func (*GetMergeableRequest) ProtoMessage() {} 4017 4018 func (x *GetMergeableRequest) ProtoReflect() protoreflect.Message { 4019 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[34] 4020 if protoimpl.UnsafeEnabled && x != nil { 4021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4022 if ms.LoadMessageInfo() == nil { 4023 ms.StoreMessageInfo(mi) 4024 } 4025 return ms 4026 } 4027 return mi.MessageOf(x) 4028 } 4029 4030 // Deprecated: Use GetMergeableRequest.ProtoReflect.Descriptor instead. 4031 func (*GetMergeableRequest) Descriptor() ([]byte, []int) { 4032 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{34} 4033 } 4034 4035 func (x *GetMergeableRequest) GetNumber() int64 { 4036 if x != nil { 4037 return x.Number 4038 } 4039 return 0 4040 } 4041 4042 func (x *GetMergeableRequest) GetProject() string { 4043 if x != nil { 4044 return x.Project 4045 } 4046 return "" 4047 } 4048 4049 func (x *GetMergeableRequest) GetRevisionId() string { 4050 if x != nil { 4051 return x.RevisionId 4052 } 4053 return "" 4054 } 4055 4056 func (x *GetMergeableRequest) GetSource() string { 4057 if x != nil { 4058 return x.Source 4059 } 4060 return "" 4061 } 4062 4063 func (x *GetMergeableRequest) GetStrategy() MergeableStrategy { 4064 if x != nil { 4065 return x.Strategy 4066 } 4067 return MergeableStrategy_MERGEABLE_STRATEGY_UNSPECIFIED 4068 } 4069 4070 // Contains information about the mergeability of a change. 4071 // 4072 // Source of truth: 4073 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#mergeable-info 4074 type MergeableInfo struct { 4075 state protoimpl.MessageState 4076 sizeCache protoimpl.SizeCache 4077 unknownFields protoimpl.UnknownFields 4078 4079 // Submit type used for this change. 4080 SubmitType MergeableInfo_SubmitType `protobuf:"varint,1,opt,name=submit_type,json=submitType,proto3,enum=gerrit.MergeableInfo_SubmitType" json:"submit_type,omitempty"` 4081 // The strategy of the merge. 4082 Strategy MergeableStrategy `protobuf:"varint,2,opt,name=strategy,proto3,enum=gerrit.MergeableStrategy" json:"strategy,omitempty"` 4083 // true if this change is cleanly mergeable, false otherwise. 4084 Mergeable bool `protobuf:"varint,3,opt,name=mergeable,proto3" json:"mergeable,omitempty"` 4085 // true if this change is already merged, false otherwise. 4086 CommitMerged bool `protobuf:"varint,4,opt,name=commit_merged,json=commitMerged,proto3" json:"commit_merged,omitempty"` 4087 // true if the content of this change is already merged, false otherwise. 4088 ContentMerged bool `protobuf:"varint,5,opt,name=content_merged,json=contentMerged,proto3" json:"content_merged,omitempty"` 4089 // A list of paths with conflicts. 4090 Conflicts []string `protobuf:"bytes,6,rep,name=conflicts,proto3" json:"conflicts,omitempty"` 4091 // A list of other branch names where this change could merge cleanly. 4092 MergeableInto []string `protobuf:"bytes,7,rep,name=mergeable_into,json=mergeableInto,proto3" json:"mergeable_into,omitempty"` 4093 } 4094 4095 func (x *MergeableInfo) Reset() { 4096 *x = MergeableInfo{} 4097 if protoimpl.UnsafeEnabled { 4098 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[35] 4099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4100 ms.StoreMessageInfo(mi) 4101 } 4102 } 4103 4104 func (x *MergeableInfo) String() string { 4105 return protoimpl.X.MessageStringOf(x) 4106 } 4107 4108 func (*MergeableInfo) ProtoMessage() {} 4109 4110 func (x *MergeableInfo) ProtoReflect() protoreflect.Message { 4111 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[35] 4112 if protoimpl.UnsafeEnabled && x != nil { 4113 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4114 if ms.LoadMessageInfo() == nil { 4115 ms.StoreMessageInfo(mi) 4116 } 4117 return ms 4118 } 4119 return mi.MessageOf(x) 4120 } 4121 4122 // Deprecated: Use MergeableInfo.ProtoReflect.Descriptor instead. 4123 func (*MergeableInfo) Descriptor() ([]byte, []int) { 4124 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{35} 4125 } 4126 4127 func (x *MergeableInfo) GetSubmitType() MergeableInfo_SubmitType { 4128 if x != nil { 4129 return x.SubmitType 4130 } 4131 return MergeableInfo_SUBMIT_TYPE_UNSPECIFIED 4132 } 4133 4134 func (x *MergeableInfo) GetStrategy() MergeableStrategy { 4135 if x != nil { 4136 return x.Strategy 4137 } 4138 return MergeableStrategy_MERGEABLE_STRATEGY_UNSPECIFIED 4139 } 4140 4141 func (x *MergeableInfo) GetMergeable() bool { 4142 if x != nil { 4143 return x.Mergeable 4144 } 4145 return false 4146 } 4147 4148 func (x *MergeableInfo) GetCommitMerged() bool { 4149 if x != nil { 4150 return x.CommitMerged 4151 } 4152 return false 4153 } 4154 4155 func (x *MergeableInfo) GetContentMerged() bool { 4156 if x != nil { 4157 return x.ContentMerged 4158 } 4159 return false 4160 } 4161 4162 func (x *MergeableInfo) GetConflicts() []string { 4163 if x != nil { 4164 return x.Conflicts 4165 } 4166 return nil 4167 } 4168 4169 func (x *MergeableInfo) GetMergeableInto() []string { 4170 if x != nil { 4171 return x.MergeableInto 4172 } 4173 return nil 4174 } 4175 4176 // Information for requesting the files in a change. 4177 // 4178 // Source of truth: 4179 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-files 4180 type ListFilesRequest struct { 4181 state protoimpl.MessageState 4182 sizeCache protoimpl.SizeCache 4183 unknownFields protoimpl.UnknownFields 4184 4185 // Change number. 4186 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 4187 // The project of this change. For example, "chromium/src". 4188 // 4189 // Optional, but recommended for better routing and faster RPC execution. 4190 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 4191 // Unique ID for the revision to query. 4192 // 4193 // Source of truth: 4194 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 4195 RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` 4196 // Changes the response to return a list of all files (modified or unmodified) 4197 // that contain this substring in the path name. 4198 SubstringQuery string `protobuf:"bytes,4,opt,name=substring_query,json=substringQuery,proto3" json:"substring_query,omitempty"` 4199 // For merge commits only, this requests a diff of files against a parent 4200 // revision. Use value 1 to compare against a CL's target ref. 4201 Parent int64 `protobuf:"varint,5,opt,name=parent,proto3" json:"parent,omitempty"` 4202 // Can either be a revision id or a patchset number. It changes the response 4203 // to return a map of the files which are different in this commit compared 4204 // to the given revision. The revision must correspond to a patch set in the 4205 // change. 4206 Base string `protobuf:"bytes,6,opt,name=base,proto3" json:"base,omitempty"` 4207 } 4208 4209 func (x *ListFilesRequest) Reset() { 4210 *x = ListFilesRequest{} 4211 if protoimpl.UnsafeEnabled { 4212 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[36] 4213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4214 ms.StoreMessageInfo(mi) 4215 } 4216 } 4217 4218 func (x *ListFilesRequest) String() string { 4219 return protoimpl.X.MessageStringOf(x) 4220 } 4221 4222 func (*ListFilesRequest) ProtoMessage() {} 4223 4224 func (x *ListFilesRequest) ProtoReflect() protoreflect.Message { 4225 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[36] 4226 if protoimpl.UnsafeEnabled && x != nil { 4227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4228 if ms.LoadMessageInfo() == nil { 4229 ms.StoreMessageInfo(mi) 4230 } 4231 return ms 4232 } 4233 return mi.MessageOf(x) 4234 } 4235 4236 // Deprecated: Use ListFilesRequest.ProtoReflect.Descriptor instead. 4237 func (*ListFilesRequest) Descriptor() ([]byte, []int) { 4238 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{36} 4239 } 4240 4241 func (x *ListFilesRequest) GetNumber() int64 { 4242 if x != nil { 4243 return x.Number 4244 } 4245 return 0 4246 } 4247 4248 func (x *ListFilesRequest) GetProject() string { 4249 if x != nil { 4250 return x.Project 4251 } 4252 return "" 4253 } 4254 4255 func (x *ListFilesRequest) GetRevisionId() string { 4256 if x != nil { 4257 return x.RevisionId 4258 } 4259 return "" 4260 } 4261 4262 func (x *ListFilesRequest) GetSubstringQuery() string { 4263 if x != nil { 4264 return x.SubstringQuery 4265 } 4266 return "" 4267 } 4268 4269 func (x *ListFilesRequest) GetParent() int64 { 4270 if x != nil { 4271 return x.Parent 4272 } 4273 return 0 4274 } 4275 4276 func (x *ListFilesRequest) GetBase() string { 4277 if x != nil { 4278 return x.Base 4279 } 4280 return "" 4281 } 4282 4283 // Information about the files in a change. 4284 // 4285 // Source of truth: 4286 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#list-files 4287 type ListFilesResponse struct { 4288 state protoimpl.MessageState 4289 sizeCache protoimpl.SizeCache 4290 unknownFields protoimpl.UnknownFields 4291 4292 // A map of file paths to FileInfos. 4293 Files map[string]*FileInfo `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 4294 } 4295 4296 func (x *ListFilesResponse) Reset() { 4297 *x = ListFilesResponse{} 4298 if protoimpl.UnsafeEnabled { 4299 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[37] 4300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4301 ms.StoreMessageInfo(mi) 4302 } 4303 } 4304 4305 func (x *ListFilesResponse) String() string { 4306 return protoimpl.X.MessageStringOf(x) 4307 } 4308 4309 func (*ListFilesResponse) ProtoMessage() {} 4310 4311 func (x *ListFilesResponse) ProtoReflect() protoreflect.Message { 4312 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[37] 4313 if protoimpl.UnsafeEnabled && x != nil { 4314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4315 if ms.LoadMessageInfo() == nil { 4316 ms.StoreMessageInfo(mi) 4317 } 4318 return ms 4319 } 4320 return mi.MessageOf(x) 4321 } 4322 4323 // Deprecated: Use ListFilesResponse.ProtoReflect.Descriptor instead. 4324 func (*ListFilesResponse) Descriptor() ([]byte, []int) { 4325 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{37} 4326 } 4327 4328 func (x *ListFilesResponse) GetFiles() map[string]*FileInfo { 4329 if x != nil { 4330 return x.Files 4331 } 4332 return nil 4333 } 4334 4335 // Information for requesting the related changes of a change. 4336 // 4337 // Source of truth: 4338 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#get-related-changes 4339 type GetRelatedChangesRequest struct { 4340 state protoimpl.MessageState 4341 sizeCache protoimpl.SizeCache 4342 unknownFields protoimpl.UnknownFields 4343 4344 // Change number. 4345 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 4346 // The project of this change. For example, "chromium/src". 4347 // 4348 // Optional, but recommended for better routing and faster RPC execution. 4349 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 4350 // Unique ID for the revision to query. 4351 // 4352 // Source of truth: 4353 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id 4354 RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` 4355 } 4356 4357 func (x *GetRelatedChangesRequest) Reset() { 4358 *x = GetRelatedChangesRequest{} 4359 if protoimpl.UnsafeEnabled { 4360 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[38] 4361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4362 ms.StoreMessageInfo(mi) 4363 } 4364 } 4365 4366 func (x *GetRelatedChangesRequest) String() string { 4367 return protoimpl.X.MessageStringOf(x) 4368 } 4369 4370 func (*GetRelatedChangesRequest) ProtoMessage() {} 4371 4372 func (x *GetRelatedChangesRequest) ProtoReflect() protoreflect.Message { 4373 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[38] 4374 if protoimpl.UnsafeEnabled && x != nil { 4375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4376 if ms.LoadMessageInfo() == nil { 4377 ms.StoreMessageInfo(mi) 4378 } 4379 return ms 4380 } 4381 return mi.MessageOf(x) 4382 } 4383 4384 // Deprecated: Use GetRelatedChangesRequest.ProtoReflect.Descriptor instead. 4385 func (*GetRelatedChangesRequest) Descriptor() ([]byte, []int) { 4386 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{38} 4387 } 4388 4389 func (x *GetRelatedChangesRequest) GetNumber() int64 { 4390 if x != nil { 4391 return x.Number 4392 } 4393 return 0 4394 } 4395 4396 func (x *GetRelatedChangesRequest) GetProject() string { 4397 if x != nil { 4398 return x.Project 4399 } 4400 return "" 4401 } 4402 4403 func (x *GetRelatedChangesRequest) GetRevisionId() string { 4404 if x != nil { 4405 return x.RevisionId 4406 } 4407 return "" 4408 } 4409 4410 // Information about related changes of a specific change's revision. 4411 // 4412 // Source of truth: 4413 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#related-changes-info 4414 type GetRelatedChangesResponse struct { 4415 state protoimpl.MessageState 4416 sizeCache protoimpl.SizeCache 4417 unknownFields protoimpl.UnknownFields 4418 4419 // A list of describing the related changes. 4420 // 4421 // Sorted by git commit order, newest to oldest. Empty if there are no related 4422 // changes. 4423 Changes []*GetRelatedChangesResponse_ChangeAndCommit `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"` 4424 } 4425 4426 func (x *GetRelatedChangesResponse) Reset() { 4427 *x = GetRelatedChangesResponse{} 4428 if protoimpl.UnsafeEnabled { 4429 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[39] 4430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4431 ms.StoreMessageInfo(mi) 4432 } 4433 } 4434 4435 func (x *GetRelatedChangesResponse) String() string { 4436 return protoimpl.X.MessageStringOf(x) 4437 } 4438 4439 func (*GetRelatedChangesResponse) ProtoMessage() {} 4440 4441 func (x *GetRelatedChangesResponse) ProtoReflect() protoreflect.Message { 4442 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[39] 4443 if protoimpl.UnsafeEnabled && x != nil { 4444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4445 if ms.LoadMessageInfo() == nil { 4446 ms.StoreMessageInfo(mi) 4447 } 4448 return ms 4449 } 4450 return mi.MessageOf(x) 4451 } 4452 4453 // Deprecated: Use GetRelatedChangesResponse.ProtoReflect.Descriptor instead. 4454 func (*GetRelatedChangesResponse) Descriptor() ([]byte, []int) { 4455 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{39} 4456 } 4457 4458 func (x *GetRelatedChangesResponse) GetChanges() []*GetRelatedChangesResponse_ChangeAndCommit { 4459 if x != nil { 4460 return x.Changes 4461 } 4462 return nil 4463 } 4464 4465 // Information for requesting the projects on a host. 4466 // 4467 // Source of truth: 4468 // https://gerrit-review.googlesource.com/Documentation/cmd-ls-projects.html 4469 type ListProjectsRequest struct { 4470 state protoimpl.MessageState 4471 sizeCache protoimpl.SizeCache 4472 unknownFields protoimpl.UnknownFields 4473 4474 // Limit results to projects with any of the specified refs, e.g.: refs/heads/main. 4475 // Ref SHA1 will be included in the results. 4476 Refs []string `protobuf:"bytes,1,rep,name=refs,proto3" json:"refs,omitempty"` 4477 } 4478 4479 func (x *ListProjectsRequest) Reset() { 4480 *x = ListProjectsRequest{} 4481 if protoimpl.UnsafeEnabled { 4482 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[40] 4483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4484 ms.StoreMessageInfo(mi) 4485 } 4486 } 4487 4488 func (x *ListProjectsRequest) String() string { 4489 return protoimpl.X.MessageStringOf(x) 4490 } 4491 4492 func (*ListProjectsRequest) ProtoMessage() {} 4493 4494 func (x *ListProjectsRequest) ProtoReflect() protoreflect.Message { 4495 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[40] 4496 if protoimpl.UnsafeEnabled && x != nil { 4497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4498 if ms.LoadMessageInfo() == nil { 4499 ms.StoreMessageInfo(mi) 4500 } 4501 return ms 4502 } 4503 return mi.MessageOf(x) 4504 } 4505 4506 // Deprecated: Use ListProjectsRequest.ProtoReflect.Descriptor instead. 4507 func (*ListProjectsRequest) Descriptor() ([]byte, []int) { 4508 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{40} 4509 } 4510 4511 func (x *ListProjectsRequest) GetRefs() []string { 4512 if x != nil { 4513 return x.Refs 4514 } 4515 return nil 4516 } 4517 4518 // Describes a link to an external site 4519 // 4520 // Source of truth: 4521 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#web-link-info 4522 type WebLinkInfo struct { 4523 state protoimpl.MessageState 4524 sizeCache protoimpl.SizeCache 4525 unknownFields protoimpl.UnknownFields 4526 4527 // The link name 4528 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 4529 // Link URL 4530 Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` 4531 // URL to link icon 4532 ImageUrl string `protobuf:"bytes,3,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` 4533 } 4534 4535 func (x *WebLinkInfo) Reset() { 4536 *x = WebLinkInfo{} 4537 if protoimpl.UnsafeEnabled { 4538 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[41] 4539 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4540 ms.StoreMessageInfo(mi) 4541 } 4542 } 4543 4544 func (x *WebLinkInfo) String() string { 4545 return protoimpl.X.MessageStringOf(x) 4546 } 4547 4548 func (*WebLinkInfo) ProtoMessage() {} 4549 4550 func (x *WebLinkInfo) ProtoReflect() protoreflect.Message { 4551 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[41] 4552 if protoimpl.UnsafeEnabled && x != nil { 4553 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4554 if ms.LoadMessageInfo() == nil { 4555 ms.StoreMessageInfo(mi) 4556 } 4557 return ms 4558 } 4559 return mi.MessageOf(x) 4560 } 4561 4562 // Deprecated: Use WebLinkInfo.ProtoReflect.Descriptor instead. 4563 func (*WebLinkInfo) Descriptor() ([]byte, []int) { 4564 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{41} 4565 } 4566 4567 func (x *WebLinkInfo) GetName() string { 4568 if x != nil { 4569 return x.Name 4570 } 4571 return "" 4572 } 4573 4574 func (x *WebLinkInfo) GetUrl() string { 4575 if x != nil { 4576 return x.Url 4577 } 4578 return "" 4579 } 4580 4581 func (x *WebLinkInfo) GetImageUrl() string { 4582 if x != nil { 4583 return x.ImageUrl 4584 } 4585 return "" 4586 } 4587 4588 // Information about individual projects. 4589 // 4590 // Source of truth: 4591 // https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#project-info 4592 type ProjectInfo struct { 4593 state protoimpl.MessageState 4594 sizeCache protoimpl.SizeCache 4595 unknownFields protoimpl.UnknownFields 4596 4597 // The project name 4598 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 4599 // The name of the parent project 4600 Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` 4601 // The description of the project 4602 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 4603 // The state of the project 4604 State ProjectInfo_State `protobuf:"varint,4,opt,name=state,proto3,enum=gerrit.ProjectInfo_State" json:"state,omitempty"` 4605 // Map of ref names to HEAD revisions 4606 Refs map[string]string `protobuf:"bytes,5,rep,name=refs,proto3" json:"refs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 4607 // List of links to the project in external sites 4608 WebLinks []*WebLinkInfo `protobuf:"bytes,6,rep,name=web_links,json=webLinks,proto3" json:"web_links,omitempty"` 4609 } 4610 4611 func (x *ProjectInfo) Reset() { 4612 *x = ProjectInfo{} 4613 if protoimpl.UnsafeEnabled { 4614 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[42] 4615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4616 ms.StoreMessageInfo(mi) 4617 } 4618 } 4619 4620 func (x *ProjectInfo) String() string { 4621 return protoimpl.X.MessageStringOf(x) 4622 } 4623 4624 func (*ProjectInfo) ProtoMessage() {} 4625 4626 func (x *ProjectInfo) ProtoReflect() protoreflect.Message { 4627 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[42] 4628 if protoimpl.UnsafeEnabled && x != nil { 4629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4630 if ms.LoadMessageInfo() == nil { 4631 ms.StoreMessageInfo(mi) 4632 } 4633 return ms 4634 } 4635 return mi.MessageOf(x) 4636 } 4637 4638 // Deprecated: Use ProjectInfo.ProtoReflect.Descriptor instead. 4639 func (*ProjectInfo) Descriptor() ([]byte, []int) { 4640 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{42} 4641 } 4642 4643 func (x *ProjectInfo) GetName() string { 4644 if x != nil { 4645 return x.Name 4646 } 4647 return "" 4648 } 4649 4650 func (x *ProjectInfo) GetParent() string { 4651 if x != nil { 4652 return x.Parent 4653 } 4654 return "" 4655 } 4656 4657 func (x *ProjectInfo) GetDescription() string { 4658 if x != nil { 4659 return x.Description 4660 } 4661 return "" 4662 } 4663 4664 func (x *ProjectInfo) GetState() ProjectInfo_State { 4665 if x != nil { 4666 return x.State 4667 } 4668 return ProjectInfo_PROJECT_STATE_UNSPECIFIED 4669 } 4670 4671 func (x *ProjectInfo) GetRefs() map[string]string { 4672 if x != nil { 4673 return x.Refs 4674 } 4675 return nil 4676 } 4677 4678 func (x *ProjectInfo) GetWebLinks() []*WebLinkInfo { 4679 if x != nil { 4680 return x.WebLinks 4681 } 4682 return nil 4683 } 4684 4685 // Information about the projects on a host. 4686 // 4687 // Source of truth: 4688 // https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#project-info 4689 type ListProjectsResponse struct { 4690 state protoimpl.MessageState 4691 sizeCache protoimpl.SizeCache 4692 unknownFields protoimpl.UnknownFields 4693 4694 // A map of project names to ProjectInfo entries, sorted by project name. 4695 Projects map[string]*ProjectInfo `protobuf:"bytes,1,rep,name=Projects,proto3" json:"Projects,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 4696 } 4697 4698 func (x *ListProjectsResponse) Reset() { 4699 *x = ListProjectsResponse{} 4700 if protoimpl.UnsafeEnabled { 4701 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[43] 4702 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4703 ms.StoreMessageInfo(mi) 4704 } 4705 } 4706 4707 func (x *ListProjectsResponse) String() string { 4708 return protoimpl.X.MessageStringOf(x) 4709 } 4710 4711 func (*ListProjectsResponse) ProtoMessage() {} 4712 4713 func (x *ListProjectsResponse) ProtoReflect() protoreflect.Message { 4714 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[43] 4715 if protoimpl.UnsafeEnabled && x != nil { 4716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4717 if ms.LoadMessageInfo() == nil { 4718 ms.StoreMessageInfo(mi) 4719 } 4720 return ms 4721 } 4722 return mi.MessageOf(x) 4723 } 4724 4725 // Deprecated: Use ListProjectsResponse.ProtoReflect.Descriptor instead. 4726 func (*ListProjectsResponse) Descriptor() ([]byte, []int) { 4727 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{43} 4728 } 4729 4730 func (x *ListProjectsResponse) GetProjects() map[string]*ProjectInfo { 4731 if x != nil { 4732 return x.Projects 4733 } 4734 return nil 4735 } 4736 4737 // Information to request information about a branch. 4738 type RefInfoRequest struct { 4739 state protoimpl.MessageState 4740 sizeCache protoimpl.SizeCache 4741 unknownFields protoimpl.UnknownFields 4742 4743 // The project name 4744 Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` 4745 // The ref ID (eg: refs/heads/main). 4746 Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` 4747 } 4748 4749 func (x *RefInfoRequest) Reset() { 4750 *x = RefInfoRequest{} 4751 if protoimpl.UnsafeEnabled { 4752 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[44] 4753 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4754 ms.StoreMessageInfo(mi) 4755 } 4756 } 4757 4758 func (x *RefInfoRequest) String() string { 4759 return protoimpl.X.MessageStringOf(x) 4760 } 4761 4762 func (*RefInfoRequest) ProtoMessage() {} 4763 4764 func (x *RefInfoRequest) ProtoReflect() protoreflect.Message { 4765 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[44] 4766 if protoimpl.UnsafeEnabled && x != nil { 4767 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4768 if ms.LoadMessageInfo() == nil { 4769 ms.StoreMessageInfo(mi) 4770 } 4771 return ms 4772 } 4773 return mi.MessageOf(x) 4774 } 4775 4776 // Deprecated: Use RefInfoRequest.ProtoReflect.Descriptor instead. 4777 func (*RefInfoRequest) Descriptor() ([]byte, []int) { 4778 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{44} 4779 } 4780 4781 func (x *RefInfoRequest) GetProject() string { 4782 if x != nil { 4783 return x.Project 4784 } 4785 return "" 4786 } 4787 4788 func (x *RefInfoRequest) GetRef() string { 4789 if x != nil { 4790 return x.Ref 4791 } 4792 return "" 4793 } 4794 4795 // Information about a branch. 4796 // 4797 // Source of truth: 4798 // https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#branch-info 4799 type RefInfo struct { 4800 state protoimpl.MessageState 4801 sizeCache protoimpl.SizeCache 4802 unknownFields protoimpl.UnknownFields 4803 4804 // The ref of the branch 4805 Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` 4806 // The revision the branch points to 4807 Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` 4808 } 4809 4810 func (x *RefInfo) Reset() { 4811 *x = RefInfo{} 4812 if protoimpl.UnsafeEnabled { 4813 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[45] 4814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4815 ms.StoreMessageInfo(mi) 4816 } 4817 } 4818 4819 func (x *RefInfo) String() string { 4820 return protoimpl.X.MessageStringOf(x) 4821 } 4822 4823 func (*RefInfo) ProtoMessage() {} 4824 4825 func (x *RefInfo) ProtoReflect() protoreflect.Message { 4826 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[45] 4827 if protoimpl.UnsafeEnabled && x != nil { 4828 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4829 if ms.LoadMessageInfo() == nil { 4830 ms.StoreMessageInfo(mi) 4831 } 4832 return ms 4833 } 4834 return mi.MessageOf(x) 4835 } 4836 4837 // Deprecated: Use RefInfo.ProtoReflect.Descriptor instead. 4838 func (*RefInfo) Descriptor() ([]byte, []int) { 4839 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{45} 4840 } 4841 4842 func (x *RefInfo) GetRef() string { 4843 if x != nil { 4844 return x.Ref 4845 } 4846 return "" 4847 } 4848 4849 func (x *RefInfo) GetRevision() string { 4850 if x != nil { 4851 return x.Revision 4852 } 4853 return "" 4854 } 4855 4856 // Options when requesting information about an account 4857 // 4858 // Source of truth: 4859 // https://gerrit-review.googlesource.com/Documentation/rest-api-accounts.html#details 4860 type AccountOptions struct { 4861 state protoimpl.MessageState 4862 sizeCache protoimpl.SizeCache 4863 unknownFields protoimpl.UnknownFields 4864 4865 // Include account details in the response 4866 Details bool `protobuf:"varint,1,opt,name=details,proto3" json:"details,omitempty"` 4867 // Include all registered emails 4868 // Requires the caller to have Modify Account global capability 4869 AllEmails bool `protobuf:"varint,2,opt,name=all_emails,json=allEmails,proto3" json:"all_emails,omitempty"` 4870 } 4871 4872 func (x *AccountOptions) Reset() { 4873 *x = AccountOptions{} 4874 if protoimpl.UnsafeEnabled { 4875 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[46] 4876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4877 ms.StoreMessageInfo(mi) 4878 } 4879 } 4880 4881 func (x *AccountOptions) String() string { 4882 return protoimpl.X.MessageStringOf(x) 4883 } 4884 4885 func (*AccountOptions) ProtoMessage() {} 4886 4887 func (x *AccountOptions) ProtoReflect() protoreflect.Message { 4888 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[46] 4889 if protoimpl.UnsafeEnabled && x != nil { 4890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4891 if ms.LoadMessageInfo() == nil { 4892 ms.StoreMessageInfo(mi) 4893 } 4894 return ms 4895 } 4896 return mi.MessageOf(x) 4897 } 4898 4899 // Deprecated: Use AccountOptions.ProtoReflect.Descriptor instead. 4900 func (*AccountOptions) Descriptor() ([]byte, []int) { 4901 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{46} 4902 } 4903 4904 func (x *AccountOptions) GetDetails() bool { 4905 if x != nil { 4906 return x.Details 4907 } 4908 return false 4909 } 4910 4911 func (x *AccountOptions) GetAllEmails() bool { 4912 if x != nil { 4913 return x.AllEmails 4914 } 4915 return false 4916 } 4917 4918 // Information to request the list of OWNERS for a file/folder in a branch 4919 type ListFileOwnersRequest struct { 4920 state protoimpl.MessageState 4921 sizeCache protoimpl.SizeCache 4922 unknownFields protoimpl.UnknownFields 4923 4924 // The project name 4925 Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` 4926 // The ref ID (eg: refs/heads/main) 4927 Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"` 4928 // Path (relative to the repo root) to the file/folder in question 4929 Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` 4930 // Options about how much detail to return in the AccountInfo 4931 Options *AccountOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` 4932 } 4933 4934 func (x *ListFileOwnersRequest) Reset() { 4935 *x = ListFileOwnersRequest{} 4936 if protoimpl.UnsafeEnabled { 4937 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[47] 4938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4939 ms.StoreMessageInfo(mi) 4940 } 4941 } 4942 4943 func (x *ListFileOwnersRequest) String() string { 4944 return protoimpl.X.MessageStringOf(x) 4945 } 4946 4947 func (*ListFileOwnersRequest) ProtoMessage() {} 4948 4949 func (x *ListFileOwnersRequest) ProtoReflect() protoreflect.Message { 4950 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[47] 4951 if protoimpl.UnsafeEnabled && x != nil { 4952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4953 if ms.LoadMessageInfo() == nil { 4954 ms.StoreMessageInfo(mi) 4955 } 4956 return ms 4957 } 4958 return mi.MessageOf(x) 4959 } 4960 4961 // Deprecated: Use ListFileOwnersRequest.ProtoReflect.Descriptor instead. 4962 func (*ListFileOwnersRequest) Descriptor() ([]byte, []int) { 4963 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{47} 4964 } 4965 4966 func (x *ListFileOwnersRequest) GetProject() string { 4967 if x != nil { 4968 return x.Project 4969 } 4970 return "" 4971 } 4972 4973 func (x *ListFileOwnersRequest) GetRef() string { 4974 if x != nil { 4975 return x.Ref 4976 } 4977 return "" 4978 } 4979 4980 func (x *ListFileOwnersRequest) GetPath() string { 4981 if x != nil { 4982 return x.Path 4983 } 4984 return "" 4985 } 4986 4987 func (x *ListFileOwnersRequest) GetOptions() *AccountOptions { 4988 if x != nil { 4989 return x.Options 4990 } 4991 return nil 4992 } 4993 4994 // Information about a single OWNER 4995 // NOTE: Gerrit OwnerInfo provides other fields beyond account, 4996 // which can be added later. 4997 type OwnerInfo struct { 4998 state protoimpl.MessageState 4999 sizeCache protoimpl.SizeCache 5000 unknownFields protoimpl.UnknownFields 5001 5002 Account *AccountInfo `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` 5003 } 5004 5005 func (x *OwnerInfo) Reset() { 5006 *x = OwnerInfo{} 5007 if protoimpl.UnsafeEnabled { 5008 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[48] 5009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5010 ms.StoreMessageInfo(mi) 5011 } 5012 } 5013 5014 func (x *OwnerInfo) String() string { 5015 return protoimpl.X.MessageStringOf(x) 5016 } 5017 5018 func (*OwnerInfo) ProtoMessage() {} 5019 5020 func (x *OwnerInfo) ProtoReflect() protoreflect.Message { 5021 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[48] 5022 if protoimpl.UnsafeEnabled && x != nil { 5023 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5024 if ms.LoadMessageInfo() == nil { 5025 ms.StoreMessageInfo(mi) 5026 } 5027 return ms 5028 } 5029 return mi.MessageOf(x) 5030 } 5031 5032 // Deprecated: Use OwnerInfo.ProtoReflect.Descriptor instead. 5033 func (*OwnerInfo) Descriptor() ([]byte, []int) { 5034 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{48} 5035 } 5036 5037 func (x *OwnerInfo) GetAccount() *AccountInfo { 5038 if x != nil { 5039 return x.Account 5040 } 5041 return nil 5042 } 5043 5044 // Code OWNERS for a particular request 5045 type ListOwnersResponse struct { 5046 state protoimpl.MessageState 5047 sizeCache protoimpl.SizeCache 5048 unknownFields protoimpl.UnknownFields 5049 5050 // The account(s) who are OWNERS 5051 Owners []*OwnerInfo `protobuf:"bytes,1,rep,name=owners,proto3" json:"owners,omitempty"` 5052 } 5053 5054 func (x *ListOwnersResponse) Reset() { 5055 *x = ListOwnersResponse{} 5056 if protoimpl.UnsafeEnabled { 5057 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[49] 5058 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5059 ms.StoreMessageInfo(mi) 5060 } 5061 } 5062 5063 func (x *ListOwnersResponse) String() string { 5064 return protoimpl.X.MessageStringOf(x) 5065 } 5066 5067 func (*ListOwnersResponse) ProtoMessage() {} 5068 5069 func (x *ListOwnersResponse) ProtoReflect() protoreflect.Message { 5070 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[49] 5071 if protoimpl.UnsafeEnabled && x != nil { 5072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5073 if ms.LoadMessageInfo() == nil { 5074 ms.StoreMessageInfo(mi) 5075 } 5076 return ms 5077 } 5078 return mi.MessageOf(x) 5079 } 5080 5081 // Deprecated: Use ListOwnersResponse.ProtoReflect.Descriptor instead. 5082 func (*ListOwnersResponse) Descriptor() ([]byte, []int) { 5083 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{49} 5084 } 5085 5086 func (x *ListOwnersResponse) GetOwners() []*OwnerInfo { 5087 if x != nil { 5088 return x.Owners 5089 } 5090 return nil 5091 } 5092 5093 type GetPureRevertRequest struct { 5094 state protoimpl.MessageState 5095 sizeCache protoimpl.SizeCache 5096 unknownFields protoimpl.UnknownFields 5097 5098 // The change number. 5099 Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 5100 // The project of this change. For example, "chromium/src". 5101 // 5102 // Optional, but recommended for better routing and faster RPC execution. 5103 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 5104 } 5105 5106 func (x *GetPureRevertRequest) Reset() { 5107 *x = GetPureRevertRequest{} 5108 if protoimpl.UnsafeEnabled { 5109 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[50] 5110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5111 ms.StoreMessageInfo(mi) 5112 } 5113 } 5114 5115 func (x *GetPureRevertRequest) String() string { 5116 return protoimpl.X.MessageStringOf(x) 5117 } 5118 5119 func (*GetPureRevertRequest) ProtoMessage() {} 5120 5121 func (x *GetPureRevertRequest) ProtoReflect() protoreflect.Message { 5122 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[50] 5123 if protoimpl.UnsafeEnabled && x != nil { 5124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5125 if ms.LoadMessageInfo() == nil { 5126 ms.StoreMessageInfo(mi) 5127 } 5128 return ms 5129 } 5130 return mi.MessageOf(x) 5131 } 5132 5133 // Deprecated: Use GetPureRevertRequest.ProtoReflect.Descriptor instead. 5134 func (*GetPureRevertRequest) Descriptor() ([]byte, []int) { 5135 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{50} 5136 } 5137 5138 func (x *GetPureRevertRequest) GetNumber() int64 { 5139 if x != nil { 5140 return x.Number 5141 } 5142 return 0 5143 } 5144 5145 func (x *GetPureRevertRequest) GetProject() string { 5146 if x != nil { 5147 return x.Project 5148 } 5149 return "" 5150 } 5151 5152 // Information about the result of a pure revert check. 5153 // 5154 // Source of truth: 5155 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#pure-revert-info 5156 type PureRevertInfo struct { 5157 state protoimpl.MessageState 5158 sizeCache protoimpl.SizeCache 5159 unknownFields protoimpl.UnknownFields 5160 5161 // Outcome of the check as boolean. 5162 IsPureRevert bool `protobuf:"varint,1,opt,name=is_pure_revert,json=isPureRevert,proto3" json:"is_pure_revert,omitempty"` 5163 } 5164 5165 func (x *PureRevertInfo) Reset() { 5166 *x = PureRevertInfo{} 5167 if protoimpl.UnsafeEnabled { 5168 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[51] 5169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5170 ms.StoreMessageInfo(mi) 5171 } 5172 } 5173 5174 func (x *PureRevertInfo) String() string { 5175 return protoimpl.X.MessageStringOf(x) 5176 } 5177 5178 func (*PureRevertInfo) ProtoMessage() {} 5179 5180 func (x *PureRevertInfo) ProtoReflect() protoreflect.Message { 5181 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[51] 5182 if protoimpl.UnsafeEnabled && x != nil { 5183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5184 if ms.LoadMessageInfo() == nil { 5185 ms.StoreMessageInfo(mi) 5186 } 5187 return ms 5188 } 5189 return mi.MessageOf(x) 5190 } 5191 5192 // Deprecated: Use PureRevertInfo.ProtoReflect.Descriptor instead. 5193 func (*PureRevertInfo) Descriptor() ([]byte, []int) { 5194 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{51} 5195 } 5196 5197 func (x *PureRevertInfo) GetIsPureRevert() bool { 5198 if x != nil { 5199 return x.IsPureRevert 5200 } 5201 return false 5202 } 5203 5204 // The SubmitRequirementResultInfo describes the result of evaluating a submit 5205 // requirement on a change. 5206 // 5207 // Source of truth: 5208 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#submit-requirement-result-info 5209 type SubmitRequirementResultInfo struct { 5210 state protoimpl.MessageState 5211 sizeCache protoimpl.SizeCache 5212 unknownFields protoimpl.UnknownFields 5213 5214 // Name of The submit requirement. 5215 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 5216 // Description of the submit requirement. 5217 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 5218 // Status describing the result of evaluating the submit requirement. 5219 Status SubmitRequirementResultInfo_Status `protobuf:"varint,3,opt,name=status,proto3,enum=gerrit.SubmitRequirementResultInfo_Status" json:"status,omitempty"` 5220 // True if this submit requirement result was created from a legacy 5221 // SubmitRecord. 5222 IsLegacy bool `protobuf:"varint,4,opt,name=is_legacy,json=isLegacy,proto3" json:"is_legacy,omitempty"` 5223 // SubmitRequirementExpressionInfo containing the result of evaluating 5224 // the applicability expression. 5225 // 5226 // Not set if the submit requirement did not define an applicability 5227 // expression. Note that the following fields are always omitted in 5228 // `applicability_expression_result`. 5229 // - `expression` 5230 // - `passing_atoms` 5231 // - `failing_atoms` 5232 ApplicabilityExpressionResult *SubmitRequirementExpressionInfo `protobuf:"bytes,5,opt,name=applicability_expression_result,json=applicabilityExpressionResult,proto3" json:"applicability_expression_result,omitempty"` 5233 // SubmitRequirementExpressionInfo containing the result of evaluating 5234 // the submittability expression. 5235 // 5236 // Not set if the submit requirement does not apply. 5237 SubmittabilityExpressionResult *SubmitRequirementExpressionInfo `protobuf:"bytes,6,opt,name=submittability_expression_result,json=submittabilityExpressionResult,proto3" json:"submittability_expression_result,omitempty"` 5238 // SubmitRequirementExpressionInfo containing the result of evaluating 5239 // the override expression. 5240 // 5241 // Not set if the submit requirement did not define an override expression or 5242 // if it does not apply. 5243 OverrideExpressionResult *SubmitRequirementExpressionInfo `protobuf:"bytes,7,opt,name=override_expression_result,json=overrideExpressionResult,proto3" json:"override_expression_result,omitempty"` 5244 } 5245 5246 func (x *SubmitRequirementResultInfo) Reset() { 5247 *x = SubmitRequirementResultInfo{} 5248 if protoimpl.UnsafeEnabled { 5249 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[52] 5250 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5251 ms.StoreMessageInfo(mi) 5252 } 5253 } 5254 5255 func (x *SubmitRequirementResultInfo) String() string { 5256 return protoimpl.X.MessageStringOf(x) 5257 } 5258 5259 func (*SubmitRequirementResultInfo) ProtoMessage() {} 5260 5261 func (x *SubmitRequirementResultInfo) ProtoReflect() protoreflect.Message { 5262 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[52] 5263 if protoimpl.UnsafeEnabled && x != nil { 5264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5265 if ms.LoadMessageInfo() == nil { 5266 ms.StoreMessageInfo(mi) 5267 } 5268 return ms 5269 } 5270 return mi.MessageOf(x) 5271 } 5272 5273 // Deprecated: Use SubmitRequirementResultInfo.ProtoReflect.Descriptor instead. 5274 func (*SubmitRequirementResultInfo) Descriptor() ([]byte, []int) { 5275 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{52} 5276 } 5277 5278 func (x *SubmitRequirementResultInfo) GetName() string { 5279 if x != nil { 5280 return x.Name 5281 } 5282 return "" 5283 } 5284 5285 func (x *SubmitRequirementResultInfo) GetDescription() string { 5286 if x != nil { 5287 return x.Description 5288 } 5289 return "" 5290 } 5291 5292 func (x *SubmitRequirementResultInfo) GetStatus() SubmitRequirementResultInfo_Status { 5293 if x != nil { 5294 return x.Status 5295 } 5296 return SubmitRequirementResultInfo_SUBMIT_REQUIREMENT_STATUS_UNSPECIFIED 5297 } 5298 5299 func (x *SubmitRequirementResultInfo) GetIsLegacy() bool { 5300 if x != nil { 5301 return x.IsLegacy 5302 } 5303 return false 5304 } 5305 5306 func (x *SubmitRequirementResultInfo) GetApplicabilityExpressionResult() *SubmitRequirementExpressionInfo { 5307 if x != nil { 5308 return x.ApplicabilityExpressionResult 5309 } 5310 return nil 5311 } 5312 5313 func (x *SubmitRequirementResultInfo) GetSubmittabilityExpressionResult() *SubmitRequirementExpressionInfo { 5314 if x != nil { 5315 return x.SubmittabilityExpressionResult 5316 } 5317 return nil 5318 } 5319 5320 func (x *SubmitRequirementResultInfo) GetOverrideExpressionResult() *SubmitRequirementExpressionInfo { 5321 if x != nil { 5322 return x.OverrideExpressionResult 5323 } 5324 return nil 5325 } 5326 5327 // The SubmitRequirementExpressionInfo describes the result of evaluating 5328 // a single submit requirement expression, for example label:code-review=+2. 5329 type SubmitRequirementExpressionInfo struct { 5330 state protoimpl.MessageState 5331 sizeCache protoimpl.SizeCache 5332 unknownFields protoimpl.UnknownFields 5333 5334 // Expression of the submit requirement. 5335 // e.g., branch:refs/heads/foo and label:verified=+1. 5336 Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` 5337 // True if the submit requirement is fulfilled for the change. 5338 Fulfilled bool `protobuf:"varint,2,opt,name=fulfilled,proto3" json:"fulfilled,omitempty"` 5339 // List of passing atoms. 5340 // e.g., ["branch:refs/heads/foo"] 5341 PassingAtoms []string `protobuf:"bytes,3,rep,name=passing_atoms,json=passingAtoms,proto3" json:"passing_atoms,omitempty"` 5342 // List of failing atoms. This is similar to passing_atoms except that 5343 // it contains a list of the predicates that are not fulfilled for the change. 5344 FailingAtoms []string `protobuf:"bytes,4,rep,name=failing_atoms,json=failingAtoms,proto3" json:"failing_atoms,omitempty"` 5345 // If evaluating the submit requirement failed, this field will contains 5346 // an error message describing why it failed. 5347 ErrorMessage string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` 5348 } 5349 5350 func (x *SubmitRequirementExpressionInfo) Reset() { 5351 *x = SubmitRequirementExpressionInfo{} 5352 if protoimpl.UnsafeEnabled { 5353 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[53] 5354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5355 ms.StoreMessageInfo(mi) 5356 } 5357 } 5358 5359 func (x *SubmitRequirementExpressionInfo) String() string { 5360 return protoimpl.X.MessageStringOf(x) 5361 } 5362 5363 func (*SubmitRequirementExpressionInfo) ProtoMessage() {} 5364 5365 func (x *SubmitRequirementExpressionInfo) ProtoReflect() protoreflect.Message { 5366 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[53] 5367 if protoimpl.UnsafeEnabled && x != nil { 5368 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5369 if ms.LoadMessageInfo() == nil { 5370 ms.StoreMessageInfo(mi) 5371 } 5372 return ms 5373 } 5374 return mi.MessageOf(x) 5375 } 5376 5377 // Deprecated: Use SubmitRequirementExpressionInfo.ProtoReflect.Descriptor instead. 5378 func (*SubmitRequirementExpressionInfo) Descriptor() ([]byte, []int) { 5379 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{53} 5380 } 5381 5382 func (x *SubmitRequirementExpressionInfo) GetExpression() string { 5383 if x != nil { 5384 return x.Expression 5385 } 5386 return "" 5387 } 5388 5389 func (x *SubmitRequirementExpressionInfo) GetFulfilled() bool { 5390 if x != nil { 5391 return x.Fulfilled 5392 } 5393 return false 5394 } 5395 5396 func (x *SubmitRequirementExpressionInfo) GetPassingAtoms() []string { 5397 if x != nil { 5398 return x.PassingAtoms 5399 } 5400 return nil 5401 } 5402 5403 func (x *SubmitRequirementExpressionInfo) GetFailingAtoms() []string { 5404 if x != nil { 5405 return x.FailingAtoms 5406 } 5407 return nil 5408 } 5409 5410 func (x *SubmitRequirementExpressionInfo) GetErrorMessage() string { 5411 if x != nil { 5412 return x.ErrorMessage 5413 } 5414 return "" 5415 } 5416 5417 // Information to retrieve the diff between two historical states of a change. 5418 // 5419 // If `old is omitted, the parent of the `meta` SHA-1 is used. 5420 // If `meta` is omitted, the current state of the change is used. 5421 // If both are omitted, the difference between the current state of the change 5422 // and its previous state is returned. 5423 type GetMetaDiffRequest struct { 5424 state protoimpl.MessageState 5425 sizeCache protoimpl.SizeCache 5426 unknownFields protoimpl.UnknownFields 5427 5428 // The Gerrit project. 5429 // Specifying this field is optional, but encouraged because it requires less 5430 // work on the Gerrit side. 5431 Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` 5432 // Change number. 5433 Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` 5434 // The SHA-1 of the old state to retrieve the diff to the state specified by 5435 // `meta`. 5436 Old string `protobuf:"bytes,3,opt,name=old,proto3" json:"old,omitempty"` 5437 // The SHA-1 of the new state to retrieve the diff to the state specified by 5438 // `old`. 5439 Meta string `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"` 5440 // What to include in `old_change_info` and `new_change_info` of the response. 5441 Options []QueryOption `protobuf:"varint,5,rep,packed,name=options,proto3,enum=gerrit.QueryOption" json:"options,omitempty"` 5442 } 5443 5444 func (x *GetMetaDiffRequest) Reset() { 5445 *x = GetMetaDiffRequest{} 5446 if protoimpl.UnsafeEnabled { 5447 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[54] 5448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5449 ms.StoreMessageInfo(mi) 5450 } 5451 } 5452 5453 func (x *GetMetaDiffRequest) String() string { 5454 return protoimpl.X.MessageStringOf(x) 5455 } 5456 5457 func (*GetMetaDiffRequest) ProtoMessage() {} 5458 5459 func (x *GetMetaDiffRequest) ProtoReflect() protoreflect.Message { 5460 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[54] 5461 if protoimpl.UnsafeEnabled && x != nil { 5462 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5463 if ms.LoadMessageInfo() == nil { 5464 ms.StoreMessageInfo(mi) 5465 } 5466 return ms 5467 } 5468 return mi.MessageOf(x) 5469 } 5470 5471 // Deprecated: Use GetMetaDiffRequest.ProtoReflect.Descriptor instead. 5472 func (*GetMetaDiffRequest) Descriptor() ([]byte, []int) { 5473 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{54} 5474 } 5475 5476 func (x *GetMetaDiffRequest) GetProject() string { 5477 if x != nil { 5478 return x.Project 5479 } 5480 return "" 5481 } 5482 5483 func (x *GetMetaDiffRequest) GetNumber() int64 { 5484 if x != nil { 5485 return x.Number 5486 } 5487 return 0 5488 } 5489 5490 func (x *GetMetaDiffRequest) GetOld() string { 5491 if x != nil { 5492 return x.Old 5493 } 5494 return "" 5495 } 5496 5497 func (x *GetMetaDiffRequest) GetMeta() string { 5498 if x != nil { 5499 return x.Meta 5500 } 5501 return "" 5502 } 5503 5504 func (x *GetMetaDiffRequest) GetOptions() []QueryOption { 5505 if x != nil { 5506 return x.Options 5507 } 5508 return nil 5509 } 5510 5511 // Difference between two historical states of a change. 5512 type MetaDiff struct { 5513 state protoimpl.MessageState 5514 sizeCache protoimpl.SizeCache 5515 unknownFields protoimpl.UnknownFields 5516 5517 // Change props added between the two states. 5518 Added *ChangeInfo `protobuf:"bytes,1,opt,name=added,proto3" json:"added,omitempty"` 5519 // Change props removed between the two states. 5520 Removed *ChangeInfo `protobuf:"bytes,2,opt,name=removed,proto3" json:"removed,omitempty"` 5521 // ChangeInfo of the old state. 5522 OldChangeInfo *ChangeInfo `protobuf:"bytes,3,opt,name=old_change_info,json=oldChangeInfo,proto3" json:"old_change_info,omitempty"` 5523 // ChangeInfo of the new state. 5524 NewChangeInfo *ChangeInfo `protobuf:"bytes,4,opt,name=new_change_info,json=newChangeInfo,proto3" json:"new_change_info,omitempty"` 5525 } 5526 5527 func (x *MetaDiff) Reset() { 5528 *x = MetaDiff{} 5529 if protoimpl.UnsafeEnabled { 5530 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[55] 5531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5532 ms.StoreMessageInfo(mi) 5533 } 5534 } 5535 5536 func (x *MetaDiff) String() string { 5537 return protoimpl.X.MessageStringOf(x) 5538 } 5539 5540 func (*MetaDiff) ProtoMessage() {} 5541 5542 func (x *MetaDiff) ProtoReflect() protoreflect.Message { 5543 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[55] 5544 if protoimpl.UnsafeEnabled && x != nil { 5545 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5546 if ms.LoadMessageInfo() == nil { 5547 ms.StoreMessageInfo(mi) 5548 } 5549 return ms 5550 } 5551 return mi.MessageOf(x) 5552 } 5553 5554 // Deprecated: Use MetaDiff.ProtoReflect.Descriptor instead. 5555 func (*MetaDiff) Descriptor() ([]byte, []int) { 5556 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{55} 5557 } 5558 5559 func (x *MetaDiff) GetAdded() *ChangeInfo { 5560 if x != nil { 5561 return x.Added 5562 } 5563 return nil 5564 } 5565 5566 func (x *MetaDiff) GetRemoved() *ChangeInfo { 5567 if x != nil { 5568 return x.Removed 5569 } 5570 return nil 5571 } 5572 5573 func (x *MetaDiff) GetOldChangeInfo() *ChangeInfo { 5574 if x != nil { 5575 return x.OldChangeInfo 5576 } 5577 return nil 5578 } 5579 5580 func (x *MetaDiff) GetNewChangeInfo() *ChangeInfo { 5581 if x != nil { 5582 return x.NewChangeInfo 5583 } 5584 return nil 5585 } 5586 5587 // Source of truth: 5588 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#notify-info 5589 type NotifyDetails_Info struct { 5590 state protoimpl.MessageState 5591 sizeCache protoimpl.SizeCache 5592 unknownFields protoimpl.UnknownFields 5593 5594 // IDs of the accounts that will be notified. 5595 Accounts []int64 `protobuf:"varint,1,rep,packed,name=accounts,proto3" json:"accounts,omitempty"` 5596 } 5597 5598 func (x *NotifyDetails_Info) Reset() { 5599 *x = NotifyDetails_Info{} 5600 if protoimpl.UnsafeEnabled { 5601 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[56] 5602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5603 ms.StoreMessageInfo(mi) 5604 } 5605 } 5606 5607 func (x *NotifyDetails_Info) String() string { 5608 return protoimpl.X.MessageStringOf(x) 5609 } 5610 5611 func (*NotifyDetails_Info) ProtoMessage() {} 5612 5613 func (x *NotifyDetails_Info) ProtoReflect() protoreflect.Message { 5614 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[56] 5615 if protoimpl.UnsafeEnabled && x != nil { 5616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5617 if ms.LoadMessageInfo() == nil { 5618 ms.StoreMessageInfo(mi) 5619 } 5620 return ms 5621 } 5622 return mi.MessageOf(x) 5623 } 5624 5625 // Deprecated: Use NotifyDetails_Info.ProtoReflect.Descriptor instead. 5626 func (*NotifyDetails_Info) Descriptor() ([]byte, []int) { 5627 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{0, 0} 5628 } 5629 5630 func (x *NotifyDetails_Info) GetAccounts() []int64 { 5631 if x != nil { 5632 return x.Accounts 5633 } 5634 return nil 5635 } 5636 5637 type NotifyDetails_Recipient struct { 5638 state protoimpl.MessageState 5639 sizeCache protoimpl.SizeCache 5640 unknownFields protoimpl.UnknownFields 5641 5642 RecipientType NotifyDetails_RecipientType `protobuf:"varint,1,opt,name=recipient_type,json=recipientType,proto3,enum=gerrit.NotifyDetails_RecipientType" json:"recipient_type,omitempty"` 5643 Info *NotifyDetails_Info `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` 5644 } 5645 5646 func (x *NotifyDetails_Recipient) Reset() { 5647 *x = NotifyDetails_Recipient{} 5648 if protoimpl.UnsafeEnabled { 5649 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[57] 5650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5651 ms.StoreMessageInfo(mi) 5652 } 5653 } 5654 5655 func (x *NotifyDetails_Recipient) String() string { 5656 return protoimpl.X.MessageStringOf(x) 5657 } 5658 5659 func (*NotifyDetails_Recipient) ProtoMessage() {} 5660 5661 func (x *NotifyDetails_Recipient) ProtoReflect() protoreflect.Message { 5662 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[57] 5663 if protoimpl.UnsafeEnabled && x != nil { 5664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5665 if ms.LoadMessageInfo() == nil { 5666 ms.StoreMessageInfo(mi) 5667 } 5668 return ms 5669 } 5670 return mi.MessageOf(x) 5671 } 5672 5673 // Deprecated: Use NotifyDetails_Recipient.ProtoReflect.Descriptor instead. 5674 func (*NotifyDetails_Recipient) Descriptor() ([]byte, []int) { 5675 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{0, 1} 5676 } 5677 5678 func (x *NotifyDetails_Recipient) GetRecipientType() NotifyDetails_RecipientType { 5679 if x != nil { 5680 return x.RecipientType 5681 } 5682 return NotifyDetails_RECIPIENT_TYPE_UNSPECIFIED 5683 } 5684 5685 func (x *NotifyDetails_Recipient) GetInfo() *NotifyDetails_Info { 5686 if x != nil { 5687 return x.Info 5688 } 5689 return nil 5690 } 5691 5692 type CommitInfo_Parent struct { 5693 state protoimpl.MessageState 5694 sizeCache protoimpl.SizeCache 5695 unknownFields protoimpl.UnknownFields 5696 5697 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // TODO(tandrii): add subject when necessary. 5698 } 5699 5700 func (x *CommitInfo_Parent) Reset() { 5701 *x = CommitInfo_Parent{} 5702 if protoimpl.UnsafeEnabled { 5703 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[61] 5704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5705 ms.StoreMessageInfo(mi) 5706 } 5707 } 5708 5709 func (x *CommitInfo_Parent) String() string { 5710 return protoimpl.X.MessageStringOf(x) 5711 } 5712 5713 func (*CommitInfo_Parent) ProtoMessage() {} 5714 5715 func (x *CommitInfo_Parent) ProtoReflect() protoreflect.Message { 5716 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[61] 5717 if protoimpl.UnsafeEnabled && x != nil { 5718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5719 if ms.LoadMessageInfo() == nil { 5720 ms.StoreMessageInfo(mi) 5721 } 5722 return ms 5723 } 5724 return mi.MessageOf(x) 5725 } 5726 5727 // Deprecated: Use CommitInfo_Parent.ProtoReflect.Descriptor instead. 5728 func (*CommitInfo_Parent) Descriptor() ([]byte, []int) { 5729 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{9, 0} 5730 } 5731 5732 func (x *CommitInfo_Parent) GetId() string { 5733 if x != nil { 5734 return x.Id 5735 } 5736 return "" 5737 } 5738 5739 // Contains information about a related change and commit. 5740 // 5741 // Source of truth: 5742 // https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#related-change-and-commit-info 5743 type GetRelatedChangesResponse_ChangeAndCommit struct { 5744 state protoimpl.MessageState 5745 sizeCache protoimpl.SizeCache 5746 unknownFields protoimpl.UnknownFields 5747 5748 // The project of the change or commit. 5749 Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` 5750 // The commit as a CommitInfo entity. 5751 Commit *CommitInfo `protobuf:"bytes,2,opt,name=commit,proto3" json:"commit,omitempty"` 5752 // Optional. The change number. 5753 Number int64 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` 5754 // Optional. The patchset number. 5755 Patchset int64 `protobuf:"varint,4,opt,name=patchset,proto3" json:"patchset,omitempty"` 5756 // Optional. The current patchset number. 5757 CurrentPatchset int64 `protobuf:"varint,5,opt,name=current_patchset,json=currentPatchset,proto3" json:"current_patchset,omitempty"` 5758 // Optional. The status of the change. 5759 Status ChangeStatus `protobuf:"varint,6,opt,name=status,proto3,enum=gerrit.ChangeStatus" json:"status,omitempty"` 5760 } 5761 5762 func (x *GetRelatedChangesResponse_ChangeAndCommit) Reset() { 5763 *x = GetRelatedChangesResponse_ChangeAndCommit{} 5764 if protoimpl.UnsafeEnabled { 5765 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[68] 5766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5767 ms.StoreMessageInfo(mi) 5768 } 5769 } 5770 5771 func (x *GetRelatedChangesResponse_ChangeAndCommit) String() string { 5772 return protoimpl.X.MessageStringOf(x) 5773 } 5774 5775 func (*GetRelatedChangesResponse_ChangeAndCommit) ProtoMessage() {} 5776 5777 func (x *GetRelatedChangesResponse_ChangeAndCommit) ProtoReflect() protoreflect.Message { 5778 mi := &file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[68] 5779 if protoimpl.UnsafeEnabled && x != nil { 5780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5781 if ms.LoadMessageInfo() == nil { 5782 ms.StoreMessageInfo(mi) 5783 } 5784 return ms 5785 } 5786 return mi.MessageOf(x) 5787 } 5788 5789 // Deprecated: Use GetRelatedChangesResponse_ChangeAndCommit.ProtoReflect.Descriptor instead. 5790 func (*GetRelatedChangesResponse_ChangeAndCommit) Descriptor() ([]byte, []int) { 5791 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP(), []int{39, 0} 5792 } 5793 5794 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetProject() string { 5795 if x != nil { 5796 return x.Project 5797 } 5798 return "" 5799 } 5800 5801 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetCommit() *CommitInfo { 5802 if x != nil { 5803 return x.Commit 5804 } 5805 return nil 5806 } 5807 5808 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetNumber() int64 { 5809 if x != nil { 5810 return x.Number 5811 } 5812 return 0 5813 } 5814 5815 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetPatchset() int64 { 5816 if x != nil { 5817 return x.Patchset 5818 } 5819 return 0 5820 } 5821 5822 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetCurrentPatchset() int64 { 5823 if x != nil { 5824 return x.CurrentPatchset 5825 } 5826 return 0 5827 } 5828 5829 func (x *GetRelatedChangesResponse_ChangeAndCommit) GetStatus() ChangeStatus { 5830 if x != nil { 5831 return x.Status 5832 } 5833 return ChangeStatus_CHANGE_STATUS_INVALID 5834 } 5835 5836 var File_go_chromium_org_luci_common_proto_gerrit_gerrit_proto protoreflect.FileDescriptor 5837 5838 var file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDesc = []byte{ 5839 0x0a, 0x35, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 5840 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 5841 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2f, 0x67, 0x65, 0x72, 0x72, 0x69, 5842 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x1a, 5843 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 5844 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 5845 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 5846 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x02, 5847 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 5848 0x3f, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 5849 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 5850 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 5851 0x69, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 5852 0x1a, 0x22, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 5853 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 5854 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 5855 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 5856 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x65, 0x72, 5857 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 5858 0x73, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 5859 0x0d, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 5860 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 5861 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 5862 0x69, 0x6c, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x75, 5863 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 5864 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 5865 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 5866 0x15, 0x0a, 0x11, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 5867 0x45, 0x5f, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 5868 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x43, 0x10, 0x02, 0x12, 0x16, 0x0a, 5869 0x12, 0x52, 0x45, 0x43, 0x49, 0x50, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 5870 0x42, 0x43, 0x43, 0x10, 0x03, 0x22, 0x87, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 5871 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 5872 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 5873 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 5874 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x51, 0x75, 0x65, 5875 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 5876 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 5877 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 5878 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 5879 0x66, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 5880 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 5881 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 5882 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x68, 0x61, 5883 0x6e, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x61, 5884 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x6f, 0x72, 0x65, 5885 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 5886 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 5887 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 5888 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 5889 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x51, 5890 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 5891 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 5892 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 5893 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 5894 0x61, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 5895 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 5896 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 5897 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x73, 5898 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 5899 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 5900 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 5901 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 5902 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 5903 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 5904 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 5905 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x39, 0x0a, 0x0d, 0x47, 0x69, 0x74, 0x50, 0x65, 0x72, 0x73, 5906 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 5907 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 5908 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 5909 0x22, 0x97, 0x09, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 5910 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 5911 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 5912 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 5913 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6f, 0x77, 0x6e, 5914 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 5915 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 5916 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x2c, 5917 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 5918 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 5919 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 5920 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 5921 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 5922 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 5923 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x65, 0x72, 5924 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 5925 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 5926 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 5927 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 5928 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 5929 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 5930 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 5931 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 5932 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6d, 5933 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 5934 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 5935 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 5936 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 5937 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x61, 5938 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 5939 0x74, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 5940 0x76, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 5941 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 5942 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x74, 0x61, 0x67, 5943 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 5944 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 5945 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 5946 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 5947 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 5948 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 5949 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 5950 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 5951 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 5952 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x75, 5953 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x65, 0x72, 5954 0x74, 0x5f, 0x6f, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x76, 0x65, 5955 0x72, 0x74, 0x4f, 0x66, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x72, 0x72, 0x79, 0x5f, 0x70, 5956 0x69, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x10, 0x20, 5957 0x01, 0x28, 0x03, 0x52, 0x12, 0x63, 0x68, 0x65, 0x72, 0x72, 0x79, 0x50, 0x69, 0x63, 0x6b, 0x4f, 5958 0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 5959 0x77, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x65, 0x72, 5960 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 5961 0x75, 0x73, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 5962 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x76, 0x5f, 0x69, 0x64, 0x18, 5963 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x76, 0x49, 0x64, 5964 0x12, 0x54, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 5965 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 5966 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 5967 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 5968 0x66, 0x6f, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 5969 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 5970 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 5971 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 5972 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x1a, 0x52, 0x0a, 0x0e, 0x52, 0x65, 0x76, 0x69, 5973 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 5974 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 5975 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x65, 5976 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 5977 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0b, 5978 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 5979 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 5980 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 5981 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 5982 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x52, 5983 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x61, 0x70, 5984 0x12, 0x31, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 5985 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 5986 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 5987 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 5988 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 5989 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x63, 0x63, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 5990 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 5991 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 5992 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x0c, 0x52, 0x65, 5993 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 5994 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 5995 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 5996 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 5997 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 5998 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 5999 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 6000 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 6001 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 6002 0x03, 0x72, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 6003 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 6004 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 6005 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 6006 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 6007 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 6008 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 6009 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6010 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 6011 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6012 0x2e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 6013 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x1a, 6014 0x4a, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 6015 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 6016 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 6017 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 6018 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7a, 0x0a, 0x04, 0x4b, 6019 0x69, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x0c, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 6020 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x10, 6021 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x52, 0x49, 0x56, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x42, 6022 0x41, 0x53, 0x45, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x46, 6023 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 6024 0x54, 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 6025 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x43, 6026 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x05, 0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 6027 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 6028 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 6029 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6030 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x65, 6031 0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 6032 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 6033 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 6034 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 6035 0x69, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x75, 6036 0x74, 0x68, 0x6f, 0x72, 0x1a, 0x18, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x0e, 6037 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xe2, 6038 0x03, 0x0a, 0x09, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 6039 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 6040 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 6041 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 6042 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 6043 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x65, 0x6a, 6044 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 6045 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6046 0x52, 0x08, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 6047 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 6048 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 6049 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 6050 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x05, 0x20, 6051 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 6052 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6c, 0x69, 0x6b, 6053 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x06, 6054 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x14, 6055 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 6056 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 6057 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x66, 6058 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 6059 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6060 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x61, 0x6c, 6061 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 6062 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 6063 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 6064 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 6065 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 6066 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 6067 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 6068 0x02, 0x38, 0x01, 0x22, 0xff, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 6069 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 6070 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 6071 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 6072 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 6073 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 6074 0x5f, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 6075 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x56, 0x6f, 0x74, 6076 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x70, 0x65, 6077 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 6078 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 6079 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 6080 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x64, 0x61, 6081 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 6082 0x03, 0x74, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 6083 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x53, 6084 0x75, 0x62, 0x6d, 0x69, 0x74, 0x22, 0x35, 0x0a, 0x0f, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x52, 6085 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 6086 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 6087 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0xe2, 0x01, 0x0a, 6088 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 6089 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 6090 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 6091 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 6092 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 6093 0x34, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x03, 6094 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 6095 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x41, 6096 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 6097 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 6098 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 6099 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 6100 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 6101 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 6102 0x67, 0x22, 0x89, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 6103 0x74, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 6104 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 6105 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 6106 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 6107 0x6b, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 6108 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 6109 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8c, 6110 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x51, 6111 0x55, 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 6112 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 6113 0x15, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 6114 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x51, 0x55, 6115 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 6116 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 6117 0x51, 0x55, 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 6118 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xa1, 0x02, 6119 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 6120 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x65, 0x72, 6121 0x72, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 6122 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 6123 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x69, 0x6e, 6124 0x61, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 6125 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 6126 0x0a, 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 6127 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x49, 0x6e, 0x73, 6128 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x64, 6129 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x69, 6130 0x6e, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 6131 0x7a, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 6132 0x73, 0x69, 0x7a, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 6133 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x32, 0x0a, 6134 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x05, 0x0a, 0x01, 0x4d, 0x10, 0x00, 0x12, 0x05, 6135 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x44, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 6136 0x52, 0x10, 0x03, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x04, 0x12, 0x05, 0x0a, 0x01, 0x57, 0x10, 6137 0x05, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 6138 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 6139 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 6140 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6141 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 6142 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 6143 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 6144 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 6145 0x12, 0x26, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 6146 0x32, 0x0e, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 6147 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x22, 0x47, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x6d, 6148 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 6149 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 6150 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 6151 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 6152 0x74, 0x22, 0x6a, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 6153 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 6154 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 6155 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 6156 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 6157 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 6158 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x0a, 6159 0x0a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x06, 0x73, 6160 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x65, 6161 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 6162 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x43, 0x68, 6163 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 6164 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 6165 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 6166 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 6167 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 6168 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 6169 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 6170 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 6171 0x65, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x64, 0x69, 6172 0x74, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 6173 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 6174 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 6175 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 6176 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 6177 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 6178 0x74, 0x68, 0x22, 0x4c, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 6179 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 6180 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 6181 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 6182 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 6183 0x22, 0x61, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 6184 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 6185 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 6186 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6187 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 6188 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 6189 0x61, 0x67, 0x65, 0x22, 0x62, 0x0a, 0x14, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 6190 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 6191 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 6192 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 6193 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 6194 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 6195 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x52, 6196 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 6197 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 6198 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 6199 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 6200 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 6201 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x05, 6202 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x65, 6203 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 6204 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 6205 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 6206 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 6207 0x65, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 6208 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 6209 0x66, 0x79, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x22, 0x67, 0x0a, 0x05, 0x53, 0x74, 6210 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 6211 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 6212 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x44, 0x44, 0x5f, 0x52, 6213 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 6214 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x44, 0x44, 0x5f, 6215 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 6216 0x43, 0x10, 0x02, 0x22, 0xbe, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 6217 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 6218 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 6219 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 6220 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 6221 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6222 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x70, 6223 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x70, 0x70, 6224 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 6225 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 6226 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 6227 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 6228 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x69, 6229 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 6230 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 6231 0x12, 0x32, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 6232 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 6233 0x69, 0x65, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 6234 0x77, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x03, 0x63, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 6235 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 6236 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x63, 0x63, 0x73, 0x12, 0x14, 0x0a, 0x05, 6237 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 6238 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x18, 0x05, 0x20, 6239 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x22, 0x68, 0x0a, 0x15, 6240 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 6241 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 6242 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 6243 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 6244 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 6245 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 6246 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf9, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x52, 0x65, 6247 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 6248 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 6249 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 6250 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 6251 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 6252 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 6253 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 6254 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 6255 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6256 0x74, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 6257 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 6258 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 6259 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 6260 0x66, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6261 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 6262 0x12, 0x3c, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 6263 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6264 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 6265 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 6266 0x0a, 0x0c, 0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x6f, 0x66, 0x18, 0x09, 6267 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x4f, 0x66, 6268 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 6269 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 6270 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 6271 0x52, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 6272 0x12, 0x4a, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6e, 6273 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 6274 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 6275 0x6e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x11, 0x61, 0x64, 0x64, 0x54, 0x6f, 6276 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x54, 0x0a, 0x19, 6277 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x65, 6278 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 6279 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 6280 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 6281 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 6282 0x65, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x75, 0x74, 6283 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 6284 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 6285 0x52, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 6286 0x63, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x75, 0x6c, 6287 0x65, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x18, 6288 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 6289 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x72, 0x65, 6290 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 6291 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 6292 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 6293 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 6294 0x38, 0x01, 0x22, 0xcd, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x49, 6295 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 6296 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 6297 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 6298 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 6299 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 6300 0x61, 0x74, 0x65, 0x22, 0x6d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 6301 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, 6302 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 6303 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x5f, 0x49, 6304 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 6305 0x57, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 6306 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x43, 6307 0x10, 0x02, 0x22, 0x9f, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 6308 0x75, 0x6c, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 6309 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 6310 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 6311 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x41, 0x0a, 6312 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 6313 0x32, 0x23, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 6314 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 6315 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 6316 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 6317 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 6318 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 6319 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x0e, 0x52, 6320 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 6321 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 6322 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 6323 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x69, 0x65, 6324 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 6325 0x3a, 0x02, 0x38, 0x01, 0x22, 0x78, 0x0a, 0x13, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 6326 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 6327 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 6328 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 6329 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 6330 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 6331 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 6332 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xa5, 6333 0x01, 0x0a, 0x11, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x49, 6334 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 6335 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 6336 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 6337 0x12, 0x26, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 6338 0x32, 0x0e, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 6339 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3c, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 6340 0x66, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 6341 0x32, 0x15, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 6342 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 6343 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x65, 6344 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 6345 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 6346 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 6347 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 6348 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 6349 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 6350 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 6351 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x72, 6352 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x65, 6353 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 6354 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 6355 0x22, 0xe2, 0x03, 0x0a, 0x0d, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 6356 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 6357 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6358 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 6359 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 6360 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 6361 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6362 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 6363 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1c, 0x0a, 0x09, 6364 0x6d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 6365 0x09, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 6366 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 6367 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 6368 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 6369 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 6370 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 6371 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 6372 0x69, 0x63, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 6373 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x65, 6374 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 6375 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x55, 6376 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 6377 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x52, 0x47, 0x45, 6378 0x5f, 0x49, 0x46, 0x5f, 0x4e, 0x45, 0x43, 0x45, 0x53, 0x53, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 6379 0x15, 0x0a, 0x11, 0x46, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 6380 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x42, 0x41, 0x53, 0x45, 6381 0x5f, 0x49, 0x46, 0x5f, 0x4e, 0x45, 0x43, 0x45, 0x53, 0x53, 0x41, 0x52, 0x59, 0x10, 0x03, 0x12, 6382 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 6383 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x41, 0x4c, 0x57, 0x41, 6384 0x59, 0x53, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x48, 0x45, 0x52, 0x52, 0x59, 0x5f, 0x50, 6385 0x49, 0x43, 0x4b, 0x10, 0x06, 0x22, 0xba, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 6386 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 6387 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 6388 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 6389 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 6390 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 6391 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 6392 0x0f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 6393 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 6394 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 6395 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 6396 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 6397 0x73, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 6398 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 6399 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6400 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 6401 0x73, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 6402 0x69, 0x6c, 0x65, 0x73, 0x1a, 0x4a, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 6403 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6404 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 6405 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x6c, 6406 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 6407 0x22, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 6408 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 6409 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 6410 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 6411 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 6412 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 6413 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 6414 0xcf, 0x02, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 6415 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 6416 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 6417 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 6418 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 6419 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 6420 0x74, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0f, 0x43, 6421 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x18, 6422 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6423 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 6424 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6425 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 6426 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 6427 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 6428 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 6429 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 6430 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 6431 0x28, 0x03, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 6432 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 6433 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 6434 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 6435 0x73, 0x22, 0x29, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 6436 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 6437 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x22, 0x50, 0x0a, 0x0b, 6438 0x57, 0x65, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 6439 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 6440 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 6441 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 6442 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xa3, 6443 0x03, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 6444 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 6445 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 6446 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 6447 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 6448 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 6449 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x65, 6450 0x72, 0x72, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6451 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 6452 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x65, 6453 0x72, 0x72, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 6454 0x2e, 0x52, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 6455 0x12, 0x30, 0x0a, 0x09, 0x77, 0x65, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 6456 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x57, 0x65, 0x62, 6457 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x77, 0x65, 0x62, 0x4c, 0x69, 0x6e, 6458 0x6b, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 6459 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 6460 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6461 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x05, 0x53, 6462 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 6463 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 6464 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 6465 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 6466 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 6467 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 6468 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x44, 0x44, 6469 0x45, 0x4e, 0x10, 0x03, 0x22, 0xb0, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 6470 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 6471 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 6472 0x2a, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 6473 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 6474 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x72, 0x6f, 6475 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0x50, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 6476 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 6477 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 6478 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6479 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 6480 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x49, 0x6e, 6481 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 6482 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 6483 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 6484 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x37, 0x0a, 0x07, 0x52, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 6485 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 6486 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 6487 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x49, 6488 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 6489 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 6490 0x08, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 6491 0x6c, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 6492 0x61, 0x6c, 0x6c, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 6493 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 6494 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 6495 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 6496 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 6497 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 6498 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 6499 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 6500 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 6501 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x09, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 6502 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 6503 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x63, 6504 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 6505 0x74, 0x22, 0x3f, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 6506 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 6507 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6508 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 6509 0x72, 0x73, 0x22, 0x48, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 6510 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 6511 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 6512 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 6513 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x36, 0x0a, 0x0e, 6514 0x50, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 6515 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 6516 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x50, 0x75, 0x72, 0x65, 0x52, 0x65, 6517 0x76, 0x65, 0x72, 0x74, 0x22, 0x90, 0x05, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 6518 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 6519 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 6520 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 6521 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 6522 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 6523 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x65, 0x72, 6524 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 6525 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 6526 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 6527 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 6528 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x6f, 0x0a, 0x1f, 0x61, 6529 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x78, 0x70, 6530 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 6531 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 6532 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 6533 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1d, 0x61, 6534 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x78, 0x70, 0x72, 6535 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x71, 0x0a, 0x20, 6536 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 6537 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 6538 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6539 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 6540 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 6541 0x1e, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 6542 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 6543 0x65, 0x0a, 0x1a, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 6544 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 6545 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 6546 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 6547 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x6f, 0x76, 6548 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 6549 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 6550 0x73, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 6551 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 6552 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 6553 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 6554 0x4e, 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 6555 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 6556 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 6557 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 6558 0x4f, 0x52, 0x43, 0x45, 0x44, 0x10, 0x06, 0x22, 0xce, 0x01, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x6d, 6559 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 6560 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 6561 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 6562 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x66, 6563 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 6564 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x73, 6565 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 6566 0x52, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x23, 6567 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 6568 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x74, 6569 0x6f, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 6570 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 6571 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 6572 0x4d, 0x65, 0x74, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 6573 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 6574 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 6575 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 6576 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 6577 0x6f, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 6578 0x09, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 6579 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6580 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 6581 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 6582 0x69, 0x66, 0x66, 0x12, 0x28, 0x0a, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 6583 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 6584 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x61, 0x64, 0x64, 0x65, 0x64, 0x12, 0x2c, 0x0a, 6585 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 6586 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 6587 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x0f, 0x6f, 6588 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 6589 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 6590 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x68, 0x61, 6591 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 6592 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 6593 0x32, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 6594 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 6595 0x6e, 0x66, 0x6f, 0x2a, 0x89, 0x04, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 6596 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 6597 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 6598 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x54, 0x41, 0x49, 6599 0x4c, 0x45, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 6600 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 6601 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 6602 0x4f, 0x4e, 0x53, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 6603 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 6604 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x53, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x55, 6605 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x53, 0x10, 0x40, 0x12, 0x0e, 0x0a, 6606 0x09, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x16, 0x0a, 6607 0x11, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 6608 0x54, 0x53, 0x10, 0x80, 0x02, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 6609 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x53, 0x10, 0x80, 0x04, 0x12, 0x0d, 0x0a, 0x08, 6610 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x43, 6611 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x80, 6612 0x10, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 6613 0x4f, 0x4e, 0x53, 0x10, 0x80, 0x20, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 6614 0x45, 0x44, 0x10, 0x80, 0x40, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x4b, 0x49, 0x50, 0x5f, 0x4d, 0x45, 6615 0x52, 0x47, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x80, 0x80, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 6616 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x80, 0x80, 0x02, 0x12, 0x0f, 6617 0x0a, 0x09, 0x57, 0x45, 0x42, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x53, 0x10, 0x80, 0x80, 0x04, 0x12, 6618 0x0b, 0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x80, 0x80, 0x08, 0x12, 0x14, 0x0a, 0x0e, 6619 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x4f, 0x54, 0x45, 0x52, 0x53, 0x10, 0x80, 6620 0x80, 0x10, 0x12, 0x17, 0x0a, 0x11, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 6621 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x20, 0x12, 0x12, 0x0a, 0x0c, 0x54, 6622 0x52, 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x44, 0x53, 0x10, 0x80, 0x80, 0x40, 0x12, 6623 0x18, 0x0a, 0x11, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 6624 0x41, 0x4e, 0x44, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x53, 0x55, 0x42, 6625 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x53, 6626 0x10, 0x80, 0x80, 0x80, 0x02, 0x12, 0x18, 0x0a, 0x10, 0x4d, 0x41, 0x58, 0x5f, 0x51, 0x55, 0x45, 6627 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0x80, 0x80, 0x80, 0x04, 0x2a, 6628 0x6f, 0x0a, 0x06, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x54, 6629 0x49, 0x46, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 6630 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 6631 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x4f, 0x57, 0x4e, 6632 0x45, 0x52, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x4f, 6633 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x45, 0x52, 0x53, 0x10, 0x03, 6634 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x04, 6635 0x2a, 0x4d, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 6636 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 6637 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, 6638 0x45, 0x57, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x44, 0x10, 0x02, 6639 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x2a, 6640 0x85, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 6641 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x41, 0x42, 6642 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 6643 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43, 6644 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x4f, 6645 0x4c, 0x56, 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 6646 0x54, 0x57, 0x4f, 0x5f, 0x57, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x10, 6647 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x54, 6648 0x48, 0x45, 0x49, 0x52, 0x53, 0x10, 0x05, 0x32, 0x99, 0x0c, 0x0a, 0x06, 0x47, 0x65, 0x72, 0x72, 6649 0x69, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 6650 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 6651 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 6652 0x1c, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 6653 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 6654 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x65, 6655 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 6656 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x66, 6657 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 6658 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6659 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 6660 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 6661 0x69, 0x73, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 6662 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 6663 0x12, 0x1a, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 6664 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 6665 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 6666 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x47, 0x65, 0x74, 6667 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6668 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 6669 0x1a, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 6670 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x72, 0x67, 0x65, 6671 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 0x65, 6672 0x74, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 6673 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 6674 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 6675 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 6676 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 6677 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 6678 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x47, 0x65, 6679 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 6680 0x20, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 6681 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 6682 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 6683 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 6684 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x75, 0x72, 0x65, 0x52, 6685 0x65, 0x76, 0x65, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x47, 6686 0x65, 0x74, 0x50, 0x75, 0x72, 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 6687 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x50, 0x75, 0x72, 6688 0x65, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x47, 6689 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x69, 0x66, 0x66, 0x12, 0x1a, 0x2e, 0x67, 0x65, 0x72, 6690 0x72, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 6691 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6692 0x4d, 0x65, 0x74, 0x61, 0x44, 0x69, 0x66, 0x66, 0x12, 0x3f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 6693 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 6694 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 6695 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 6696 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x15, 0x43, 0x68, 0x61, 6697 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 6698 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 6699 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 6700 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 6701 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 6702 0x12, 0x55, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x64, 0x69, 0x74, 0x46, 0x69, 6703 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x65, 0x72, 0x72, 6704 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x64, 0x69, 0x74, 0x46, 0x69, 0x6c, 6705 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 6706 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 6707 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 6708 0x65, 0x45, 0x64, 0x69, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, 6709 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 6710 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 6711 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 6712 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 6713 0x69, 0x65, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 6714 0x64, 0x64, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 6715 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 6716 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0e, 6717 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x12, 0x1d, 6718 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 6719 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 6720 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 6721 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 6722 0x65, 0x77, 0x12, 0x18, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x52, 6723 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 6724 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 6725 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x65, 0x6e, 6726 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6727 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 6728 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x63, 6729 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0c, 0x53, 0x75, 0x62, 6730 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 0x72, 6731 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 6732 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 6733 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 6734 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x65, 0x72, 6735 0x72, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 6736 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 6737 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0d, 0x41, 6738 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x67, 6739 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 6740 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x67, 0x65, 0x72, 6741 0x72, 0x69, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 6742 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 6743 0x12, 0x1d, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 6744 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 6745 0x12, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 6746 0x6e, 0x66, 0x6f, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 6747 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 6748 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x3b, 6749 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 6750 } 6751 6752 var ( 6753 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescOnce sync.Once 6754 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescData = file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDesc 6755 ) 6756 6757 func file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescGZIP() []byte { 6758 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescOnce.Do(func() { 6759 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescData) 6760 }) 6761 return file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDescData 6762 } 6763 6764 var file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes = make([]protoimpl.EnumInfo, 13) 6765 var file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes = make([]protoimpl.MessageInfo, 71) 6766 var file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_goTypes = []interface{}{ 6767 (QueryOption)(0), // 0: gerrit.QueryOption 6768 (Notify)(0), // 1: gerrit.Notify 6769 (ChangeStatus)(0), // 2: gerrit.ChangeStatus 6770 (MergeableStrategy)(0), // 3: gerrit.MergeableStrategy 6771 (NotifyDetails_RecipientType)(0), // 4: gerrit.NotifyDetails.RecipientType 6772 (RevisionInfo_Kind)(0), // 5: gerrit.RevisionInfo.Kind 6773 (Requirement_Status)(0), // 6: gerrit.Requirement.Status 6774 (FileInfo_Status)(0), // 7: gerrit.FileInfo.Status 6775 (AddReviewerRequest_State)(0), // 8: gerrit.AddReviewerRequest.State 6776 (ReviewerInput_State)(0), // 9: gerrit.ReviewerInput.State 6777 (MergeableInfo_SubmitType)(0), // 10: gerrit.MergeableInfo.SubmitType 6778 (ProjectInfo_State)(0), // 11: gerrit.ProjectInfo.State 6779 (SubmitRequirementResultInfo_Status)(0), // 12: gerrit.SubmitRequirementResultInfo.Status 6780 (*NotifyDetails)(nil), // 13: gerrit.NotifyDetails 6781 (*ListChangesRequest)(nil), // 14: gerrit.ListChangesRequest 6782 (*ListChangesResponse)(nil), // 15: gerrit.ListChangesResponse 6783 (*GetChangeRequest)(nil), // 16: gerrit.GetChangeRequest 6784 (*AccountInfo)(nil), // 17: gerrit.AccountInfo 6785 (*GitPersonInfo)(nil), // 18: gerrit.GitPersonInfo 6786 (*ChangeInfo)(nil), // 19: gerrit.ChangeInfo 6787 (*ReviewerStatusMap)(nil), // 20: gerrit.ReviewerStatusMap 6788 (*RevisionInfo)(nil), // 21: gerrit.RevisionInfo 6789 (*CommitInfo)(nil), // 22: gerrit.CommitInfo 6790 (*LabelInfo)(nil), // 23: gerrit.LabelInfo 6791 (*ApprovalInfo)(nil), // 24: gerrit.ApprovalInfo 6792 (*VotingRangeInfo)(nil), // 25: gerrit.VotingRangeInfo 6793 (*ChangeMessageInfo)(nil), // 26: gerrit.ChangeMessageInfo 6794 (*Requirement)(nil), // 27: gerrit.Requirement 6795 (*FileInfo)(nil), // 28: gerrit.FileInfo 6796 (*CreateChangeRequest)(nil), // 29: gerrit.CreateChangeRequest 6797 (*SubmitChangeRequest)(nil), // 30: gerrit.SubmitChangeRequest 6798 (*SubmitRevisionRequest)(nil), // 31: gerrit.SubmitRevisionRequest 6799 (*SubmitInfo)(nil), // 32: gerrit.SubmitInfo 6800 (*ChangeEditFileContentRequest)(nil), // 33: gerrit.ChangeEditFileContentRequest 6801 (*DeleteEditFileContentRequest)(nil), // 34: gerrit.DeleteEditFileContentRequest 6802 (*ChangeEditPublishRequest)(nil), // 35: gerrit.ChangeEditPublishRequest 6803 (*RevertChangeRequest)(nil), // 36: gerrit.RevertChangeRequest 6804 (*AbandonChangeRequest)(nil), // 37: gerrit.AbandonChangeRequest 6805 (*AddReviewerRequest)(nil), // 38: gerrit.AddReviewerRequest 6806 (*ReviewerInfo)(nil), // 39: gerrit.ReviewerInfo 6807 (*AddReviewerResult)(nil), // 40: gerrit.AddReviewerResult 6808 (*DeleteReviewerRequest)(nil), // 41: gerrit.DeleteReviewerRequest 6809 (*SetReviewRequest)(nil), // 42: gerrit.SetReviewRequest 6810 (*ReviewerInput)(nil), // 43: gerrit.ReviewerInput 6811 (*ReviewResult)(nil), // 44: gerrit.ReviewResult 6812 (*AttentionSetRequest)(nil), // 45: gerrit.AttentionSetRequest 6813 (*AttentionSetInput)(nil), // 46: gerrit.AttentionSetInput 6814 (*GetMergeableRequest)(nil), // 47: gerrit.GetMergeableRequest 6815 (*MergeableInfo)(nil), // 48: gerrit.MergeableInfo 6816 (*ListFilesRequest)(nil), // 49: gerrit.ListFilesRequest 6817 (*ListFilesResponse)(nil), // 50: gerrit.ListFilesResponse 6818 (*GetRelatedChangesRequest)(nil), // 51: gerrit.GetRelatedChangesRequest 6819 (*GetRelatedChangesResponse)(nil), // 52: gerrit.GetRelatedChangesResponse 6820 (*ListProjectsRequest)(nil), // 53: gerrit.ListProjectsRequest 6821 (*WebLinkInfo)(nil), // 54: gerrit.WebLinkInfo 6822 (*ProjectInfo)(nil), // 55: gerrit.ProjectInfo 6823 (*ListProjectsResponse)(nil), // 56: gerrit.ListProjectsResponse 6824 (*RefInfoRequest)(nil), // 57: gerrit.RefInfoRequest 6825 (*RefInfo)(nil), // 58: gerrit.RefInfo 6826 (*AccountOptions)(nil), // 59: gerrit.AccountOptions 6827 (*ListFileOwnersRequest)(nil), // 60: gerrit.ListFileOwnersRequest 6828 (*OwnerInfo)(nil), // 61: gerrit.OwnerInfo 6829 (*ListOwnersResponse)(nil), // 62: gerrit.ListOwnersResponse 6830 (*GetPureRevertRequest)(nil), // 63: gerrit.GetPureRevertRequest 6831 (*PureRevertInfo)(nil), // 64: gerrit.PureRevertInfo 6832 (*SubmitRequirementResultInfo)(nil), // 65: gerrit.SubmitRequirementResultInfo 6833 (*SubmitRequirementExpressionInfo)(nil), // 66: gerrit.SubmitRequirementExpressionInfo 6834 (*GetMetaDiffRequest)(nil), // 67: gerrit.GetMetaDiffRequest 6835 (*MetaDiff)(nil), // 68: gerrit.MetaDiff 6836 (*NotifyDetails_Info)(nil), // 69: gerrit.NotifyDetails.Info 6837 (*NotifyDetails_Recipient)(nil), // 70: gerrit.NotifyDetails.Recipient 6838 nil, // 71: gerrit.ChangeInfo.RevisionsEntry 6839 nil, // 72: gerrit.ChangeInfo.LabelsEntry 6840 nil, // 73: gerrit.RevisionInfo.FilesEntry 6841 (*CommitInfo_Parent)(nil), // 74: gerrit.CommitInfo.Parent 6842 nil, // 75: gerrit.LabelInfo.ValuesEntry 6843 nil, // 76: gerrit.ReviewerInfo.ApprovalsEntry 6844 nil, // 77: gerrit.SetReviewRequest.LabelsEntry 6845 nil, // 78: gerrit.ReviewResult.LabelsEntry 6846 nil, // 79: gerrit.ReviewResult.ReviewersEntry 6847 nil, // 80: gerrit.ListFilesResponse.FilesEntry 6848 (*GetRelatedChangesResponse_ChangeAndCommit)(nil), // 81: gerrit.GetRelatedChangesResponse.ChangeAndCommit 6849 nil, // 82: gerrit.ProjectInfo.RefsEntry 6850 nil, // 83: gerrit.ListProjectsResponse.ProjectsEntry 6851 (*timestamppb.Timestamp)(nil), // 84: google.protobuf.Timestamp 6852 (*emptypb.Empty)(nil), // 85: google.protobuf.Empty 6853 } 6854 var file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_depIdxs = []int32{ 6855 70, // 0: gerrit.NotifyDetails.recipients:type_name -> gerrit.NotifyDetails.Recipient 6856 0, // 1: gerrit.ListChangesRequest.options:type_name -> gerrit.QueryOption 6857 19, // 2: gerrit.ListChangesResponse.changes:type_name -> gerrit.ChangeInfo 6858 0, // 3: gerrit.GetChangeRequest.options:type_name -> gerrit.QueryOption 6859 17, // 4: gerrit.ChangeInfo.owner:type_name -> gerrit.AccountInfo 6860 2, // 5: gerrit.ChangeInfo.status:type_name -> gerrit.ChangeStatus 6861 71, // 6: gerrit.ChangeInfo.revisions:type_name -> gerrit.ChangeInfo.RevisionsEntry 6862 72, // 7: gerrit.ChangeInfo.labels:type_name -> gerrit.ChangeInfo.LabelsEntry 6863 26, // 8: gerrit.ChangeInfo.messages:type_name -> gerrit.ChangeMessageInfo 6864 27, // 9: gerrit.ChangeInfo.requirements:type_name -> gerrit.Requirement 6865 84, // 10: gerrit.ChangeInfo.created:type_name -> google.protobuf.Timestamp 6866 84, // 11: gerrit.ChangeInfo.updated:type_name -> google.protobuf.Timestamp 6867 84, // 12: gerrit.ChangeInfo.submitted:type_name -> google.protobuf.Timestamp 6868 20, // 13: gerrit.ChangeInfo.reviewers:type_name -> gerrit.ReviewerStatusMap 6869 65, // 14: gerrit.ChangeInfo.submit_requirements:type_name -> gerrit.SubmitRequirementResultInfo 6870 17, // 15: gerrit.ReviewerStatusMap.reviewers:type_name -> gerrit.AccountInfo 6871 17, // 16: gerrit.ReviewerStatusMap.ccs:type_name -> gerrit.AccountInfo 6872 17, // 17: gerrit.ReviewerStatusMap.removed:type_name -> gerrit.AccountInfo 6873 5, // 18: gerrit.RevisionInfo.kind:type_name -> gerrit.RevisionInfo.Kind 6874 17, // 19: gerrit.RevisionInfo.uploader:type_name -> gerrit.AccountInfo 6875 84, // 20: gerrit.RevisionInfo.created:type_name -> google.protobuf.Timestamp 6876 22, // 21: gerrit.RevisionInfo.commit:type_name -> gerrit.CommitInfo 6877 73, // 22: gerrit.RevisionInfo.files:type_name -> gerrit.RevisionInfo.FilesEntry 6878 74, // 23: gerrit.CommitInfo.parents:type_name -> gerrit.CommitInfo.Parent 6879 18, // 24: gerrit.CommitInfo.author:type_name -> gerrit.GitPersonInfo 6880 17, // 25: gerrit.LabelInfo.approved:type_name -> gerrit.AccountInfo 6881 17, // 26: gerrit.LabelInfo.rejected:type_name -> gerrit.AccountInfo 6882 17, // 27: gerrit.LabelInfo.recommended:type_name -> gerrit.AccountInfo 6883 17, // 28: gerrit.LabelInfo.disliked:type_name -> gerrit.AccountInfo 6884 24, // 29: gerrit.LabelInfo.all:type_name -> gerrit.ApprovalInfo 6885 75, // 30: gerrit.LabelInfo.values:type_name -> gerrit.LabelInfo.ValuesEntry 6886 17, // 31: gerrit.ApprovalInfo.user:type_name -> gerrit.AccountInfo 6887 25, // 32: gerrit.ApprovalInfo.permitted_voting_range:type_name -> gerrit.VotingRangeInfo 6888 84, // 33: gerrit.ApprovalInfo.date:type_name -> google.protobuf.Timestamp 6889 17, // 34: gerrit.ChangeMessageInfo.author:type_name -> gerrit.AccountInfo 6890 17, // 35: gerrit.ChangeMessageInfo.real_author:type_name -> gerrit.AccountInfo 6891 84, // 36: gerrit.ChangeMessageInfo.date:type_name -> google.protobuf.Timestamp 6892 6, // 37: gerrit.Requirement.status:type_name -> gerrit.Requirement.Status 6893 7, // 38: gerrit.FileInfo.status:type_name -> gerrit.FileInfo.Status 6894 1, // 39: gerrit.CreateChangeRequest.notify:type_name -> gerrit.Notify 6895 2, // 40: gerrit.SubmitInfo.status:type_name -> gerrit.ChangeStatus 6896 8, // 41: gerrit.AddReviewerRequest.state:type_name -> gerrit.AddReviewerRequest.State 6897 1, // 42: gerrit.AddReviewerRequest.notify:type_name -> gerrit.Notify 6898 17, // 43: gerrit.ReviewerInfo.account:type_name -> gerrit.AccountInfo 6899 76, // 44: gerrit.ReviewerInfo.approvals:type_name -> gerrit.ReviewerInfo.ApprovalsEntry 6900 39, // 45: gerrit.AddReviewerResult.reviewers:type_name -> gerrit.ReviewerInfo 6901 39, // 46: gerrit.AddReviewerResult.ccs:type_name -> gerrit.ReviewerInfo 6902 77, // 47: gerrit.SetReviewRequest.labels:type_name -> gerrit.SetReviewRequest.LabelsEntry 6903 1, // 48: gerrit.SetReviewRequest.notify:type_name -> gerrit.Notify 6904 13, // 49: gerrit.SetReviewRequest.notify_details:type_name -> gerrit.NotifyDetails 6905 46, // 50: gerrit.SetReviewRequest.add_to_attention_set:type_name -> gerrit.AttentionSetInput 6906 46, // 51: gerrit.SetReviewRequest.remove_from_attention_set:type_name -> gerrit.AttentionSetInput 6907 43, // 52: gerrit.SetReviewRequest.reviewers:type_name -> gerrit.ReviewerInput 6908 9, // 53: gerrit.ReviewerInput.state:type_name -> gerrit.ReviewerInput.State 6909 78, // 54: gerrit.ReviewResult.labels:type_name -> gerrit.ReviewResult.LabelsEntry 6910 79, // 55: gerrit.ReviewResult.reviewers:type_name -> gerrit.ReviewResult.ReviewersEntry 6911 46, // 56: gerrit.AttentionSetRequest.input:type_name -> gerrit.AttentionSetInput 6912 1, // 57: gerrit.AttentionSetInput.notify:type_name -> gerrit.Notify 6913 13, // 58: gerrit.AttentionSetInput.notify_details:type_name -> gerrit.NotifyDetails 6914 3, // 59: gerrit.GetMergeableRequest.strategy:type_name -> gerrit.MergeableStrategy 6915 10, // 60: gerrit.MergeableInfo.submit_type:type_name -> gerrit.MergeableInfo.SubmitType 6916 3, // 61: gerrit.MergeableInfo.strategy:type_name -> gerrit.MergeableStrategy 6917 80, // 62: gerrit.ListFilesResponse.files:type_name -> gerrit.ListFilesResponse.FilesEntry 6918 81, // 63: gerrit.GetRelatedChangesResponse.changes:type_name -> gerrit.GetRelatedChangesResponse.ChangeAndCommit 6919 11, // 64: gerrit.ProjectInfo.state:type_name -> gerrit.ProjectInfo.State 6920 82, // 65: gerrit.ProjectInfo.refs:type_name -> gerrit.ProjectInfo.RefsEntry 6921 54, // 66: gerrit.ProjectInfo.web_links:type_name -> gerrit.WebLinkInfo 6922 83, // 67: gerrit.ListProjectsResponse.Projects:type_name -> gerrit.ListProjectsResponse.ProjectsEntry 6923 59, // 68: gerrit.ListFileOwnersRequest.options:type_name -> gerrit.AccountOptions 6924 17, // 69: gerrit.OwnerInfo.account:type_name -> gerrit.AccountInfo 6925 61, // 70: gerrit.ListOwnersResponse.owners:type_name -> gerrit.OwnerInfo 6926 12, // 71: gerrit.SubmitRequirementResultInfo.status:type_name -> gerrit.SubmitRequirementResultInfo.Status 6927 66, // 72: gerrit.SubmitRequirementResultInfo.applicability_expression_result:type_name -> gerrit.SubmitRequirementExpressionInfo 6928 66, // 73: gerrit.SubmitRequirementResultInfo.submittability_expression_result:type_name -> gerrit.SubmitRequirementExpressionInfo 6929 66, // 74: gerrit.SubmitRequirementResultInfo.override_expression_result:type_name -> gerrit.SubmitRequirementExpressionInfo 6930 0, // 75: gerrit.GetMetaDiffRequest.options:type_name -> gerrit.QueryOption 6931 19, // 76: gerrit.MetaDiff.added:type_name -> gerrit.ChangeInfo 6932 19, // 77: gerrit.MetaDiff.removed:type_name -> gerrit.ChangeInfo 6933 19, // 78: gerrit.MetaDiff.old_change_info:type_name -> gerrit.ChangeInfo 6934 19, // 79: gerrit.MetaDiff.new_change_info:type_name -> gerrit.ChangeInfo 6935 4, // 80: gerrit.NotifyDetails.Recipient.recipient_type:type_name -> gerrit.NotifyDetails.RecipientType 6936 69, // 81: gerrit.NotifyDetails.Recipient.info:type_name -> gerrit.NotifyDetails.Info 6937 21, // 82: gerrit.ChangeInfo.RevisionsEntry.value:type_name -> gerrit.RevisionInfo 6938 23, // 83: gerrit.ChangeInfo.LabelsEntry.value:type_name -> gerrit.LabelInfo 6939 28, // 84: gerrit.RevisionInfo.FilesEntry.value:type_name -> gerrit.FileInfo 6940 40, // 85: gerrit.ReviewResult.ReviewersEntry.value:type_name -> gerrit.AddReviewerResult 6941 28, // 86: gerrit.ListFilesResponse.FilesEntry.value:type_name -> gerrit.FileInfo 6942 22, // 87: gerrit.GetRelatedChangesResponse.ChangeAndCommit.commit:type_name -> gerrit.CommitInfo 6943 2, // 88: gerrit.GetRelatedChangesResponse.ChangeAndCommit.status:type_name -> gerrit.ChangeStatus 6944 55, // 89: gerrit.ListProjectsResponse.ProjectsEntry.value:type_name -> gerrit.ProjectInfo 6945 53, // 90: gerrit.Gerrit.ListProjects:input_type -> gerrit.ListProjectsRequest 6946 57, // 91: gerrit.Gerrit.GetRefInfo:input_type -> gerrit.RefInfoRequest 6947 60, // 92: gerrit.Gerrit.ListFileOwners:input_type -> gerrit.ListFileOwnersRequest 6948 14, // 93: gerrit.Gerrit.ListChanges:input_type -> gerrit.ListChangesRequest 6949 16, // 94: gerrit.Gerrit.GetChange:input_type -> gerrit.GetChangeRequest 6950 47, // 95: gerrit.Gerrit.GetMergeable:input_type -> gerrit.GetMergeableRequest 6951 49, // 96: gerrit.Gerrit.ListFiles:input_type -> gerrit.ListFilesRequest 6952 51, // 97: gerrit.Gerrit.GetRelatedChanges:input_type -> gerrit.GetRelatedChangesRequest 6953 63, // 98: gerrit.Gerrit.GetPureRevert:input_type -> gerrit.GetPureRevertRequest 6954 67, // 99: gerrit.Gerrit.GetMetaDiff:input_type -> gerrit.GetMetaDiffRequest 6955 29, // 100: gerrit.Gerrit.CreateChange:input_type -> gerrit.CreateChangeRequest 6956 33, // 101: gerrit.Gerrit.ChangeEditFileContent:input_type -> gerrit.ChangeEditFileContentRequest 6957 34, // 102: gerrit.Gerrit.DeleteEditFileContent:input_type -> gerrit.DeleteEditFileContentRequest 6958 35, // 103: gerrit.Gerrit.ChangeEditPublish:input_type -> gerrit.ChangeEditPublishRequest 6959 38, // 104: gerrit.Gerrit.AddReviewer:input_type -> gerrit.AddReviewerRequest 6960 41, // 105: gerrit.Gerrit.DeleteReviewer:input_type -> gerrit.DeleteReviewerRequest 6961 42, // 106: gerrit.Gerrit.SetReview:input_type -> gerrit.SetReviewRequest 6962 45, // 107: gerrit.Gerrit.AddToAttentionSet:input_type -> gerrit.AttentionSetRequest 6963 30, // 108: gerrit.Gerrit.SubmitChange:input_type -> gerrit.SubmitChangeRequest 6964 36, // 109: gerrit.Gerrit.RevertChange:input_type -> gerrit.RevertChangeRequest 6965 37, // 110: gerrit.Gerrit.AbandonChange:input_type -> gerrit.AbandonChangeRequest 6966 31, // 111: gerrit.Gerrit.SubmitRevision:input_type -> gerrit.SubmitRevisionRequest 6967 56, // 112: gerrit.Gerrit.ListProjects:output_type -> gerrit.ListProjectsResponse 6968 58, // 113: gerrit.Gerrit.GetRefInfo:output_type -> gerrit.RefInfo 6969 62, // 114: gerrit.Gerrit.ListFileOwners:output_type -> gerrit.ListOwnersResponse 6970 15, // 115: gerrit.Gerrit.ListChanges:output_type -> gerrit.ListChangesResponse 6971 19, // 116: gerrit.Gerrit.GetChange:output_type -> gerrit.ChangeInfo 6972 48, // 117: gerrit.Gerrit.GetMergeable:output_type -> gerrit.MergeableInfo 6973 50, // 118: gerrit.Gerrit.ListFiles:output_type -> gerrit.ListFilesResponse 6974 52, // 119: gerrit.Gerrit.GetRelatedChanges:output_type -> gerrit.GetRelatedChangesResponse 6975 64, // 120: gerrit.Gerrit.GetPureRevert:output_type -> gerrit.PureRevertInfo 6976 68, // 121: gerrit.Gerrit.GetMetaDiff:output_type -> gerrit.MetaDiff 6977 19, // 122: gerrit.Gerrit.CreateChange:output_type -> gerrit.ChangeInfo 6978 85, // 123: gerrit.Gerrit.ChangeEditFileContent:output_type -> google.protobuf.Empty 6979 85, // 124: gerrit.Gerrit.DeleteEditFileContent:output_type -> google.protobuf.Empty 6980 85, // 125: gerrit.Gerrit.ChangeEditPublish:output_type -> google.protobuf.Empty 6981 40, // 126: gerrit.Gerrit.AddReviewer:output_type -> gerrit.AddReviewerResult 6982 85, // 127: gerrit.Gerrit.DeleteReviewer:output_type -> google.protobuf.Empty 6983 44, // 128: gerrit.Gerrit.SetReview:output_type -> gerrit.ReviewResult 6984 17, // 129: gerrit.Gerrit.AddToAttentionSet:output_type -> gerrit.AccountInfo 6985 19, // 130: gerrit.Gerrit.SubmitChange:output_type -> gerrit.ChangeInfo 6986 19, // 131: gerrit.Gerrit.RevertChange:output_type -> gerrit.ChangeInfo 6987 19, // 132: gerrit.Gerrit.AbandonChange:output_type -> gerrit.ChangeInfo 6988 32, // 133: gerrit.Gerrit.SubmitRevision:output_type -> gerrit.SubmitInfo 6989 112, // [112:134] is the sub-list for method output_type 6990 90, // [90:112] is the sub-list for method input_type 6991 90, // [90:90] is the sub-list for extension type_name 6992 90, // [90:90] is the sub-list for extension extendee 6993 0, // [0:90] is the sub-list for field type_name 6994 } 6995 6996 func init() { file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_init() } 6997 func file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_init() { 6998 if File_go_chromium_org_luci_common_proto_gerrit_gerrit_proto != nil { 6999 return 7000 } 7001 if !protoimpl.UnsafeEnabled { 7002 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 7003 switch v := v.(*NotifyDetails); i { 7004 case 0: 7005 return &v.state 7006 case 1: 7007 return &v.sizeCache 7008 case 2: 7009 return &v.unknownFields 7010 default: 7011 return nil 7012 } 7013 } 7014 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 7015 switch v := v.(*ListChangesRequest); i { 7016 case 0: 7017 return &v.state 7018 case 1: 7019 return &v.sizeCache 7020 case 2: 7021 return &v.unknownFields 7022 default: 7023 return nil 7024 } 7025 } 7026 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 7027 switch v := v.(*ListChangesResponse); i { 7028 case 0: 7029 return &v.state 7030 case 1: 7031 return &v.sizeCache 7032 case 2: 7033 return &v.unknownFields 7034 default: 7035 return nil 7036 } 7037 } 7038 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 7039 switch v := v.(*GetChangeRequest); i { 7040 case 0: 7041 return &v.state 7042 case 1: 7043 return &v.sizeCache 7044 case 2: 7045 return &v.unknownFields 7046 default: 7047 return nil 7048 } 7049 } 7050 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 7051 switch v := v.(*AccountInfo); i { 7052 case 0: 7053 return &v.state 7054 case 1: 7055 return &v.sizeCache 7056 case 2: 7057 return &v.unknownFields 7058 default: 7059 return nil 7060 } 7061 } 7062 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 7063 switch v := v.(*GitPersonInfo); i { 7064 case 0: 7065 return &v.state 7066 case 1: 7067 return &v.sizeCache 7068 case 2: 7069 return &v.unknownFields 7070 default: 7071 return nil 7072 } 7073 } 7074 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 7075 switch v := v.(*ChangeInfo); i { 7076 case 0: 7077 return &v.state 7078 case 1: 7079 return &v.sizeCache 7080 case 2: 7081 return &v.unknownFields 7082 default: 7083 return nil 7084 } 7085 } 7086 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 7087 switch v := v.(*ReviewerStatusMap); i { 7088 case 0: 7089 return &v.state 7090 case 1: 7091 return &v.sizeCache 7092 case 2: 7093 return &v.unknownFields 7094 default: 7095 return nil 7096 } 7097 } 7098 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 7099 switch v := v.(*RevisionInfo); i { 7100 case 0: 7101 return &v.state 7102 case 1: 7103 return &v.sizeCache 7104 case 2: 7105 return &v.unknownFields 7106 default: 7107 return nil 7108 } 7109 } 7110 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 7111 switch v := v.(*CommitInfo); i { 7112 case 0: 7113 return &v.state 7114 case 1: 7115 return &v.sizeCache 7116 case 2: 7117 return &v.unknownFields 7118 default: 7119 return nil 7120 } 7121 } 7122 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 7123 switch v := v.(*LabelInfo); i { 7124 case 0: 7125 return &v.state 7126 case 1: 7127 return &v.sizeCache 7128 case 2: 7129 return &v.unknownFields 7130 default: 7131 return nil 7132 } 7133 } 7134 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 7135 switch v := v.(*ApprovalInfo); i { 7136 case 0: 7137 return &v.state 7138 case 1: 7139 return &v.sizeCache 7140 case 2: 7141 return &v.unknownFields 7142 default: 7143 return nil 7144 } 7145 } 7146 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 7147 switch v := v.(*VotingRangeInfo); i { 7148 case 0: 7149 return &v.state 7150 case 1: 7151 return &v.sizeCache 7152 case 2: 7153 return &v.unknownFields 7154 default: 7155 return nil 7156 } 7157 } 7158 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 7159 switch v := v.(*ChangeMessageInfo); i { 7160 case 0: 7161 return &v.state 7162 case 1: 7163 return &v.sizeCache 7164 case 2: 7165 return &v.unknownFields 7166 default: 7167 return nil 7168 } 7169 } 7170 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 7171 switch v := v.(*Requirement); i { 7172 case 0: 7173 return &v.state 7174 case 1: 7175 return &v.sizeCache 7176 case 2: 7177 return &v.unknownFields 7178 default: 7179 return nil 7180 } 7181 } 7182 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 7183 switch v := v.(*FileInfo); i { 7184 case 0: 7185 return &v.state 7186 case 1: 7187 return &v.sizeCache 7188 case 2: 7189 return &v.unknownFields 7190 default: 7191 return nil 7192 } 7193 } 7194 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 7195 switch v := v.(*CreateChangeRequest); i { 7196 case 0: 7197 return &v.state 7198 case 1: 7199 return &v.sizeCache 7200 case 2: 7201 return &v.unknownFields 7202 default: 7203 return nil 7204 } 7205 } 7206 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 7207 switch v := v.(*SubmitChangeRequest); i { 7208 case 0: 7209 return &v.state 7210 case 1: 7211 return &v.sizeCache 7212 case 2: 7213 return &v.unknownFields 7214 default: 7215 return nil 7216 } 7217 } 7218 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 7219 switch v := v.(*SubmitRevisionRequest); i { 7220 case 0: 7221 return &v.state 7222 case 1: 7223 return &v.sizeCache 7224 case 2: 7225 return &v.unknownFields 7226 default: 7227 return nil 7228 } 7229 } 7230 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 7231 switch v := v.(*SubmitInfo); i { 7232 case 0: 7233 return &v.state 7234 case 1: 7235 return &v.sizeCache 7236 case 2: 7237 return &v.unknownFields 7238 default: 7239 return nil 7240 } 7241 } 7242 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 7243 switch v := v.(*ChangeEditFileContentRequest); i { 7244 case 0: 7245 return &v.state 7246 case 1: 7247 return &v.sizeCache 7248 case 2: 7249 return &v.unknownFields 7250 default: 7251 return nil 7252 } 7253 } 7254 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 7255 switch v := v.(*DeleteEditFileContentRequest); i { 7256 case 0: 7257 return &v.state 7258 case 1: 7259 return &v.sizeCache 7260 case 2: 7261 return &v.unknownFields 7262 default: 7263 return nil 7264 } 7265 } 7266 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 7267 switch v := v.(*ChangeEditPublishRequest); i { 7268 case 0: 7269 return &v.state 7270 case 1: 7271 return &v.sizeCache 7272 case 2: 7273 return &v.unknownFields 7274 default: 7275 return nil 7276 } 7277 } 7278 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 7279 switch v := v.(*RevertChangeRequest); i { 7280 case 0: 7281 return &v.state 7282 case 1: 7283 return &v.sizeCache 7284 case 2: 7285 return &v.unknownFields 7286 default: 7287 return nil 7288 } 7289 } 7290 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 7291 switch v := v.(*AbandonChangeRequest); i { 7292 case 0: 7293 return &v.state 7294 case 1: 7295 return &v.sizeCache 7296 case 2: 7297 return &v.unknownFields 7298 default: 7299 return nil 7300 } 7301 } 7302 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 7303 switch v := v.(*AddReviewerRequest); i { 7304 case 0: 7305 return &v.state 7306 case 1: 7307 return &v.sizeCache 7308 case 2: 7309 return &v.unknownFields 7310 default: 7311 return nil 7312 } 7313 } 7314 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 7315 switch v := v.(*ReviewerInfo); i { 7316 case 0: 7317 return &v.state 7318 case 1: 7319 return &v.sizeCache 7320 case 2: 7321 return &v.unknownFields 7322 default: 7323 return nil 7324 } 7325 } 7326 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 7327 switch v := v.(*AddReviewerResult); i { 7328 case 0: 7329 return &v.state 7330 case 1: 7331 return &v.sizeCache 7332 case 2: 7333 return &v.unknownFields 7334 default: 7335 return nil 7336 } 7337 } 7338 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 7339 switch v := v.(*DeleteReviewerRequest); i { 7340 case 0: 7341 return &v.state 7342 case 1: 7343 return &v.sizeCache 7344 case 2: 7345 return &v.unknownFields 7346 default: 7347 return nil 7348 } 7349 } 7350 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 7351 switch v := v.(*SetReviewRequest); i { 7352 case 0: 7353 return &v.state 7354 case 1: 7355 return &v.sizeCache 7356 case 2: 7357 return &v.unknownFields 7358 default: 7359 return nil 7360 } 7361 } 7362 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 7363 switch v := v.(*ReviewerInput); i { 7364 case 0: 7365 return &v.state 7366 case 1: 7367 return &v.sizeCache 7368 case 2: 7369 return &v.unknownFields 7370 default: 7371 return nil 7372 } 7373 } 7374 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 7375 switch v := v.(*ReviewResult); i { 7376 case 0: 7377 return &v.state 7378 case 1: 7379 return &v.sizeCache 7380 case 2: 7381 return &v.unknownFields 7382 default: 7383 return nil 7384 } 7385 } 7386 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 7387 switch v := v.(*AttentionSetRequest); i { 7388 case 0: 7389 return &v.state 7390 case 1: 7391 return &v.sizeCache 7392 case 2: 7393 return &v.unknownFields 7394 default: 7395 return nil 7396 } 7397 } 7398 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 7399 switch v := v.(*AttentionSetInput); i { 7400 case 0: 7401 return &v.state 7402 case 1: 7403 return &v.sizeCache 7404 case 2: 7405 return &v.unknownFields 7406 default: 7407 return nil 7408 } 7409 } 7410 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 7411 switch v := v.(*GetMergeableRequest); i { 7412 case 0: 7413 return &v.state 7414 case 1: 7415 return &v.sizeCache 7416 case 2: 7417 return &v.unknownFields 7418 default: 7419 return nil 7420 } 7421 } 7422 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 7423 switch v := v.(*MergeableInfo); i { 7424 case 0: 7425 return &v.state 7426 case 1: 7427 return &v.sizeCache 7428 case 2: 7429 return &v.unknownFields 7430 default: 7431 return nil 7432 } 7433 } 7434 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 7435 switch v := v.(*ListFilesRequest); i { 7436 case 0: 7437 return &v.state 7438 case 1: 7439 return &v.sizeCache 7440 case 2: 7441 return &v.unknownFields 7442 default: 7443 return nil 7444 } 7445 } 7446 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 7447 switch v := v.(*ListFilesResponse); i { 7448 case 0: 7449 return &v.state 7450 case 1: 7451 return &v.sizeCache 7452 case 2: 7453 return &v.unknownFields 7454 default: 7455 return nil 7456 } 7457 } 7458 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 7459 switch v := v.(*GetRelatedChangesRequest); i { 7460 case 0: 7461 return &v.state 7462 case 1: 7463 return &v.sizeCache 7464 case 2: 7465 return &v.unknownFields 7466 default: 7467 return nil 7468 } 7469 } 7470 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 7471 switch v := v.(*GetRelatedChangesResponse); i { 7472 case 0: 7473 return &v.state 7474 case 1: 7475 return &v.sizeCache 7476 case 2: 7477 return &v.unknownFields 7478 default: 7479 return nil 7480 } 7481 } 7482 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 7483 switch v := v.(*ListProjectsRequest); i { 7484 case 0: 7485 return &v.state 7486 case 1: 7487 return &v.sizeCache 7488 case 2: 7489 return &v.unknownFields 7490 default: 7491 return nil 7492 } 7493 } 7494 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 7495 switch v := v.(*WebLinkInfo); i { 7496 case 0: 7497 return &v.state 7498 case 1: 7499 return &v.sizeCache 7500 case 2: 7501 return &v.unknownFields 7502 default: 7503 return nil 7504 } 7505 } 7506 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 7507 switch v := v.(*ProjectInfo); i { 7508 case 0: 7509 return &v.state 7510 case 1: 7511 return &v.sizeCache 7512 case 2: 7513 return &v.unknownFields 7514 default: 7515 return nil 7516 } 7517 } 7518 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 7519 switch v := v.(*ListProjectsResponse); i { 7520 case 0: 7521 return &v.state 7522 case 1: 7523 return &v.sizeCache 7524 case 2: 7525 return &v.unknownFields 7526 default: 7527 return nil 7528 } 7529 } 7530 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 7531 switch v := v.(*RefInfoRequest); i { 7532 case 0: 7533 return &v.state 7534 case 1: 7535 return &v.sizeCache 7536 case 2: 7537 return &v.unknownFields 7538 default: 7539 return nil 7540 } 7541 } 7542 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 7543 switch v := v.(*RefInfo); i { 7544 case 0: 7545 return &v.state 7546 case 1: 7547 return &v.sizeCache 7548 case 2: 7549 return &v.unknownFields 7550 default: 7551 return nil 7552 } 7553 } 7554 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 7555 switch v := v.(*AccountOptions); i { 7556 case 0: 7557 return &v.state 7558 case 1: 7559 return &v.sizeCache 7560 case 2: 7561 return &v.unknownFields 7562 default: 7563 return nil 7564 } 7565 } 7566 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 7567 switch v := v.(*ListFileOwnersRequest); i { 7568 case 0: 7569 return &v.state 7570 case 1: 7571 return &v.sizeCache 7572 case 2: 7573 return &v.unknownFields 7574 default: 7575 return nil 7576 } 7577 } 7578 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 7579 switch v := v.(*OwnerInfo); i { 7580 case 0: 7581 return &v.state 7582 case 1: 7583 return &v.sizeCache 7584 case 2: 7585 return &v.unknownFields 7586 default: 7587 return nil 7588 } 7589 } 7590 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 7591 switch v := v.(*ListOwnersResponse); i { 7592 case 0: 7593 return &v.state 7594 case 1: 7595 return &v.sizeCache 7596 case 2: 7597 return &v.unknownFields 7598 default: 7599 return nil 7600 } 7601 } 7602 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 7603 switch v := v.(*GetPureRevertRequest); i { 7604 case 0: 7605 return &v.state 7606 case 1: 7607 return &v.sizeCache 7608 case 2: 7609 return &v.unknownFields 7610 default: 7611 return nil 7612 } 7613 } 7614 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 7615 switch v := v.(*PureRevertInfo); i { 7616 case 0: 7617 return &v.state 7618 case 1: 7619 return &v.sizeCache 7620 case 2: 7621 return &v.unknownFields 7622 default: 7623 return nil 7624 } 7625 } 7626 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 7627 switch v := v.(*SubmitRequirementResultInfo); i { 7628 case 0: 7629 return &v.state 7630 case 1: 7631 return &v.sizeCache 7632 case 2: 7633 return &v.unknownFields 7634 default: 7635 return nil 7636 } 7637 } 7638 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 7639 switch v := v.(*SubmitRequirementExpressionInfo); i { 7640 case 0: 7641 return &v.state 7642 case 1: 7643 return &v.sizeCache 7644 case 2: 7645 return &v.unknownFields 7646 default: 7647 return nil 7648 } 7649 } 7650 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 7651 switch v := v.(*GetMetaDiffRequest); i { 7652 case 0: 7653 return &v.state 7654 case 1: 7655 return &v.sizeCache 7656 case 2: 7657 return &v.unknownFields 7658 default: 7659 return nil 7660 } 7661 } 7662 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 7663 switch v := v.(*MetaDiff); i { 7664 case 0: 7665 return &v.state 7666 case 1: 7667 return &v.sizeCache 7668 case 2: 7669 return &v.unknownFields 7670 default: 7671 return nil 7672 } 7673 } 7674 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 7675 switch v := v.(*NotifyDetails_Info); i { 7676 case 0: 7677 return &v.state 7678 case 1: 7679 return &v.sizeCache 7680 case 2: 7681 return &v.unknownFields 7682 default: 7683 return nil 7684 } 7685 } 7686 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 7687 switch v := v.(*NotifyDetails_Recipient); i { 7688 case 0: 7689 return &v.state 7690 case 1: 7691 return &v.sizeCache 7692 case 2: 7693 return &v.unknownFields 7694 default: 7695 return nil 7696 } 7697 } 7698 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 7699 switch v := v.(*CommitInfo_Parent); i { 7700 case 0: 7701 return &v.state 7702 case 1: 7703 return &v.sizeCache 7704 case 2: 7705 return &v.unknownFields 7706 default: 7707 return nil 7708 } 7709 } 7710 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 7711 switch v := v.(*GetRelatedChangesResponse_ChangeAndCommit); i { 7712 case 0: 7713 return &v.state 7714 case 1: 7715 return &v.sizeCache 7716 case 2: 7717 return &v.unknownFields 7718 default: 7719 return nil 7720 } 7721 } 7722 } 7723 type x struct{} 7724 out := protoimpl.TypeBuilder{ 7725 File: protoimpl.DescBuilder{ 7726 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 7727 RawDescriptor: file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDesc, 7728 NumEnums: 13, 7729 NumMessages: 71, 7730 NumExtensions: 0, 7731 NumServices: 1, 7732 }, 7733 GoTypes: file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_goTypes, 7734 DependencyIndexes: file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_depIdxs, 7735 EnumInfos: file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_enumTypes, 7736 MessageInfos: file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_msgTypes, 7737 }.Build() 7738 File_go_chromium_org_luci_common_proto_gerrit_gerrit_proto = out.File 7739 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_rawDesc = nil 7740 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_goTypes = nil 7741 file_go_chromium_org_luci_common_proto_gerrit_gerrit_proto_depIdxs = nil 7742 }