fork of https://github.com/sourcegraph/zoekt
1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// protoc-gen-go v1.29.1
4// protoc (unknown)
5// source: webserver.proto
6
7package v1
8
9import (
10 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
11 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
12 durationpb "google.golang.org/protobuf/types/known/durationpb"
13 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
14 reflect "reflect"
15 sync "sync"
16)
17
18const (
19 // Verify that this generated code is sufficiently up-to-date.
20 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
21 // Verify that runtime/protoimpl is sufficiently up-to-date.
22 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
23)
24
25type FlushReason int32
26
27const (
28 FlushReason_UNKNOWN FlushReason = 0
29 FlushReason_TIMER_EXPIRED FlushReason = 1
30 FlushReason_FINAL_FLUSH FlushReason = 2
31 FlushReason_MAX_SIZE FlushReason = 3
32)
33
34// Enum value maps for FlushReason.
35var (
36 FlushReason_name = map[int32]string{
37 0: "UNKNOWN",
38 1: "TIMER_EXPIRED",
39 2: "FINAL_FLUSH",
40 3: "MAX_SIZE",
41 }
42 FlushReason_value = map[string]int32{
43 "UNKNOWN": 0,
44 "TIMER_EXPIRED": 1,
45 "FINAL_FLUSH": 2,
46 "MAX_SIZE": 3,
47 }
48)
49
50func (x FlushReason) Enum() *FlushReason {
51 p := new(FlushReason)
52 *p = x
53 return p
54}
55
56func (x FlushReason) String() string {
57 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
58}
59
60func (FlushReason) Descriptor() protoreflect.EnumDescriptor {
61 return file_webserver_proto_enumTypes[0].Descriptor()
62}
63
64func (FlushReason) Type() protoreflect.EnumType {
65 return &file_webserver_proto_enumTypes[0]
66}
67
68func (x FlushReason) Number() protoreflect.EnumNumber {
69 return protoreflect.EnumNumber(x)
70}
71
72// Deprecated: Use FlushReason.Descriptor instead.
73func (FlushReason) EnumDescriptor() ([]byte, []int) {
74 return file_webserver_proto_rawDescGZIP(), []int{0}
75}
76
77type ListOptions_RepoListField int32
78
79const (
80 ListOptions_REPO_LIST_FIELD_UNKNOWN ListOptions_RepoListField = 0
81 ListOptions_REPO_LIST_FIELD_REPOS ListOptions_RepoListField = 1
82 ListOptions_REPO_LIST_FIELD_MINIMAL ListOptions_RepoListField = 2
83 ListOptions_REPO_LIST_FIELD_REPOS_MAP ListOptions_RepoListField = 3
84)
85
86// Enum value maps for ListOptions_RepoListField.
87var (
88 ListOptions_RepoListField_name = map[int32]string{
89 0: "REPO_LIST_FIELD_UNKNOWN",
90 1: "REPO_LIST_FIELD_REPOS",
91 2: "REPO_LIST_FIELD_MINIMAL",
92 3: "REPO_LIST_FIELD_REPOS_MAP",
93 }
94 ListOptions_RepoListField_value = map[string]int32{
95 "REPO_LIST_FIELD_UNKNOWN": 0,
96 "REPO_LIST_FIELD_REPOS": 1,
97 "REPO_LIST_FIELD_MINIMAL": 2,
98 "REPO_LIST_FIELD_REPOS_MAP": 3,
99 }
100)
101
102func (x ListOptions_RepoListField) Enum() *ListOptions_RepoListField {
103 p := new(ListOptions_RepoListField)
104 *p = x
105 return p
106}
107
108func (x ListOptions_RepoListField) String() string {
109 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
110}
111
112func (ListOptions_RepoListField) Descriptor() protoreflect.EnumDescriptor {
113 return file_webserver_proto_enumTypes[1].Descriptor()
114}
115
116func (ListOptions_RepoListField) Type() protoreflect.EnumType {
117 return &file_webserver_proto_enumTypes[1]
118}
119
120func (x ListOptions_RepoListField) Number() protoreflect.EnumNumber {
121 return protoreflect.EnumNumber(x)
122}
123
124// Deprecated: Use ListOptions_RepoListField.Descriptor instead.
125func (ListOptions_RepoListField) EnumDescriptor() ([]byte, []int) {
126 return file_webserver_proto_rawDescGZIP(), []int{4, 0}
127}
128
129type SearchRequest struct {
130 state protoimpl.MessageState
131 sizeCache protoimpl.SizeCache
132 unknownFields protoimpl.UnknownFields
133
134 Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
135 Opts *SearchOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"`
136}
137
138func (x *SearchRequest) Reset() {
139 *x = SearchRequest{}
140 if protoimpl.UnsafeEnabled {
141 mi := &file_webserver_proto_msgTypes[0]
142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
143 ms.StoreMessageInfo(mi)
144 }
145}
146
147func (x *SearchRequest) String() string {
148 return protoimpl.X.MessageStringOf(x)
149}
150
151func (*SearchRequest) ProtoMessage() {}
152
153func (x *SearchRequest) ProtoReflect() protoreflect.Message {
154 mi := &file_webserver_proto_msgTypes[0]
155 if protoimpl.UnsafeEnabled && x != nil {
156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
157 if ms.LoadMessageInfo() == nil {
158 ms.StoreMessageInfo(mi)
159 }
160 return ms
161 }
162 return mi.MessageOf(x)
163}
164
165// Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead.
166func (*SearchRequest) Descriptor() ([]byte, []int) {
167 return file_webserver_proto_rawDescGZIP(), []int{0}
168}
169
170func (x *SearchRequest) GetQuery() *Q {
171 if x != nil {
172 return x.Query
173 }
174 return nil
175}
176
177func (x *SearchRequest) GetOpts() *SearchOptions {
178 if x != nil {
179 return x.Opts
180 }
181 return nil
182}
183
184type SearchResponse struct {
185 state protoimpl.MessageState
186 sizeCache protoimpl.SizeCache
187 unknownFields protoimpl.UnknownFields
188
189 Stats *Stats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
190 Progress *Progress `protobuf:"bytes,2,opt,name=progress,proto3" json:"progress,omitempty"`
191 Files []*FileMatch `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"`
192 // RepoURLs holds a repo => template string map.
193 RepoUrls map[string]string `protobuf:"bytes,4,rep,name=repo_urls,json=repoUrls,proto3" json:"repo_urls,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
194 // FragmentNames holds a repo => template string map, for
195 // the line number fragment.
196 LineFragments map[string]string `protobuf:"bytes,5,rep,name=line_fragments,json=lineFragments,proto3" json:"line_fragments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
197}
198
199func (x *SearchResponse) Reset() {
200 *x = SearchResponse{}
201 if protoimpl.UnsafeEnabled {
202 mi := &file_webserver_proto_msgTypes[1]
203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
204 ms.StoreMessageInfo(mi)
205 }
206}
207
208func (x *SearchResponse) String() string {
209 return protoimpl.X.MessageStringOf(x)
210}
211
212func (*SearchResponse) ProtoMessage() {}
213
214func (x *SearchResponse) ProtoReflect() protoreflect.Message {
215 mi := &file_webserver_proto_msgTypes[1]
216 if protoimpl.UnsafeEnabled && x != nil {
217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
218 if ms.LoadMessageInfo() == nil {
219 ms.StoreMessageInfo(mi)
220 }
221 return ms
222 }
223 return mi.MessageOf(x)
224}
225
226// Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead.
227func (*SearchResponse) Descriptor() ([]byte, []int) {
228 return file_webserver_proto_rawDescGZIP(), []int{1}
229}
230
231func (x *SearchResponse) GetStats() *Stats {
232 if x != nil {
233 return x.Stats
234 }
235 return nil
236}
237
238func (x *SearchResponse) GetProgress() *Progress {
239 if x != nil {
240 return x.Progress
241 }
242 return nil
243}
244
245func (x *SearchResponse) GetFiles() []*FileMatch {
246 if x != nil {
247 return x.Files
248 }
249 return nil
250}
251
252func (x *SearchResponse) GetRepoUrls() map[string]string {
253 if x != nil {
254 return x.RepoUrls
255 }
256 return nil
257}
258
259func (x *SearchResponse) GetLineFragments() map[string]string {
260 if x != nil {
261 return x.LineFragments
262 }
263 return nil
264}
265
266type SearchOptions struct {
267 state protoimpl.MessageState
268 sizeCache protoimpl.SizeCache
269 unknownFields protoimpl.UnknownFields
270
271 // Return an upper-bound estimate of eligible documents in
272 // stats.ShardFilesConsidered.
273 EstimateDocCount bool `protobuf:"varint,1,opt,name=estimate_doc_count,json=estimateDocCount,proto3" json:"estimate_doc_count,omitempty"`
274 // Return the whole file.
275 Whole bool `protobuf:"varint,2,opt,name=whole,proto3" json:"whole,omitempty"`
276 // Maximum number of matches: skip all processing an index
277 // shard after we found this many non-overlapping matches.
278 ShardMaxMatchCount int64 `protobuf:"varint,3,opt,name=shard_max_match_count,json=shardMaxMatchCount,proto3" json:"shard_max_match_count,omitempty"`
279 // Maximum number of matches: stop looking for more matches
280 // once we have this many matches across shards.
281 TotalMaxMatchCount int64 `protobuf:"varint,4,opt,name=total_max_match_count,json=totalMaxMatchCount,proto3" json:"total_max_match_count,omitempty"`
282 // Maximum number of matches: skip processing documents for a repository in
283 // a shard once we have found ShardRepoMaxMatchCount.
284 //
285 // A compound shard may contain multiple repositories. This will most often
286 // be set to 1 to find all repositories containing a result.
287 ShardRepoMaxMatchCount int64 `protobuf:"varint,5,opt,name=shard_repo_max_match_count,json=shardRepoMaxMatchCount,proto3" json:"shard_repo_max_match_count,omitempty"`
288 // Abort the search after this much time has passed.
289 MaxWallTime *durationpb.Duration `protobuf:"bytes,6,opt,name=max_wall_time,json=maxWallTime,proto3" json:"max_wall_time,omitempty"`
290 // FlushWallTime if non-zero will stop streaming behaviour at first and
291 // instead will collate and sort results. At FlushWallTime the results will
292 // be sent and then the behaviour will revert to the normal streaming.
293 FlushWallTime *durationpb.Duration `protobuf:"bytes,7,opt,name=flush_wall_time,json=flushWallTime,proto3" json:"flush_wall_time,omitempty"`
294 // Trim the number of results after collating and sorting the
295 // results
296 MaxDocDisplayCount int64 `protobuf:"varint,8,opt,name=max_doc_display_count,json=maxDocDisplayCount,proto3" json:"max_doc_display_count,omitempty"`
297 // If set to a number greater than zero then up to this many number
298 // of context lines will be added before and after each matched line.
299 // Note that the included context lines might contain matches and
300 // it's up to the consumer of the result to remove those lines.
301 NumContextLines int64 `protobuf:"varint,9,opt,name=num_context_lines,json=numContextLines,proto3" json:"num_context_lines,omitempty"`
302 // If true, ChunkMatches will be returned in each FileMatch rather than LineMatches
303 // EXPERIMENTAL: the behavior of this flag may be changed in future versions.
304 ChunkMatches bool `protobuf:"varint,10,opt,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"`
305 // EXPERIMENTAL. If true, document ranks are used as additional input for
306 // sorting matches.
307 UseDocumentRanks bool `protobuf:"varint,11,opt,name=use_document_ranks,json=useDocumentRanks,proto3" json:"use_document_ranks,omitempty"`
308 // EXPERIMENTAL. When UseDocumentRanks is enabled, this can be optionally set to adjust
309 // their weight in the file match score. If the value is <= 0.0, the default weight value
310 // will be used. This option is temporary and is only exposed for testing/ tuning purposes.
311 DocumentRanksWeight float64 `protobuf:"fixed64,12,opt,name=document_ranks_weight,json=documentRanksWeight,proto3" json:"document_ranks_weight,omitempty"`
312 // Trace turns on opentracing for this request if true and if the Jaeger address was provided as
313 // a command-line flag
314 Trace bool `protobuf:"varint,13,opt,name=trace,proto3" json:"trace,omitempty"`
315 // If set, the search results will contain debug information for scoring.
316 DebugScore bool `protobuf:"varint,14,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"`
317 // EXPERIMENTAL. If true, use keyword-style scoring instead of the default scoring formula.
318 // Currently, this treats each match in a file as a term and computes an approximation to BM25.
319 // When enabled, all other scoring signals are ignored, including document ranks.
320 UseKeywordScoring bool `protobuf:"varint,15,opt,name=use_keyword_scoring,json=useKeywordScoring,proto3" json:"use_keyword_scoring,omitempty"`
321}
322
323func (x *SearchOptions) Reset() {
324 *x = SearchOptions{}
325 if protoimpl.UnsafeEnabled {
326 mi := &file_webserver_proto_msgTypes[2]
327 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
328 ms.StoreMessageInfo(mi)
329 }
330}
331
332func (x *SearchOptions) String() string {
333 return protoimpl.X.MessageStringOf(x)
334}
335
336func (*SearchOptions) ProtoMessage() {}
337
338func (x *SearchOptions) ProtoReflect() protoreflect.Message {
339 mi := &file_webserver_proto_msgTypes[2]
340 if protoimpl.UnsafeEnabled && x != nil {
341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
342 if ms.LoadMessageInfo() == nil {
343 ms.StoreMessageInfo(mi)
344 }
345 return ms
346 }
347 return mi.MessageOf(x)
348}
349
350// Deprecated: Use SearchOptions.ProtoReflect.Descriptor instead.
351func (*SearchOptions) Descriptor() ([]byte, []int) {
352 return file_webserver_proto_rawDescGZIP(), []int{2}
353}
354
355func (x *SearchOptions) GetEstimateDocCount() bool {
356 if x != nil {
357 return x.EstimateDocCount
358 }
359 return false
360}
361
362func (x *SearchOptions) GetWhole() bool {
363 if x != nil {
364 return x.Whole
365 }
366 return false
367}
368
369func (x *SearchOptions) GetShardMaxMatchCount() int64 {
370 if x != nil {
371 return x.ShardMaxMatchCount
372 }
373 return 0
374}
375
376func (x *SearchOptions) GetTotalMaxMatchCount() int64 {
377 if x != nil {
378 return x.TotalMaxMatchCount
379 }
380 return 0
381}
382
383func (x *SearchOptions) GetShardRepoMaxMatchCount() int64 {
384 if x != nil {
385 return x.ShardRepoMaxMatchCount
386 }
387 return 0
388}
389
390func (x *SearchOptions) GetMaxWallTime() *durationpb.Duration {
391 if x != nil {
392 return x.MaxWallTime
393 }
394 return nil
395}
396
397func (x *SearchOptions) GetFlushWallTime() *durationpb.Duration {
398 if x != nil {
399 return x.FlushWallTime
400 }
401 return nil
402}
403
404func (x *SearchOptions) GetMaxDocDisplayCount() int64 {
405 if x != nil {
406 return x.MaxDocDisplayCount
407 }
408 return 0
409}
410
411func (x *SearchOptions) GetNumContextLines() int64 {
412 if x != nil {
413 return x.NumContextLines
414 }
415 return 0
416}
417
418func (x *SearchOptions) GetChunkMatches() bool {
419 if x != nil {
420 return x.ChunkMatches
421 }
422 return false
423}
424
425func (x *SearchOptions) GetUseDocumentRanks() bool {
426 if x != nil {
427 return x.UseDocumentRanks
428 }
429 return false
430}
431
432func (x *SearchOptions) GetDocumentRanksWeight() float64 {
433 if x != nil {
434 return x.DocumentRanksWeight
435 }
436 return 0
437}
438
439func (x *SearchOptions) GetTrace() bool {
440 if x != nil {
441 return x.Trace
442 }
443 return false
444}
445
446func (x *SearchOptions) GetDebugScore() bool {
447 if x != nil {
448 return x.DebugScore
449 }
450 return false
451}
452
453func (x *SearchOptions) GetUseKeywordScoring() bool {
454 if x != nil {
455 return x.UseKeywordScoring
456 }
457 return false
458}
459
460type ListRequest struct {
461 state protoimpl.MessageState
462 sizeCache protoimpl.SizeCache
463 unknownFields protoimpl.UnknownFields
464
465 Query *Q `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
466 Opts *ListOptions `protobuf:"bytes,2,opt,name=opts,proto3" json:"opts,omitempty"`
467}
468
469func (x *ListRequest) Reset() {
470 *x = ListRequest{}
471 if protoimpl.UnsafeEnabled {
472 mi := &file_webserver_proto_msgTypes[3]
473 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
474 ms.StoreMessageInfo(mi)
475 }
476}
477
478func (x *ListRequest) String() string {
479 return protoimpl.X.MessageStringOf(x)
480}
481
482func (*ListRequest) ProtoMessage() {}
483
484func (x *ListRequest) ProtoReflect() protoreflect.Message {
485 mi := &file_webserver_proto_msgTypes[3]
486 if protoimpl.UnsafeEnabled && x != nil {
487 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
488 if ms.LoadMessageInfo() == nil {
489 ms.StoreMessageInfo(mi)
490 }
491 return ms
492 }
493 return mi.MessageOf(x)
494}
495
496// Deprecated: Use ListRequest.ProtoReflect.Descriptor instead.
497func (*ListRequest) Descriptor() ([]byte, []int) {
498 return file_webserver_proto_rawDescGZIP(), []int{3}
499}
500
501func (x *ListRequest) GetQuery() *Q {
502 if x != nil {
503 return x.Query
504 }
505 return nil
506}
507
508func (x *ListRequest) GetOpts() *ListOptions {
509 if x != nil {
510 return x.Opts
511 }
512 return nil
513}
514
515type ListOptions struct {
516 state protoimpl.MessageState
517 sizeCache protoimpl.SizeCache
518 unknownFields protoimpl.UnknownFields
519
520 // Field decides which field to populate in RepoList response.
521 Field ListOptions_RepoListField `protobuf:"varint,1,opt,name=field,proto3,enum=grpc.v1.ListOptions_RepoListField" json:"field,omitempty"`
522 // Return only Minimal data per repo that Sourcegraph frontend needs.
523 //
524 // Deprecated: use Field
525 Minimal bool `protobuf:"varint,16,opt,name=minimal,proto3" json:"minimal,omitempty"`
526}
527
528func (x *ListOptions) Reset() {
529 *x = ListOptions{}
530 if protoimpl.UnsafeEnabled {
531 mi := &file_webserver_proto_msgTypes[4]
532 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
533 ms.StoreMessageInfo(mi)
534 }
535}
536
537func (x *ListOptions) String() string {
538 return protoimpl.X.MessageStringOf(x)
539}
540
541func (*ListOptions) ProtoMessage() {}
542
543func (x *ListOptions) ProtoReflect() protoreflect.Message {
544 mi := &file_webserver_proto_msgTypes[4]
545 if protoimpl.UnsafeEnabled && x != nil {
546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
547 if ms.LoadMessageInfo() == nil {
548 ms.StoreMessageInfo(mi)
549 }
550 return ms
551 }
552 return mi.MessageOf(x)
553}
554
555// Deprecated: Use ListOptions.ProtoReflect.Descriptor instead.
556func (*ListOptions) Descriptor() ([]byte, []int) {
557 return file_webserver_proto_rawDescGZIP(), []int{4}
558}
559
560func (x *ListOptions) GetField() ListOptions_RepoListField {
561 if x != nil {
562 return x.Field
563 }
564 return ListOptions_REPO_LIST_FIELD_UNKNOWN
565}
566
567func (x *ListOptions) GetMinimal() bool {
568 if x != nil {
569 return x.Minimal
570 }
571 return false
572}
573
574type ListResponse struct {
575 state protoimpl.MessageState
576 sizeCache protoimpl.SizeCache
577 unknownFields protoimpl.UnknownFields
578
579 // Returned when ListOptions.Field is RepoListFieldRepos.
580 Repos []*RepoListEntry `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"`
581 // ReposMap is set when ListOptions.Field is RepoListFieldReposMap.
582 ReposMap map[uint32]*MinimalRepoListEntry `protobuf:"bytes,2,rep,name=repos_map,json=reposMap,proto3" json:"repos_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
583 Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"`
584 // Stats response to a List request.
585 // This is the aggregate RepoStats of all repos matching the input query.
586 Stats *RepoStats `protobuf:"bytes,4,opt,name=stats,proto3" json:"stats,omitempty"`
587 // Returned when ListOptions.Field is RepoListFieldMinimal.
588 //
589 // Deprecated: use ReposMap.
590 Minimal map[uint32]*MinimalRepoListEntry `protobuf:"bytes,5,rep,name=minimal,proto3" json:"minimal,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
591}
592
593func (x *ListResponse) Reset() {
594 *x = ListResponse{}
595 if protoimpl.UnsafeEnabled {
596 mi := &file_webserver_proto_msgTypes[5]
597 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
598 ms.StoreMessageInfo(mi)
599 }
600}
601
602func (x *ListResponse) String() string {
603 return protoimpl.X.MessageStringOf(x)
604}
605
606func (*ListResponse) ProtoMessage() {}
607
608func (x *ListResponse) ProtoReflect() protoreflect.Message {
609 mi := &file_webserver_proto_msgTypes[5]
610 if protoimpl.UnsafeEnabled && x != nil {
611 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
612 if ms.LoadMessageInfo() == nil {
613 ms.StoreMessageInfo(mi)
614 }
615 return ms
616 }
617 return mi.MessageOf(x)
618}
619
620// Deprecated: Use ListResponse.ProtoReflect.Descriptor instead.
621func (*ListResponse) Descriptor() ([]byte, []int) {
622 return file_webserver_proto_rawDescGZIP(), []int{5}
623}
624
625func (x *ListResponse) GetRepos() []*RepoListEntry {
626 if x != nil {
627 return x.Repos
628 }
629 return nil
630}
631
632func (x *ListResponse) GetReposMap() map[uint32]*MinimalRepoListEntry {
633 if x != nil {
634 return x.ReposMap
635 }
636 return nil
637}
638
639func (x *ListResponse) GetCrashes() int64 {
640 if x != nil {
641 return x.Crashes
642 }
643 return 0
644}
645
646func (x *ListResponse) GetStats() *RepoStats {
647 if x != nil {
648 return x.Stats
649 }
650 return nil
651}
652
653func (x *ListResponse) GetMinimal() map[uint32]*MinimalRepoListEntry {
654 if x != nil {
655 return x.Minimal
656 }
657 return nil
658}
659
660type RepoListEntry struct {
661 state protoimpl.MessageState
662 sizeCache protoimpl.SizeCache
663 unknownFields protoimpl.UnknownFields
664
665 Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
666 IndexMetadata *IndexMetadata `protobuf:"bytes,2,opt,name=index_metadata,json=indexMetadata,proto3" json:"index_metadata,omitempty"`
667 Stats *RepoStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"`
668}
669
670func (x *RepoListEntry) Reset() {
671 *x = RepoListEntry{}
672 if protoimpl.UnsafeEnabled {
673 mi := &file_webserver_proto_msgTypes[6]
674 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
675 ms.StoreMessageInfo(mi)
676 }
677}
678
679func (x *RepoListEntry) String() string {
680 return protoimpl.X.MessageStringOf(x)
681}
682
683func (*RepoListEntry) ProtoMessage() {}
684
685func (x *RepoListEntry) ProtoReflect() protoreflect.Message {
686 mi := &file_webserver_proto_msgTypes[6]
687 if protoimpl.UnsafeEnabled && x != nil {
688 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
689 if ms.LoadMessageInfo() == nil {
690 ms.StoreMessageInfo(mi)
691 }
692 return ms
693 }
694 return mi.MessageOf(x)
695}
696
697// Deprecated: Use RepoListEntry.ProtoReflect.Descriptor instead.
698func (*RepoListEntry) Descriptor() ([]byte, []int) {
699 return file_webserver_proto_rawDescGZIP(), []int{6}
700}
701
702func (x *RepoListEntry) GetRepository() *Repository {
703 if x != nil {
704 return x.Repository
705 }
706 return nil
707}
708
709func (x *RepoListEntry) GetIndexMetadata() *IndexMetadata {
710 if x != nil {
711 return x.IndexMetadata
712 }
713 return nil
714}
715
716func (x *RepoListEntry) GetStats() *RepoStats {
717 if x != nil {
718 return x.Stats
719 }
720 return nil
721}
722
723type Repository struct {
724 state protoimpl.MessageState
725 sizeCache protoimpl.SizeCache
726 unknownFields protoimpl.UnknownFields
727
728 // Sourcegraph's repository ID
729 Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
730 // The repository name
731 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
732 // The repository URL.
733 Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
734 // The physical source where this repo came from, eg. full
735 // path to the zip filename or git repository directory. This
736 // will not be exposed in the UI, but can be used to detect
737 // orphaned index shards.
738 Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
739 // The branches indexed in this repo.
740 Branches []*RepositoryBranch `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"`
741 // Nil if this is not the super project.
742 SubRepoMap map[string]*Repository `protobuf:"bytes,6,rep,name=sub_repo_map,json=subRepoMap,proto3" json:"sub_repo_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
743 // URL template to link to the commit of a branch
744 CommitUrlTemplate string `protobuf:"bytes,7,opt,name=commit_url_template,json=commitUrlTemplate,proto3" json:"commit_url_template,omitempty"`
745 // The repository URL for getting to a file. Has access to
746 // {{.Version}}, {{.Path}}
747 FileUrlTemplate string `protobuf:"bytes,8,opt,name=file_url_template,json=fileUrlTemplate,proto3" json:"file_url_template,omitempty"`
748 // The URL fragment to add to a file URL for line numbers. has
749 // access to {{.LineNumber}}. The fragment should include the
750 // separator, generally '#' or ';'.
751 LineFragmentTemplate string `protobuf:"bytes,9,opt,name=line_fragment_template,json=lineFragmentTemplate,proto3" json:"line_fragment_template,omitempty"`
752 // Perf optimization: priority is set when we load the shard. It corresponds to
753 // the value of "priority" stored in RawConfig.
754 Priority float64 `protobuf:"fixed64,10,opt,name=priority,proto3" json:"priority,omitempty"`
755 // All zoekt.* configuration settings.
756 RawConfig map[string]string `protobuf:"bytes,11,rep,name=raw_config,json=rawConfig,proto3" json:"raw_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
757 // Importance of the repository, bigger is more important
758 Rank uint32 `protobuf:"varint,12,opt,name=rank,proto3" json:"rank,omitempty"`
759 // index_options is a hash of the options used to create the index for the
760 // repo.
761 IndexOptions string `protobuf:"bytes,13,opt,name=index_options,json=indexOptions,proto3" json:"index_options,omitempty"`
762 // has_symbols is true if this repository has indexed ctags
763 // output. Sourcegraph specific: This field is more appropriate for
764 // IndexMetadata. However, we store it here since the Sourcegraph frontend
765 // can read this structure but not IndexMetadata.
766 HasSymbols bool `protobuf:"varint,14,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"`
767 // tombstone is true if we are not allowed to search this repo.
768 Tombstone bool `protobuf:"varint,15,opt,name=tombstone,proto3" json:"tombstone,omitempty"`
769 // latest_commit_date is the date of the latest commit among all indexed Branches.
770 // The date might be time.Time's 0-value if the repository was last indexed
771 // before this field was added.
772 LatestCommitDate *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=latest_commit_date,json=latestCommitDate,proto3" json:"latest_commit_date,omitempty"`
773 // file_tombstones is a set of file paths that should be ignored across all branches
774 // in this shard.
775 FileTombstones []string `protobuf:"bytes,17,rep,name=FileTombstones,proto3" json:"FileTombstones,omitempty"`
776}
777
778func (x *Repository) Reset() {
779 *x = Repository{}
780 if protoimpl.UnsafeEnabled {
781 mi := &file_webserver_proto_msgTypes[7]
782 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
783 ms.StoreMessageInfo(mi)
784 }
785}
786
787func (x *Repository) String() string {
788 return protoimpl.X.MessageStringOf(x)
789}
790
791func (*Repository) ProtoMessage() {}
792
793func (x *Repository) ProtoReflect() protoreflect.Message {
794 mi := &file_webserver_proto_msgTypes[7]
795 if protoimpl.UnsafeEnabled && x != nil {
796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
797 if ms.LoadMessageInfo() == nil {
798 ms.StoreMessageInfo(mi)
799 }
800 return ms
801 }
802 return mi.MessageOf(x)
803}
804
805// Deprecated: Use Repository.ProtoReflect.Descriptor instead.
806func (*Repository) Descriptor() ([]byte, []int) {
807 return file_webserver_proto_rawDescGZIP(), []int{7}
808}
809
810func (x *Repository) GetId() uint32 {
811 if x != nil {
812 return x.Id
813 }
814 return 0
815}
816
817func (x *Repository) GetName() string {
818 if x != nil {
819 return x.Name
820 }
821 return ""
822}
823
824func (x *Repository) GetUrl() string {
825 if x != nil {
826 return x.Url
827 }
828 return ""
829}
830
831func (x *Repository) GetSource() string {
832 if x != nil {
833 return x.Source
834 }
835 return ""
836}
837
838func (x *Repository) GetBranches() []*RepositoryBranch {
839 if x != nil {
840 return x.Branches
841 }
842 return nil
843}
844
845func (x *Repository) GetSubRepoMap() map[string]*Repository {
846 if x != nil {
847 return x.SubRepoMap
848 }
849 return nil
850}
851
852func (x *Repository) GetCommitUrlTemplate() string {
853 if x != nil {
854 return x.CommitUrlTemplate
855 }
856 return ""
857}
858
859func (x *Repository) GetFileUrlTemplate() string {
860 if x != nil {
861 return x.FileUrlTemplate
862 }
863 return ""
864}
865
866func (x *Repository) GetLineFragmentTemplate() string {
867 if x != nil {
868 return x.LineFragmentTemplate
869 }
870 return ""
871}
872
873func (x *Repository) GetPriority() float64 {
874 if x != nil {
875 return x.Priority
876 }
877 return 0
878}
879
880func (x *Repository) GetRawConfig() map[string]string {
881 if x != nil {
882 return x.RawConfig
883 }
884 return nil
885}
886
887func (x *Repository) GetRank() uint32 {
888 if x != nil {
889 return x.Rank
890 }
891 return 0
892}
893
894func (x *Repository) GetIndexOptions() string {
895 if x != nil {
896 return x.IndexOptions
897 }
898 return ""
899}
900
901func (x *Repository) GetHasSymbols() bool {
902 if x != nil {
903 return x.HasSymbols
904 }
905 return false
906}
907
908func (x *Repository) GetTombstone() bool {
909 if x != nil {
910 return x.Tombstone
911 }
912 return false
913}
914
915func (x *Repository) GetLatestCommitDate() *timestamppb.Timestamp {
916 if x != nil {
917 return x.LatestCommitDate
918 }
919 return nil
920}
921
922func (x *Repository) GetFileTombstones() []string {
923 if x != nil {
924 return x.FileTombstones
925 }
926 return nil
927}
928
929type IndexMetadata struct {
930 state protoimpl.MessageState
931 sizeCache protoimpl.SizeCache
932 unknownFields protoimpl.UnknownFields
933
934 IndexFormatVersion int64 `protobuf:"varint,1,opt,name=index_format_version,json=indexFormatVersion,proto3" json:"index_format_version,omitempty"`
935 IndexFeatureVersion int64 `protobuf:"varint,2,opt,name=index_feature_version,json=indexFeatureVersion,proto3" json:"index_feature_version,omitempty"`
936 IndexMinReaderVersion int64 `protobuf:"varint,3,opt,name=index_min_reader_version,json=indexMinReaderVersion,proto3" json:"index_min_reader_version,omitempty"`
937 IndexTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
938 PlainAscii bool `protobuf:"varint,5,opt,name=plain_ascii,json=plainAscii,proto3" json:"plain_ascii,omitempty"`
939 LanguageMap map[string]uint32 `protobuf:"bytes,6,rep,name=language_map,json=languageMap,proto3" json:"language_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
940 ZoektVersion string `protobuf:"bytes,7,opt,name=zoekt_version,json=zoektVersion,proto3" json:"zoekt_version,omitempty"`
941 Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"`
942}
943
944func (x *IndexMetadata) Reset() {
945 *x = IndexMetadata{}
946 if protoimpl.UnsafeEnabled {
947 mi := &file_webserver_proto_msgTypes[8]
948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949 ms.StoreMessageInfo(mi)
950 }
951}
952
953func (x *IndexMetadata) String() string {
954 return protoimpl.X.MessageStringOf(x)
955}
956
957func (*IndexMetadata) ProtoMessage() {}
958
959func (x *IndexMetadata) ProtoReflect() protoreflect.Message {
960 mi := &file_webserver_proto_msgTypes[8]
961 if protoimpl.UnsafeEnabled && x != nil {
962 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963 if ms.LoadMessageInfo() == nil {
964 ms.StoreMessageInfo(mi)
965 }
966 return ms
967 }
968 return mi.MessageOf(x)
969}
970
971// Deprecated: Use IndexMetadata.ProtoReflect.Descriptor instead.
972func (*IndexMetadata) Descriptor() ([]byte, []int) {
973 return file_webserver_proto_rawDescGZIP(), []int{8}
974}
975
976func (x *IndexMetadata) GetIndexFormatVersion() int64 {
977 if x != nil {
978 return x.IndexFormatVersion
979 }
980 return 0
981}
982
983func (x *IndexMetadata) GetIndexFeatureVersion() int64 {
984 if x != nil {
985 return x.IndexFeatureVersion
986 }
987 return 0
988}
989
990func (x *IndexMetadata) GetIndexMinReaderVersion() int64 {
991 if x != nil {
992 return x.IndexMinReaderVersion
993 }
994 return 0
995}
996
997func (x *IndexMetadata) GetIndexTime() *timestamppb.Timestamp {
998 if x != nil {
999 return x.IndexTime
1000 }
1001 return nil
1002}
1003
1004func (x *IndexMetadata) GetPlainAscii() bool {
1005 if x != nil {
1006 return x.PlainAscii
1007 }
1008 return false
1009}
1010
1011func (x *IndexMetadata) GetLanguageMap() map[string]uint32 {
1012 if x != nil {
1013 return x.LanguageMap
1014 }
1015 return nil
1016}
1017
1018func (x *IndexMetadata) GetZoektVersion() string {
1019 if x != nil {
1020 return x.ZoektVersion
1021 }
1022 return ""
1023}
1024
1025func (x *IndexMetadata) GetId() string {
1026 if x != nil {
1027 return x.Id
1028 }
1029 return ""
1030}
1031
1032type MinimalRepoListEntry struct {
1033 state protoimpl.MessageState
1034 sizeCache protoimpl.SizeCache
1035 unknownFields protoimpl.UnknownFields
1036
1037 HasSymbols bool `protobuf:"varint,1,opt,name=has_symbols,json=hasSymbols,proto3" json:"has_symbols,omitempty"`
1038 Branches []*RepositoryBranch `protobuf:"bytes,2,rep,name=branches,proto3" json:"branches,omitempty"`
1039 IndexTimeUnix int64 `protobuf:"varint,3,opt,name=index_time_unix,json=indexTimeUnix,proto3" json:"index_time_unix,omitempty"`
1040}
1041
1042func (x *MinimalRepoListEntry) Reset() {
1043 *x = MinimalRepoListEntry{}
1044 if protoimpl.UnsafeEnabled {
1045 mi := &file_webserver_proto_msgTypes[9]
1046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047 ms.StoreMessageInfo(mi)
1048 }
1049}
1050
1051func (x *MinimalRepoListEntry) String() string {
1052 return protoimpl.X.MessageStringOf(x)
1053}
1054
1055func (*MinimalRepoListEntry) ProtoMessage() {}
1056
1057func (x *MinimalRepoListEntry) ProtoReflect() protoreflect.Message {
1058 mi := &file_webserver_proto_msgTypes[9]
1059 if protoimpl.UnsafeEnabled && x != nil {
1060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061 if ms.LoadMessageInfo() == nil {
1062 ms.StoreMessageInfo(mi)
1063 }
1064 return ms
1065 }
1066 return mi.MessageOf(x)
1067}
1068
1069// Deprecated: Use MinimalRepoListEntry.ProtoReflect.Descriptor instead.
1070func (*MinimalRepoListEntry) Descriptor() ([]byte, []int) {
1071 return file_webserver_proto_rawDescGZIP(), []int{9}
1072}
1073
1074func (x *MinimalRepoListEntry) GetHasSymbols() bool {
1075 if x != nil {
1076 return x.HasSymbols
1077 }
1078 return false
1079}
1080
1081func (x *MinimalRepoListEntry) GetBranches() []*RepositoryBranch {
1082 if x != nil {
1083 return x.Branches
1084 }
1085 return nil
1086}
1087
1088func (x *MinimalRepoListEntry) GetIndexTimeUnix() int64 {
1089 if x != nil {
1090 return x.IndexTimeUnix
1091 }
1092 return 0
1093}
1094
1095// RepositoryBranch describes an indexed branch, which is a name
1096// combined with a version.
1097type RepositoryBranch struct {
1098 state protoimpl.MessageState
1099 sizeCache protoimpl.SizeCache
1100 unknownFields protoimpl.UnknownFields
1101
1102 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1103 Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
1104}
1105
1106func (x *RepositoryBranch) Reset() {
1107 *x = RepositoryBranch{}
1108 if protoimpl.UnsafeEnabled {
1109 mi := &file_webserver_proto_msgTypes[10]
1110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1111 ms.StoreMessageInfo(mi)
1112 }
1113}
1114
1115func (x *RepositoryBranch) String() string {
1116 return protoimpl.X.MessageStringOf(x)
1117}
1118
1119func (*RepositoryBranch) ProtoMessage() {}
1120
1121func (x *RepositoryBranch) ProtoReflect() protoreflect.Message {
1122 mi := &file_webserver_proto_msgTypes[10]
1123 if protoimpl.UnsafeEnabled && x != nil {
1124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1125 if ms.LoadMessageInfo() == nil {
1126 ms.StoreMessageInfo(mi)
1127 }
1128 return ms
1129 }
1130 return mi.MessageOf(x)
1131}
1132
1133// Deprecated: Use RepositoryBranch.ProtoReflect.Descriptor instead.
1134func (*RepositoryBranch) Descriptor() ([]byte, []int) {
1135 return file_webserver_proto_rawDescGZIP(), []int{10}
1136}
1137
1138func (x *RepositoryBranch) GetName() string {
1139 if x != nil {
1140 return x.Name
1141 }
1142 return ""
1143}
1144
1145func (x *RepositoryBranch) GetVersion() string {
1146 if x != nil {
1147 return x.Version
1148 }
1149 return ""
1150}
1151
1152// RepoStats is a collection of statistics for a set of repositories.
1153type RepoStats struct {
1154 state protoimpl.MessageState
1155 sizeCache protoimpl.SizeCache
1156 unknownFields protoimpl.UnknownFields
1157
1158 // repos is used for aggregrating the number of repositories.
1159 Repos int64 `protobuf:"varint,1,opt,name=repos,proto3" json:"repos,omitempty"`
1160 // shards is the total number of search shards.
1161 Shards int64 `protobuf:"varint,2,opt,name=shards,proto3" json:"shards,omitempty"`
1162 // documents holds the number of documents or files.
1163 Documents int64 `protobuf:"varint,3,opt,name=documents,proto3" json:"documents,omitempty"`
1164 // index_bytes is the amount of RAM used for index overhead.
1165 IndexBytes int64 `protobuf:"varint,4,opt,name=index_bytes,json=indexBytes,proto3" json:"index_bytes,omitempty"`
1166 // content_bytes is the amount of RAM used for raw content.
1167 ContentBytes int64 `protobuf:"varint,5,opt,name=content_bytes,json=contentBytes,proto3" json:"content_bytes,omitempty"`
1168 // new_lines_count is the number of newlines "\n" that appear in the zoekt
1169 // indexed documents. This is not exactly the same as line count, since it
1170 // will not include lines not terminated by "\n" (eg a file with no "\n", or
1171 // a final line without "\n"). Note: Zoekt deduplicates documents across
1172 // branches, so if a path has the same contents on multiple branches, there
1173 // is only one document for it. As such that document's newlines is only
1174 // counted once. See DefaultBranchNewLinesCount and AllBranchesNewLinesCount
1175 // for counts which do not deduplicate.
1176 NewLinesCount uint64 `protobuf:"varint,6,opt,name=new_lines_count,json=newLinesCount,proto3" json:"new_lines_count,omitempty"`
1177 // default_branch_new_lines_count is the number of newlines "\n" in the default
1178 // branch.
1179 DefaultBranchNewLinesCount uint64 `protobuf:"varint,7,opt,name=default_branch_new_lines_count,json=defaultBranchNewLinesCount,proto3" json:"default_branch_new_lines_count,omitempty"`
1180 // other_branches_new_lines_count is the number of newlines "\n" in all branches
1181 // except the default branch.
1182 OtherBranchesNewLinesCount uint64 `protobuf:"varint,8,opt,name=other_branches_new_lines_count,json=otherBranchesNewLinesCount,proto3" json:"other_branches_new_lines_count,omitempty"`
1183}
1184
1185func (x *RepoStats) Reset() {
1186 *x = RepoStats{}
1187 if protoimpl.UnsafeEnabled {
1188 mi := &file_webserver_proto_msgTypes[11]
1189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1190 ms.StoreMessageInfo(mi)
1191 }
1192}
1193
1194func (x *RepoStats) String() string {
1195 return protoimpl.X.MessageStringOf(x)
1196}
1197
1198func (*RepoStats) ProtoMessage() {}
1199
1200func (x *RepoStats) ProtoReflect() protoreflect.Message {
1201 mi := &file_webserver_proto_msgTypes[11]
1202 if protoimpl.UnsafeEnabled && x != nil {
1203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1204 if ms.LoadMessageInfo() == nil {
1205 ms.StoreMessageInfo(mi)
1206 }
1207 return ms
1208 }
1209 return mi.MessageOf(x)
1210}
1211
1212// Deprecated: Use RepoStats.ProtoReflect.Descriptor instead.
1213func (*RepoStats) Descriptor() ([]byte, []int) {
1214 return file_webserver_proto_rawDescGZIP(), []int{11}
1215}
1216
1217func (x *RepoStats) GetRepos() int64 {
1218 if x != nil {
1219 return x.Repos
1220 }
1221 return 0
1222}
1223
1224func (x *RepoStats) GetShards() int64 {
1225 if x != nil {
1226 return x.Shards
1227 }
1228 return 0
1229}
1230
1231func (x *RepoStats) GetDocuments() int64 {
1232 if x != nil {
1233 return x.Documents
1234 }
1235 return 0
1236}
1237
1238func (x *RepoStats) GetIndexBytes() int64 {
1239 if x != nil {
1240 return x.IndexBytes
1241 }
1242 return 0
1243}
1244
1245func (x *RepoStats) GetContentBytes() int64 {
1246 if x != nil {
1247 return x.ContentBytes
1248 }
1249 return 0
1250}
1251
1252func (x *RepoStats) GetNewLinesCount() uint64 {
1253 if x != nil {
1254 return x.NewLinesCount
1255 }
1256 return 0
1257}
1258
1259func (x *RepoStats) GetDefaultBranchNewLinesCount() uint64 {
1260 if x != nil {
1261 return x.DefaultBranchNewLinesCount
1262 }
1263 return 0
1264}
1265
1266func (x *RepoStats) GetOtherBranchesNewLinesCount() uint64 {
1267 if x != nil {
1268 return x.OtherBranchesNewLinesCount
1269 }
1270 return 0
1271}
1272
1273type Stats struct {
1274 state protoimpl.MessageState
1275 sizeCache protoimpl.SizeCache
1276 unknownFields protoimpl.UnknownFields
1277
1278 // Amount of I/O for reading contents.
1279 ContentBytesLoaded int64 `protobuf:"varint,1,opt,name=content_bytes_loaded,json=contentBytesLoaded,proto3" json:"content_bytes_loaded,omitempty"`
1280 // Amount of I/O for reading from index.
1281 IndexBytesLoaded int64 `protobuf:"varint,2,opt,name=index_bytes_loaded,json=indexBytesLoaded,proto3" json:"index_bytes_loaded,omitempty"`
1282 // Number of search shards that had a crash.
1283 Crashes int64 `protobuf:"varint,3,opt,name=crashes,proto3" json:"crashes,omitempty"`
1284 // Wall clock time for this search
1285 Duration *durationpb.Duration `protobuf:"bytes,4,opt,name=duration,proto3" json:"duration,omitempty"`
1286 // Number of files containing a match.
1287 FileCount int64 `protobuf:"varint,5,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
1288 // Number of files in shards that we considered.
1289 ShardFilesConsidered int64 `protobuf:"varint,6,opt,name=shard_files_considered,json=shardFilesConsidered,proto3" json:"shard_files_considered,omitempty"`
1290 // Files that we evaluated. Equivalent to files for which all
1291 // atom matches (including negations) evaluated to true.
1292 FilesConsidered int64 `protobuf:"varint,7,opt,name=files_considered,json=filesConsidered,proto3" json:"files_considered,omitempty"`
1293 // Files for which we loaded file content to verify substring matches
1294 FilesLoaded int64 `protobuf:"varint,8,opt,name=files_loaded,json=filesLoaded,proto3" json:"files_loaded,omitempty"`
1295 // Candidate files whose contents weren't examined because we
1296 // gathered enough matches.
1297 FilesSkipped int64 `protobuf:"varint,9,opt,name=files_skipped,json=filesSkipped,proto3" json:"files_skipped,omitempty"`
1298 // Shards that we scanned to find matches.
1299 ShardsScanned int64 `protobuf:"varint,10,opt,name=shards_scanned,json=shardsScanned,proto3" json:"shards_scanned,omitempty"`
1300 // Shards that we did not process because a query was canceled.
1301 ShardsSkipped int64 `protobuf:"varint,11,opt,name=shards_skipped,json=shardsSkipped,proto3" json:"shards_skipped,omitempty"`
1302 // Shards that we did not process because the query was rejected by the
1303 // ngram filter indicating it had no matches.
1304 ShardsSkippedFilter int64 `protobuf:"varint,12,opt,name=shards_skipped_filter,json=shardsSkippedFilter,proto3" json:"shards_skipped_filter,omitempty"`
1305 // Number of non-overlapping matches
1306 MatchCount int64 `protobuf:"varint,13,opt,name=match_count,json=matchCount,proto3" json:"match_count,omitempty"`
1307 // Number of candidate matches as a result of searching ngrams.
1308 NgramMatches int64 `protobuf:"varint,14,opt,name=ngram_matches,json=ngramMatches,proto3" json:"ngram_matches,omitempty"`
1309 // Wall clock time for queued search.
1310 Wait *durationpb.Duration `protobuf:"bytes,15,opt,name=wait,proto3" json:"wait,omitempty"`
1311 // Number of times regexp was called on files that we evaluated.
1312 RegexpsConsidered int64 `protobuf:"varint,16,opt,name=regexps_considered,json=regexpsConsidered,proto3" json:"regexps_considered,omitempty"`
1313 // FlushReason explains why results were flushed.
1314 FlushReason FlushReason `protobuf:"varint,17,opt,name=flush_reason,json=flushReason,proto3,enum=grpc.v1.FlushReason" json:"flush_reason,omitempty"`
1315 // NgramLookups is the number of times we accessed an ngram in the index.
1316 NgramLookups int64 `protobuf:"varint,18,opt,name=ngram_lookups,json=ngramLookups,proto3" json:"ngram_lookups,omitempty"`
1317}
1318
1319func (x *Stats) Reset() {
1320 *x = Stats{}
1321 if protoimpl.UnsafeEnabled {
1322 mi := &file_webserver_proto_msgTypes[12]
1323 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324 ms.StoreMessageInfo(mi)
1325 }
1326}
1327
1328func (x *Stats) String() string {
1329 return protoimpl.X.MessageStringOf(x)
1330}
1331
1332func (*Stats) ProtoMessage() {}
1333
1334func (x *Stats) ProtoReflect() protoreflect.Message {
1335 mi := &file_webserver_proto_msgTypes[12]
1336 if protoimpl.UnsafeEnabled && x != nil {
1337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338 if ms.LoadMessageInfo() == nil {
1339 ms.StoreMessageInfo(mi)
1340 }
1341 return ms
1342 }
1343 return mi.MessageOf(x)
1344}
1345
1346// Deprecated: Use Stats.ProtoReflect.Descriptor instead.
1347func (*Stats) Descriptor() ([]byte, []int) {
1348 return file_webserver_proto_rawDescGZIP(), []int{12}
1349}
1350
1351func (x *Stats) GetContentBytesLoaded() int64 {
1352 if x != nil {
1353 return x.ContentBytesLoaded
1354 }
1355 return 0
1356}
1357
1358func (x *Stats) GetIndexBytesLoaded() int64 {
1359 if x != nil {
1360 return x.IndexBytesLoaded
1361 }
1362 return 0
1363}
1364
1365func (x *Stats) GetCrashes() int64 {
1366 if x != nil {
1367 return x.Crashes
1368 }
1369 return 0
1370}
1371
1372func (x *Stats) GetDuration() *durationpb.Duration {
1373 if x != nil {
1374 return x.Duration
1375 }
1376 return nil
1377}
1378
1379func (x *Stats) GetFileCount() int64 {
1380 if x != nil {
1381 return x.FileCount
1382 }
1383 return 0
1384}
1385
1386func (x *Stats) GetShardFilesConsidered() int64 {
1387 if x != nil {
1388 return x.ShardFilesConsidered
1389 }
1390 return 0
1391}
1392
1393func (x *Stats) GetFilesConsidered() int64 {
1394 if x != nil {
1395 return x.FilesConsidered
1396 }
1397 return 0
1398}
1399
1400func (x *Stats) GetFilesLoaded() int64 {
1401 if x != nil {
1402 return x.FilesLoaded
1403 }
1404 return 0
1405}
1406
1407func (x *Stats) GetFilesSkipped() int64 {
1408 if x != nil {
1409 return x.FilesSkipped
1410 }
1411 return 0
1412}
1413
1414func (x *Stats) GetShardsScanned() int64 {
1415 if x != nil {
1416 return x.ShardsScanned
1417 }
1418 return 0
1419}
1420
1421func (x *Stats) GetShardsSkipped() int64 {
1422 if x != nil {
1423 return x.ShardsSkipped
1424 }
1425 return 0
1426}
1427
1428func (x *Stats) GetShardsSkippedFilter() int64 {
1429 if x != nil {
1430 return x.ShardsSkippedFilter
1431 }
1432 return 0
1433}
1434
1435func (x *Stats) GetMatchCount() int64 {
1436 if x != nil {
1437 return x.MatchCount
1438 }
1439 return 0
1440}
1441
1442func (x *Stats) GetNgramMatches() int64 {
1443 if x != nil {
1444 return x.NgramMatches
1445 }
1446 return 0
1447}
1448
1449func (x *Stats) GetWait() *durationpb.Duration {
1450 if x != nil {
1451 return x.Wait
1452 }
1453 return nil
1454}
1455
1456func (x *Stats) GetRegexpsConsidered() int64 {
1457 if x != nil {
1458 return x.RegexpsConsidered
1459 }
1460 return 0
1461}
1462
1463func (x *Stats) GetFlushReason() FlushReason {
1464 if x != nil {
1465 return x.FlushReason
1466 }
1467 return FlushReason_UNKNOWN
1468}
1469
1470func (x *Stats) GetNgramLookups() int64 {
1471 if x != nil {
1472 return x.NgramLookups
1473 }
1474 return 0
1475}
1476
1477// Progress contains information about the global progress of the running search query.
1478// This is used by the frontend to reorder results and emit them when stable.
1479// Sourcegraph specific: this is used when querying multiple zoekt-webserver instances.
1480type Progress struct {
1481 state protoimpl.MessageState
1482 sizeCache protoimpl.SizeCache
1483 unknownFields protoimpl.UnknownFields
1484
1485 // Priority of the shard that was searched.
1486 Priority float64 `protobuf:"fixed64,1,opt,name=priority,proto3" json:"priority,omitempty"`
1487 // max_pending_priority is the maximum priority of pending result that is being searched in parallel.
1488 // This is used to reorder results when the result set is known to be stable-- that is, when a result's
1489 // Priority is greater than the max(MaxPendingPriority) from the latest results of each backend, it can be returned to the user.
1490 //
1491 // max_pending_priority decreases monotonically in each SearchResult.
1492 MaxPendingPriority float64 `protobuf:"fixed64,2,opt,name=max_pending_priority,json=maxPendingPriority,proto3" json:"max_pending_priority,omitempty"`
1493}
1494
1495func (x *Progress) Reset() {
1496 *x = Progress{}
1497 if protoimpl.UnsafeEnabled {
1498 mi := &file_webserver_proto_msgTypes[13]
1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1500 ms.StoreMessageInfo(mi)
1501 }
1502}
1503
1504func (x *Progress) String() string {
1505 return protoimpl.X.MessageStringOf(x)
1506}
1507
1508func (*Progress) ProtoMessage() {}
1509
1510func (x *Progress) ProtoReflect() protoreflect.Message {
1511 mi := &file_webserver_proto_msgTypes[13]
1512 if protoimpl.UnsafeEnabled && x != nil {
1513 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1514 if ms.LoadMessageInfo() == nil {
1515 ms.StoreMessageInfo(mi)
1516 }
1517 return ms
1518 }
1519 return mi.MessageOf(x)
1520}
1521
1522// Deprecated: Use Progress.ProtoReflect.Descriptor instead.
1523func (*Progress) Descriptor() ([]byte, []int) {
1524 return file_webserver_proto_rawDescGZIP(), []int{13}
1525}
1526
1527func (x *Progress) GetPriority() float64 {
1528 if x != nil {
1529 return x.Priority
1530 }
1531 return 0
1532}
1533
1534func (x *Progress) GetMaxPendingPriority() float64 {
1535 if x != nil {
1536 return x.MaxPendingPriority
1537 }
1538 return 0
1539}
1540
1541// FileMatch contains all the matches within a file.
1542type FileMatch struct {
1543 state protoimpl.MessageState
1544 sizeCache protoimpl.SizeCache
1545 unknownFields protoimpl.UnknownFields
1546
1547 // Ranking; the higher, the better.
1548 Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"`
1549 // For debugging. Needs DebugScore set, but public so tests in
1550 // other packages can print some diagnostics.
1551 Debug string `protobuf:"bytes,2,opt,name=debug,proto3" json:"debug,omitempty"`
1552 FileName string `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
1553 // Repository is the globally unique name of the repo of the
1554 // match
1555 Repository string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
1556 Branches []string `protobuf:"bytes,5,rep,name=branches,proto3" json:"branches,omitempty"`
1557 // One of line_matches or chunk_matches will be returned depending on whether
1558 // the SearchOptions.ChunkMatches is set.
1559 LineMatches []*LineMatch `protobuf:"bytes,6,rep,name=line_matches,json=lineMatches,proto3" json:"line_matches,omitempty"`
1560 ChunkMatches []*ChunkMatch `protobuf:"bytes,7,rep,name=chunk_matches,json=chunkMatches,proto3" json:"chunk_matches,omitempty"`
1561 // repository_id is a Sourcegraph extension. This is the ID of Repository in
1562 // Sourcegraph.
1563 RepositoryId uint32 `protobuf:"varint,8,opt,name=repository_id,json=repositoryId,proto3" json:"repository_id,omitempty"`
1564 RepositoryPriority float64 `protobuf:"fixed64,9,opt,name=repository_priority,json=repositoryPriority,proto3" json:"repository_priority,omitempty"`
1565 // Only set if requested
1566 Content []byte `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"`
1567 // Checksum of the content.
1568 Checksum []byte `protobuf:"bytes,11,opt,name=checksum,proto3" json:"checksum,omitempty"`
1569 // Detected language of the result.
1570 Language string `protobuf:"bytes,12,opt,name=language,proto3" json:"language,omitempty"`
1571 // sub_repository_name is the globally unique name of the repo,
1572 // if it came from a subrepository
1573 SubRepositoryName string `protobuf:"bytes,13,opt,name=sub_repository_name,json=subRepositoryName,proto3" json:"sub_repository_name,omitempty"`
1574 // sub_repository_path holds the prefix where the subrepository
1575 // was mounted.
1576 SubRepositoryPath string `protobuf:"bytes,14,opt,name=sub_repository_path,json=subRepositoryPath,proto3" json:"sub_repository_path,omitempty"`
1577 // Commit SHA1 (hex) of the (sub)repo holding the file.
1578 Version string `protobuf:"bytes,15,opt,name=version,proto3" json:"version,omitempty"`
1579}
1580
1581func (x *FileMatch) Reset() {
1582 *x = FileMatch{}
1583 if protoimpl.UnsafeEnabled {
1584 mi := &file_webserver_proto_msgTypes[14]
1585 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586 ms.StoreMessageInfo(mi)
1587 }
1588}
1589
1590func (x *FileMatch) String() string {
1591 return protoimpl.X.MessageStringOf(x)
1592}
1593
1594func (*FileMatch) ProtoMessage() {}
1595
1596func (x *FileMatch) ProtoReflect() protoreflect.Message {
1597 mi := &file_webserver_proto_msgTypes[14]
1598 if protoimpl.UnsafeEnabled && x != nil {
1599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1600 if ms.LoadMessageInfo() == nil {
1601 ms.StoreMessageInfo(mi)
1602 }
1603 return ms
1604 }
1605 return mi.MessageOf(x)
1606}
1607
1608// Deprecated: Use FileMatch.ProtoReflect.Descriptor instead.
1609func (*FileMatch) Descriptor() ([]byte, []int) {
1610 return file_webserver_proto_rawDescGZIP(), []int{14}
1611}
1612
1613func (x *FileMatch) GetScore() float64 {
1614 if x != nil {
1615 return x.Score
1616 }
1617 return 0
1618}
1619
1620func (x *FileMatch) GetDebug() string {
1621 if x != nil {
1622 return x.Debug
1623 }
1624 return ""
1625}
1626
1627func (x *FileMatch) GetFileName() string {
1628 if x != nil {
1629 return x.FileName
1630 }
1631 return ""
1632}
1633
1634func (x *FileMatch) GetRepository() string {
1635 if x != nil {
1636 return x.Repository
1637 }
1638 return ""
1639}
1640
1641func (x *FileMatch) GetBranches() []string {
1642 if x != nil {
1643 return x.Branches
1644 }
1645 return nil
1646}
1647
1648func (x *FileMatch) GetLineMatches() []*LineMatch {
1649 if x != nil {
1650 return x.LineMatches
1651 }
1652 return nil
1653}
1654
1655func (x *FileMatch) GetChunkMatches() []*ChunkMatch {
1656 if x != nil {
1657 return x.ChunkMatches
1658 }
1659 return nil
1660}
1661
1662func (x *FileMatch) GetRepositoryId() uint32 {
1663 if x != nil {
1664 return x.RepositoryId
1665 }
1666 return 0
1667}
1668
1669func (x *FileMatch) GetRepositoryPriority() float64 {
1670 if x != nil {
1671 return x.RepositoryPriority
1672 }
1673 return 0
1674}
1675
1676func (x *FileMatch) GetContent() []byte {
1677 if x != nil {
1678 return x.Content
1679 }
1680 return nil
1681}
1682
1683func (x *FileMatch) GetChecksum() []byte {
1684 if x != nil {
1685 return x.Checksum
1686 }
1687 return nil
1688}
1689
1690func (x *FileMatch) GetLanguage() string {
1691 if x != nil {
1692 return x.Language
1693 }
1694 return ""
1695}
1696
1697func (x *FileMatch) GetSubRepositoryName() string {
1698 if x != nil {
1699 return x.SubRepositoryName
1700 }
1701 return ""
1702}
1703
1704func (x *FileMatch) GetSubRepositoryPath() string {
1705 if x != nil {
1706 return x.SubRepositoryPath
1707 }
1708 return ""
1709}
1710
1711func (x *FileMatch) GetVersion() string {
1712 if x != nil {
1713 return x.Version
1714 }
1715 return ""
1716}
1717
1718type LineMatch struct {
1719 state protoimpl.MessageState
1720 sizeCache protoimpl.SizeCache
1721 unknownFields protoimpl.UnknownFields
1722
1723 Line []byte `protobuf:"bytes,1,opt,name=line,proto3" json:"line,omitempty"`
1724 LineStart int64 `protobuf:"varint,2,opt,name=line_start,json=lineStart,proto3" json:"line_start,omitempty"`
1725 LineEnd int64 `protobuf:"varint,3,opt,name=line_end,json=lineEnd,proto3" json:"line_end,omitempty"`
1726 LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
1727 // before and after are only set when SearchOptions.NumContextLines is > 0
1728 Before []byte `protobuf:"bytes,5,opt,name=before,proto3" json:"before,omitempty"`
1729 After []byte `protobuf:"bytes,6,opt,name=after,proto3" json:"after,omitempty"`
1730 // If set, this was a match on the filename.
1731 FileName bool `protobuf:"varint,7,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
1732 // The higher the better. Only ranks the quality of the match
1733 // within the file, does not take rank of file into account
1734 Score float64 `protobuf:"fixed64,8,opt,name=score,proto3" json:"score,omitempty"`
1735 DebugScore string `protobuf:"bytes,9,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"`
1736 LineFragments []*LineFragmentMatch `protobuf:"bytes,10,rep,name=line_fragments,json=lineFragments,proto3" json:"line_fragments,omitempty"`
1737}
1738
1739func (x *LineMatch) Reset() {
1740 *x = LineMatch{}
1741 if protoimpl.UnsafeEnabled {
1742 mi := &file_webserver_proto_msgTypes[15]
1743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1744 ms.StoreMessageInfo(mi)
1745 }
1746}
1747
1748func (x *LineMatch) String() string {
1749 return protoimpl.X.MessageStringOf(x)
1750}
1751
1752func (*LineMatch) ProtoMessage() {}
1753
1754func (x *LineMatch) ProtoReflect() protoreflect.Message {
1755 mi := &file_webserver_proto_msgTypes[15]
1756 if protoimpl.UnsafeEnabled && x != nil {
1757 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1758 if ms.LoadMessageInfo() == nil {
1759 ms.StoreMessageInfo(mi)
1760 }
1761 return ms
1762 }
1763 return mi.MessageOf(x)
1764}
1765
1766// Deprecated: Use LineMatch.ProtoReflect.Descriptor instead.
1767func (*LineMatch) Descriptor() ([]byte, []int) {
1768 return file_webserver_proto_rawDescGZIP(), []int{15}
1769}
1770
1771func (x *LineMatch) GetLine() []byte {
1772 if x != nil {
1773 return x.Line
1774 }
1775 return nil
1776}
1777
1778func (x *LineMatch) GetLineStart() int64 {
1779 if x != nil {
1780 return x.LineStart
1781 }
1782 return 0
1783}
1784
1785func (x *LineMatch) GetLineEnd() int64 {
1786 if x != nil {
1787 return x.LineEnd
1788 }
1789 return 0
1790}
1791
1792func (x *LineMatch) GetLineNumber() int64 {
1793 if x != nil {
1794 return x.LineNumber
1795 }
1796 return 0
1797}
1798
1799func (x *LineMatch) GetBefore() []byte {
1800 if x != nil {
1801 return x.Before
1802 }
1803 return nil
1804}
1805
1806func (x *LineMatch) GetAfter() []byte {
1807 if x != nil {
1808 return x.After
1809 }
1810 return nil
1811}
1812
1813func (x *LineMatch) GetFileName() bool {
1814 if x != nil {
1815 return x.FileName
1816 }
1817 return false
1818}
1819
1820func (x *LineMatch) GetScore() float64 {
1821 if x != nil {
1822 return x.Score
1823 }
1824 return 0
1825}
1826
1827func (x *LineMatch) GetDebugScore() string {
1828 if x != nil {
1829 return x.DebugScore
1830 }
1831 return ""
1832}
1833
1834func (x *LineMatch) GetLineFragments() []*LineFragmentMatch {
1835 if x != nil {
1836 return x.LineFragments
1837 }
1838 return nil
1839}
1840
1841type LineFragmentMatch struct {
1842 state protoimpl.MessageState
1843 sizeCache protoimpl.SizeCache
1844 unknownFields protoimpl.UnknownFields
1845
1846 // Offset within the line, in bytes.
1847 LineOffset int64 `protobuf:"varint,1,opt,name=line_offset,json=lineOffset,proto3" json:"line_offset,omitempty"`
1848 // Offset from file start, in bytes.
1849 Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
1850 // Number bytes that match.
1851 MatchLength int64 `protobuf:"varint,3,opt,name=match_length,json=matchLength,proto3" json:"match_length,omitempty"`
1852 SymbolInfo *SymbolInfo `protobuf:"bytes,4,opt,name=symbol_info,json=symbolInfo,proto3,oneof" json:"symbol_info,omitempty"`
1853}
1854
1855func (x *LineFragmentMatch) Reset() {
1856 *x = LineFragmentMatch{}
1857 if protoimpl.UnsafeEnabled {
1858 mi := &file_webserver_proto_msgTypes[16]
1859 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1860 ms.StoreMessageInfo(mi)
1861 }
1862}
1863
1864func (x *LineFragmentMatch) String() string {
1865 return protoimpl.X.MessageStringOf(x)
1866}
1867
1868func (*LineFragmentMatch) ProtoMessage() {}
1869
1870func (x *LineFragmentMatch) ProtoReflect() protoreflect.Message {
1871 mi := &file_webserver_proto_msgTypes[16]
1872 if protoimpl.UnsafeEnabled && x != nil {
1873 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1874 if ms.LoadMessageInfo() == nil {
1875 ms.StoreMessageInfo(mi)
1876 }
1877 return ms
1878 }
1879 return mi.MessageOf(x)
1880}
1881
1882// Deprecated: Use LineFragmentMatch.ProtoReflect.Descriptor instead.
1883func (*LineFragmentMatch) Descriptor() ([]byte, []int) {
1884 return file_webserver_proto_rawDescGZIP(), []int{16}
1885}
1886
1887func (x *LineFragmentMatch) GetLineOffset() int64 {
1888 if x != nil {
1889 return x.LineOffset
1890 }
1891 return 0
1892}
1893
1894func (x *LineFragmentMatch) GetOffset() uint32 {
1895 if x != nil {
1896 return x.Offset
1897 }
1898 return 0
1899}
1900
1901func (x *LineFragmentMatch) GetMatchLength() int64 {
1902 if x != nil {
1903 return x.MatchLength
1904 }
1905 return 0
1906}
1907
1908func (x *LineFragmentMatch) GetSymbolInfo() *SymbolInfo {
1909 if x != nil {
1910 return x.SymbolInfo
1911 }
1912 return nil
1913}
1914
1915type SymbolInfo struct {
1916 state protoimpl.MessageState
1917 sizeCache protoimpl.SizeCache
1918 unknownFields protoimpl.UnknownFields
1919
1920 Sym string `protobuf:"bytes,1,opt,name=sym,proto3" json:"sym,omitempty"`
1921 Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
1922 Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
1923 ParentKind string `protobuf:"bytes,4,opt,name=parent_kind,json=parentKind,proto3" json:"parent_kind,omitempty"`
1924}
1925
1926func (x *SymbolInfo) Reset() {
1927 *x = SymbolInfo{}
1928 if protoimpl.UnsafeEnabled {
1929 mi := &file_webserver_proto_msgTypes[17]
1930 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1931 ms.StoreMessageInfo(mi)
1932 }
1933}
1934
1935func (x *SymbolInfo) String() string {
1936 return protoimpl.X.MessageStringOf(x)
1937}
1938
1939func (*SymbolInfo) ProtoMessage() {}
1940
1941func (x *SymbolInfo) ProtoReflect() protoreflect.Message {
1942 mi := &file_webserver_proto_msgTypes[17]
1943 if protoimpl.UnsafeEnabled && x != nil {
1944 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1945 if ms.LoadMessageInfo() == nil {
1946 ms.StoreMessageInfo(mi)
1947 }
1948 return ms
1949 }
1950 return mi.MessageOf(x)
1951}
1952
1953// Deprecated: Use SymbolInfo.ProtoReflect.Descriptor instead.
1954func (*SymbolInfo) Descriptor() ([]byte, []int) {
1955 return file_webserver_proto_rawDescGZIP(), []int{17}
1956}
1957
1958func (x *SymbolInfo) GetSym() string {
1959 if x != nil {
1960 return x.Sym
1961 }
1962 return ""
1963}
1964
1965func (x *SymbolInfo) GetKind() string {
1966 if x != nil {
1967 return x.Kind
1968 }
1969 return ""
1970}
1971
1972func (x *SymbolInfo) GetParent() string {
1973 if x != nil {
1974 return x.Parent
1975 }
1976 return ""
1977}
1978
1979func (x *SymbolInfo) GetParentKind() string {
1980 if x != nil {
1981 return x.ParentKind
1982 }
1983 return ""
1984}
1985
1986type ChunkMatch struct {
1987 state protoimpl.MessageState
1988 sizeCache protoimpl.SizeCache
1989 unknownFields protoimpl.UnknownFields
1990
1991 // A contiguous range of complete lines that fully contains Ranges.
1992 Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
1993 // The location (inclusive) of the beginning of content
1994 // relative to the beginning of the file. It will always be at the
1995 // beginning of a line (Column will always be 1).
1996 ContentStart *Location `protobuf:"bytes,2,opt,name=content_start,json=contentStart,proto3" json:"content_start,omitempty"`
1997 // True if this match is a match on the file name, in
1998 // which case Content will contain the file name.
1999 FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
2000 // A set of matching ranges within this chunk. Each range is relative
2001 // to the beginning of the file (not the beginning of Content).
2002 Ranges []*Range `protobuf:"bytes,4,rep,name=ranges,proto3" json:"ranges,omitempty"`
2003 // The symbol information associated with Ranges. If it is non-nil,
2004 // its length will equal that of Ranges. Any of its elements may be nil.
2005 SymbolInfo []*SymbolInfo `protobuf:"bytes,5,rep,name=symbol_info,json=symbolInfo,proto3" json:"symbol_info,omitempty"`
2006 Score float64 `protobuf:"fixed64,6,opt,name=score,proto3" json:"score,omitempty"`
2007 DebugScore string `protobuf:"bytes,7,opt,name=debug_score,json=debugScore,proto3" json:"debug_score,omitempty"`
2008}
2009
2010func (x *ChunkMatch) Reset() {
2011 *x = ChunkMatch{}
2012 if protoimpl.UnsafeEnabled {
2013 mi := &file_webserver_proto_msgTypes[18]
2014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2015 ms.StoreMessageInfo(mi)
2016 }
2017}
2018
2019func (x *ChunkMatch) String() string {
2020 return protoimpl.X.MessageStringOf(x)
2021}
2022
2023func (*ChunkMatch) ProtoMessage() {}
2024
2025func (x *ChunkMatch) ProtoReflect() protoreflect.Message {
2026 mi := &file_webserver_proto_msgTypes[18]
2027 if protoimpl.UnsafeEnabled && x != nil {
2028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2029 if ms.LoadMessageInfo() == nil {
2030 ms.StoreMessageInfo(mi)
2031 }
2032 return ms
2033 }
2034 return mi.MessageOf(x)
2035}
2036
2037// Deprecated: Use ChunkMatch.ProtoReflect.Descriptor instead.
2038func (*ChunkMatch) Descriptor() ([]byte, []int) {
2039 return file_webserver_proto_rawDescGZIP(), []int{18}
2040}
2041
2042func (x *ChunkMatch) GetContent() []byte {
2043 if x != nil {
2044 return x.Content
2045 }
2046 return nil
2047}
2048
2049func (x *ChunkMatch) GetContentStart() *Location {
2050 if x != nil {
2051 return x.ContentStart
2052 }
2053 return nil
2054}
2055
2056func (x *ChunkMatch) GetFileName() bool {
2057 if x != nil {
2058 return x.FileName
2059 }
2060 return false
2061}
2062
2063func (x *ChunkMatch) GetRanges() []*Range {
2064 if x != nil {
2065 return x.Ranges
2066 }
2067 return nil
2068}
2069
2070func (x *ChunkMatch) GetSymbolInfo() []*SymbolInfo {
2071 if x != nil {
2072 return x.SymbolInfo
2073 }
2074 return nil
2075}
2076
2077func (x *ChunkMatch) GetScore() float64 {
2078 if x != nil {
2079 return x.Score
2080 }
2081 return 0
2082}
2083
2084func (x *ChunkMatch) GetDebugScore() string {
2085 if x != nil {
2086 return x.DebugScore
2087 }
2088 return ""
2089}
2090
2091type Range struct {
2092 state protoimpl.MessageState
2093 sizeCache protoimpl.SizeCache
2094 unknownFields protoimpl.UnknownFields
2095
2096 // The inclusive beginning of the range.
2097 Start *Location `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
2098 // The exclusive end of the range.
2099 End *Location `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
2100}
2101
2102func (x *Range) Reset() {
2103 *x = Range{}
2104 if protoimpl.UnsafeEnabled {
2105 mi := &file_webserver_proto_msgTypes[19]
2106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2107 ms.StoreMessageInfo(mi)
2108 }
2109}
2110
2111func (x *Range) String() string {
2112 return protoimpl.X.MessageStringOf(x)
2113}
2114
2115func (*Range) ProtoMessage() {}
2116
2117func (x *Range) ProtoReflect() protoreflect.Message {
2118 mi := &file_webserver_proto_msgTypes[19]
2119 if protoimpl.UnsafeEnabled && x != nil {
2120 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2121 if ms.LoadMessageInfo() == nil {
2122 ms.StoreMessageInfo(mi)
2123 }
2124 return ms
2125 }
2126 return mi.MessageOf(x)
2127}
2128
2129// Deprecated: Use Range.ProtoReflect.Descriptor instead.
2130func (*Range) Descriptor() ([]byte, []int) {
2131 return file_webserver_proto_rawDescGZIP(), []int{19}
2132}
2133
2134func (x *Range) GetStart() *Location {
2135 if x != nil {
2136 return x.Start
2137 }
2138 return nil
2139}
2140
2141func (x *Range) GetEnd() *Location {
2142 if x != nil {
2143 return x.End
2144 }
2145 return nil
2146}
2147
2148type Location struct {
2149 state protoimpl.MessageState
2150 sizeCache protoimpl.SizeCache
2151 unknownFields protoimpl.UnknownFields
2152
2153 // 0-based byte offset from the beginning of the file
2154 ByteOffset uint32 `protobuf:"varint,1,opt,name=byte_offset,json=byteOffset,proto3" json:"byte_offset,omitempty"`
2155 // 1-based line number from the beginning of the file
2156 LineNumber uint32 `protobuf:"varint,2,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
2157 // 1-based column number (in runes) from the beginning of line
2158 Column uint32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
2159}
2160
2161func (x *Location) Reset() {
2162 *x = Location{}
2163 if protoimpl.UnsafeEnabled {
2164 mi := &file_webserver_proto_msgTypes[20]
2165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2166 ms.StoreMessageInfo(mi)
2167 }
2168}
2169
2170func (x *Location) String() string {
2171 return protoimpl.X.MessageStringOf(x)
2172}
2173
2174func (*Location) ProtoMessage() {}
2175
2176func (x *Location) ProtoReflect() protoreflect.Message {
2177 mi := &file_webserver_proto_msgTypes[20]
2178 if protoimpl.UnsafeEnabled && x != nil {
2179 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2180 if ms.LoadMessageInfo() == nil {
2181 ms.StoreMessageInfo(mi)
2182 }
2183 return ms
2184 }
2185 return mi.MessageOf(x)
2186}
2187
2188// Deprecated: Use Location.ProtoReflect.Descriptor instead.
2189func (*Location) Descriptor() ([]byte, []int) {
2190 return file_webserver_proto_rawDescGZIP(), []int{20}
2191}
2192
2193func (x *Location) GetByteOffset() uint32 {
2194 if x != nil {
2195 return x.ByteOffset
2196 }
2197 return 0
2198}
2199
2200func (x *Location) GetLineNumber() uint32 {
2201 if x != nil {
2202 return x.LineNumber
2203 }
2204 return 0
2205}
2206
2207func (x *Location) GetColumn() uint32 {
2208 if x != nil {
2209 return x.Column
2210 }
2211 return 0
2212}
2213
2214var File_webserver_proto protoreflect.FileDescriptor
2215
2216var file_webserver_proto_rawDesc = []byte{
2217 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2218 0x6f, 0x12, 0x07, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
2219 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61,
2220 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
2221 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
2222 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x71, 0x75, 0x65,
2223 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72,
2224 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x05, 0x71, 0x75, 0x65,
2225 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
2226 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x6f,
2227 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63,
2228 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2229 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xa5, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72,
2230 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74,
2231 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x72, 0x70, 0x63,
2232 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
2233 0x12, 0x2d, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
2234 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f,
2235 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
2236 0x28, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
2237 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x61, 0x74,
2238 0x63, 0x68, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x70,
2239 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67,
2240 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73,
2241 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x73, 0x45, 0x6e,
2242 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x51, 0x0a,
2243 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
2244 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
2245 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c,
2246 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72,
2247 0x79, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73,
2248 0x1a, 0x3b, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
2249 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
2250 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
2251 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a,
2252 0x12, 0x4c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e,
2253 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2254 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
2255 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
2256 0xc4, 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2257 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6f,
2258 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65,
2259 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
2260 0x14, 0x0a, 0x05, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
2261 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d,
2262 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
2263 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x78, 0x4d, 0x61,
2264 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61,
2265 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
2266 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x61,
2267 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x73,
2268 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61,
2269 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
2270 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x78, 0x4d, 0x61, 0x74,
2271 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x77,
2272 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
2273 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2274 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61,
2275 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f,
2276 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
2277 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2278 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x73,
2279 0x68, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x61, 0x78,
2280 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75,
2281 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x44, 0x6f, 0x63,
2282 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11,
2283 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65,
2284 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x74,
2285 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e,
2286 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
2287 0x0c, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x2c, 0x0a,
2288 0x12, 0x75, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61,
2289 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x44, 0x6f,
2290 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64,
2291 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x5f, 0x77, 0x65,
2292 0x69, 0x67, 0x68, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75,
2293 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
2294 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
2295 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73,
2296 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75,
2297 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x6b, 0x65,
2298 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20,
2299 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x53,
2300 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x59, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
2301 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01,
2302 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x51,
2303 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18,
2304 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
2305 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74,
2306 0x73, 0x22, 0xe7, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2307 0x73, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
2308 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f,
2309 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x46,
2310 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d,
2311 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x69,
2312 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69,
2313 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x5f,
2314 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
2315 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53,
2316 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x10, 0x01, 0x12,
2317 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45,
2318 0x4c, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19,
2319 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f,
2320 0x52, 0x45, 0x50, 0x4f, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x03, 0x22, 0xb7, 0x03, 0x0a, 0x0c,
2321 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05,
2322 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72,
2323 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
2324 0x74, 0x72, 0x79, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x72, 0x65,
2325 0x70, 0x6f, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e,
2326 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
2327 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
2328 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07,
2329 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63,
2330 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18,
2331 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
2332 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
2333 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28,
2334 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
2335 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c,
2336 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x1a, 0x5a,
2337 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
2338 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
2339 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
2340 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d,
2341 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
2342 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x59, 0x0a, 0x0c, 0x4d, 0x69,
2343 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
2344 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05,
2345 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72,
2346 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x70,
2347 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
2348 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69,
2349 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
2350 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72,
2351 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
2352 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x0e,
2353 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
2354 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x49,
2355 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x69, 0x6e,
2356 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x05, 0x73,
2357 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70,
2358 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
2359 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xc5, 0x06, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
2360 0x74, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
2361 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
2362 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
2363 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f,
2364 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
2365 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05,
2366 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52,
2367 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52,
2368 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x73, 0x75, 0x62,
2369 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
2370 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
2371 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x45,
2372 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70,
2373 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74,
2374 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63,
2375 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
2376 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x65, 0x6d,
2377 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x6c,
2378 0x65, 0x55, 0x72, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16,
2379 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65,
2380 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x69,
2381 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
2382 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a,
2383 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41,
2384 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x03,
2385 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70,
2386 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2387 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2388 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
2389 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f,
2390 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e,
2391 0x64, 0x65, 0x78, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61,
2392 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
2393 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74,
2394 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
2395 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x61, 0x74,
2396 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18,
2397 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2398 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
2399 0x70, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44,
2400 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x6f, 0x6d, 0x62, 0x73,
2401 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x46, 0x69, 0x6c,
2402 0x65, 0x54, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x1a, 0x52, 0x0a, 0x0f, 0x53,
2403 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
2404 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
2405 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2406 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
2407 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
2408 0x3c, 0x0a, 0x0e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72,
2409 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
2410 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
2411 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcb, 0x03,
2412 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
2413 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f,
2414 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69,
2415 0x6e, 0x64, 0x65, 0x78, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
2416 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75,
2417 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
2418 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65,
2419 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6d,
2420 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2421 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x69,
2422 0x6e, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39,
2423 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
2424 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2425 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
2426 0x69, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61,
2427 0x69, 0x6e, 0x5f, 0x61, 0x73, 0x63, 0x69, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
2428 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x41, 0x73, 0x63, 0x69, 0x69, 0x12, 0x4a, 0x0a, 0x0c, 0x6c, 0x61,
2429 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
2430 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78,
2431 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
2432 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x75,
2433 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x5f,
2434 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x7a,
2435 0x6f, 0x65, 0x6b, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69,
2436 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x3e, 0x0a, 0x10, 0x4c,
2437 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
2438 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
2439 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
2440 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x14,
2441 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x45,
2442 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62,
2443 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x53, 0x79,
2444 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65,
2445 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76,
2446 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e,
2447 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f,
2448 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18,
2449 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65,
2450 0x55, 0x6e, 0x69, 0x78, 0x22, 0x40, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
2451 0x72, 0x79, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2452 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
2453 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
2454 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x53,
2455 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20,
2456 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68,
2457 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72,
2458 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
2459 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
2460 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
2461 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x74, 0x65,
2462 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74,
2463 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
2464 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69,
2465 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52,
2466 0x0d, 0x6e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42,
2467 0x0a, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
2468 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
2469 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42,
2470 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x43, 0x6f, 0x75,
2471 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x62, 0x72, 0x61, 0x6e,
2472 0x63, 0x68, 0x65, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x63,
2473 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x6f, 0x74, 0x68, 0x65,
2474 0x72, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x4e, 0x65, 0x77, 0x4c, 0x69, 0x6e, 0x65,
2475 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x06, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x73,
2476 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65,
2477 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
2478 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64,
2479 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65,
2480 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10,
2481 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x65, 0x64,
2482 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
2483 0x03, 0x52, 0x07, 0x63, 0x72, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75,
2484 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
2485 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
2486 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
2487 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
2488 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
2489 0x12, 0x34, 0x0a, 0x16, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f,
2490 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
2491 0x52, 0x14, 0x73, 0x68, 0x61, 0x72, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73,
2492 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f,
2493 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
2494 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65,
2495 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x65,
2496 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x4c, 0x6f,
2497 0x61, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x6b,
2498 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6c,
2499 0x65, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61,
2500 0x72, 0x64, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
2501 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64,
2502 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70,
2503 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73,
2504 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64,
2505 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
2506 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x53, 0x6b,
2507 0x69, 0x70, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
2508 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03,
2509 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d,
2510 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x0e, 0x20,
2511 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
2512 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x77, 0x61, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
2513 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2514 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74,
2515 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73,
2516 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x72, 0x65,
2517 0x67, 0x65, 0x78, 0x70, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x12,
2518 0x37, 0x0a, 0x0c, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
2519 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e,
2520 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x66, 0x6c, 0x75,
2521 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x67, 0x72, 0x61,
2522 0x6d, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52,
2523 0x0c, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x58, 0x0a,
2524 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69,
2525 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69,
2526 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e,
2527 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20,
2528 0x01, 0x28, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50,
2529 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa3, 0x04, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65,
2530 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01,
2531 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64,
2532 0x65, 0x62, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75,
2533 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
2534 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e,
2535 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01,
2536 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a,
2537 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
2538 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x6c, 0x69,
2539 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
2540 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x4d,
2541 0x61, 0x74, 0x63, 0x68, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
2542 0x73, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
2543 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
2544 0x76, 0x31, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 0x63,
2545 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72,
2546 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
2547 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64,
2548 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70,
2549 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x72,
2550 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
2551 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
2552 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63,
2553 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63,
2554 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75,
2555 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75,
2556 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73,
2557 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
2558 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4e,
2559 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73,
2560 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
2561 0x52, 0x11, 0x73, 0x75, 0x62, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50,
2562 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f,
2563 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x02,
2564 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c,
2565 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12,
2566 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20,
2567 0x01, 0x28, 0x03, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x19,
2568 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
2569 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e,
2570 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
2571 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x65,
2572 0x66, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f,
2573 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
2574 0x0c, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65,
2575 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6c,
2576 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08,
2577 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64,
2578 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
2579 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x0e,
2580 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a,
2581 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
2582 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
2583 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22,
2584 0xba, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
2585 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66,
2586 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65,
2587 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
2588 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x21,
2589 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03,
2590 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74,
2591 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
2592 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
2593 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x73,
2594 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c,
2595 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x6b, 0x0a, 0x0a,
2596 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x79,
2597 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x79, 0x6d, 0x12, 0x12, 0x0a, 0x04,
2598 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64,
2599 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2600 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65,
2601 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70,
2602 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x43, 0x68,
2603 0x75, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
2604 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
2605 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74,
2606 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63,
2607 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f,
2608 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69,
2609 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66,
2610 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65,
2611 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76,
2612 0x31, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12,
2613 0x34, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05,
2614 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53,
2615 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f,
2616 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06,
2617 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64,
2618 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
2619 0x52, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x55, 0x0a, 0x05,
2620 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01,
2621 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
2622 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23,
2623 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x72,
2624 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03,
2625 0x65, 0x6e, 0x64, 0x22, 0x64, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2626 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01,
2627 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74,
2628 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
2629 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
2630 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
2631 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2a, 0x4c, 0x0a, 0x0b, 0x46, 0x6c, 0x75,
2632 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
2633 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x49, 0x4d, 0x45, 0x52, 0x5f, 0x45,
2634 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x41,
2635 0x4c, 0x5f, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x58,
2636 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x32, 0xcb, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x73,
2637 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06,
2638 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
2639 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
2640 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
2641 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0c, 0x53, 0x74, 0x72,
2642 0x65, 0x61, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63,
2643 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2644 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72,
2645 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x35,
2646 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31,
2647 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67,
2648 0x72, 0x70, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
2649 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
2650 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f,
2651 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70,
2652 0x72, 0x6f, 0x74, 0x6f, 0x33,
2653}
2654
2655var (
2656 file_webserver_proto_rawDescOnce sync.Once
2657 file_webserver_proto_rawDescData = file_webserver_proto_rawDesc
2658)
2659
2660func file_webserver_proto_rawDescGZIP() []byte {
2661 file_webserver_proto_rawDescOnce.Do(func() {
2662 file_webserver_proto_rawDescData = protoimpl.X.CompressGZIP(file_webserver_proto_rawDescData)
2663 })
2664 return file_webserver_proto_rawDescData
2665}
2666
2667var file_webserver_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2668var file_webserver_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
2669var file_webserver_proto_goTypes = []interface{}{
2670 (FlushReason)(0), // 0: grpc.v1.FlushReason
2671 (ListOptions_RepoListField)(0), // 1: grpc.v1.ListOptions.RepoListField
2672 (*SearchRequest)(nil), // 2: grpc.v1.SearchRequest
2673 (*SearchResponse)(nil), // 3: grpc.v1.SearchResponse
2674 (*SearchOptions)(nil), // 4: grpc.v1.SearchOptions
2675 (*ListRequest)(nil), // 5: grpc.v1.ListRequest
2676 (*ListOptions)(nil), // 6: grpc.v1.ListOptions
2677 (*ListResponse)(nil), // 7: grpc.v1.ListResponse
2678 (*RepoListEntry)(nil), // 8: grpc.v1.RepoListEntry
2679 (*Repository)(nil), // 9: grpc.v1.Repository
2680 (*IndexMetadata)(nil), // 10: grpc.v1.IndexMetadata
2681 (*MinimalRepoListEntry)(nil), // 11: grpc.v1.MinimalRepoListEntry
2682 (*RepositoryBranch)(nil), // 12: grpc.v1.RepositoryBranch
2683 (*RepoStats)(nil), // 13: grpc.v1.RepoStats
2684 (*Stats)(nil), // 14: grpc.v1.Stats
2685 (*Progress)(nil), // 15: grpc.v1.Progress
2686 (*FileMatch)(nil), // 16: grpc.v1.FileMatch
2687 (*LineMatch)(nil), // 17: grpc.v1.LineMatch
2688 (*LineFragmentMatch)(nil), // 18: grpc.v1.LineFragmentMatch
2689 (*SymbolInfo)(nil), // 19: grpc.v1.SymbolInfo
2690 (*ChunkMatch)(nil), // 20: grpc.v1.ChunkMatch
2691 (*Range)(nil), // 21: grpc.v1.Range
2692 (*Location)(nil), // 22: grpc.v1.Location
2693 nil, // 23: grpc.v1.SearchResponse.RepoUrlsEntry
2694 nil, // 24: grpc.v1.SearchResponse.LineFragmentsEntry
2695 nil, // 25: grpc.v1.ListResponse.ReposMapEntry
2696 nil, // 26: grpc.v1.ListResponse.MinimalEntry
2697 nil, // 27: grpc.v1.Repository.SubRepoMapEntry
2698 nil, // 28: grpc.v1.Repository.RawConfigEntry
2699 nil, // 29: grpc.v1.IndexMetadata.LanguageMapEntry
2700 (*Q)(nil), // 30: grpc.v1.Q
2701 (*durationpb.Duration)(nil), // 31: google.protobuf.Duration
2702 (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp
2703}
2704var file_webserver_proto_depIdxs = []int32{
2705 30, // 0: grpc.v1.SearchRequest.query:type_name -> grpc.v1.Q
2706 4, // 1: grpc.v1.SearchRequest.opts:type_name -> grpc.v1.SearchOptions
2707 14, // 2: grpc.v1.SearchResponse.stats:type_name -> grpc.v1.Stats
2708 15, // 3: grpc.v1.SearchResponse.progress:type_name -> grpc.v1.Progress
2709 16, // 4: grpc.v1.SearchResponse.files:type_name -> grpc.v1.FileMatch
2710 23, // 5: grpc.v1.SearchResponse.repo_urls:type_name -> grpc.v1.SearchResponse.RepoUrlsEntry
2711 24, // 6: grpc.v1.SearchResponse.line_fragments:type_name -> grpc.v1.SearchResponse.LineFragmentsEntry
2712 31, // 7: grpc.v1.SearchOptions.max_wall_time:type_name -> google.protobuf.Duration
2713 31, // 8: grpc.v1.SearchOptions.flush_wall_time:type_name -> google.protobuf.Duration
2714 30, // 9: grpc.v1.ListRequest.query:type_name -> grpc.v1.Q
2715 6, // 10: grpc.v1.ListRequest.opts:type_name -> grpc.v1.ListOptions
2716 1, // 11: grpc.v1.ListOptions.field:type_name -> grpc.v1.ListOptions.RepoListField
2717 8, // 12: grpc.v1.ListResponse.repos:type_name -> grpc.v1.RepoListEntry
2718 25, // 13: grpc.v1.ListResponse.repos_map:type_name -> grpc.v1.ListResponse.ReposMapEntry
2719 13, // 14: grpc.v1.ListResponse.stats:type_name -> grpc.v1.RepoStats
2720 26, // 15: grpc.v1.ListResponse.minimal:type_name -> grpc.v1.ListResponse.MinimalEntry
2721 9, // 16: grpc.v1.RepoListEntry.repository:type_name -> grpc.v1.Repository
2722 10, // 17: grpc.v1.RepoListEntry.index_metadata:type_name -> grpc.v1.IndexMetadata
2723 13, // 18: grpc.v1.RepoListEntry.stats:type_name -> grpc.v1.RepoStats
2724 12, // 19: grpc.v1.Repository.branches:type_name -> grpc.v1.RepositoryBranch
2725 27, // 20: grpc.v1.Repository.sub_repo_map:type_name -> grpc.v1.Repository.SubRepoMapEntry
2726 28, // 21: grpc.v1.Repository.raw_config:type_name -> grpc.v1.Repository.RawConfigEntry
2727 32, // 22: grpc.v1.Repository.latest_commit_date:type_name -> google.protobuf.Timestamp
2728 32, // 23: grpc.v1.IndexMetadata.index_time:type_name -> google.protobuf.Timestamp
2729 29, // 24: grpc.v1.IndexMetadata.language_map:type_name -> grpc.v1.IndexMetadata.LanguageMapEntry
2730 12, // 25: grpc.v1.MinimalRepoListEntry.branches:type_name -> grpc.v1.RepositoryBranch
2731 31, // 26: grpc.v1.Stats.duration:type_name -> google.protobuf.Duration
2732 31, // 27: grpc.v1.Stats.wait:type_name -> google.protobuf.Duration
2733 0, // 28: grpc.v1.Stats.flush_reason:type_name -> grpc.v1.FlushReason
2734 17, // 29: grpc.v1.FileMatch.line_matches:type_name -> grpc.v1.LineMatch
2735 20, // 30: grpc.v1.FileMatch.chunk_matches:type_name -> grpc.v1.ChunkMatch
2736 18, // 31: grpc.v1.LineMatch.line_fragments:type_name -> grpc.v1.LineFragmentMatch
2737 19, // 32: grpc.v1.LineFragmentMatch.symbol_info:type_name -> grpc.v1.SymbolInfo
2738 22, // 33: grpc.v1.ChunkMatch.content_start:type_name -> grpc.v1.Location
2739 21, // 34: grpc.v1.ChunkMatch.ranges:type_name -> grpc.v1.Range
2740 19, // 35: grpc.v1.ChunkMatch.symbol_info:type_name -> grpc.v1.SymbolInfo
2741 22, // 36: grpc.v1.Range.start:type_name -> grpc.v1.Location
2742 22, // 37: grpc.v1.Range.end:type_name -> grpc.v1.Location
2743 11, // 38: grpc.v1.ListResponse.ReposMapEntry.value:type_name -> grpc.v1.MinimalRepoListEntry
2744 11, // 39: grpc.v1.ListResponse.MinimalEntry.value:type_name -> grpc.v1.MinimalRepoListEntry
2745 9, // 40: grpc.v1.Repository.SubRepoMapEntry.value:type_name -> grpc.v1.Repository
2746 2, // 41: grpc.v1.WebserverService.Search:input_type -> grpc.v1.SearchRequest
2747 2, // 42: grpc.v1.WebserverService.StreamSearch:input_type -> grpc.v1.SearchRequest
2748 5, // 43: grpc.v1.WebserverService.List:input_type -> grpc.v1.ListRequest
2749 3, // 44: grpc.v1.WebserverService.Search:output_type -> grpc.v1.SearchResponse
2750 3, // 45: grpc.v1.WebserverService.StreamSearch:output_type -> grpc.v1.SearchResponse
2751 7, // 46: grpc.v1.WebserverService.List:output_type -> grpc.v1.ListResponse
2752 44, // [44:47] is the sub-list for method output_type
2753 41, // [41:44] is the sub-list for method input_type
2754 41, // [41:41] is the sub-list for extension type_name
2755 41, // [41:41] is the sub-list for extension extendee
2756 0, // [0:41] is the sub-list for field type_name
2757}
2758
2759func init() { file_webserver_proto_init() }
2760func file_webserver_proto_init() {
2761 if File_webserver_proto != nil {
2762 return
2763 }
2764 file_query_proto_init()
2765 if !protoimpl.UnsafeEnabled {
2766 file_webserver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2767 switch v := v.(*SearchRequest); i {
2768 case 0:
2769 return &v.state
2770 case 1:
2771 return &v.sizeCache
2772 case 2:
2773 return &v.unknownFields
2774 default:
2775 return nil
2776 }
2777 }
2778 file_webserver_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2779 switch v := v.(*SearchResponse); i {
2780 case 0:
2781 return &v.state
2782 case 1:
2783 return &v.sizeCache
2784 case 2:
2785 return &v.unknownFields
2786 default:
2787 return nil
2788 }
2789 }
2790 file_webserver_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2791 switch v := v.(*SearchOptions); i {
2792 case 0:
2793 return &v.state
2794 case 1:
2795 return &v.sizeCache
2796 case 2:
2797 return &v.unknownFields
2798 default:
2799 return nil
2800 }
2801 }
2802 file_webserver_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2803 switch v := v.(*ListRequest); i {
2804 case 0:
2805 return &v.state
2806 case 1:
2807 return &v.sizeCache
2808 case 2:
2809 return &v.unknownFields
2810 default:
2811 return nil
2812 }
2813 }
2814 file_webserver_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2815 switch v := v.(*ListOptions); i {
2816 case 0:
2817 return &v.state
2818 case 1:
2819 return &v.sizeCache
2820 case 2:
2821 return &v.unknownFields
2822 default:
2823 return nil
2824 }
2825 }
2826 file_webserver_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2827 switch v := v.(*ListResponse); i {
2828 case 0:
2829 return &v.state
2830 case 1:
2831 return &v.sizeCache
2832 case 2:
2833 return &v.unknownFields
2834 default:
2835 return nil
2836 }
2837 }
2838 file_webserver_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2839 switch v := v.(*RepoListEntry); i {
2840 case 0:
2841 return &v.state
2842 case 1:
2843 return &v.sizeCache
2844 case 2:
2845 return &v.unknownFields
2846 default:
2847 return nil
2848 }
2849 }
2850 file_webserver_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2851 switch v := v.(*Repository); i {
2852 case 0:
2853 return &v.state
2854 case 1:
2855 return &v.sizeCache
2856 case 2:
2857 return &v.unknownFields
2858 default:
2859 return nil
2860 }
2861 }
2862 file_webserver_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2863 switch v := v.(*IndexMetadata); i {
2864 case 0:
2865 return &v.state
2866 case 1:
2867 return &v.sizeCache
2868 case 2:
2869 return &v.unknownFields
2870 default:
2871 return nil
2872 }
2873 }
2874 file_webserver_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2875 switch v := v.(*MinimalRepoListEntry); i {
2876 case 0:
2877 return &v.state
2878 case 1:
2879 return &v.sizeCache
2880 case 2:
2881 return &v.unknownFields
2882 default:
2883 return nil
2884 }
2885 }
2886 file_webserver_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2887 switch v := v.(*RepositoryBranch); i {
2888 case 0:
2889 return &v.state
2890 case 1:
2891 return &v.sizeCache
2892 case 2:
2893 return &v.unknownFields
2894 default:
2895 return nil
2896 }
2897 }
2898 file_webserver_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2899 switch v := v.(*RepoStats); i {
2900 case 0:
2901 return &v.state
2902 case 1:
2903 return &v.sizeCache
2904 case 2:
2905 return &v.unknownFields
2906 default:
2907 return nil
2908 }
2909 }
2910 file_webserver_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2911 switch v := v.(*Stats); i {
2912 case 0:
2913 return &v.state
2914 case 1:
2915 return &v.sizeCache
2916 case 2:
2917 return &v.unknownFields
2918 default:
2919 return nil
2920 }
2921 }
2922 file_webserver_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2923 switch v := v.(*Progress); i {
2924 case 0:
2925 return &v.state
2926 case 1:
2927 return &v.sizeCache
2928 case 2:
2929 return &v.unknownFields
2930 default:
2931 return nil
2932 }
2933 }
2934 file_webserver_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2935 switch v := v.(*FileMatch); i {
2936 case 0:
2937 return &v.state
2938 case 1:
2939 return &v.sizeCache
2940 case 2:
2941 return &v.unknownFields
2942 default:
2943 return nil
2944 }
2945 }
2946 file_webserver_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2947 switch v := v.(*LineMatch); i {
2948 case 0:
2949 return &v.state
2950 case 1:
2951 return &v.sizeCache
2952 case 2:
2953 return &v.unknownFields
2954 default:
2955 return nil
2956 }
2957 }
2958 file_webserver_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2959 switch v := v.(*LineFragmentMatch); i {
2960 case 0:
2961 return &v.state
2962 case 1:
2963 return &v.sizeCache
2964 case 2:
2965 return &v.unknownFields
2966 default:
2967 return nil
2968 }
2969 }
2970 file_webserver_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2971 switch v := v.(*SymbolInfo); i {
2972 case 0:
2973 return &v.state
2974 case 1:
2975 return &v.sizeCache
2976 case 2:
2977 return &v.unknownFields
2978 default:
2979 return nil
2980 }
2981 }
2982 file_webserver_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2983 switch v := v.(*ChunkMatch); i {
2984 case 0:
2985 return &v.state
2986 case 1:
2987 return &v.sizeCache
2988 case 2:
2989 return &v.unknownFields
2990 default:
2991 return nil
2992 }
2993 }
2994 file_webserver_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2995 switch v := v.(*Range); i {
2996 case 0:
2997 return &v.state
2998 case 1:
2999 return &v.sizeCache
3000 case 2:
3001 return &v.unknownFields
3002 default:
3003 return nil
3004 }
3005 }
3006 file_webserver_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3007 switch v := v.(*Location); i {
3008 case 0:
3009 return &v.state
3010 case 1:
3011 return &v.sizeCache
3012 case 2:
3013 return &v.unknownFields
3014 default:
3015 return nil
3016 }
3017 }
3018 }
3019 file_webserver_proto_msgTypes[16].OneofWrappers = []interface{}{}
3020 type x struct{}
3021 out := protoimpl.TypeBuilder{
3022 File: protoimpl.DescBuilder{
3023 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3024 RawDescriptor: file_webserver_proto_rawDesc,
3025 NumEnums: 2,
3026 NumMessages: 28,
3027 NumExtensions: 0,
3028 NumServices: 1,
3029 },
3030 GoTypes: file_webserver_proto_goTypes,
3031 DependencyIndexes: file_webserver_proto_depIdxs,
3032 EnumInfos: file_webserver_proto_enumTypes,
3033 MessageInfos: file_webserver_proto_msgTypes,
3034 }.Build()
3035 File_webserver_proto = out.File
3036 file_webserver_proto_rawDesc = nil
3037 file_webserver_proto_goTypes = nil
3038 file_webserver_proto_depIdxs = nil
3039}