1// Copyright 2019 Google LLC.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.25.0
19// 	protoc        v3.13.0
20// source: google/firestore/v1beta1/firestore.proto
21
22package firestore
23
24import (
25	context "context"
26	reflect "reflect"
27	sync "sync"
28
29	proto "github.com/golang/protobuf/proto"
30	_ "google.golang.org/genproto/googleapis/api/annotations"
31	status "google.golang.org/genproto/googleapis/rpc/status"
32	grpc "google.golang.org/grpc"
33	codes "google.golang.org/grpc/codes"
34	status1 "google.golang.org/grpc/status"
35	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
36	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
37	emptypb "google.golang.org/protobuf/types/known/emptypb"
38	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
39)
40
41const (
42	// Verify that this generated code is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
44	// Verify that runtime/protoimpl is sufficiently up-to-date.
45	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
46)
47
48// This is a compile-time assertion that a sufficiently up-to-date version
49// of the legacy proto package is being used.
50const _ = proto.ProtoPackageIsVersion4
51
52// The type of change.
53type TargetChange_TargetChangeType int32
54
55const (
56	// No change has occurred. Used only to send an updated `resume_token`.
57	TargetChange_NO_CHANGE TargetChange_TargetChangeType = 0
58	// The targets have been added.
59	TargetChange_ADD TargetChange_TargetChangeType = 1
60	// The targets have been removed.
61	TargetChange_REMOVE TargetChange_TargetChangeType = 2
62	// The targets reflect all changes committed before the targets were added
63	// to the stream.
64	//
65	// This will be sent after or with a `read_time` that is greater than or
66	// equal to the time at which the targets were added.
67	//
68	// Listeners can wait for this change if read-after-write semantics
69	// are desired.
70	TargetChange_CURRENT TargetChange_TargetChangeType = 3
71	// The targets have been reset, and a new initial state for the targets
72	// will be returned in subsequent changes.
73	//
74	// After the initial state is complete, `CURRENT` will be returned even
75	// if the target was previously indicated to be `CURRENT`.
76	TargetChange_RESET TargetChange_TargetChangeType = 4
77)
78
79// Enum value maps for TargetChange_TargetChangeType.
80var (
81	TargetChange_TargetChangeType_name = map[int32]string{
82		0: "NO_CHANGE",
83		1: "ADD",
84		2: "REMOVE",
85		3: "CURRENT",
86		4: "RESET",
87	}
88	TargetChange_TargetChangeType_value = map[string]int32{
89		"NO_CHANGE": 0,
90		"ADD":       1,
91		"REMOVE":    2,
92		"CURRENT":   3,
93		"RESET":     4,
94	}
95)
96
97func (x TargetChange_TargetChangeType) Enum() *TargetChange_TargetChangeType {
98	p := new(TargetChange_TargetChangeType)
99	*p = x
100	return p
101}
102
103func (x TargetChange_TargetChangeType) String() string {
104	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
105}
106
107func (TargetChange_TargetChangeType) Descriptor() protoreflect.EnumDescriptor {
108	return file_google_firestore_v1beta1_firestore_proto_enumTypes[0].Descriptor()
109}
110
111func (TargetChange_TargetChangeType) Type() protoreflect.EnumType {
112	return &file_google_firestore_v1beta1_firestore_proto_enumTypes[0]
113}
114
115func (x TargetChange_TargetChangeType) Number() protoreflect.EnumNumber {
116	return protoreflect.EnumNumber(x)
117}
118
119// Deprecated: Use TargetChange_TargetChangeType.Descriptor instead.
120func (TargetChange_TargetChangeType) EnumDescriptor() ([]byte, []int) {
121	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20, 0}
122}
123
124// The request for [Firestore.GetDocument][google.firestore.v1beta1.Firestore.GetDocument].
125type GetDocumentRequest struct {
126	state         protoimpl.MessageState
127	sizeCache     protoimpl.SizeCache
128	unknownFields protoimpl.UnknownFields
129
130	// Required. The resource name of the Document to get. In the format:
131	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
132	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
133	// The fields to return. If not set, returns all fields.
134	//
135	// If the document has a field that is not present in this mask, that field
136	// will not be returned in the response.
137	Mask *DocumentMask `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
138	// The consistency mode for this transaction.
139	// If not set, defaults to strong consistency.
140	//
141	// Types that are assignable to ConsistencySelector:
142	//	*GetDocumentRequest_Transaction
143	//	*GetDocumentRequest_ReadTime
144	ConsistencySelector isGetDocumentRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
145}
146
147func (x *GetDocumentRequest) Reset() {
148	*x = GetDocumentRequest{}
149	if protoimpl.UnsafeEnabled {
150		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0]
151		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
152		ms.StoreMessageInfo(mi)
153	}
154}
155
156func (x *GetDocumentRequest) String() string {
157	return protoimpl.X.MessageStringOf(x)
158}
159
160func (*GetDocumentRequest) ProtoMessage() {}
161
162func (x *GetDocumentRequest) ProtoReflect() protoreflect.Message {
163	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[0]
164	if protoimpl.UnsafeEnabled && x != nil {
165		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
166		if ms.LoadMessageInfo() == nil {
167			ms.StoreMessageInfo(mi)
168		}
169		return ms
170	}
171	return mi.MessageOf(x)
172}
173
174// Deprecated: Use GetDocumentRequest.ProtoReflect.Descriptor instead.
175func (*GetDocumentRequest) Descriptor() ([]byte, []int) {
176	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{0}
177}
178
179func (x *GetDocumentRequest) GetName() string {
180	if x != nil {
181		return x.Name
182	}
183	return ""
184}
185
186func (x *GetDocumentRequest) GetMask() *DocumentMask {
187	if x != nil {
188		return x.Mask
189	}
190	return nil
191}
192
193func (m *GetDocumentRequest) GetConsistencySelector() isGetDocumentRequest_ConsistencySelector {
194	if m != nil {
195		return m.ConsistencySelector
196	}
197	return nil
198}
199
200func (x *GetDocumentRequest) GetTransaction() []byte {
201	if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_Transaction); ok {
202		return x.Transaction
203	}
204	return nil
205}
206
207func (x *GetDocumentRequest) GetReadTime() *timestamppb.Timestamp {
208	if x, ok := x.GetConsistencySelector().(*GetDocumentRequest_ReadTime); ok {
209		return x.ReadTime
210	}
211	return nil
212}
213
214type isGetDocumentRequest_ConsistencySelector interface {
215	isGetDocumentRequest_ConsistencySelector()
216}
217
218type GetDocumentRequest_Transaction struct {
219	// Reads the document in a transaction.
220	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3,oneof"`
221}
222
223type GetDocumentRequest_ReadTime struct {
224	// Reads the version of the document at the given time.
225	// This may not be older than 60 seconds.
226	ReadTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=read_time,json=readTime,proto3,oneof"`
227}
228
229func (*GetDocumentRequest_Transaction) isGetDocumentRequest_ConsistencySelector() {}
230
231func (*GetDocumentRequest_ReadTime) isGetDocumentRequest_ConsistencySelector() {}
232
233// The request for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
234type ListDocumentsRequest struct {
235	state         protoimpl.MessageState
236	sizeCache     protoimpl.SizeCache
237	unknownFields protoimpl.UnknownFields
238
239	// Required. The parent resource name. In the format:
240	// `projects/{project_id}/databases/{database_id}/documents` or
241	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
242	// For example:
243	// `projects/my-project/databases/my-database/documents` or
244	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
245	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
246	// Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`
247	// or `messages`.
248	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
249	// The maximum number of documents to return.
250	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
251	// The `next_page_token` value returned from a previous List request, if any.
252	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
253	// The order to sort results by. For example: `priority desc, name`.
254	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
255	// The fields to return. If not set, returns all fields.
256	//
257	// If a document has a field that is not present in this mask, that field
258	// will not be returned in the response.
259	Mask *DocumentMask `protobuf:"bytes,7,opt,name=mask,proto3" json:"mask,omitempty"`
260	// The consistency mode for this transaction.
261	// If not set, defaults to strong consistency.
262	//
263	// Types that are assignable to ConsistencySelector:
264	//	*ListDocumentsRequest_Transaction
265	//	*ListDocumentsRequest_ReadTime
266	ConsistencySelector isListDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
267	// If the list should show missing documents. A missing document is a
268	// document that does not exist but has sub-documents. These documents will
269	// be returned with a key but will not have fields, [Document.create_time][google.firestore.v1beta1.Document.create_time],
270	// or [Document.update_time][google.firestore.v1beta1.Document.update_time] set.
271	//
272	// Requests with `show_missing` may not specify `where` or
273	// `order_by`.
274	ShowMissing bool `protobuf:"varint,12,opt,name=show_missing,json=showMissing,proto3" json:"show_missing,omitempty"`
275}
276
277func (x *ListDocumentsRequest) Reset() {
278	*x = ListDocumentsRequest{}
279	if protoimpl.UnsafeEnabled {
280		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1]
281		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
282		ms.StoreMessageInfo(mi)
283	}
284}
285
286func (x *ListDocumentsRequest) String() string {
287	return protoimpl.X.MessageStringOf(x)
288}
289
290func (*ListDocumentsRequest) ProtoMessage() {}
291
292func (x *ListDocumentsRequest) ProtoReflect() protoreflect.Message {
293	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[1]
294	if protoimpl.UnsafeEnabled && x != nil {
295		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
296		if ms.LoadMessageInfo() == nil {
297			ms.StoreMessageInfo(mi)
298		}
299		return ms
300	}
301	return mi.MessageOf(x)
302}
303
304// Deprecated: Use ListDocumentsRequest.ProtoReflect.Descriptor instead.
305func (*ListDocumentsRequest) Descriptor() ([]byte, []int) {
306	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{1}
307}
308
309func (x *ListDocumentsRequest) GetParent() string {
310	if x != nil {
311		return x.Parent
312	}
313	return ""
314}
315
316func (x *ListDocumentsRequest) GetCollectionId() string {
317	if x != nil {
318		return x.CollectionId
319	}
320	return ""
321}
322
323func (x *ListDocumentsRequest) GetPageSize() int32 {
324	if x != nil {
325		return x.PageSize
326	}
327	return 0
328}
329
330func (x *ListDocumentsRequest) GetPageToken() string {
331	if x != nil {
332		return x.PageToken
333	}
334	return ""
335}
336
337func (x *ListDocumentsRequest) GetOrderBy() string {
338	if x != nil {
339		return x.OrderBy
340	}
341	return ""
342}
343
344func (x *ListDocumentsRequest) GetMask() *DocumentMask {
345	if x != nil {
346		return x.Mask
347	}
348	return nil
349}
350
351func (m *ListDocumentsRequest) GetConsistencySelector() isListDocumentsRequest_ConsistencySelector {
352	if m != nil {
353		return m.ConsistencySelector
354	}
355	return nil
356}
357
358func (x *ListDocumentsRequest) GetTransaction() []byte {
359	if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_Transaction); ok {
360		return x.Transaction
361	}
362	return nil
363}
364
365func (x *ListDocumentsRequest) GetReadTime() *timestamppb.Timestamp {
366	if x, ok := x.GetConsistencySelector().(*ListDocumentsRequest_ReadTime); ok {
367		return x.ReadTime
368	}
369	return nil
370}
371
372func (x *ListDocumentsRequest) GetShowMissing() bool {
373	if x != nil {
374		return x.ShowMissing
375	}
376	return false
377}
378
379type isListDocumentsRequest_ConsistencySelector interface {
380	isListDocumentsRequest_ConsistencySelector()
381}
382
383type ListDocumentsRequest_Transaction struct {
384	// Reads documents in a transaction.
385	Transaction []byte `protobuf:"bytes,8,opt,name=transaction,proto3,oneof"`
386}
387
388type ListDocumentsRequest_ReadTime struct {
389	// Reads documents as they were at the given time.
390	// This may not be older than 60 seconds.
391	ReadTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=read_time,json=readTime,proto3,oneof"`
392}
393
394func (*ListDocumentsRequest_Transaction) isListDocumentsRequest_ConsistencySelector() {}
395
396func (*ListDocumentsRequest_ReadTime) isListDocumentsRequest_ConsistencySelector() {}
397
398// The response for [Firestore.ListDocuments][google.firestore.v1beta1.Firestore.ListDocuments].
399type ListDocumentsResponse struct {
400	state         protoimpl.MessageState
401	sizeCache     protoimpl.SizeCache
402	unknownFields protoimpl.UnknownFields
403
404	// The Documents found.
405	Documents []*Document `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
406	// The next page token.
407	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
408}
409
410func (x *ListDocumentsResponse) Reset() {
411	*x = ListDocumentsResponse{}
412	if protoimpl.UnsafeEnabled {
413		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2]
414		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
415		ms.StoreMessageInfo(mi)
416	}
417}
418
419func (x *ListDocumentsResponse) String() string {
420	return protoimpl.X.MessageStringOf(x)
421}
422
423func (*ListDocumentsResponse) ProtoMessage() {}
424
425func (x *ListDocumentsResponse) ProtoReflect() protoreflect.Message {
426	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[2]
427	if protoimpl.UnsafeEnabled && x != nil {
428		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
429		if ms.LoadMessageInfo() == nil {
430			ms.StoreMessageInfo(mi)
431		}
432		return ms
433	}
434	return mi.MessageOf(x)
435}
436
437// Deprecated: Use ListDocumentsResponse.ProtoReflect.Descriptor instead.
438func (*ListDocumentsResponse) Descriptor() ([]byte, []int) {
439	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{2}
440}
441
442func (x *ListDocumentsResponse) GetDocuments() []*Document {
443	if x != nil {
444		return x.Documents
445	}
446	return nil
447}
448
449func (x *ListDocumentsResponse) GetNextPageToken() string {
450	if x != nil {
451		return x.NextPageToken
452	}
453	return ""
454}
455
456// The request for [Firestore.CreateDocument][google.firestore.v1beta1.Firestore.CreateDocument].
457type CreateDocumentRequest struct {
458	state         protoimpl.MessageState
459	sizeCache     protoimpl.SizeCache
460	unknownFields protoimpl.UnknownFields
461
462	// Required. The parent resource. For example:
463	// `projects/{project_id}/databases/{database_id}/documents` or
464	// `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`
465	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
466	// Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`.
467	CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
468	// The client-assigned document ID to use for this document.
469	//
470	// Optional. If not specified, an ID will be assigned by the service.
471	DocumentId string `protobuf:"bytes,3,opt,name=document_id,json=documentId,proto3" json:"document_id,omitempty"`
472	// Required. The document to create. `name` must not be set.
473	Document *Document `protobuf:"bytes,4,opt,name=document,proto3" json:"document,omitempty"`
474	// The fields to return. If not set, returns all fields.
475	//
476	// If the document has a field that is not present in this mask, that field
477	// will not be returned in the response.
478	Mask *DocumentMask `protobuf:"bytes,5,opt,name=mask,proto3" json:"mask,omitempty"`
479}
480
481func (x *CreateDocumentRequest) Reset() {
482	*x = CreateDocumentRequest{}
483	if protoimpl.UnsafeEnabled {
484		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3]
485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
486		ms.StoreMessageInfo(mi)
487	}
488}
489
490func (x *CreateDocumentRequest) String() string {
491	return protoimpl.X.MessageStringOf(x)
492}
493
494func (*CreateDocumentRequest) ProtoMessage() {}
495
496func (x *CreateDocumentRequest) ProtoReflect() protoreflect.Message {
497	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[3]
498	if protoimpl.UnsafeEnabled && x != nil {
499		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
500		if ms.LoadMessageInfo() == nil {
501			ms.StoreMessageInfo(mi)
502		}
503		return ms
504	}
505	return mi.MessageOf(x)
506}
507
508// Deprecated: Use CreateDocumentRequest.ProtoReflect.Descriptor instead.
509func (*CreateDocumentRequest) Descriptor() ([]byte, []int) {
510	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{3}
511}
512
513func (x *CreateDocumentRequest) GetParent() string {
514	if x != nil {
515		return x.Parent
516	}
517	return ""
518}
519
520func (x *CreateDocumentRequest) GetCollectionId() string {
521	if x != nil {
522		return x.CollectionId
523	}
524	return ""
525}
526
527func (x *CreateDocumentRequest) GetDocumentId() string {
528	if x != nil {
529		return x.DocumentId
530	}
531	return ""
532}
533
534func (x *CreateDocumentRequest) GetDocument() *Document {
535	if x != nil {
536		return x.Document
537	}
538	return nil
539}
540
541func (x *CreateDocumentRequest) GetMask() *DocumentMask {
542	if x != nil {
543		return x.Mask
544	}
545	return nil
546}
547
548// The request for [Firestore.UpdateDocument][google.firestore.v1beta1.Firestore.UpdateDocument].
549type UpdateDocumentRequest struct {
550	state         protoimpl.MessageState
551	sizeCache     protoimpl.SizeCache
552	unknownFields protoimpl.UnknownFields
553
554	// Required. The updated document.
555	// Creates the document if it does not already exist.
556	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
557	// The fields to update.
558	// None of the field paths in the mask may contain a reserved name.
559	//
560	// If the document exists on the server and has fields not referenced in the
561	// mask, they are left unchanged.
562	// Fields referenced in the mask, but not present in the input document, are
563	// deleted from the document on the server.
564	UpdateMask *DocumentMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
565	// The fields to return. If not set, returns all fields.
566	//
567	// If the document has a field that is not present in this mask, that field
568	// will not be returned in the response.
569	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
570	// An optional precondition on the document.
571	// The request will fail if this is set and not met by the target document.
572	CurrentDocument *Precondition `protobuf:"bytes,4,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
573}
574
575func (x *UpdateDocumentRequest) Reset() {
576	*x = UpdateDocumentRequest{}
577	if protoimpl.UnsafeEnabled {
578		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4]
579		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
580		ms.StoreMessageInfo(mi)
581	}
582}
583
584func (x *UpdateDocumentRequest) String() string {
585	return protoimpl.X.MessageStringOf(x)
586}
587
588func (*UpdateDocumentRequest) ProtoMessage() {}
589
590func (x *UpdateDocumentRequest) ProtoReflect() protoreflect.Message {
591	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[4]
592	if protoimpl.UnsafeEnabled && x != nil {
593		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
594		if ms.LoadMessageInfo() == nil {
595			ms.StoreMessageInfo(mi)
596		}
597		return ms
598	}
599	return mi.MessageOf(x)
600}
601
602// Deprecated: Use UpdateDocumentRequest.ProtoReflect.Descriptor instead.
603func (*UpdateDocumentRequest) Descriptor() ([]byte, []int) {
604	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{4}
605}
606
607func (x *UpdateDocumentRequest) GetDocument() *Document {
608	if x != nil {
609		return x.Document
610	}
611	return nil
612}
613
614func (x *UpdateDocumentRequest) GetUpdateMask() *DocumentMask {
615	if x != nil {
616		return x.UpdateMask
617	}
618	return nil
619}
620
621func (x *UpdateDocumentRequest) GetMask() *DocumentMask {
622	if x != nil {
623		return x.Mask
624	}
625	return nil
626}
627
628func (x *UpdateDocumentRequest) GetCurrentDocument() *Precondition {
629	if x != nil {
630		return x.CurrentDocument
631	}
632	return nil
633}
634
635// The request for [Firestore.DeleteDocument][google.firestore.v1beta1.Firestore.DeleteDocument].
636type DeleteDocumentRequest struct {
637	state         protoimpl.MessageState
638	sizeCache     protoimpl.SizeCache
639	unknownFields protoimpl.UnknownFields
640
641	// Required. The resource name of the Document to delete. In the format:
642	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
643	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
644	// An optional precondition on the document.
645	// The request will fail if this is set and not met by the target document.
646	CurrentDocument *Precondition `protobuf:"bytes,2,opt,name=current_document,json=currentDocument,proto3" json:"current_document,omitempty"`
647}
648
649func (x *DeleteDocumentRequest) Reset() {
650	*x = DeleteDocumentRequest{}
651	if protoimpl.UnsafeEnabled {
652		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5]
653		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
654		ms.StoreMessageInfo(mi)
655	}
656}
657
658func (x *DeleteDocumentRequest) String() string {
659	return protoimpl.X.MessageStringOf(x)
660}
661
662func (*DeleteDocumentRequest) ProtoMessage() {}
663
664func (x *DeleteDocumentRequest) ProtoReflect() protoreflect.Message {
665	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[5]
666	if protoimpl.UnsafeEnabled && x != nil {
667		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
668		if ms.LoadMessageInfo() == nil {
669			ms.StoreMessageInfo(mi)
670		}
671		return ms
672	}
673	return mi.MessageOf(x)
674}
675
676// Deprecated: Use DeleteDocumentRequest.ProtoReflect.Descriptor instead.
677func (*DeleteDocumentRequest) Descriptor() ([]byte, []int) {
678	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{5}
679}
680
681func (x *DeleteDocumentRequest) GetName() string {
682	if x != nil {
683		return x.Name
684	}
685	return ""
686}
687
688func (x *DeleteDocumentRequest) GetCurrentDocument() *Precondition {
689	if x != nil {
690		return x.CurrentDocument
691	}
692	return nil
693}
694
695// The request for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
696type BatchGetDocumentsRequest struct {
697	state         protoimpl.MessageState
698	sizeCache     protoimpl.SizeCache
699	unknownFields protoimpl.UnknownFields
700
701	// Required. The database name. In the format:
702	// `projects/{project_id}/databases/{database_id}`.
703	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
704	// The names of the documents to retrieve. In the format:
705	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
706	// The request will fail if any of the document is not a child resource of the
707	// given `database`. Duplicate names will be elided.
708	Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
709	// The fields to return. If not set, returns all fields.
710	//
711	// If a document has a field that is not present in this mask, that field will
712	// not be returned in the response.
713	Mask *DocumentMask `protobuf:"bytes,3,opt,name=mask,proto3" json:"mask,omitempty"`
714	// The consistency mode for this transaction.
715	// If not set, defaults to strong consistency.
716	//
717	// Types that are assignable to ConsistencySelector:
718	//	*BatchGetDocumentsRequest_Transaction
719	//	*BatchGetDocumentsRequest_NewTransaction
720	//	*BatchGetDocumentsRequest_ReadTime
721	ConsistencySelector isBatchGetDocumentsRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
722}
723
724func (x *BatchGetDocumentsRequest) Reset() {
725	*x = BatchGetDocumentsRequest{}
726	if protoimpl.UnsafeEnabled {
727		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6]
728		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
729		ms.StoreMessageInfo(mi)
730	}
731}
732
733func (x *BatchGetDocumentsRequest) String() string {
734	return protoimpl.X.MessageStringOf(x)
735}
736
737func (*BatchGetDocumentsRequest) ProtoMessage() {}
738
739func (x *BatchGetDocumentsRequest) ProtoReflect() protoreflect.Message {
740	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[6]
741	if protoimpl.UnsafeEnabled && x != nil {
742		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
743		if ms.LoadMessageInfo() == nil {
744			ms.StoreMessageInfo(mi)
745		}
746		return ms
747	}
748	return mi.MessageOf(x)
749}
750
751// Deprecated: Use BatchGetDocumentsRequest.ProtoReflect.Descriptor instead.
752func (*BatchGetDocumentsRequest) Descriptor() ([]byte, []int) {
753	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{6}
754}
755
756func (x *BatchGetDocumentsRequest) GetDatabase() string {
757	if x != nil {
758		return x.Database
759	}
760	return ""
761}
762
763func (x *BatchGetDocumentsRequest) GetDocuments() []string {
764	if x != nil {
765		return x.Documents
766	}
767	return nil
768}
769
770func (x *BatchGetDocumentsRequest) GetMask() *DocumentMask {
771	if x != nil {
772		return x.Mask
773	}
774	return nil
775}
776
777func (m *BatchGetDocumentsRequest) GetConsistencySelector() isBatchGetDocumentsRequest_ConsistencySelector {
778	if m != nil {
779		return m.ConsistencySelector
780	}
781	return nil
782}
783
784func (x *BatchGetDocumentsRequest) GetTransaction() []byte {
785	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_Transaction); ok {
786		return x.Transaction
787	}
788	return nil
789}
790
791func (x *BatchGetDocumentsRequest) GetNewTransaction() *TransactionOptions {
792	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_NewTransaction); ok {
793		return x.NewTransaction
794	}
795	return nil
796}
797
798func (x *BatchGetDocumentsRequest) GetReadTime() *timestamppb.Timestamp {
799	if x, ok := x.GetConsistencySelector().(*BatchGetDocumentsRequest_ReadTime); ok {
800		return x.ReadTime
801	}
802	return nil
803}
804
805type isBatchGetDocumentsRequest_ConsistencySelector interface {
806	isBatchGetDocumentsRequest_ConsistencySelector()
807}
808
809type BatchGetDocumentsRequest_Transaction struct {
810	// Reads documents in a transaction.
811	Transaction []byte `protobuf:"bytes,4,opt,name=transaction,proto3,oneof"`
812}
813
814type BatchGetDocumentsRequest_NewTransaction struct {
815	// Starts a new transaction and reads the documents.
816	// Defaults to a read-only transaction.
817	// The new transaction ID will be returned as the first response in the
818	// stream.
819	NewTransaction *TransactionOptions `protobuf:"bytes,5,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
820}
821
822type BatchGetDocumentsRequest_ReadTime struct {
823	// Reads documents as they were at the given time.
824	// This may not be older than 60 seconds.
825	ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
826}
827
828func (*BatchGetDocumentsRequest_Transaction) isBatchGetDocumentsRequest_ConsistencySelector() {}
829
830func (*BatchGetDocumentsRequest_NewTransaction) isBatchGetDocumentsRequest_ConsistencySelector() {}
831
832func (*BatchGetDocumentsRequest_ReadTime) isBatchGetDocumentsRequest_ConsistencySelector() {}
833
834// The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1beta1.Firestore.BatchGetDocuments].
835type BatchGetDocumentsResponse struct {
836	state         protoimpl.MessageState
837	sizeCache     protoimpl.SizeCache
838	unknownFields protoimpl.UnknownFields
839
840	// A single result.
841	// This can be empty if the server is just returning a transaction.
842	//
843	// Types that are assignable to Result:
844	//	*BatchGetDocumentsResponse_Found
845	//	*BatchGetDocumentsResponse_Missing
846	Result isBatchGetDocumentsResponse_Result `protobuf_oneof:"result"`
847	// The transaction that was started as part of this request.
848	// Will only be set in the first response, and only if
849	// [BatchGetDocumentsRequest.new_transaction][google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction] was set in the request.
850	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
851	// The time at which the document was read.
852	// This may be monotically increasing, in this case the previous documents in
853	// the result stream are guaranteed not to have changed between their
854	// read_time and this one.
855	ReadTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
856}
857
858func (x *BatchGetDocumentsResponse) Reset() {
859	*x = BatchGetDocumentsResponse{}
860	if protoimpl.UnsafeEnabled {
861		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7]
862		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
863		ms.StoreMessageInfo(mi)
864	}
865}
866
867func (x *BatchGetDocumentsResponse) String() string {
868	return protoimpl.X.MessageStringOf(x)
869}
870
871func (*BatchGetDocumentsResponse) ProtoMessage() {}
872
873func (x *BatchGetDocumentsResponse) ProtoReflect() protoreflect.Message {
874	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[7]
875	if protoimpl.UnsafeEnabled && x != nil {
876		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
877		if ms.LoadMessageInfo() == nil {
878			ms.StoreMessageInfo(mi)
879		}
880		return ms
881	}
882	return mi.MessageOf(x)
883}
884
885// Deprecated: Use BatchGetDocumentsResponse.ProtoReflect.Descriptor instead.
886func (*BatchGetDocumentsResponse) Descriptor() ([]byte, []int) {
887	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{7}
888}
889
890func (m *BatchGetDocumentsResponse) GetResult() isBatchGetDocumentsResponse_Result {
891	if m != nil {
892		return m.Result
893	}
894	return nil
895}
896
897func (x *BatchGetDocumentsResponse) GetFound() *Document {
898	if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Found); ok {
899		return x.Found
900	}
901	return nil
902}
903
904func (x *BatchGetDocumentsResponse) GetMissing() string {
905	if x, ok := x.GetResult().(*BatchGetDocumentsResponse_Missing); ok {
906		return x.Missing
907	}
908	return ""
909}
910
911func (x *BatchGetDocumentsResponse) GetTransaction() []byte {
912	if x != nil {
913		return x.Transaction
914	}
915	return nil
916}
917
918func (x *BatchGetDocumentsResponse) GetReadTime() *timestamppb.Timestamp {
919	if x != nil {
920		return x.ReadTime
921	}
922	return nil
923}
924
925type isBatchGetDocumentsResponse_Result interface {
926	isBatchGetDocumentsResponse_Result()
927}
928
929type BatchGetDocumentsResponse_Found struct {
930	// A document that was requested.
931	Found *Document `protobuf:"bytes,1,opt,name=found,proto3,oneof"`
932}
933
934type BatchGetDocumentsResponse_Missing struct {
935	// A document name that was requested but does not exist. In the format:
936	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
937	Missing string `protobuf:"bytes,2,opt,name=missing,proto3,oneof"`
938}
939
940func (*BatchGetDocumentsResponse_Found) isBatchGetDocumentsResponse_Result() {}
941
942func (*BatchGetDocumentsResponse_Missing) isBatchGetDocumentsResponse_Result() {}
943
944// The request for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
945type BeginTransactionRequest struct {
946	state         protoimpl.MessageState
947	sizeCache     protoimpl.SizeCache
948	unknownFields protoimpl.UnknownFields
949
950	// Required. The database name. In the format:
951	// `projects/{project_id}/databases/{database_id}`.
952	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
953	// The options for the transaction.
954	// Defaults to a read-write transaction.
955	Options *TransactionOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
956}
957
958func (x *BeginTransactionRequest) Reset() {
959	*x = BeginTransactionRequest{}
960	if protoimpl.UnsafeEnabled {
961		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8]
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		ms.StoreMessageInfo(mi)
964	}
965}
966
967func (x *BeginTransactionRequest) String() string {
968	return protoimpl.X.MessageStringOf(x)
969}
970
971func (*BeginTransactionRequest) ProtoMessage() {}
972
973func (x *BeginTransactionRequest) ProtoReflect() protoreflect.Message {
974	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[8]
975	if protoimpl.UnsafeEnabled && x != nil {
976		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
977		if ms.LoadMessageInfo() == nil {
978			ms.StoreMessageInfo(mi)
979		}
980		return ms
981	}
982	return mi.MessageOf(x)
983}
984
985// Deprecated: Use BeginTransactionRequest.ProtoReflect.Descriptor instead.
986func (*BeginTransactionRequest) Descriptor() ([]byte, []int) {
987	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{8}
988}
989
990func (x *BeginTransactionRequest) GetDatabase() string {
991	if x != nil {
992		return x.Database
993	}
994	return ""
995}
996
997func (x *BeginTransactionRequest) GetOptions() *TransactionOptions {
998	if x != nil {
999		return x.Options
1000	}
1001	return nil
1002}
1003
1004// The response for [Firestore.BeginTransaction][google.firestore.v1beta1.Firestore.BeginTransaction].
1005type BeginTransactionResponse struct {
1006	state         protoimpl.MessageState
1007	sizeCache     protoimpl.SizeCache
1008	unknownFields protoimpl.UnknownFields
1009
1010	// The transaction that was started.
1011	Transaction []byte `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
1012}
1013
1014func (x *BeginTransactionResponse) Reset() {
1015	*x = BeginTransactionResponse{}
1016	if protoimpl.UnsafeEnabled {
1017		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9]
1018		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1019		ms.StoreMessageInfo(mi)
1020	}
1021}
1022
1023func (x *BeginTransactionResponse) String() string {
1024	return protoimpl.X.MessageStringOf(x)
1025}
1026
1027func (*BeginTransactionResponse) ProtoMessage() {}
1028
1029func (x *BeginTransactionResponse) ProtoReflect() protoreflect.Message {
1030	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[9]
1031	if protoimpl.UnsafeEnabled && x != nil {
1032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033		if ms.LoadMessageInfo() == nil {
1034			ms.StoreMessageInfo(mi)
1035		}
1036		return ms
1037	}
1038	return mi.MessageOf(x)
1039}
1040
1041// Deprecated: Use BeginTransactionResponse.ProtoReflect.Descriptor instead.
1042func (*BeginTransactionResponse) Descriptor() ([]byte, []int) {
1043	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{9}
1044}
1045
1046func (x *BeginTransactionResponse) GetTransaction() []byte {
1047	if x != nil {
1048		return x.Transaction
1049	}
1050	return nil
1051}
1052
1053// The request for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1054type CommitRequest struct {
1055	state         protoimpl.MessageState
1056	sizeCache     protoimpl.SizeCache
1057	unknownFields protoimpl.UnknownFields
1058
1059	// Required. The database name. In the format:
1060	// `projects/{project_id}/databases/{database_id}`.
1061	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1062	// The writes to apply.
1063	//
1064	// Always executed atomically and in order.
1065	Writes []*Write `protobuf:"bytes,2,rep,name=writes,proto3" json:"writes,omitempty"`
1066	// If set, applies all writes in this transaction, and commits it.
1067	Transaction []byte `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"`
1068}
1069
1070func (x *CommitRequest) Reset() {
1071	*x = CommitRequest{}
1072	if protoimpl.UnsafeEnabled {
1073		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10]
1074		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1075		ms.StoreMessageInfo(mi)
1076	}
1077}
1078
1079func (x *CommitRequest) String() string {
1080	return protoimpl.X.MessageStringOf(x)
1081}
1082
1083func (*CommitRequest) ProtoMessage() {}
1084
1085func (x *CommitRequest) ProtoReflect() protoreflect.Message {
1086	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[10]
1087	if protoimpl.UnsafeEnabled && x != nil {
1088		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1089		if ms.LoadMessageInfo() == nil {
1090			ms.StoreMessageInfo(mi)
1091		}
1092		return ms
1093	}
1094	return mi.MessageOf(x)
1095}
1096
1097// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead.
1098func (*CommitRequest) Descriptor() ([]byte, []int) {
1099	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{10}
1100}
1101
1102func (x *CommitRequest) GetDatabase() string {
1103	if x != nil {
1104		return x.Database
1105	}
1106	return ""
1107}
1108
1109func (x *CommitRequest) GetWrites() []*Write {
1110	if x != nil {
1111		return x.Writes
1112	}
1113	return nil
1114}
1115
1116func (x *CommitRequest) GetTransaction() []byte {
1117	if x != nil {
1118		return x.Transaction
1119	}
1120	return nil
1121}
1122
1123// The response for [Firestore.Commit][google.firestore.v1beta1.Firestore.Commit].
1124type CommitResponse struct {
1125	state         protoimpl.MessageState
1126	sizeCache     protoimpl.SizeCache
1127	unknownFields protoimpl.UnknownFields
1128
1129	// The result of applying the writes.
1130	//
1131	// This i-th write result corresponds to the i-th write in the
1132	// request.
1133	WriteResults []*WriteResult `protobuf:"bytes,1,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1134	// The time at which the commit occurred.
1135	CommitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1136}
1137
1138func (x *CommitResponse) Reset() {
1139	*x = CommitResponse{}
1140	if protoimpl.UnsafeEnabled {
1141		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11]
1142		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1143		ms.StoreMessageInfo(mi)
1144	}
1145}
1146
1147func (x *CommitResponse) String() string {
1148	return protoimpl.X.MessageStringOf(x)
1149}
1150
1151func (*CommitResponse) ProtoMessage() {}
1152
1153func (x *CommitResponse) ProtoReflect() protoreflect.Message {
1154	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[11]
1155	if protoimpl.UnsafeEnabled && x != nil {
1156		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1157		if ms.LoadMessageInfo() == nil {
1158			ms.StoreMessageInfo(mi)
1159		}
1160		return ms
1161	}
1162	return mi.MessageOf(x)
1163}
1164
1165// Deprecated: Use CommitResponse.ProtoReflect.Descriptor instead.
1166func (*CommitResponse) Descriptor() ([]byte, []int) {
1167	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{11}
1168}
1169
1170func (x *CommitResponse) GetWriteResults() []*WriteResult {
1171	if x != nil {
1172		return x.WriteResults
1173	}
1174	return nil
1175}
1176
1177func (x *CommitResponse) GetCommitTime() *timestamppb.Timestamp {
1178	if x != nil {
1179		return x.CommitTime
1180	}
1181	return nil
1182}
1183
1184// The request for [Firestore.Rollback][google.firestore.v1beta1.Firestore.Rollback].
1185type RollbackRequest struct {
1186	state         protoimpl.MessageState
1187	sizeCache     protoimpl.SizeCache
1188	unknownFields protoimpl.UnknownFields
1189
1190	// Required. The database name. In the format:
1191	// `projects/{project_id}/databases/{database_id}`.
1192	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1193	// Required. The transaction to roll back.
1194	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1195}
1196
1197func (x *RollbackRequest) Reset() {
1198	*x = RollbackRequest{}
1199	if protoimpl.UnsafeEnabled {
1200		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12]
1201		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1202		ms.StoreMessageInfo(mi)
1203	}
1204}
1205
1206func (x *RollbackRequest) String() string {
1207	return protoimpl.X.MessageStringOf(x)
1208}
1209
1210func (*RollbackRequest) ProtoMessage() {}
1211
1212func (x *RollbackRequest) ProtoReflect() protoreflect.Message {
1213	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[12]
1214	if protoimpl.UnsafeEnabled && x != nil {
1215		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1216		if ms.LoadMessageInfo() == nil {
1217			ms.StoreMessageInfo(mi)
1218		}
1219		return ms
1220	}
1221	return mi.MessageOf(x)
1222}
1223
1224// Deprecated: Use RollbackRequest.ProtoReflect.Descriptor instead.
1225func (*RollbackRequest) Descriptor() ([]byte, []int) {
1226	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{12}
1227}
1228
1229func (x *RollbackRequest) GetDatabase() string {
1230	if x != nil {
1231		return x.Database
1232	}
1233	return ""
1234}
1235
1236func (x *RollbackRequest) GetTransaction() []byte {
1237	if x != nil {
1238		return x.Transaction
1239	}
1240	return nil
1241}
1242
1243// The request for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1244type RunQueryRequest struct {
1245	state         protoimpl.MessageState
1246	sizeCache     protoimpl.SizeCache
1247	unknownFields protoimpl.UnknownFields
1248
1249	// Required. The parent resource name. In the format:
1250	// `projects/{project_id}/databases/{database_id}/documents` or
1251	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
1252	// For example:
1253	// `projects/my-project/databases/my-database/documents` or
1254	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
1255	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1256	// The query to run.
1257	//
1258	// Types that are assignable to QueryType:
1259	//	*RunQueryRequest_StructuredQuery
1260	QueryType isRunQueryRequest_QueryType `protobuf_oneof:"query_type"`
1261	// The consistency mode for this transaction.
1262	// If not set, defaults to strong consistency.
1263	//
1264	// Types that are assignable to ConsistencySelector:
1265	//	*RunQueryRequest_Transaction
1266	//	*RunQueryRequest_NewTransaction
1267	//	*RunQueryRequest_ReadTime
1268	ConsistencySelector isRunQueryRequest_ConsistencySelector `protobuf_oneof:"consistency_selector"`
1269}
1270
1271func (x *RunQueryRequest) Reset() {
1272	*x = RunQueryRequest{}
1273	if protoimpl.UnsafeEnabled {
1274		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13]
1275		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1276		ms.StoreMessageInfo(mi)
1277	}
1278}
1279
1280func (x *RunQueryRequest) String() string {
1281	return protoimpl.X.MessageStringOf(x)
1282}
1283
1284func (*RunQueryRequest) ProtoMessage() {}
1285
1286func (x *RunQueryRequest) ProtoReflect() protoreflect.Message {
1287	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[13]
1288	if protoimpl.UnsafeEnabled && x != nil {
1289		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1290		if ms.LoadMessageInfo() == nil {
1291			ms.StoreMessageInfo(mi)
1292		}
1293		return ms
1294	}
1295	return mi.MessageOf(x)
1296}
1297
1298// Deprecated: Use RunQueryRequest.ProtoReflect.Descriptor instead.
1299func (*RunQueryRequest) Descriptor() ([]byte, []int) {
1300	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{13}
1301}
1302
1303func (x *RunQueryRequest) GetParent() string {
1304	if x != nil {
1305		return x.Parent
1306	}
1307	return ""
1308}
1309
1310func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
1311	if m != nil {
1312		return m.QueryType
1313	}
1314	return nil
1315}
1316
1317func (x *RunQueryRequest) GetStructuredQuery() *StructuredQuery {
1318	if x, ok := x.GetQueryType().(*RunQueryRequest_StructuredQuery); ok {
1319		return x.StructuredQuery
1320	}
1321	return nil
1322}
1323
1324func (m *RunQueryRequest) GetConsistencySelector() isRunQueryRequest_ConsistencySelector {
1325	if m != nil {
1326		return m.ConsistencySelector
1327	}
1328	return nil
1329}
1330
1331func (x *RunQueryRequest) GetTransaction() []byte {
1332	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_Transaction); ok {
1333		return x.Transaction
1334	}
1335	return nil
1336}
1337
1338func (x *RunQueryRequest) GetNewTransaction() *TransactionOptions {
1339	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_NewTransaction); ok {
1340		return x.NewTransaction
1341	}
1342	return nil
1343}
1344
1345func (x *RunQueryRequest) GetReadTime() *timestamppb.Timestamp {
1346	if x, ok := x.GetConsistencySelector().(*RunQueryRequest_ReadTime); ok {
1347		return x.ReadTime
1348	}
1349	return nil
1350}
1351
1352type isRunQueryRequest_QueryType interface {
1353	isRunQueryRequest_QueryType()
1354}
1355
1356type RunQueryRequest_StructuredQuery struct {
1357	// A structured query.
1358	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
1359}
1360
1361func (*RunQueryRequest_StructuredQuery) isRunQueryRequest_QueryType() {}
1362
1363type isRunQueryRequest_ConsistencySelector interface {
1364	isRunQueryRequest_ConsistencySelector()
1365}
1366
1367type RunQueryRequest_Transaction struct {
1368	// Reads documents in a transaction.
1369	Transaction []byte `protobuf:"bytes,5,opt,name=transaction,proto3,oneof"`
1370}
1371
1372type RunQueryRequest_NewTransaction struct {
1373	// Starts a new transaction and reads the documents.
1374	// Defaults to a read-only transaction.
1375	// The new transaction ID will be returned as the first response in the
1376	// stream.
1377	NewTransaction *TransactionOptions `protobuf:"bytes,6,opt,name=new_transaction,json=newTransaction,proto3,oneof"`
1378}
1379
1380type RunQueryRequest_ReadTime struct {
1381	// Reads documents as they were at the given time.
1382	// This may not be older than 60 seconds.
1383	ReadTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=read_time,json=readTime,proto3,oneof"`
1384}
1385
1386func (*RunQueryRequest_Transaction) isRunQueryRequest_ConsistencySelector() {}
1387
1388func (*RunQueryRequest_NewTransaction) isRunQueryRequest_ConsistencySelector() {}
1389
1390func (*RunQueryRequest_ReadTime) isRunQueryRequest_ConsistencySelector() {}
1391
1392// The response for [Firestore.RunQuery][google.firestore.v1beta1.Firestore.RunQuery].
1393type RunQueryResponse struct {
1394	state         protoimpl.MessageState
1395	sizeCache     protoimpl.SizeCache
1396	unknownFields protoimpl.UnknownFields
1397
1398	// The transaction that was started as part of this request.
1399	// Can only be set in the first response, and only if
1400	// [RunQueryRequest.new_transaction][google.firestore.v1beta1.RunQueryRequest.new_transaction] was set in the request.
1401	// If set, no other fields will be set in this response.
1402	Transaction []byte `protobuf:"bytes,2,opt,name=transaction,proto3" json:"transaction,omitempty"`
1403	// A query result.
1404	// Not set when reporting partial progress.
1405	Document *Document `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
1406	// The time at which the document was read. This may be monotonically
1407	// increasing; in this case, the previous documents in the result stream are
1408	// guaranteed not to have changed between their `read_time` and this one.
1409	//
1410	// If the query returns no results, a response with `read_time` and no
1411	// `document` will be sent, and this represents the time at which the query
1412	// was run.
1413	ReadTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
1414	// The number of results that have been skipped due to an offset between
1415	// the last response and the current response.
1416	SkippedResults int32 `protobuf:"varint,4,opt,name=skipped_results,json=skippedResults,proto3" json:"skipped_results,omitempty"`
1417}
1418
1419func (x *RunQueryResponse) Reset() {
1420	*x = RunQueryResponse{}
1421	if protoimpl.UnsafeEnabled {
1422		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14]
1423		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1424		ms.StoreMessageInfo(mi)
1425	}
1426}
1427
1428func (x *RunQueryResponse) String() string {
1429	return protoimpl.X.MessageStringOf(x)
1430}
1431
1432func (*RunQueryResponse) ProtoMessage() {}
1433
1434func (x *RunQueryResponse) ProtoReflect() protoreflect.Message {
1435	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[14]
1436	if protoimpl.UnsafeEnabled && x != nil {
1437		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1438		if ms.LoadMessageInfo() == nil {
1439			ms.StoreMessageInfo(mi)
1440		}
1441		return ms
1442	}
1443	return mi.MessageOf(x)
1444}
1445
1446// Deprecated: Use RunQueryResponse.ProtoReflect.Descriptor instead.
1447func (*RunQueryResponse) Descriptor() ([]byte, []int) {
1448	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{14}
1449}
1450
1451func (x *RunQueryResponse) GetTransaction() []byte {
1452	if x != nil {
1453		return x.Transaction
1454	}
1455	return nil
1456}
1457
1458func (x *RunQueryResponse) GetDocument() *Document {
1459	if x != nil {
1460		return x.Document
1461	}
1462	return nil
1463}
1464
1465func (x *RunQueryResponse) GetReadTime() *timestamppb.Timestamp {
1466	if x != nil {
1467		return x.ReadTime
1468	}
1469	return nil
1470}
1471
1472func (x *RunQueryResponse) GetSkippedResults() int32 {
1473	if x != nil {
1474		return x.SkippedResults
1475	}
1476	return 0
1477}
1478
1479// The request for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1480//
1481// The first request creates a stream, or resumes an existing one from a token.
1482//
1483// When creating a new stream, the server replies with a response containing
1484// only an ID and a token, to use in the next request.
1485//
1486// When resuming a stream, the server first streams any responses later than the
1487// given token, then a response containing only an up-to-date token, to use in
1488// the next request.
1489type WriteRequest struct {
1490	state         protoimpl.MessageState
1491	sizeCache     protoimpl.SizeCache
1492	unknownFields protoimpl.UnknownFields
1493
1494	// Required. The database name. In the format:
1495	// `projects/{project_id}/databases/{database_id}`.
1496	// This is only required in the first message.
1497	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1498	// The ID of the write stream to resume.
1499	// This may only be set in the first message. When left empty, a new write
1500	// stream will be created.
1501	StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1502	// The writes to apply.
1503	//
1504	// Always executed atomically and in order.
1505	// This must be empty on the first request.
1506	// This may be empty on the last request.
1507	// This must not be empty on all other requests.
1508	Writes []*Write `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"`
1509	// A stream token that was previously sent by the server.
1510	//
1511	// The client should set this field to the token from the most recent
1512	// [WriteResponse][google.firestore.v1beta1.WriteResponse] it has received. This acknowledges that the client has
1513	// received responses up to this token. After sending this token, earlier
1514	// tokens may not be used anymore.
1515	//
1516	// The server may close the stream if there are too many unacknowledged
1517	// responses.
1518	//
1519	// Leave this field unset when creating a new stream. To resume a stream at
1520	// a specific point, set this field and the `stream_id` field.
1521	//
1522	// Leave this field unset when creating a new stream.
1523	StreamToken []byte `protobuf:"bytes,4,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1524	// Labels associated with this write request.
1525	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1526}
1527
1528func (x *WriteRequest) Reset() {
1529	*x = WriteRequest{}
1530	if protoimpl.UnsafeEnabled {
1531		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15]
1532		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1533		ms.StoreMessageInfo(mi)
1534	}
1535}
1536
1537func (x *WriteRequest) String() string {
1538	return protoimpl.X.MessageStringOf(x)
1539}
1540
1541func (*WriteRequest) ProtoMessage() {}
1542
1543func (x *WriteRequest) ProtoReflect() protoreflect.Message {
1544	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[15]
1545	if protoimpl.UnsafeEnabled && x != nil {
1546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547		if ms.LoadMessageInfo() == nil {
1548			ms.StoreMessageInfo(mi)
1549		}
1550		return ms
1551	}
1552	return mi.MessageOf(x)
1553}
1554
1555// Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead.
1556func (*WriteRequest) Descriptor() ([]byte, []int) {
1557	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{15}
1558}
1559
1560func (x *WriteRequest) GetDatabase() string {
1561	if x != nil {
1562		return x.Database
1563	}
1564	return ""
1565}
1566
1567func (x *WriteRequest) GetStreamId() string {
1568	if x != nil {
1569		return x.StreamId
1570	}
1571	return ""
1572}
1573
1574func (x *WriteRequest) GetWrites() []*Write {
1575	if x != nil {
1576		return x.Writes
1577	}
1578	return nil
1579}
1580
1581func (x *WriteRequest) GetStreamToken() []byte {
1582	if x != nil {
1583		return x.StreamToken
1584	}
1585	return nil
1586}
1587
1588func (x *WriteRequest) GetLabels() map[string]string {
1589	if x != nil {
1590		return x.Labels
1591	}
1592	return nil
1593}
1594
1595// The response for [Firestore.Write][google.firestore.v1beta1.Firestore.Write].
1596type WriteResponse struct {
1597	state         protoimpl.MessageState
1598	sizeCache     protoimpl.SizeCache
1599	unknownFields protoimpl.UnknownFields
1600
1601	// The ID of the stream.
1602	// Only set on the first message, when a new stream was created.
1603	StreamId string `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
1604	// A token that represents the position of this response in the stream.
1605	// This can be used by a client to resume the stream at this point.
1606	//
1607	// This field is always set.
1608	StreamToken []byte `protobuf:"bytes,2,opt,name=stream_token,json=streamToken,proto3" json:"stream_token,omitempty"`
1609	// The result of applying the writes.
1610	//
1611	// This i-th write result corresponds to the i-th write in the
1612	// request.
1613	WriteResults []*WriteResult `protobuf:"bytes,3,rep,name=write_results,json=writeResults,proto3" json:"write_results,omitempty"`
1614	// The time at which the commit occurred.
1615	CommitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=commit_time,json=commitTime,proto3" json:"commit_time,omitempty"`
1616}
1617
1618func (x *WriteResponse) Reset() {
1619	*x = WriteResponse{}
1620	if protoimpl.UnsafeEnabled {
1621		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16]
1622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1623		ms.StoreMessageInfo(mi)
1624	}
1625}
1626
1627func (x *WriteResponse) String() string {
1628	return protoimpl.X.MessageStringOf(x)
1629}
1630
1631func (*WriteResponse) ProtoMessage() {}
1632
1633func (x *WriteResponse) ProtoReflect() protoreflect.Message {
1634	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[16]
1635	if protoimpl.UnsafeEnabled && x != nil {
1636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1637		if ms.LoadMessageInfo() == nil {
1638			ms.StoreMessageInfo(mi)
1639		}
1640		return ms
1641	}
1642	return mi.MessageOf(x)
1643}
1644
1645// Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead.
1646func (*WriteResponse) Descriptor() ([]byte, []int) {
1647	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{16}
1648}
1649
1650func (x *WriteResponse) GetStreamId() string {
1651	if x != nil {
1652		return x.StreamId
1653	}
1654	return ""
1655}
1656
1657func (x *WriteResponse) GetStreamToken() []byte {
1658	if x != nil {
1659		return x.StreamToken
1660	}
1661	return nil
1662}
1663
1664func (x *WriteResponse) GetWriteResults() []*WriteResult {
1665	if x != nil {
1666		return x.WriteResults
1667	}
1668	return nil
1669}
1670
1671func (x *WriteResponse) GetCommitTime() *timestamppb.Timestamp {
1672	if x != nil {
1673		return x.CommitTime
1674	}
1675	return nil
1676}
1677
1678// A request for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen]
1679type ListenRequest struct {
1680	state         protoimpl.MessageState
1681	sizeCache     protoimpl.SizeCache
1682	unknownFields protoimpl.UnknownFields
1683
1684	// Required. The database name. In the format:
1685	// `projects/{project_id}/databases/{database_id}`.
1686	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
1687	// The supported target changes.
1688	//
1689	// Types that are assignable to TargetChange:
1690	//	*ListenRequest_AddTarget
1691	//	*ListenRequest_RemoveTarget
1692	TargetChange isListenRequest_TargetChange `protobuf_oneof:"target_change"`
1693	// Labels associated with this target change.
1694	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1695}
1696
1697func (x *ListenRequest) Reset() {
1698	*x = ListenRequest{}
1699	if protoimpl.UnsafeEnabled {
1700		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17]
1701		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1702		ms.StoreMessageInfo(mi)
1703	}
1704}
1705
1706func (x *ListenRequest) String() string {
1707	return protoimpl.X.MessageStringOf(x)
1708}
1709
1710func (*ListenRequest) ProtoMessage() {}
1711
1712func (x *ListenRequest) ProtoReflect() protoreflect.Message {
1713	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[17]
1714	if protoimpl.UnsafeEnabled && x != nil {
1715		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1716		if ms.LoadMessageInfo() == nil {
1717			ms.StoreMessageInfo(mi)
1718		}
1719		return ms
1720	}
1721	return mi.MessageOf(x)
1722}
1723
1724// Deprecated: Use ListenRequest.ProtoReflect.Descriptor instead.
1725func (*ListenRequest) Descriptor() ([]byte, []int) {
1726	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{17}
1727}
1728
1729func (x *ListenRequest) GetDatabase() string {
1730	if x != nil {
1731		return x.Database
1732	}
1733	return ""
1734}
1735
1736func (m *ListenRequest) GetTargetChange() isListenRequest_TargetChange {
1737	if m != nil {
1738		return m.TargetChange
1739	}
1740	return nil
1741}
1742
1743func (x *ListenRequest) GetAddTarget() *Target {
1744	if x, ok := x.GetTargetChange().(*ListenRequest_AddTarget); ok {
1745		return x.AddTarget
1746	}
1747	return nil
1748}
1749
1750func (x *ListenRequest) GetRemoveTarget() int32 {
1751	if x, ok := x.GetTargetChange().(*ListenRequest_RemoveTarget); ok {
1752		return x.RemoveTarget
1753	}
1754	return 0
1755}
1756
1757func (x *ListenRequest) GetLabels() map[string]string {
1758	if x != nil {
1759		return x.Labels
1760	}
1761	return nil
1762}
1763
1764type isListenRequest_TargetChange interface {
1765	isListenRequest_TargetChange()
1766}
1767
1768type ListenRequest_AddTarget struct {
1769	// A target to add to this stream.
1770	AddTarget *Target `protobuf:"bytes,2,opt,name=add_target,json=addTarget,proto3,oneof"`
1771}
1772
1773type ListenRequest_RemoveTarget struct {
1774	// The ID of a target to remove from this stream.
1775	RemoveTarget int32 `protobuf:"varint,3,opt,name=remove_target,json=removeTarget,proto3,oneof"`
1776}
1777
1778func (*ListenRequest_AddTarget) isListenRequest_TargetChange() {}
1779
1780func (*ListenRequest_RemoveTarget) isListenRequest_TargetChange() {}
1781
1782// The response for [Firestore.Listen][google.firestore.v1beta1.Firestore.Listen].
1783type ListenResponse struct {
1784	state         protoimpl.MessageState
1785	sizeCache     protoimpl.SizeCache
1786	unknownFields protoimpl.UnknownFields
1787
1788	// The supported responses.
1789	//
1790	// Types that are assignable to ResponseType:
1791	//	*ListenResponse_TargetChange
1792	//	*ListenResponse_DocumentChange
1793	//	*ListenResponse_DocumentDelete
1794	//	*ListenResponse_DocumentRemove
1795	//	*ListenResponse_Filter
1796	ResponseType isListenResponse_ResponseType `protobuf_oneof:"response_type"`
1797}
1798
1799func (x *ListenResponse) Reset() {
1800	*x = ListenResponse{}
1801	if protoimpl.UnsafeEnabled {
1802		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18]
1803		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1804		ms.StoreMessageInfo(mi)
1805	}
1806}
1807
1808func (x *ListenResponse) String() string {
1809	return protoimpl.X.MessageStringOf(x)
1810}
1811
1812func (*ListenResponse) ProtoMessage() {}
1813
1814func (x *ListenResponse) ProtoReflect() protoreflect.Message {
1815	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[18]
1816	if protoimpl.UnsafeEnabled && x != nil {
1817		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1818		if ms.LoadMessageInfo() == nil {
1819			ms.StoreMessageInfo(mi)
1820		}
1821		return ms
1822	}
1823	return mi.MessageOf(x)
1824}
1825
1826// Deprecated: Use ListenResponse.ProtoReflect.Descriptor instead.
1827func (*ListenResponse) Descriptor() ([]byte, []int) {
1828	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{18}
1829}
1830
1831func (m *ListenResponse) GetResponseType() isListenResponse_ResponseType {
1832	if m != nil {
1833		return m.ResponseType
1834	}
1835	return nil
1836}
1837
1838func (x *ListenResponse) GetTargetChange() *TargetChange {
1839	if x, ok := x.GetResponseType().(*ListenResponse_TargetChange); ok {
1840		return x.TargetChange
1841	}
1842	return nil
1843}
1844
1845func (x *ListenResponse) GetDocumentChange() *DocumentChange {
1846	if x, ok := x.GetResponseType().(*ListenResponse_DocumentChange); ok {
1847		return x.DocumentChange
1848	}
1849	return nil
1850}
1851
1852func (x *ListenResponse) GetDocumentDelete() *DocumentDelete {
1853	if x, ok := x.GetResponseType().(*ListenResponse_DocumentDelete); ok {
1854		return x.DocumentDelete
1855	}
1856	return nil
1857}
1858
1859func (x *ListenResponse) GetDocumentRemove() *DocumentRemove {
1860	if x, ok := x.GetResponseType().(*ListenResponse_DocumentRemove); ok {
1861		return x.DocumentRemove
1862	}
1863	return nil
1864}
1865
1866func (x *ListenResponse) GetFilter() *ExistenceFilter {
1867	if x, ok := x.GetResponseType().(*ListenResponse_Filter); ok {
1868		return x.Filter
1869	}
1870	return nil
1871}
1872
1873type isListenResponse_ResponseType interface {
1874	isListenResponse_ResponseType()
1875}
1876
1877type ListenResponse_TargetChange struct {
1878	// Targets have changed.
1879	TargetChange *TargetChange `protobuf:"bytes,2,opt,name=target_change,json=targetChange,proto3,oneof"`
1880}
1881
1882type ListenResponse_DocumentChange struct {
1883	// A [Document][google.firestore.v1beta1.Document] has changed.
1884	DocumentChange *DocumentChange `protobuf:"bytes,3,opt,name=document_change,json=documentChange,proto3,oneof"`
1885}
1886
1887type ListenResponse_DocumentDelete struct {
1888	// A [Document][google.firestore.v1beta1.Document] has been deleted.
1889	DocumentDelete *DocumentDelete `protobuf:"bytes,4,opt,name=document_delete,json=documentDelete,proto3,oneof"`
1890}
1891
1892type ListenResponse_DocumentRemove struct {
1893	// A [Document][google.firestore.v1beta1.Document] has been removed from a target (because it is no longer
1894	// relevant to that target).
1895	DocumentRemove *DocumentRemove `protobuf:"bytes,6,opt,name=document_remove,json=documentRemove,proto3,oneof"`
1896}
1897
1898type ListenResponse_Filter struct {
1899	// A filter to apply to the set of documents previously returned for the
1900	// given target.
1901	//
1902	// Returned when documents may have been removed from the given target, but
1903	// the exact documents are unknown.
1904	Filter *ExistenceFilter `protobuf:"bytes,5,opt,name=filter,proto3,oneof"`
1905}
1906
1907func (*ListenResponse_TargetChange) isListenResponse_ResponseType() {}
1908
1909func (*ListenResponse_DocumentChange) isListenResponse_ResponseType() {}
1910
1911func (*ListenResponse_DocumentDelete) isListenResponse_ResponseType() {}
1912
1913func (*ListenResponse_DocumentRemove) isListenResponse_ResponseType() {}
1914
1915func (*ListenResponse_Filter) isListenResponse_ResponseType() {}
1916
1917// A specification of a set of documents to listen to.
1918type Target struct {
1919	state         protoimpl.MessageState
1920	sizeCache     protoimpl.SizeCache
1921	unknownFields protoimpl.UnknownFields
1922
1923	// The type of target to listen to.
1924	//
1925	// Types that are assignable to TargetType:
1926	//	*Target_Query
1927	//	*Target_Documents
1928	TargetType isTarget_TargetType `protobuf_oneof:"target_type"`
1929	// When to start listening.
1930	//
1931	// If not specified, all matching Documents are returned before any
1932	// subsequent changes.
1933	//
1934	// Types that are assignable to ResumeType:
1935	//	*Target_ResumeToken
1936	//	*Target_ReadTime
1937	ResumeType isTarget_ResumeType `protobuf_oneof:"resume_type"`
1938	// The target ID that identifies the target on the stream. Must be a positive
1939	// number and non-zero.
1940	TargetId int32 `protobuf:"varint,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
1941	// If the target should be removed once it is current and consistent.
1942	Once bool `protobuf:"varint,6,opt,name=once,proto3" json:"once,omitempty"`
1943}
1944
1945func (x *Target) Reset() {
1946	*x = Target{}
1947	if protoimpl.UnsafeEnabled {
1948		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19]
1949		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1950		ms.StoreMessageInfo(mi)
1951	}
1952}
1953
1954func (x *Target) String() string {
1955	return protoimpl.X.MessageStringOf(x)
1956}
1957
1958func (*Target) ProtoMessage() {}
1959
1960func (x *Target) ProtoReflect() protoreflect.Message {
1961	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[19]
1962	if protoimpl.UnsafeEnabled && x != nil {
1963		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1964		if ms.LoadMessageInfo() == nil {
1965			ms.StoreMessageInfo(mi)
1966		}
1967		return ms
1968	}
1969	return mi.MessageOf(x)
1970}
1971
1972// Deprecated: Use Target.ProtoReflect.Descriptor instead.
1973func (*Target) Descriptor() ([]byte, []int) {
1974	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19}
1975}
1976
1977func (m *Target) GetTargetType() isTarget_TargetType {
1978	if m != nil {
1979		return m.TargetType
1980	}
1981	return nil
1982}
1983
1984func (x *Target) GetQuery() *Target_QueryTarget {
1985	if x, ok := x.GetTargetType().(*Target_Query); ok {
1986		return x.Query
1987	}
1988	return nil
1989}
1990
1991func (x *Target) GetDocuments() *Target_DocumentsTarget {
1992	if x, ok := x.GetTargetType().(*Target_Documents); ok {
1993		return x.Documents
1994	}
1995	return nil
1996}
1997
1998func (m *Target) GetResumeType() isTarget_ResumeType {
1999	if m != nil {
2000		return m.ResumeType
2001	}
2002	return nil
2003}
2004
2005func (x *Target) GetResumeToken() []byte {
2006	if x, ok := x.GetResumeType().(*Target_ResumeToken); ok {
2007		return x.ResumeToken
2008	}
2009	return nil
2010}
2011
2012func (x *Target) GetReadTime() *timestamppb.Timestamp {
2013	if x, ok := x.GetResumeType().(*Target_ReadTime); ok {
2014		return x.ReadTime
2015	}
2016	return nil
2017}
2018
2019func (x *Target) GetTargetId() int32 {
2020	if x != nil {
2021		return x.TargetId
2022	}
2023	return 0
2024}
2025
2026func (x *Target) GetOnce() bool {
2027	if x != nil {
2028		return x.Once
2029	}
2030	return false
2031}
2032
2033type isTarget_TargetType interface {
2034	isTarget_TargetType()
2035}
2036
2037type Target_Query struct {
2038	// A target specified by a query.
2039	Query *Target_QueryTarget `protobuf:"bytes,2,opt,name=query,proto3,oneof"`
2040}
2041
2042type Target_Documents struct {
2043	// A target specified by a set of document names.
2044	Documents *Target_DocumentsTarget `protobuf:"bytes,3,opt,name=documents,proto3,oneof"`
2045}
2046
2047func (*Target_Query) isTarget_TargetType() {}
2048
2049func (*Target_Documents) isTarget_TargetType() {}
2050
2051type isTarget_ResumeType interface {
2052	isTarget_ResumeType()
2053}
2054
2055type Target_ResumeToken struct {
2056	// A resume token from a prior [TargetChange][google.firestore.v1beta1.TargetChange] for an identical target.
2057	//
2058	// Using a resume token with a different target is unsupported and may fail.
2059	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3,oneof"`
2060}
2061
2062type Target_ReadTime struct {
2063	// Start listening after a specific `read_time`.
2064	//
2065	// The client must know the state of matching documents at this time.
2066	ReadTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=read_time,json=readTime,proto3,oneof"`
2067}
2068
2069func (*Target_ResumeToken) isTarget_ResumeType() {}
2070
2071func (*Target_ReadTime) isTarget_ResumeType() {}
2072
2073// Targets being watched have changed.
2074type TargetChange struct {
2075	state         protoimpl.MessageState
2076	sizeCache     protoimpl.SizeCache
2077	unknownFields protoimpl.UnknownFields
2078
2079	// The type of change that occurred.
2080	TargetChangeType TargetChange_TargetChangeType `protobuf:"varint,1,opt,name=target_change_type,json=targetChangeType,proto3,enum=google.firestore.v1beta1.TargetChange_TargetChangeType" json:"target_change_type,omitempty"`
2081	// The target IDs of targets that have changed.
2082	//
2083	// If empty, the change applies to all targets.
2084	//
2085	// The order of the target IDs is not defined.
2086	TargetIds []int32 `protobuf:"varint,2,rep,packed,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"`
2087	// The error that resulted in this change, if applicable.
2088	Cause *status.Status `protobuf:"bytes,3,opt,name=cause,proto3" json:"cause,omitempty"`
2089	// A token that can be used to resume the stream for the given `target_ids`,
2090	// or all targets if `target_ids` is empty.
2091	//
2092	// Not set on every target change.
2093	ResumeToken []byte `protobuf:"bytes,4,opt,name=resume_token,json=resumeToken,proto3" json:"resume_token,omitempty"`
2094	// The consistent `read_time` for the given `target_ids` (omitted when the
2095	// target_ids are not at a consistent snapshot).
2096	//
2097	// The stream is guaranteed to send a `read_time` with `target_ids` empty
2098	// whenever the entire stream reaches a new consistent snapshot. ADD,
2099	// CURRENT, and RESET messages are guaranteed to (eventually) result in a
2100	// new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
2101	//
2102	// For a given stream, `read_time` is guaranteed to be monotonically
2103	// increasing.
2104	ReadTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
2105}
2106
2107func (x *TargetChange) Reset() {
2108	*x = TargetChange{}
2109	if protoimpl.UnsafeEnabled {
2110		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20]
2111		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2112		ms.StoreMessageInfo(mi)
2113	}
2114}
2115
2116func (x *TargetChange) String() string {
2117	return protoimpl.X.MessageStringOf(x)
2118}
2119
2120func (*TargetChange) ProtoMessage() {}
2121
2122func (x *TargetChange) ProtoReflect() protoreflect.Message {
2123	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[20]
2124	if protoimpl.UnsafeEnabled && x != nil {
2125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2126		if ms.LoadMessageInfo() == nil {
2127			ms.StoreMessageInfo(mi)
2128		}
2129		return ms
2130	}
2131	return mi.MessageOf(x)
2132}
2133
2134// Deprecated: Use TargetChange.ProtoReflect.Descriptor instead.
2135func (*TargetChange) Descriptor() ([]byte, []int) {
2136	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{20}
2137}
2138
2139func (x *TargetChange) GetTargetChangeType() TargetChange_TargetChangeType {
2140	if x != nil {
2141		return x.TargetChangeType
2142	}
2143	return TargetChange_NO_CHANGE
2144}
2145
2146func (x *TargetChange) GetTargetIds() []int32 {
2147	if x != nil {
2148		return x.TargetIds
2149	}
2150	return nil
2151}
2152
2153func (x *TargetChange) GetCause() *status.Status {
2154	if x != nil {
2155		return x.Cause
2156	}
2157	return nil
2158}
2159
2160func (x *TargetChange) GetResumeToken() []byte {
2161	if x != nil {
2162		return x.ResumeToken
2163	}
2164	return nil
2165}
2166
2167func (x *TargetChange) GetReadTime() *timestamppb.Timestamp {
2168	if x != nil {
2169		return x.ReadTime
2170	}
2171	return nil
2172}
2173
2174// The request for [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2175type ListCollectionIdsRequest struct {
2176	state         protoimpl.MessageState
2177	sizeCache     protoimpl.SizeCache
2178	unknownFields protoimpl.UnknownFields
2179
2180	// Required. The parent document. In the format:
2181	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2182	// For example:
2183	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2184	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2185	// The maximum number of results to return.
2186	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2187	// A page token. Must be a value from
2188	// [ListCollectionIdsResponse][google.firestore.v1beta1.ListCollectionIdsResponse].
2189	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2190}
2191
2192func (x *ListCollectionIdsRequest) Reset() {
2193	*x = ListCollectionIdsRequest{}
2194	if protoimpl.UnsafeEnabled {
2195		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21]
2196		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2197		ms.StoreMessageInfo(mi)
2198	}
2199}
2200
2201func (x *ListCollectionIdsRequest) String() string {
2202	return protoimpl.X.MessageStringOf(x)
2203}
2204
2205func (*ListCollectionIdsRequest) ProtoMessage() {}
2206
2207func (x *ListCollectionIdsRequest) ProtoReflect() protoreflect.Message {
2208	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[21]
2209	if protoimpl.UnsafeEnabled && x != nil {
2210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2211		if ms.LoadMessageInfo() == nil {
2212			ms.StoreMessageInfo(mi)
2213		}
2214		return ms
2215	}
2216	return mi.MessageOf(x)
2217}
2218
2219// Deprecated: Use ListCollectionIdsRequest.ProtoReflect.Descriptor instead.
2220func (*ListCollectionIdsRequest) Descriptor() ([]byte, []int) {
2221	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{21}
2222}
2223
2224func (x *ListCollectionIdsRequest) GetParent() string {
2225	if x != nil {
2226		return x.Parent
2227	}
2228	return ""
2229}
2230
2231func (x *ListCollectionIdsRequest) GetPageSize() int32 {
2232	if x != nil {
2233		return x.PageSize
2234	}
2235	return 0
2236}
2237
2238func (x *ListCollectionIdsRequest) GetPageToken() string {
2239	if x != nil {
2240		return x.PageToken
2241	}
2242	return ""
2243}
2244
2245// The response from [Firestore.ListCollectionIds][google.firestore.v1beta1.Firestore.ListCollectionIds].
2246type ListCollectionIdsResponse struct {
2247	state         protoimpl.MessageState
2248	sizeCache     protoimpl.SizeCache
2249	unknownFields protoimpl.UnknownFields
2250
2251	// The collection ids.
2252	CollectionIds []string `protobuf:"bytes,1,rep,name=collection_ids,json=collectionIds,proto3" json:"collection_ids,omitempty"`
2253	// A page token that may be used to continue the list.
2254	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2255}
2256
2257func (x *ListCollectionIdsResponse) Reset() {
2258	*x = ListCollectionIdsResponse{}
2259	if protoimpl.UnsafeEnabled {
2260		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22]
2261		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2262		ms.StoreMessageInfo(mi)
2263	}
2264}
2265
2266func (x *ListCollectionIdsResponse) String() string {
2267	return protoimpl.X.MessageStringOf(x)
2268}
2269
2270func (*ListCollectionIdsResponse) ProtoMessage() {}
2271
2272func (x *ListCollectionIdsResponse) ProtoReflect() protoreflect.Message {
2273	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[22]
2274	if protoimpl.UnsafeEnabled && x != nil {
2275		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2276		if ms.LoadMessageInfo() == nil {
2277			ms.StoreMessageInfo(mi)
2278		}
2279		return ms
2280	}
2281	return mi.MessageOf(x)
2282}
2283
2284// Deprecated: Use ListCollectionIdsResponse.ProtoReflect.Descriptor instead.
2285func (*ListCollectionIdsResponse) Descriptor() ([]byte, []int) {
2286	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{22}
2287}
2288
2289func (x *ListCollectionIdsResponse) GetCollectionIds() []string {
2290	if x != nil {
2291		return x.CollectionIds
2292	}
2293	return nil
2294}
2295
2296func (x *ListCollectionIdsResponse) GetNextPageToken() string {
2297	if x != nil {
2298		return x.NextPageToken
2299	}
2300	return ""
2301}
2302
2303// A target specified by a set of documents names.
2304type Target_DocumentsTarget struct {
2305	state         protoimpl.MessageState
2306	sizeCache     protoimpl.SizeCache
2307	unknownFields protoimpl.UnknownFields
2308
2309	// The names of the documents to retrieve. In the format:
2310	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2311	// The request will fail if any of the document is not a child resource of
2312	// the given `database`. Duplicate names will be elided.
2313	Documents []string `protobuf:"bytes,2,rep,name=documents,proto3" json:"documents,omitempty"`
2314}
2315
2316func (x *Target_DocumentsTarget) Reset() {
2317	*x = Target_DocumentsTarget{}
2318	if protoimpl.UnsafeEnabled {
2319		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25]
2320		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2321		ms.StoreMessageInfo(mi)
2322	}
2323}
2324
2325func (x *Target_DocumentsTarget) String() string {
2326	return protoimpl.X.MessageStringOf(x)
2327}
2328
2329func (*Target_DocumentsTarget) ProtoMessage() {}
2330
2331func (x *Target_DocumentsTarget) ProtoReflect() protoreflect.Message {
2332	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[25]
2333	if protoimpl.UnsafeEnabled && x != nil {
2334		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2335		if ms.LoadMessageInfo() == nil {
2336			ms.StoreMessageInfo(mi)
2337		}
2338		return ms
2339	}
2340	return mi.MessageOf(x)
2341}
2342
2343// Deprecated: Use Target_DocumentsTarget.ProtoReflect.Descriptor instead.
2344func (*Target_DocumentsTarget) Descriptor() ([]byte, []int) {
2345	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19, 0}
2346}
2347
2348func (x *Target_DocumentsTarget) GetDocuments() []string {
2349	if x != nil {
2350		return x.Documents
2351	}
2352	return nil
2353}
2354
2355// A target specified by a query.
2356type Target_QueryTarget struct {
2357	state         protoimpl.MessageState
2358	sizeCache     protoimpl.SizeCache
2359	unknownFields protoimpl.UnknownFields
2360
2361	// The parent resource name. In the format:
2362	// `projects/{project_id}/databases/{database_id}/documents` or
2363	// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
2364	// For example:
2365	// `projects/my-project/databases/my-database/documents` or
2366	// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
2367	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2368	// The query to run.
2369	//
2370	// Types that are assignable to QueryType:
2371	//	*Target_QueryTarget_StructuredQuery
2372	QueryType isTarget_QueryTarget_QueryType `protobuf_oneof:"query_type"`
2373}
2374
2375func (x *Target_QueryTarget) Reset() {
2376	*x = Target_QueryTarget{}
2377	if protoimpl.UnsafeEnabled {
2378		mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26]
2379		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2380		ms.StoreMessageInfo(mi)
2381	}
2382}
2383
2384func (x *Target_QueryTarget) String() string {
2385	return protoimpl.X.MessageStringOf(x)
2386}
2387
2388func (*Target_QueryTarget) ProtoMessage() {}
2389
2390func (x *Target_QueryTarget) ProtoReflect() protoreflect.Message {
2391	mi := &file_google_firestore_v1beta1_firestore_proto_msgTypes[26]
2392	if protoimpl.UnsafeEnabled && x != nil {
2393		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2394		if ms.LoadMessageInfo() == nil {
2395			ms.StoreMessageInfo(mi)
2396		}
2397		return ms
2398	}
2399	return mi.MessageOf(x)
2400}
2401
2402// Deprecated: Use Target_QueryTarget.ProtoReflect.Descriptor instead.
2403func (*Target_QueryTarget) Descriptor() ([]byte, []int) {
2404	return file_google_firestore_v1beta1_firestore_proto_rawDescGZIP(), []int{19, 1}
2405}
2406
2407func (x *Target_QueryTarget) GetParent() string {
2408	if x != nil {
2409		return x.Parent
2410	}
2411	return ""
2412}
2413
2414func (m *Target_QueryTarget) GetQueryType() isTarget_QueryTarget_QueryType {
2415	if m != nil {
2416		return m.QueryType
2417	}
2418	return nil
2419}
2420
2421func (x *Target_QueryTarget) GetStructuredQuery() *StructuredQuery {
2422	if x, ok := x.GetQueryType().(*Target_QueryTarget_StructuredQuery); ok {
2423		return x.StructuredQuery
2424	}
2425	return nil
2426}
2427
2428type isTarget_QueryTarget_QueryType interface {
2429	isTarget_QueryTarget_QueryType()
2430}
2431
2432type Target_QueryTarget_StructuredQuery struct {
2433	// A structured query.
2434	StructuredQuery *StructuredQuery `protobuf:"bytes,2,opt,name=structured_query,json=structuredQuery,proto3,oneof"`
2435}
2436
2437func (*Target_QueryTarget_StructuredQuery) isTarget_QueryTarget_QueryType() {}
2438
2439var File_google_firestore_v1beta1_firestore_proto protoreflect.FileDescriptor
2440
2441var file_google_firestore_v1beta1_firestore_proto_rawDesc = []byte{
2442	0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
2443	0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73,
2444	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67,
2445	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2446	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
2447	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
2448	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
2449	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
2450	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
2451	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f,
2452	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
2453	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
2454	0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65,
2455	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x6f,
2456	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f,
2457	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
2458	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
2459	0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73,
2460	0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x72, 0x69,
2461	0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2462	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
2463	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
2464	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
2465	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72,
2466	0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
2467	0xe0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2468	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
2469	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
2470	0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
2471	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2472	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2473	0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74,
2474	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
2475	0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2476	0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
2477	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2478	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00,
2479	0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f,
2480	0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
2481	0x6f, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2482	0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70,
2483	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
2484	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c,
2485	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
2486	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2487	0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
2488	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
2489	0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20,
2490	0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19,
2491	0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
2492	0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73,
2493	0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2494	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2495	0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52,
2496	0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2497	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x72,
2498	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61,
2499	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
2500	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
2501	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64,
2502	0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73,
2503	0x73, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77,
2504	0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69,
2505	0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22,
2506	0x81, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2507	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63,
2508	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
2509	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2510	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2511	0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
2512	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
2513	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
2514	0x6b, 0x65, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f,
2515	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a,
2516	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2517	0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f,
2518	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
2519	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
2520	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2521	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x63, 0x75, 0x6d,
2522	0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2523	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2524	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2525	0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
2526	0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x61,
2527	0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2528	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2529	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b,
2530	0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb4, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
2531	0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2532	0x12, 0x43, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2533	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
2534	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f,
2535	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x6f, 0x63,
2536	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2537	0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
2538	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
2539	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61,
2540	0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3a,
2541	0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
2542	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2543	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2544	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x51, 0x0a, 0x10, 0x63, 0x75,
2545	0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04,
2546	0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2547	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2548	0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75,
2549	0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x01,
2550	0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2551	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
2552	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2553	0x12, 0x51, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75,
2554	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
2555	0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
2556	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
2557	0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2558	0x65, 0x6e, 0x74, 0x22, 0xe5, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74,
2559	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2560	0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01,
2561	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
2562	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02,
2563	0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
2564	0x3a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
2565	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2566	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
2567	0x74, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0b, 0x74,
2568	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
2569	0x48, 0x00, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2570	0x57, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
2571	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2572	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2573	0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f,
2574	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61,
2575	0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64,
2576	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2577	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2578	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54,
2579	0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
2580	0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd8, 0x01, 0x0a, 0x19,
2581	0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2582	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x66, 0x6f, 0x75,
2583	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2584	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2585	0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05,
2586	0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67,
2587	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e,
2588	0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
2589	0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
2590	0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
2591	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2592	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
2593	0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06,
2594	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x42, 0x65, 0x67, 0x69, 0x6e,
2595	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
2596	0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01,
2597	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62,
2598	0x61, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
2599	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2600	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2601	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
2602	0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x18, 0x42,
2603	0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
2604	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2605	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72,
2606	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x43, 0x6f,
2607	0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64,
2608	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2609	0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06,
2610	0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67,
2611	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2612	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06, 0x77,
2613	0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2614	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e,
2615	0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d,
2616	0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72,
2617	0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2618	0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73,
2619	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69,
2620	0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52,
2621	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
2622	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2623	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
2624	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54,
2625	0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52,
2626	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
2627	0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64,
2628	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2629	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41,
2630	0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe4,
2631	0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
2632	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2633	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2634	0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75,
2635	0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2636	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2637	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51,
2638	0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72,
2639	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,
2640	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b,
2641	0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x6e,
2642	0x65, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
2643	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2644	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2645	0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
2646	0x6e, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2647	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d,
2648	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2649	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
2650	0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42,
2651	0x0c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a,
2652	0x14, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x65, 0x6c,
2653	0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65,
2654	0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72,
2655	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
2656	0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x08,
2657	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
2658	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
2659	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
2660	0x6e, 0x74, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09,
2661	0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2662	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2663	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61,
2664	0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64,
2665	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
2666	0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xaf,
2667	0x02, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2668	0x1f, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2669	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
2670	0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
2671	0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x37, 0x0a,
2672	0x06, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
2673	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2674	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x06,
2675	0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
2676	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74,
2677	0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62,
2678	0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2679	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2680	0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2681	0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
2682	0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
2683	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
2684	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
2685	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
2686	0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
2687	0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18,
2688	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12,
2689	0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
2690	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6f, 0x6b,
2691	0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75,
2692	0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2693	0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62,
2694	0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
2695	0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b,
2696	0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
2697	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2698	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
2699	0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x0d,
2700	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
2701	0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
2702	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x41,
2703	0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
2704	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
2705	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61,
2706	0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
2707	0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67,
2708	0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f,
2709	0x76, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65,
2710	0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2711	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2712	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2713	0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
2714	0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
2715	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
2716	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
2717	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
2718	0x42, 0x0f, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
2719	0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70,
2720	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63,
2721	0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
2722	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
2723	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61,
2724	0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61,
2725	0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
2726	0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
2727	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2728	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2729	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
2730	0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75,
2731	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
2732	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73,
2733	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63,
2734	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64,
2735	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x53, 0x0a,
2736	0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
2737	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2738	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2739	0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
2740	0x48, 0x00, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f,
2741	0x76, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
2742	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
2743	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,
2744	0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52,
2745	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f,
2746	0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8e, 0x04, 0x0a, 0x06, 0x54, 0x61, 0x72,
2747	0x67, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01,
2748	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65,
2749	0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61,
2750	0x72, 0x67, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
2751	0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x09, 0x64, 0x6f, 0x63,
2752	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
2753	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2754	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x44,
2755	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00,
2756	0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x72,
2757	0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
2758	0x0c, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
2759	0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20,
2760	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2761	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48,
2762	0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74,
2763	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
2764	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65,
2765	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x1a, 0x2f, 0x0a, 0x0f,
2766	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
2767	0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
2768	0x28, 0x09, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x8b, 0x01,
2769	0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a,
2770	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
2771	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75,
2772	0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2773	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
2774	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
2775	0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74,
2776	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x0c, 0x0a,
2777	0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x74,
2778	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65,
2779	0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xea, 0x02, 0x0a, 0x0c, 0x54, 0x61,
2780	0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x74, 0x61,
2781	0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
2782	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2783	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2784	0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x54,
2785	0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2786	0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70,
2787	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18,
2788	0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73,
2789	0x12, 0x28, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
2790	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
2791	0x74, 0x75, 0x73, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65,
2792	0x73, 0x75, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
2793	0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a,
2794	0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
2795	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2796	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65,
2797	0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
2798	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f,
2799	0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44,
2800	0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b,
2801	0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x52,
2802	0x45, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x73, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f,
2803	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
2804	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
2805	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2806	0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
2807	0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
2808	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2809	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6a, 0x0a, 0x19, 0x4c,
2810	0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73,
2811	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c,
2812	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
2813	0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12,
2814	0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
2815	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
2816	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x9b, 0x15, 0x0a, 0x09, 0x46, 0x69, 0x72, 0x65,
2817	0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63,
2818	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66,
2819	0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2820	0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
2821	0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72,
2822	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44,
2823	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12,
2824	0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
2825	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62,
2826	0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
2827	0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44,
2828	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2829	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2830	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2831	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2832	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2833	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2834	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02,
2835	0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
2836	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
2837	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d,
2838	0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c,
2839	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x43,
2840	0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e,
2841	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2842	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
2843	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
2844	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
2845	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
2846	0x6e, 0x74, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62,
2847	0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
2848	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
2849	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2a,
2850	0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
2851	0x7d, 0x3a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xce, 0x01, 0x0a, 0x0e,
2852	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f,
2853	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
2854	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
2855	0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
2856	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
2857	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2858	0x65, 0x6e, 0x74, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x32, 0x3e, 0x2f, 0x76, 0x31,
2859	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
2860	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2861	0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75,
2862	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x08, 0x64, 0x6f, 0x63,
2863	0x75, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2864	0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9f, 0x01, 0x0a,
2865	0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12,
2866	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f,
2867	0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
2868	0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2869	0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2870	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37,
2871	0x2a, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
2872	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61,
2873	0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2874	0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc8,
2875	0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d,
2876	0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2877	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2878	0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
2879	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2880	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2881	0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75,
2882	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82,
2883	0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2884	0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2885	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a,
2886	0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63,
2887	0x68, 0x47, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x10, 0x42, 0x65,
2888	0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31,
2889	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
2890	0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54,
2891	0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
2892	0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73,
2893	0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x65, 0x67,
2894	0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
2895	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 0x2f,
2896	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
2897	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74,
2898	0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
2899	0x6e, 0x74, 0x73, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
2900	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
2901	0x73, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x2e,
2902	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
2903	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52,
2904	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2905	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2906	0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2907	0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
2908	0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f,
2909	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
2910	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63,
2911	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62,
2912	0x61, 0x73, 0x65, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x08, 0x52,
2913	0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2914	0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
2915	0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
2916	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2917	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93,
2918	0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61,
2919	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
2920	0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64,
2921	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
2922	0x6b, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c,
2923	0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf4, 0x01, 0x0a, 0x08,
2924	0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2925	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2926	0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
2927	0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72,
2928	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52,
2929	0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
2930	0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65,
2931	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
2932	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73,
2933	0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a, 0x72, 0x75,
2934	0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x31,
2935	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
2936	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
2937	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
2938	0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a,
2939	0x30, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x67,
2940	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2941	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
2942	0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69,
2943	0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
2944	0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82,
2945	0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
2946	0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2947	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a,
2948	0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74,
2949	0x65, 0x3a, 0x01, 0x2a, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa7, 0x01, 0x0a, 0x06, 0x4c, 0x69, 0x73,
2950	0x74, 0x65, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72,
2951	0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c,
2952	0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67,
2953	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2954	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x52, 0x65,
2955	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b,
2956	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61,
2957	0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61,
2958	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d,
2959	0x65, 0x6e, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x3a, 0x01, 0x2a, 0x28, 0x01,
2960	0x30, 0x01, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
2961	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2962	0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65,
2963	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
2964	0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67,
2965	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
2966	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c,
2967	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
2968	0x65, 0x22, 0xa9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x99, 0x01, 0x22, 0x44, 0x2f, 0x76, 0x31,
2969	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
2970	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
2971	0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x7d, 0x3a,
2972	0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
2973	0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
2974	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2975	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
2976	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a,
2977	0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
2978	0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x76, 0xca,
2979	0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2980	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74,
2981	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2982	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f,
2983	0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70,
2984	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
2985	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61,
2986	0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xe0, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
2987	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76,
2988	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72,
2989	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2990	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
2991	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
2992	0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
2993	0x31, 0x3b, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x04, 0x47, 0x43,
2994	0x46, 0x53, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
2995	0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x31, 0x42, 0x65,
2996	0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
2997	0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x56, 0x31, 0x62,
2998	0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43,
2999	0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a,
3000	0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3001}
3002
3003var (
3004	file_google_firestore_v1beta1_firestore_proto_rawDescOnce sync.Once
3005	file_google_firestore_v1beta1_firestore_proto_rawDescData = file_google_firestore_v1beta1_firestore_proto_rawDesc
3006)
3007
3008func file_google_firestore_v1beta1_firestore_proto_rawDescGZIP() []byte {
3009	file_google_firestore_v1beta1_firestore_proto_rawDescOnce.Do(func() {
3010		file_google_firestore_v1beta1_firestore_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_firestore_v1beta1_firestore_proto_rawDescData)
3011	})
3012	return file_google_firestore_v1beta1_firestore_proto_rawDescData
3013}
3014
3015var file_google_firestore_v1beta1_firestore_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
3016var file_google_firestore_v1beta1_firestore_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
3017var file_google_firestore_v1beta1_firestore_proto_goTypes = []interface{}{
3018	(TargetChange_TargetChangeType)(0), // 0: google.firestore.v1beta1.TargetChange.TargetChangeType
3019	(*GetDocumentRequest)(nil),         // 1: google.firestore.v1beta1.GetDocumentRequest
3020	(*ListDocumentsRequest)(nil),       // 2: google.firestore.v1beta1.ListDocumentsRequest
3021	(*ListDocumentsResponse)(nil),      // 3: google.firestore.v1beta1.ListDocumentsResponse
3022	(*CreateDocumentRequest)(nil),      // 4: google.firestore.v1beta1.CreateDocumentRequest
3023	(*UpdateDocumentRequest)(nil),      // 5: google.firestore.v1beta1.UpdateDocumentRequest
3024	(*DeleteDocumentRequest)(nil),      // 6: google.firestore.v1beta1.DeleteDocumentRequest
3025	(*BatchGetDocumentsRequest)(nil),   // 7: google.firestore.v1beta1.BatchGetDocumentsRequest
3026	(*BatchGetDocumentsResponse)(nil),  // 8: google.firestore.v1beta1.BatchGetDocumentsResponse
3027	(*BeginTransactionRequest)(nil),    // 9: google.firestore.v1beta1.BeginTransactionRequest
3028	(*BeginTransactionResponse)(nil),   // 10: google.firestore.v1beta1.BeginTransactionResponse
3029	(*CommitRequest)(nil),              // 11: google.firestore.v1beta1.CommitRequest
3030	(*CommitResponse)(nil),             // 12: google.firestore.v1beta1.CommitResponse
3031	(*RollbackRequest)(nil),            // 13: google.firestore.v1beta1.RollbackRequest
3032	(*RunQueryRequest)(nil),            // 14: google.firestore.v1beta1.RunQueryRequest
3033	(*RunQueryResponse)(nil),           // 15: google.firestore.v1beta1.RunQueryResponse
3034	(*WriteRequest)(nil),               // 16: google.firestore.v1beta1.WriteRequest
3035	(*WriteResponse)(nil),              // 17: google.firestore.v1beta1.WriteResponse
3036	(*ListenRequest)(nil),              // 18: google.firestore.v1beta1.ListenRequest
3037	(*ListenResponse)(nil),             // 19: google.firestore.v1beta1.ListenResponse
3038	(*Target)(nil),                     // 20: google.firestore.v1beta1.Target
3039	(*TargetChange)(nil),               // 21: google.firestore.v1beta1.TargetChange
3040	(*ListCollectionIdsRequest)(nil),   // 22: google.firestore.v1beta1.ListCollectionIdsRequest
3041	(*ListCollectionIdsResponse)(nil),  // 23: google.firestore.v1beta1.ListCollectionIdsResponse
3042	nil,                                // 24: google.firestore.v1beta1.WriteRequest.LabelsEntry
3043	nil,                                // 25: google.firestore.v1beta1.ListenRequest.LabelsEntry
3044	(*Target_DocumentsTarget)(nil),     // 26: google.firestore.v1beta1.Target.DocumentsTarget
3045	(*Target_QueryTarget)(nil),         // 27: google.firestore.v1beta1.Target.QueryTarget
3046	(*DocumentMask)(nil),               // 28: google.firestore.v1beta1.DocumentMask
3047	(*timestamppb.Timestamp)(nil),      // 29: google.protobuf.Timestamp
3048	(*Document)(nil),                   // 30: google.firestore.v1beta1.Document
3049	(*Precondition)(nil),               // 31: google.firestore.v1beta1.Precondition
3050	(*TransactionOptions)(nil),         // 32: google.firestore.v1beta1.TransactionOptions
3051	(*Write)(nil),                      // 33: google.firestore.v1beta1.Write
3052	(*WriteResult)(nil),                // 34: google.firestore.v1beta1.WriteResult
3053	(*StructuredQuery)(nil),            // 35: google.firestore.v1beta1.StructuredQuery
3054	(*DocumentChange)(nil),             // 36: google.firestore.v1beta1.DocumentChange
3055	(*DocumentDelete)(nil),             // 37: google.firestore.v1beta1.DocumentDelete
3056	(*DocumentRemove)(nil),             // 38: google.firestore.v1beta1.DocumentRemove
3057	(*ExistenceFilter)(nil),            // 39: google.firestore.v1beta1.ExistenceFilter
3058	(*status.Status)(nil),              // 40: google.rpc.Status
3059	(*emptypb.Empty)(nil),              // 41: google.protobuf.Empty
3060}
3061var file_google_firestore_v1beta1_firestore_proto_depIdxs = []int32{
3062	28, // 0: google.firestore.v1beta1.GetDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3063	29, // 1: google.firestore.v1beta1.GetDocumentRequest.read_time:type_name -> google.protobuf.Timestamp
3064	28, // 2: google.firestore.v1beta1.ListDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3065	29, // 3: google.firestore.v1beta1.ListDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp
3066	30, // 4: google.firestore.v1beta1.ListDocumentsResponse.documents:type_name -> google.firestore.v1beta1.Document
3067	30, // 5: google.firestore.v1beta1.CreateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document
3068	28, // 6: google.firestore.v1beta1.CreateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3069	30, // 7: google.firestore.v1beta1.UpdateDocumentRequest.document:type_name -> google.firestore.v1beta1.Document
3070	28, // 8: google.firestore.v1beta1.UpdateDocumentRequest.update_mask:type_name -> google.firestore.v1beta1.DocumentMask
3071	28, // 9: google.firestore.v1beta1.UpdateDocumentRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3072	31, // 10: google.firestore.v1beta1.UpdateDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition
3073	31, // 11: google.firestore.v1beta1.DeleteDocumentRequest.current_document:type_name -> google.firestore.v1beta1.Precondition
3074	28, // 12: google.firestore.v1beta1.BatchGetDocumentsRequest.mask:type_name -> google.firestore.v1beta1.DocumentMask
3075	32, // 13: google.firestore.v1beta1.BatchGetDocumentsRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions
3076	29, // 14: google.firestore.v1beta1.BatchGetDocumentsRequest.read_time:type_name -> google.protobuf.Timestamp
3077	30, // 15: google.firestore.v1beta1.BatchGetDocumentsResponse.found:type_name -> google.firestore.v1beta1.Document
3078	29, // 16: google.firestore.v1beta1.BatchGetDocumentsResponse.read_time:type_name -> google.protobuf.Timestamp
3079	32, // 17: google.firestore.v1beta1.BeginTransactionRequest.options:type_name -> google.firestore.v1beta1.TransactionOptions
3080	33, // 18: google.firestore.v1beta1.CommitRequest.writes:type_name -> google.firestore.v1beta1.Write
3081	34, // 19: google.firestore.v1beta1.CommitResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult
3082	29, // 20: google.firestore.v1beta1.CommitResponse.commit_time:type_name -> google.protobuf.Timestamp
3083	35, // 21: google.firestore.v1beta1.RunQueryRequest.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery
3084	32, // 22: google.firestore.v1beta1.RunQueryRequest.new_transaction:type_name -> google.firestore.v1beta1.TransactionOptions
3085	29, // 23: google.firestore.v1beta1.RunQueryRequest.read_time:type_name -> google.protobuf.Timestamp
3086	30, // 24: google.firestore.v1beta1.RunQueryResponse.document:type_name -> google.firestore.v1beta1.Document
3087	29, // 25: google.firestore.v1beta1.RunQueryResponse.read_time:type_name -> google.protobuf.Timestamp
3088	33, // 26: google.firestore.v1beta1.WriteRequest.writes:type_name -> google.firestore.v1beta1.Write
3089	24, // 27: google.firestore.v1beta1.WriteRequest.labels:type_name -> google.firestore.v1beta1.WriteRequest.LabelsEntry
3090	34, // 28: google.firestore.v1beta1.WriteResponse.write_results:type_name -> google.firestore.v1beta1.WriteResult
3091	29, // 29: google.firestore.v1beta1.WriteResponse.commit_time:type_name -> google.protobuf.Timestamp
3092	20, // 30: google.firestore.v1beta1.ListenRequest.add_target:type_name -> google.firestore.v1beta1.Target
3093	25, // 31: google.firestore.v1beta1.ListenRequest.labels:type_name -> google.firestore.v1beta1.ListenRequest.LabelsEntry
3094	21, // 32: google.firestore.v1beta1.ListenResponse.target_change:type_name -> google.firestore.v1beta1.TargetChange
3095	36, // 33: google.firestore.v1beta1.ListenResponse.document_change:type_name -> google.firestore.v1beta1.DocumentChange
3096	37, // 34: google.firestore.v1beta1.ListenResponse.document_delete:type_name -> google.firestore.v1beta1.DocumentDelete
3097	38, // 35: google.firestore.v1beta1.ListenResponse.document_remove:type_name -> google.firestore.v1beta1.DocumentRemove
3098	39, // 36: google.firestore.v1beta1.ListenResponse.filter:type_name -> google.firestore.v1beta1.ExistenceFilter
3099	27, // 37: google.firestore.v1beta1.Target.query:type_name -> google.firestore.v1beta1.Target.QueryTarget
3100	26, // 38: google.firestore.v1beta1.Target.documents:type_name -> google.firestore.v1beta1.Target.DocumentsTarget
3101	29, // 39: google.firestore.v1beta1.Target.read_time:type_name -> google.protobuf.Timestamp
3102	0,  // 40: google.firestore.v1beta1.TargetChange.target_change_type:type_name -> google.firestore.v1beta1.TargetChange.TargetChangeType
3103	40, // 41: google.firestore.v1beta1.TargetChange.cause:type_name -> google.rpc.Status
3104	29, // 42: google.firestore.v1beta1.TargetChange.read_time:type_name -> google.protobuf.Timestamp
3105	35, // 43: google.firestore.v1beta1.Target.QueryTarget.structured_query:type_name -> google.firestore.v1beta1.StructuredQuery
3106	1,  // 44: google.firestore.v1beta1.Firestore.GetDocument:input_type -> google.firestore.v1beta1.GetDocumentRequest
3107	2,  // 45: google.firestore.v1beta1.Firestore.ListDocuments:input_type -> google.firestore.v1beta1.ListDocumentsRequest
3108	4,  // 46: google.firestore.v1beta1.Firestore.CreateDocument:input_type -> google.firestore.v1beta1.CreateDocumentRequest
3109	5,  // 47: google.firestore.v1beta1.Firestore.UpdateDocument:input_type -> google.firestore.v1beta1.UpdateDocumentRequest
3110	6,  // 48: google.firestore.v1beta1.Firestore.DeleteDocument:input_type -> google.firestore.v1beta1.DeleteDocumentRequest
3111	7,  // 49: google.firestore.v1beta1.Firestore.BatchGetDocuments:input_type -> google.firestore.v1beta1.BatchGetDocumentsRequest
3112	9,  // 50: google.firestore.v1beta1.Firestore.BeginTransaction:input_type -> google.firestore.v1beta1.BeginTransactionRequest
3113	11, // 51: google.firestore.v1beta1.Firestore.Commit:input_type -> google.firestore.v1beta1.CommitRequest
3114	13, // 52: google.firestore.v1beta1.Firestore.Rollback:input_type -> google.firestore.v1beta1.RollbackRequest
3115	14, // 53: google.firestore.v1beta1.Firestore.RunQuery:input_type -> google.firestore.v1beta1.RunQueryRequest
3116	16, // 54: google.firestore.v1beta1.Firestore.Write:input_type -> google.firestore.v1beta1.WriteRequest
3117	18, // 55: google.firestore.v1beta1.Firestore.Listen:input_type -> google.firestore.v1beta1.ListenRequest
3118	22, // 56: google.firestore.v1beta1.Firestore.ListCollectionIds:input_type -> google.firestore.v1beta1.ListCollectionIdsRequest
3119	30, // 57: google.firestore.v1beta1.Firestore.GetDocument:output_type -> google.firestore.v1beta1.Document
3120	3,  // 58: google.firestore.v1beta1.Firestore.ListDocuments:output_type -> google.firestore.v1beta1.ListDocumentsResponse
3121	30, // 59: google.firestore.v1beta1.Firestore.CreateDocument:output_type -> google.firestore.v1beta1.Document
3122	30, // 60: google.firestore.v1beta1.Firestore.UpdateDocument:output_type -> google.firestore.v1beta1.Document
3123	41, // 61: google.firestore.v1beta1.Firestore.DeleteDocument:output_type -> google.protobuf.Empty
3124	8,  // 62: google.firestore.v1beta1.Firestore.BatchGetDocuments:output_type -> google.firestore.v1beta1.BatchGetDocumentsResponse
3125	10, // 63: google.firestore.v1beta1.Firestore.BeginTransaction:output_type -> google.firestore.v1beta1.BeginTransactionResponse
3126	12, // 64: google.firestore.v1beta1.Firestore.Commit:output_type -> google.firestore.v1beta1.CommitResponse
3127	41, // 65: google.firestore.v1beta1.Firestore.Rollback:output_type -> google.protobuf.Empty
3128	15, // 66: google.firestore.v1beta1.Firestore.RunQuery:output_type -> google.firestore.v1beta1.RunQueryResponse
3129	17, // 67: google.firestore.v1beta1.Firestore.Write:output_type -> google.firestore.v1beta1.WriteResponse
3130	19, // 68: google.firestore.v1beta1.Firestore.Listen:output_type -> google.firestore.v1beta1.ListenResponse
3131	23, // 69: google.firestore.v1beta1.Firestore.ListCollectionIds:output_type -> google.firestore.v1beta1.ListCollectionIdsResponse
3132	57, // [57:70] is the sub-list for method output_type
3133	44, // [44:57] is the sub-list for method input_type
3134	44, // [44:44] is the sub-list for extension type_name
3135	44, // [44:44] is the sub-list for extension extendee
3136	0,  // [0:44] is the sub-list for field type_name
3137}
3138
3139func init() { file_google_firestore_v1beta1_firestore_proto_init() }
3140func file_google_firestore_v1beta1_firestore_proto_init() {
3141	if File_google_firestore_v1beta1_firestore_proto != nil {
3142		return
3143	}
3144	file_google_firestore_v1beta1_common_proto_init()
3145	file_google_firestore_v1beta1_document_proto_init()
3146	file_google_firestore_v1beta1_query_proto_init()
3147	file_google_firestore_v1beta1_write_proto_init()
3148	if !protoimpl.UnsafeEnabled {
3149		file_google_firestore_v1beta1_firestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3150			switch v := v.(*GetDocumentRequest); i {
3151			case 0:
3152				return &v.state
3153			case 1:
3154				return &v.sizeCache
3155			case 2:
3156				return &v.unknownFields
3157			default:
3158				return nil
3159			}
3160		}
3161		file_google_firestore_v1beta1_firestore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3162			switch v := v.(*ListDocumentsRequest); i {
3163			case 0:
3164				return &v.state
3165			case 1:
3166				return &v.sizeCache
3167			case 2:
3168				return &v.unknownFields
3169			default:
3170				return nil
3171			}
3172		}
3173		file_google_firestore_v1beta1_firestore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3174			switch v := v.(*ListDocumentsResponse); i {
3175			case 0:
3176				return &v.state
3177			case 1:
3178				return &v.sizeCache
3179			case 2:
3180				return &v.unknownFields
3181			default:
3182				return nil
3183			}
3184		}
3185		file_google_firestore_v1beta1_firestore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3186			switch v := v.(*CreateDocumentRequest); i {
3187			case 0:
3188				return &v.state
3189			case 1:
3190				return &v.sizeCache
3191			case 2:
3192				return &v.unknownFields
3193			default:
3194				return nil
3195			}
3196		}
3197		file_google_firestore_v1beta1_firestore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3198			switch v := v.(*UpdateDocumentRequest); i {
3199			case 0:
3200				return &v.state
3201			case 1:
3202				return &v.sizeCache
3203			case 2:
3204				return &v.unknownFields
3205			default:
3206				return nil
3207			}
3208		}
3209		file_google_firestore_v1beta1_firestore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3210			switch v := v.(*DeleteDocumentRequest); i {
3211			case 0:
3212				return &v.state
3213			case 1:
3214				return &v.sizeCache
3215			case 2:
3216				return &v.unknownFields
3217			default:
3218				return nil
3219			}
3220		}
3221		file_google_firestore_v1beta1_firestore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3222			switch v := v.(*BatchGetDocumentsRequest); i {
3223			case 0:
3224				return &v.state
3225			case 1:
3226				return &v.sizeCache
3227			case 2:
3228				return &v.unknownFields
3229			default:
3230				return nil
3231			}
3232		}
3233		file_google_firestore_v1beta1_firestore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3234			switch v := v.(*BatchGetDocumentsResponse); i {
3235			case 0:
3236				return &v.state
3237			case 1:
3238				return &v.sizeCache
3239			case 2:
3240				return &v.unknownFields
3241			default:
3242				return nil
3243			}
3244		}
3245		file_google_firestore_v1beta1_firestore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3246			switch v := v.(*BeginTransactionRequest); i {
3247			case 0:
3248				return &v.state
3249			case 1:
3250				return &v.sizeCache
3251			case 2:
3252				return &v.unknownFields
3253			default:
3254				return nil
3255			}
3256		}
3257		file_google_firestore_v1beta1_firestore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3258			switch v := v.(*BeginTransactionResponse); i {
3259			case 0:
3260				return &v.state
3261			case 1:
3262				return &v.sizeCache
3263			case 2:
3264				return &v.unknownFields
3265			default:
3266				return nil
3267			}
3268		}
3269		file_google_firestore_v1beta1_firestore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3270			switch v := v.(*CommitRequest); i {
3271			case 0:
3272				return &v.state
3273			case 1:
3274				return &v.sizeCache
3275			case 2:
3276				return &v.unknownFields
3277			default:
3278				return nil
3279			}
3280		}
3281		file_google_firestore_v1beta1_firestore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3282			switch v := v.(*CommitResponse); i {
3283			case 0:
3284				return &v.state
3285			case 1:
3286				return &v.sizeCache
3287			case 2:
3288				return &v.unknownFields
3289			default:
3290				return nil
3291			}
3292		}
3293		file_google_firestore_v1beta1_firestore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3294			switch v := v.(*RollbackRequest); i {
3295			case 0:
3296				return &v.state
3297			case 1:
3298				return &v.sizeCache
3299			case 2:
3300				return &v.unknownFields
3301			default:
3302				return nil
3303			}
3304		}
3305		file_google_firestore_v1beta1_firestore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3306			switch v := v.(*RunQueryRequest); i {
3307			case 0:
3308				return &v.state
3309			case 1:
3310				return &v.sizeCache
3311			case 2:
3312				return &v.unknownFields
3313			default:
3314				return nil
3315			}
3316		}
3317		file_google_firestore_v1beta1_firestore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3318			switch v := v.(*RunQueryResponse); i {
3319			case 0:
3320				return &v.state
3321			case 1:
3322				return &v.sizeCache
3323			case 2:
3324				return &v.unknownFields
3325			default:
3326				return nil
3327			}
3328		}
3329		file_google_firestore_v1beta1_firestore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3330			switch v := v.(*WriteRequest); i {
3331			case 0:
3332				return &v.state
3333			case 1:
3334				return &v.sizeCache
3335			case 2:
3336				return &v.unknownFields
3337			default:
3338				return nil
3339			}
3340		}
3341		file_google_firestore_v1beta1_firestore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3342			switch v := v.(*WriteResponse); i {
3343			case 0:
3344				return &v.state
3345			case 1:
3346				return &v.sizeCache
3347			case 2:
3348				return &v.unknownFields
3349			default:
3350				return nil
3351			}
3352		}
3353		file_google_firestore_v1beta1_firestore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3354			switch v := v.(*ListenRequest); i {
3355			case 0:
3356				return &v.state
3357			case 1:
3358				return &v.sizeCache
3359			case 2:
3360				return &v.unknownFields
3361			default:
3362				return nil
3363			}
3364		}
3365		file_google_firestore_v1beta1_firestore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3366			switch v := v.(*ListenResponse); i {
3367			case 0:
3368				return &v.state
3369			case 1:
3370				return &v.sizeCache
3371			case 2:
3372				return &v.unknownFields
3373			default:
3374				return nil
3375			}
3376		}
3377		file_google_firestore_v1beta1_firestore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3378			switch v := v.(*Target); i {
3379			case 0:
3380				return &v.state
3381			case 1:
3382				return &v.sizeCache
3383			case 2:
3384				return &v.unknownFields
3385			default:
3386				return nil
3387			}
3388		}
3389		file_google_firestore_v1beta1_firestore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3390			switch v := v.(*TargetChange); i {
3391			case 0:
3392				return &v.state
3393			case 1:
3394				return &v.sizeCache
3395			case 2:
3396				return &v.unknownFields
3397			default:
3398				return nil
3399			}
3400		}
3401		file_google_firestore_v1beta1_firestore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3402			switch v := v.(*ListCollectionIdsRequest); i {
3403			case 0:
3404				return &v.state
3405			case 1:
3406				return &v.sizeCache
3407			case 2:
3408				return &v.unknownFields
3409			default:
3410				return nil
3411			}
3412		}
3413		file_google_firestore_v1beta1_firestore_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3414			switch v := v.(*ListCollectionIdsResponse); i {
3415			case 0:
3416				return &v.state
3417			case 1:
3418				return &v.sizeCache
3419			case 2:
3420				return &v.unknownFields
3421			default:
3422				return nil
3423			}
3424		}
3425		file_google_firestore_v1beta1_firestore_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
3426			switch v := v.(*Target_DocumentsTarget); i {
3427			case 0:
3428				return &v.state
3429			case 1:
3430				return &v.sizeCache
3431			case 2:
3432				return &v.unknownFields
3433			default:
3434				return nil
3435			}
3436		}
3437		file_google_firestore_v1beta1_firestore_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
3438			switch v := v.(*Target_QueryTarget); i {
3439			case 0:
3440				return &v.state
3441			case 1:
3442				return &v.sizeCache
3443			case 2:
3444				return &v.unknownFields
3445			default:
3446				return nil
3447			}
3448		}
3449	}
3450	file_google_firestore_v1beta1_firestore_proto_msgTypes[0].OneofWrappers = []interface{}{
3451		(*GetDocumentRequest_Transaction)(nil),
3452		(*GetDocumentRequest_ReadTime)(nil),
3453	}
3454	file_google_firestore_v1beta1_firestore_proto_msgTypes[1].OneofWrappers = []interface{}{
3455		(*ListDocumentsRequest_Transaction)(nil),
3456		(*ListDocumentsRequest_ReadTime)(nil),
3457	}
3458	file_google_firestore_v1beta1_firestore_proto_msgTypes[6].OneofWrappers = []interface{}{
3459		(*BatchGetDocumentsRequest_Transaction)(nil),
3460		(*BatchGetDocumentsRequest_NewTransaction)(nil),
3461		(*BatchGetDocumentsRequest_ReadTime)(nil),
3462	}
3463	file_google_firestore_v1beta1_firestore_proto_msgTypes[7].OneofWrappers = []interface{}{
3464		(*BatchGetDocumentsResponse_Found)(nil),
3465		(*BatchGetDocumentsResponse_Missing)(nil),
3466	}
3467	file_google_firestore_v1beta1_firestore_proto_msgTypes[13].OneofWrappers = []interface{}{
3468		(*RunQueryRequest_StructuredQuery)(nil),
3469		(*RunQueryRequest_Transaction)(nil),
3470		(*RunQueryRequest_NewTransaction)(nil),
3471		(*RunQueryRequest_ReadTime)(nil),
3472	}
3473	file_google_firestore_v1beta1_firestore_proto_msgTypes[17].OneofWrappers = []interface{}{
3474		(*ListenRequest_AddTarget)(nil),
3475		(*ListenRequest_RemoveTarget)(nil),
3476	}
3477	file_google_firestore_v1beta1_firestore_proto_msgTypes[18].OneofWrappers = []interface{}{
3478		(*ListenResponse_TargetChange)(nil),
3479		(*ListenResponse_DocumentChange)(nil),
3480		(*ListenResponse_DocumentDelete)(nil),
3481		(*ListenResponse_DocumentRemove)(nil),
3482		(*ListenResponse_Filter)(nil),
3483	}
3484	file_google_firestore_v1beta1_firestore_proto_msgTypes[19].OneofWrappers = []interface{}{
3485		(*Target_Query)(nil),
3486		(*Target_Documents)(nil),
3487		(*Target_ResumeToken)(nil),
3488		(*Target_ReadTime)(nil),
3489	}
3490	file_google_firestore_v1beta1_firestore_proto_msgTypes[26].OneofWrappers = []interface{}{
3491		(*Target_QueryTarget_StructuredQuery)(nil),
3492	}
3493	type x struct{}
3494	out := protoimpl.TypeBuilder{
3495		File: protoimpl.DescBuilder{
3496			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3497			RawDescriptor: file_google_firestore_v1beta1_firestore_proto_rawDesc,
3498			NumEnums:      1,
3499			NumMessages:   27,
3500			NumExtensions: 0,
3501			NumServices:   1,
3502		},
3503		GoTypes:           file_google_firestore_v1beta1_firestore_proto_goTypes,
3504		DependencyIndexes: file_google_firestore_v1beta1_firestore_proto_depIdxs,
3505		EnumInfos:         file_google_firestore_v1beta1_firestore_proto_enumTypes,
3506		MessageInfos:      file_google_firestore_v1beta1_firestore_proto_msgTypes,
3507	}.Build()
3508	File_google_firestore_v1beta1_firestore_proto = out.File
3509	file_google_firestore_v1beta1_firestore_proto_rawDesc = nil
3510	file_google_firestore_v1beta1_firestore_proto_goTypes = nil
3511	file_google_firestore_v1beta1_firestore_proto_depIdxs = nil
3512}
3513
3514// Reference imports to suppress errors if they are not otherwise used.
3515var _ context.Context
3516var _ grpc.ClientConnInterface
3517
3518// This is a compile-time assertion to ensure that this generated file
3519// is compatible with the grpc package it is being compiled against.
3520const _ = grpc.SupportPackageIsVersion6
3521
3522// FirestoreClient is the client API for Firestore service.
3523//
3524// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3525type FirestoreClient interface {
3526	// Gets a single document.
3527	GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error)
3528	// Lists documents.
3529	ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error)
3530	// Creates a new document.
3531	CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
3532	// Updates or inserts a document.
3533	UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error)
3534	// Deletes a document.
3535	DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3536	// Gets multiple documents.
3537	//
3538	// Documents returned by this method are not guaranteed to be returned in the
3539	// same order that they were requested.
3540	BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error)
3541	// Starts a new transaction.
3542	BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error)
3543	// Commits a transaction, while optionally updating documents.
3544	Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error)
3545	// Rolls back a transaction.
3546	Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
3547	// Runs a query.
3548	RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error)
3549	// Streams batches of document updates and deletes, in order.
3550	Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error)
3551	// Listens to changes.
3552	Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error)
3553	// Lists all the collection IDs underneath a document.
3554	ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error)
3555}
3556
3557type firestoreClient struct {
3558	cc grpc.ClientConnInterface
3559}
3560
3561func NewFirestoreClient(cc grpc.ClientConnInterface) FirestoreClient {
3562	return &firestoreClient{cc}
3563}
3564
3565func (c *firestoreClient) GetDocument(ctx context.Context, in *GetDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
3566	out := new(Document)
3567	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/GetDocument", in, out, opts...)
3568	if err != nil {
3569		return nil, err
3570	}
3571	return out, nil
3572}
3573
3574func (c *firestoreClient) ListDocuments(ctx context.Context, in *ListDocumentsRequest, opts ...grpc.CallOption) (*ListDocumentsResponse, error) {
3575	out := new(ListDocumentsResponse)
3576	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListDocuments", in, out, opts...)
3577	if err != nil {
3578		return nil, err
3579	}
3580	return out, nil
3581}
3582
3583func (c *firestoreClient) CreateDocument(ctx context.Context, in *CreateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
3584	out := new(Document)
3585	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/CreateDocument", in, out, opts...)
3586	if err != nil {
3587		return nil, err
3588	}
3589	return out, nil
3590}
3591
3592func (c *firestoreClient) UpdateDocument(ctx context.Context, in *UpdateDocumentRequest, opts ...grpc.CallOption) (*Document, error) {
3593	out := new(Document)
3594	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/UpdateDocument", in, out, opts...)
3595	if err != nil {
3596		return nil, err
3597	}
3598	return out, nil
3599}
3600
3601func (c *firestoreClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3602	out := new(emptypb.Empty)
3603	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/DeleteDocument", in, out, opts...)
3604	if err != nil {
3605		return nil, err
3606	}
3607	return out, nil
3608}
3609
3610func (c *firestoreClient) BatchGetDocuments(ctx context.Context, in *BatchGetDocumentsRequest, opts ...grpc.CallOption) (Firestore_BatchGetDocumentsClient, error) {
3611	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[0], "/google.firestore.v1beta1.Firestore/BatchGetDocuments", opts...)
3612	if err != nil {
3613		return nil, err
3614	}
3615	x := &firestoreBatchGetDocumentsClient{stream}
3616	if err := x.ClientStream.SendMsg(in); err != nil {
3617		return nil, err
3618	}
3619	if err := x.ClientStream.CloseSend(); err != nil {
3620		return nil, err
3621	}
3622	return x, nil
3623}
3624
3625type Firestore_BatchGetDocumentsClient interface {
3626	Recv() (*BatchGetDocumentsResponse, error)
3627	grpc.ClientStream
3628}
3629
3630type firestoreBatchGetDocumentsClient struct {
3631	grpc.ClientStream
3632}
3633
3634func (x *firestoreBatchGetDocumentsClient) Recv() (*BatchGetDocumentsResponse, error) {
3635	m := new(BatchGetDocumentsResponse)
3636	if err := x.ClientStream.RecvMsg(m); err != nil {
3637		return nil, err
3638	}
3639	return m, nil
3640}
3641
3642func (c *firestoreClient) BeginTransaction(ctx context.Context, in *BeginTransactionRequest, opts ...grpc.CallOption) (*BeginTransactionResponse, error) {
3643	out := new(BeginTransactionResponse)
3644	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/BeginTransaction", in, out, opts...)
3645	if err != nil {
3646		return nil, err
3647	}
3648	return out, nil
3649}
3650
3651func (c *firestoreClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) {
3652	out := new(CommitResponse)
3653	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Commit", in, out, opts...)
3654	if err != nil {
3655		return nil, err
3656	}
3657	return out, nil
3658}
3659
3660func (c *firestoreClient) Rollback(ctx context.Context, in *RollbackRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
3661	out := new(emptypb.Empty)
3662	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/Rollback", in, out, opts...)
3663	if err != nil {
3664		return nil, err
3665	}
3666	return out, nil
3667}
3668
3669func (c *firestoreClient) RunQuery(ctx context.Context, in *RunQueryRequest, opts ...grpc.CallOption) (Firestore_RunQueryClient, error) {
3670	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[1], "/google.firestore.v1beta1.Firestore/RunQuery", opts...)
3671	if err != nil {
3672		return nil, err
3673	}
3674	x := &firestoreRunQueryClient{stream}
3675	if err := x.ClientStream.SendMsg(in); err != nil {
3676		return nil, err
3677	}
3678	if err := x.ClientStream.CloseSend(); err != nil {
3679		return nil, err
3680	}
3681	return x, nil
3682}
3683
3684type Firestore_RunQueryClient interface {
3685	Recv() (*RunQueryResponse, error)
3686	grpc.ClientStream
3687}
3688
3689type firestoreRunQueryClient struct {
3690	grpc.ClientStream
3691}
3692
3693func (x *firestoreRunQueryClient) Recv() (*RunQueryResponse, error) {
3694	m := new(RunQueryResponse)
3695	if err := x.ClientStream.RecvMsg(m); err != nil {
3696		return nil, err
3697	}
3698	return m, nil
3699}
3700
3701func (c *firestoreClient) Write(ctx context.Context, opts ...grpc.CallOption) (Firestore_WriteClient, error) {
3702	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[2], "/google.firestore.v1beta1.Firestore/Write", opts...)
3703	if err != nil {
3704		return nil, err
3705	}
3706	x := &firestoreWriteClient{stream}
3707	return x, nil
3708}
3709
3710type Firestore_WriteClient interface {
3711	Send(*WriteRequest) error
3712	Recv() (*WriteResponse, error)
3713	grpc.ClientStream
3714}
3715
3716type firestoreWriteClient struct {
3717	grpc.ClientStream
3718}
3719
3720func (x *firestoreWriteClient) Send(m *WriteRequest) error {
3721	return x.ClientStream.SendMsg(m)
3722}
3723
3724func (x *firestoreWriteClient) Recv() (*WriteResponse, error) {
3725	m := new(WriteResponse)
3726	if err := x.ClientStream.RecvMsg(m); err != nil {
3727		return nil, err
3728	}
3729	return m, nil
3730}
3731
3732func (c *firestoreClient) Listen(ctx context.Context, opts ...grpc.CallOption) (Firestore_ListenClient, error) {
3733	stream, err := c.cc.NewStream(ctx, &_Firestore_serviceDesc.Streams[3], "/google.firestore.v1beta1.Firestore/Listen", opts...)
3734	if err != nil {
3735		return nil, err
3736	}
3737	x := &firestoreListenClient{stream}
3738	return x, nil
3739}
3740
3741type Firestore_ListenClient interface {
3742	Send(*ListenRequest) error
3743	Recv() (*ListenResponse, error)
3744	grpc.ClientStream
3745}
3746
3747type firestoreListenClient struct {
3748	grpc.ClientStream
3749}
3750
3751func (x *firestoreListenClient) Send(m *ListenRequest) error {
3752	return x.ClientStream.SendMsg(m)
3753}
3754
3755func (x *firestoreListenClient) Recv() (*ListenResponse, error) {
3756	m := new(ListenResponse)
3757	if err := x.ClientStream.RecvMsg(m); err != nil {
3758		return nil, err
3759	}
3760	return m, nil
3761}
3762
3763func (c *firestoreClient) ListCollectionIds(ctx context.Context, in *ListCollectionIdsRequest, opts ...grpc.CallOption) (*ListCollectionIdsResponse, error) {
3764	out := new(ListCollectionIdsResponse)
3765	err := c.cc.Invoke(ctx, "/google.firestore.v1beta1.Firestore/ListCollectionIds", in, out, opts...)
3766	if err != nil {
3767		return nil, err
3768	}
3769	return out, nil
3770}
3771
3772// FirestoreServer is the server API for Firestore service.
3773type FirestoreServer interface {
3774	// Gets a single document.
3775	GetDocument(context.Context, *GetDocumentRequest) (*Document, error)
3776	// Lists documents.
3777	ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error)
3778	// Creates a new document.
3779	CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error)
3780	// Updates or inserts a document.
3781	UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error)
3782	// Deletes a document.
3783	DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error)
3784	// Gets multiple documents.
3785	//
3786	// Documents returned by this method are not guaranteed to be returned in the
3787	// same order that they were requested.
3788	BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error
3789	// Starts a new transaction.
3790	BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error)
3791	// Commits a transaction, while optionally updating documents.
3792	Commit(context.Context, *CommitRequest) (*CommitResponse, error)
3793	// Rolls back a transaction.
3794	Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error)
3795	// Runs a query.
3796	RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error
3797	// Streams batches of document updates and deletes, in order.
3798	Write(Firestore_WriteServer) error
3799	// Listens to changes.
3800	Listen(Firestore_ListenServer) error
3801	// Lists all the collection IDs underneath a document.
3802	ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error)
3803}
3804
3805// UnimplementedFirestoreServer can be embedded to have forward compatible implementations.
3806type UnimplementedFirestoreServer struct {
3807}
3808
3809func (*UnimplementedFirestoreServer) GetDocument(context.Context, *GetDocumentRequest) (*Document, error) {
3810	return nil, status1.Errorf(codes.Unimplemented, "method GetDocument not implemented")
3811}
3812func (*UnimplementedFirestoreServer) ListDocuments(context.Context, *ListDocumentsRequest) (*ListDocumentsResponse, error) {
3813	return nil, status1.Errorf(codes.Unimplemented, "method ListDocuments not implemented")
3814}
3815func (*UnimplementedFirestoreServer) CreateDocument(context.Context, *CreateDocumentRequest) (*Document, error) {
3816	return nil, status1.Errorf(codes.Unimplemented, "method CreateDocument not implemented")
3817}
3818func (*UnimplementedFirestoreServer) UpdateDocument(context.Context, *UpdateDocumentRequest) (*Document, error) {
3819	return nil, status1.Errorf(codes.Unimplemented, "method UpdateDocument not implemented")
3820}
3821func (*UnimplementedFirestoreServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*emptypb.Empty, error) {
3822	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDocument not implemented")
3823}
3824func (*UnimplementedFirestoreServer) BatchGetDocuments(*BatchGetDocumentsRequest, Firestore_BatchGetDocumentsServer) error {
3825	return status1.Errorf(codes.Unimplemented, "method BatchGetDocuments not implemented")
3826}
3827func (*UnimplementedFirestoreServer) BeginTransaction(context.Context, *BeginTransactionRequest) (*BeginTransactionResponse, error) {
3828	return nil, status1.Errorf(codes.Unimplemented, "method BeginTransaction not implemented")
3829}
3830func (*UnimplementedFirestoreServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) {
3831	return nil, status1.Errorf(codes.Unimplemented, "method Commit not implemented")
3832}
3833func (*UnimplementedFirestoreServer) Rollback(context.Context, *RollbackRequest) (*emptypb.Empty, error) {
3834	return nil, status1.Errorf(codes.Unimplemented, "method Rollback not implemented")
3835}
3836func (*UnimplementedFirestoreServer) RunQuery(*RunQueryRequest, Firestore_RunQueryServer) error {
3837	return status1.Errorf(codes.Unimplemented, "method RunQuery not implemented")
3838}
3839func (*UnimplementedFirestoreServer) Write(Firestore_WriteServer) error {
3840	return status1.Errorf(codes.Unimplemented, "method Write not implemented")
3841}
3842func (*UnimplementedFirestoreServer) Listen(Firestore_ListenServer) error {
3843	return status1.Errorf(codes.Unimplemented, "method Listen not implemented")
3844}
3845func (*UnimplementedFirestoreServer) ListCollectionIds(context.Context, *ListCollectionIdsRequest) (*ListCollectionIdsResponse, error) {
3846	return nil, status1.Errorf(codes.Unimplemented, "method ListCollectionIds not implemented")
3847}
3848
3849func RegisterFirestoreServer(s *grpc.Server, srv FirestoreServer) {
3850	s.RegisterService(&_Firestore_serviceDesc, srv)
3851}
3852
3853func _Firestore_GetDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3854	in := new(GetDocumentRequest)
3855	if err := dec(in); err != nil {
3856		return nil, err
3857	}
3858	if interceptor == nil {
3859		return srv.(FirestoreServer).GetDocument(ctx, in)
3860	}
3861	info := &grpc.UnaryServerInfo{
3862		Server:     srv,
3863		FullMethod: "/google.firestore.v1beta1.Firestore/GetDocument",
3864	}
3865	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3866		return srv.(FirestoreServer).GetDocument(ctx, req.(*GetDocumentRequest))
3867	}
3868	return interceptor(ctx, in, info, handler)
3869}
3870
3871func _Firestore_ListDocuments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3872	in := new(ListDocumentsRequest)
3873	if err := dec(in); err != nil {
3874		return nil, err
3875	}
3876	if interceptor == nil {
3877		return srv.(FirestoreServer).ListDocuments(ctx, in)
3878	}
3879	info := &grpc.UnaryServerInfo{
3880		Server:     srv,
3881		FullMethod: "/google.firestore.v1beta1.Firestore/ListDocuments",
3882	}
3883	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3884		return srv.(FirestoreServer).ListDocuments(ctx, req.(*ListDocumentsRequest))
3885	}
3886	return interceptor(ctx, in, info, handler)
3887}
3888
3889func _Firestore_CreateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3890	in := new(CreateDocumentRequest)
3891	if err := dec(in); err != nil {
3892		return nil, err
3893	}
3894	if interceptor == nil {
3895		return srv.(FirestoreServer).CreateDocument(ctx, in)
3896	}
3897	info := &grpc.UnaryServerInfo{
3898		Server:     srv,
3899		FullMethod: "/google.firestore.v1beta1.Firestore/CreateDocument",
3900	}
3901	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3902		return srv.(FirestoreServer).CreateDocument(ctx, req.(*CreateDocumentRequest))
3903	}
3904	return interceptor(ctx, in, info, handler)
3905}
3906
3907func _Firestore_UpdateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3908	in := new(UpdateDocumentRequest)
3909	if err := dec(in); err != nil {
3910		return nil, err
3911	}
3912	if interceptor == nil {
3913		return srv.(FirestoreServer).UpdateDocument(ctx, in)
3914	}
3915	info := &grpc.UnaryServerInfo{
3916		Server:     srv,
3917		FullMethod: "/google.firestore.v1beta1.Firestore/UpdateDocument",
3918	}
3919	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3920		return srv.(FirestoreServer).UpdateDocument(ctx, req.(*UpdateDocumentRequest))
3921	}
3922	return interceptor(ctx, in, info, handler)
3923}
3924
3925func _Firestore_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3926	in := new(DeleteDocumentRequest)
3927	if err := dec(in); err != nil {
3928		return nil, err
3929	}
3930	if interceptor == nil {
3931		return srv.(FirestoreServer).DeleteDocument(ctx, in)
3932	}
3933	info := &grpc.UnaryServerInfo{
3934		Server:     srv,
3935		FullMethod: "/google.firestore.v1beta1.Firestore/DeleteDocument",
3936	}
3937	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3938		return srv.(FirestoreServer).DeleteDocument(ctx, req.(*DeleteDocumentRequest))
3939	}
3940	return interceptor(ctx, in, info, handler)
3941}
3942
3943func _Firestore_BatchGetDocuments_Handler(srv interface{}, stream grpc.ServerStream) error {
3944	m := new(BatchGetDocumentsRequest)
3945	if err := stream.RecvMsg(m); err != nil {
3946		return err
3947	}
3948	return srv.(FirestoreServer).BatchGetDocuments(m, &firestoreBatchGetDocumentsServer{stream})
3949}
3950
3951type Firestore_BatchGetDocumentsServer interface {
3952	Send(*BatchGetDocumentsResponse) error
3953	grpc.ServerStream
3954}
3955
3956type firestoreBatchGetDocumentsServer struct {
3957	grpc.ServerStream
3958}
3959
3960func (x *firestoreBatchGetDocumentsServer) Send(m *BatchGetDocumentsResponse) error {
3961	return x.ServerStream.SendMsg(m)
3962}
3963
3964func _Firestore_BeginTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3965	in := new(BeginTransactionRequest)
3966	if err := dec(in); err != nil {
3967		return nil, err
3968	}
3969	if interceptor == nil {
3970		return srv.(FirestoreServer).BeginTransaction(ctx, in)
3971	}
3972	info := &grpc.UnaryServerInfo{
3973		Server:     srv,
3974		FullMethod: "/google.firestore.v1beta1.Firestore/BeginTransaction",
3975	}
3976	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3977		return srv.(FirestoreServer).BeginTransaction(ctx, req.(*BeginTransactionRequest))
3978	}
3979	return interceptor(ctx, in, info, handler)
3980}
3981
3982func _Firestore_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3983	in := new(CommitRequest)
3984	if err := dec(in); err != nil {
3985		return nil, err
3986	}
3987	if interceptor == nil {
3988		return srv.(FirestoreServer).Commit(ctx, in)
3989	}
3990	info := &grpc.UnaryServerInfo{
3991		Server:     srv,
3992		FullMethod: "/google.firestore.v1beta1.Firestore/Commit",
3993	}
3994	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3995		return srv.(FirestoreServer).Commit(ctx, req.(*CommitRequest))
3996	}
3997	return interceptor(ctx, in, info, handler)
3998}
3999
4000func _Firestore_Rollback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4001	in := new(RollbackRequest)
4002	if err := dec(in); err != nil {
4003		return nil, err
4004	}
4005	if interceptor == nil {
4006		return srv.(FirestoreServer).Rollback(ctx, in)
4007	}
4008	info := &grpc.UnaryServerInfo{
4009		Server:     srv,
4010		FullMethod: "/google.firestore.v1beta1.Firestore/Rollback",
4011	}
4012	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4013		return srv.(FirestoreServer).Rollback(ctx, req.(*RollbackRequest))
4014	}
4015	return interceptor(ctx, in, info, handler)
4016}
4017
4018func _Firestore_RunQuery_Handler(srv interface{}, stream grpc.ServerStream) error {
4019	m := new(RunQueryRequest)
4020	if err := stream.RecvMsg(m); err != nil {
4021		return err
4022	}
4023	return srv.(FirestoreServer).RunQuery(m, &firestoreRunQueryServer{stream})
4024}
4025
4026type Firestore_RunQueryServer interface {
4027	Send(*RunQueryResponse) error
4028	grpc.ServerStream
4029}
4030
4031type firestoreRunQueryServer struct {
4032	grpc.ServerStream
4033}
4034
4035func (x *firestoreRunQueryServer) Send(m *RunQueryResponse) error {
4036	return x.ServerStream.SendMsg(m)
4037}
4038
4039func _Firestore_Write_Handler(srv interface{}, stream grpc.ServerStream) error {
4040	return srv.(FirestoreServer).Write(&firestoreWriteServer{stream})
4041}
4042
4043type Firestore_WriteServer interface {
4044	Send(*WriteResponse) error
4045	Recv() (*WriteRequest, error)
4046	grpc.ServerStream
4047}
4048
4049type firestoreWriteServer struct {
4050	grpc.ServerStream
4051}
4052
4053func (x *firestoreWriteServer) Send(m *WriteResponse) error {
4054	return x.ServerStream.SendMsg(m)
4055}
4056
4057func (x *firestoreWriteServer) Recv() (*WriteRequest, error) {
4058	m := new(WriteRequest)
4059	if err := x.ServerStream.RecvMsg(m); err != nil {
4060		return nil, err
4061	}
4062	return m, nil
4063}
4064
4065func _Firestore_Listen_Handler(srv interface{}, stream grpc.ServerStream) error {
4066	return srv.(FirestoreServer).Listen(&firestoreListenServer{stream})
4067}
4068
4069type Firestore_ListenServer interface {
4070	Send(*ListenResponse) error
4071	Recv() (*ListenRequest, error)
4072	grpc.ServerStream
4073}
4074
4075type firestoreListenServer struct {
4076	grpc.ServerStream
4077}
4078
4079func (x *firestoreListenServer) Send(m *ListenResponse) error {
4080	return x.ServerStream.SendMsg(m)
4081}
4082
4083func (x *firestoreListenServer) Recv() (*ListenRequest, error) {
4084	m := new(ListenRequest)
4085	if err := x.ServerStream.RecvMsg(m); err != nil {
4086		return nil, err
4087	}
4088	return m, nil
4089}
4090
4091func _Firestore_ListCollectionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4092	in := new(ListCollectionIdsRequest)
4093	if err := dec(in); err != nil {
4094		return nil, err
4095	}
4096	if interceptor == nil {
4097		return srv.(FirestoreServer).ListCollectionIds(ctx, in)
4098	}
4099	info := &grpc.UnaryServerInfo{
4100		Server:     srv,
4101		FullMethod: "/google.firestore.v1beta1.Firestore/ListCollectionIds",
4102	}
4103	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4104		return srv.(FirestoreServer).ListCollectionIds(ctx, req.(*ListCollectionIdsRequest))
4105	}
4106	return interceptor(ctx, in, info, handler)
4107}
4108
4109var _Firestore_serviceDesc = grpc.ServiceDesc{
4110	ServiceName: "google.firestore.v1beta1.Firestore",
4111	HandlerType: (*FirestoreServer)(nil),
4112	Methods: []grpc.MethodDesc{
4113		{
4114			MethodName: "GetDocument",
4115			Handler:    _Firestore_GetDocument_Handler,
4116		},
4117		{
4118			MethodName: "ListDocuments",
4119			Handler:    _Firestore_ListDocuments_Handler,
4120		},
4121		{
4122			MethodName: "CreateDocument",
4123			Handler:    _Firestore_CreateDocument_Handler,
4124		},
4125		{
4126			MethodName: "UpdateDocument",
4127			Handler:    _Firestore_UpdateDocument_Handler,
4128		},
4129		{
4130			MethodName: "DeleteDocument",
4131			Handler:    _Firestore_DeleteDocument_Handler,
4132		},
4133		{
4134			MethodName: "BeginTransaction",
4135			Handler:    _Firestore_BeginTransaction_Handler,
4136		},
4137		{
4138			MethodName: "Commit",
4139			Handler:    _Firestore_Commit_Handler,
4140		},
4141		{
4142			MethodName: "Rollback",
4143			Handler:    _Firestore_Rollback_Handler,
4144		},
4145		{
4146			MethodName: "ListCollectionIds",
4147			Handler:    _Firestore_ListCollectionIds_Handler,
4148		},
4149	},
4150	Streams: []grpc.StreamDesc{
4151		{
4152			StreamName:    "BatchGetDocuments",
4153			Handler:       _Firestore_BatchGetDocuments_Handler,
4154			ServerStreams: true,
4155		},
4156		{
4157			StreamName:    "RunQuery",
4158			Handler:       _Firestore_RunQuery_Handler,
4159			ServerStreams: true,
4160		},
4161		{
4162			StreamName:    "Write",
4163			Handler:       _Firestore_Write_Handler,
4164			ServerStreams: true,
4165			ClientStreams: true,
4166		},
4167		{
4168			StreamName:    "Listen",
4169			Handler:       _Firestore_Listen_Handler,
4170			ServerStreams: true,
4171			ClientStreams: true,
4172		},
4173	},
4174	Metadata: "google/firestore/v1beta1/firestore.proto",
4175}
4176