@eide/foir-proto-ts 0.74.0 → 0.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-proto-ts",
3
- "version": "0.74.0",
3
+ "version": "0.76.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./analytics/v1/analytics_pb": "./src/analytics/v1/analytics_pb.js",
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
6
  import type { JsonObject, Message } from "@bufbuild/protobuf";
7
- import type { Timestamp, Value } from "@bufbuild/protobuf/wkt";
7
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
8
8
  import type { RuleExpression } from "../../expressions/v1/expressions_pb.js";
9
9
 
10
10
  /**
@@ -261,43 +261,6 @@ export declare type PublishSchedule = Message<"records.v1.PublishSchedule"> & {
261
261
  */
262
262
  export declare const PublishScheduleSchema: GenMessage<PublishSchedule>;
263
263
 
264
- /**
265
- * @generated from message records.v1.RecordFilter
266
- */
267
- export declare type RecordFilter = Message<"records.v1.RecordFilter"> & {
268
- /**
269
- * @generated from field: string field = 1;
270
- */
271
- field: string;
272
-
273
- /**
274
- * @generated from field: string operator = 2;
275
- */
276
- operator: string;
277
-
278
- /**
279
- * @generated from field: google.protobuf.Value value = 3;
280
- */
281
- value?: Value | undefined;
282
-
283
- /**
284
- * When set, `field` points at a reference-typed field and `value` is the
285
- * target record's natural key (not its id). The handler resolves
286
- * (ref_model, value) -> record id server-side and rewrites the condition
287
- * to match the stored reference id. Lets callers filter references by the
288
- * editorially-stable natural key while storage stays id-based.
289
- *
290
- * @generated from field: optional string ref_model = 4;
291
- */
292
- refModel?: string | undefined;
293
- };
294
-
295
- /**
296
- * Describes the message records.v1.RecordFilter.
297
- * Use `create(RecordFilterSchema)` to create a new message.
298
- */
299
- export declare const RecordFilterSchema: GenMessage<RecordFilter>;
300
-
301
264
  /**
302
265
  * @generated from message records.v1.SortField
303
266
  */
@@ -591,32 +554,22 @@ export declare type ListRecordsRequest = Message<"records.v1.ListRecordsRequest"
591
554
  modelKey: string;
592
555
 
593
556
  /**
594
- * @generated from field: int32 limit = 2;
595
- */
596
- limit: number;
597
-
598
- /**
599
- * @generated from field: int32 offset = 3;
600
- */
601
- offset: number;
602
-
603
- /**
604
- * @generated from field: repeated records.v1.RecordFilter filters = 4;
605
- */
606
- filters: RecordFilter[];
607
-
608
- /**
609
- * @generated from field: repeated records.v1.SortField sort = 5;
557
+ * sort carries the orderBy entries from api-public's typed
558
+ * <Model>OrderByInput surface. Each entry is (field, descending) —
559
+ * the platform's buildRecordOrderBy walks them in order and appends
560
+ * an id ASC tie-breaker for cursor stability.
561
+ *
562
+ * @generated from field: repeated records.v1.SortField sort = 2;
610
563
  */
611
564
  sort: SortField[];
612
565
 
613
566
  /**
614
- * @generated from field: optional string customer_id = 6;
567
+ * @generated from field: optional string customer_id = 3;
615
568
  */
616
569
  customerId?: string | undefined;
617
570
 
618
571
  /**
619
- * @generated from field: optional string search = 7;
572
+ * @generated from field: optional string search = 4;
620
573
  */
621
574
  search?: string | undefined;
622
575
 
@@ -625,45 +578,43 @@ export declare type ListRecordsRequest = Message<"records.v1.ListRecordsRequest"
625
578
  * for models with publishing enabled. Public-API callers must hold a
626
579
  * drafts:read scope to set this true.
627
580
  *
628
- * @generated from field: bool preview = 8;
581
+ * @generated from field: bool preview = 5;
629
582
  */
630
583
  preview: boolean;
631
584
 
632
585
  /**
633
- * Structural WhereInput from the api-public typed surface. Coexists with
634
- * `filters` during the query/mutate redesign migration (see
635
- * foir-platform/docs/query-mutate-redesign.md); Stage 6 removes `filters`.
636
- * Empty/unset is treated as no-filter — callers pick which form to send.
586
+ * Typed WhereInput tree from api-public's <Model>WhereInput surface
587
+ * (Stage 1 of the query/mutate redesign). Walked by
588
+ * services/platform/internal/handler/records/where.go::buildWhereSQL.
637
589
  *
638
- * @generated from field: optional google.protobuf.Struct where = 9;
590
+ * @generated from field: optional google.protobuf.Struct where = 6;
639
591
  */
640
592
  where?: JsonObject | undefined;
641
593
 
642
594
  /**
643
- * Cursor pagination from Stage 3b of the query/mutate redesign.
644
- * Coexists with limit/offset during the migration; Stage 6 removes the
645
- * offset path. Direction is determined by which pair is set:
595
+ * Relay cursor pagination (Stage 3b). Direction determined by which
596
+ * pair is set:
646
597
  * * forward: first + (optional) after
647
598
  * * backward: last + (optional) before
648
599
  * Mixing first with last is an error. Cursors are opaque base64url
649
600
  * tokens; format documented in services/platform/internal/handler/records/cursor.go.
650
601
  *
651
- * @generated from field: optional string after = 10;
602
+ * @generated from field: optional string after = 7;
652
603
  */
653
604
  after?: string | undefined;
654
605
 
655
606
  /**
656
- * @generated from field: optional string before = 11;
607
+ * @generated from field: optional string before = 8;
657
608
  */
658
609
  before?: string | undefined;
659
610
 
660
611
  /**
661
- * @generated from field: optional int32 first = 12;
612
+ * @generated from field: optional int32 first = 9;
662
613
  */
663
614
  first?: number | undefined;
664
615
 
665
616
  /**
666
- * @generated from field: optional int32 last = 13;
617
+ * @generated from field: optional int32 last = 10;
667
618
  */
668
619
  last?: number | undefined;
669
620
  };
@@ -761,14 +712,14 @@ export declare type UpdateRecordRequest = Message<"records.v1.UpdateRecordReques
761
712
  id: string;
762
713
 
763
714
  /**
764
- * Flat-merge data: when set, this struct is appended via JSONB `||` —
765
- * top-level keys overwrite, nested composites are replaced wholesale.
766
- * Coexists with `typed_update` during the migration; Stage 6 removes
767
- * this field in favor of the typed path.
715
+ * UpdateInput tree per the query/mutate redesign `{field: {set:
716
+ * value}, count: {increment: 1}, ...}`. Walked by buildUpdateSQL to
717
+ * emit per-leaf jsonb_set / numeric / list / connect operations as
718
+ * a single atomic UPDATE. Mutually exclusive with `replace_data`.
768
719
  *
769
- * @generated from field: google.protobuf.Struct data = 2;
720
+ * @generated from field: google.protobuf.Struct update = 2;
770
721
  */
771
- data?: JsonObject | undefined;
722
+ update?: JsonObject | undefined;
772
723
 
773
724
  /**
774
725
  * @generated from field: optional string natural_key = 3;
@@ -776,15 +727,39 @@ export declare type UpdateRecordRequest = Message<"records.v1.UpdateRecordReques
776
727
  naturalKey?: string | undefined;
777
728
 
778
729
  /**
779
- * Typed UpdateInput tree from Stage 4 of the query/mutate redesign.
780
- * When set, the handler walks it and emits per-leaf jsonb_set /
781
- * increment / push / pull / connect operations instead of a flat
782
- * merge. Mutually exclusive with `data` sending both is an error.
783
- * See foir-platform/docs/query-mutate-redesign.md.
730
+ * 3-tier (variants:true) models only: route the update to the
731
+ * variant child of `id` with this variant_key, creating the variant
732
+ * child on-demand if missing. Ignored for non-variant models. Same
733
+ * routing semantic as SaveContent.variant_keysupplied here so the
734
+ * typed update surface subsumes SaveContent for variant writes.
735
+ *
736
+ * @generated from field: optional string variant_key = 4;
737
+ */
738
+ variantKey?: string | undefined;
739
+
740
+ /**
741
+ * Versioned models only: stored on the new version row's metadata.
742
+ * Ignored for non-versioned models. Lets the typed update surface
743
+ * carry the same per-version note SaveContent and CreateVersion did.
744
+ *
745
+ * @generated from field: optional string change_description = 5;
746
+ */
747
+ changeDescription?: string | undefined;
748
+
749
+ /**
750
+ * Wholesale-replace the record's data with this blob (validated
751
+ * against the model schema). For non-versioned: UPDATE records SET
752
+ * data = $blob. For versioned: write a new version row whose data is
753
+ * exactly this blob — no merge with the prior version. Mutually
754
+ * exclusive with `update`; set one or the other.
784
755
  *
785
- * @generated from field: optional google.protobuf.Struct typed_update = 4;
756
+ * Required to subsume SaveContent's semantic that "the supplied blob
757
+ * IS the new state" (fields absent from the blob disappear in the
758
+ * new version, not preserved from the prior one).
759
+ *
760
+ * @generated from field: optional google.protobuf.Struct replace_data = 6;
786
761
  */
787
- typedUpdate?: JsonObject | undefined;
762
+ replaceData?: JsonObject | undefined;
788
763
  };
789
764
 
790
765
  /**
@@ -955,14 +930,22 @@ export declare type BulkUpdateRecordsRequest = Message<"records.v1.BulkUpdateRec
955
930
  modelKey: string;
956
931
 
957
932
  /**
958
- * @generated from field: repeated records.v1.RecordFilter filter = 2;
933
+ * WhereInput predicate. Empty matches every record in the model —
934
+ * operators should always scope by some predicate to avoid unbounded
935
+ * writes. Walked by services/platform/internal/handler/records/where.go::buildWhereSQL.
936
+ *
937
+ * @generated from field: optional google.protobuf.Struct where = 2;
959
938
  */
960
- filter: RecordFilter[];
939
+ where?: JsonObject | undefined;
961
940
 
962
941
  /**
963
- * @generated from field: google.protobuf.Struct data = 3;
942
+ * UpdateInput tree. Walked by buildUpdateSQL to produce a single
943
+ * UPDATE statement so every op applies atomically across all
944
+ * matching rows.
945
+ *
946
+ * @generated from field: optional google.protobuf.Struct update = 3;
964
947
  */
965
- data?: JsonObject | undefined;
948
+ update?: JsonObject | undefined;
966
949
  };
967
950
 
968
951
  /**
@@ -979,6 +962,15 @@ export declare type BulkUpdateRecordsResponse = Message<"records.v1.BulkUpdateRe
979
962
  * @generated from field: int32 count = 1;
980
963
  */
981
964
  count: number;
965
+
966
+ /**
967
+ * IDs of the affected records, in match order. Callers chaining
968
+ * mutations (e.g. updateMany → trigger downstream sync) need the
969
+ * list, not just the count.
970
+ *
971
+ * @generated from field: repeated string ids = 2;
972
+ */
973
+ ids: string[];
982
974
  };
983
975
 
984
976
  /**
@@ -10,7 +10,7 @@ import { file_expressions_v1_expressions } from "../../expressions/v1/expression
10
10
  * Describes the file records/v1/records.proto.
11
11
  */
12
12
  export const file_records_v1_records = /*@__PURE__*/
13
- fileDesc("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEihA0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtjdXN0b21lcl9pZBgIIAEoCUgDiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIBIgBARIXCgp1cGRhdGVkX2J5GBUgASgJSAWIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoOdmVyc2lvbl9udW1iZXIYKCABKAVIBogBARIZCgxjb250ZW50X2hhc2gYKSABKAlIB4gBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YKiABKAlICIgBARIbCg5wdWJsaXNoX3N0YXR1cxgrIAEoCUgJiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAuIAQESGAoLdmFyaWFudF9rZXkYMiABKAlIDIgBARIZCgx2YXJpYW50X25hbWUYMyABKAlIDYgBARIgChN2YXJpYW50X2Rlc2NyaXB0aW9uGDQgASgJSA6IAQESFwoKY2F0YWxvZ19pZBg1IAEoCUgPiAEBEhUKCHByaW9yaXR5GDYgASgFSBCIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGDcgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IEYgBARIXCgppc19kZWZhdWx0GDggASgISBKIAQESHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBOIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIFIgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYPiABKAVIFYgBARI1CgxwdWJsaXNoZWRfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBaIAQESGQoMcHVibGlzaGVkX2J5GEAgASgJSBeIAQESEwoLY2FuX3B1Ymxpc2gYQSABKAgSFQoNY2FuX3VucHVibGlzaBhCIAEoCBIfChdoYXNfdW5wdWJsaXNoZWRfY2hhbmdlcxhDIAEoCBIdChBtb2RlbF92ZXJzaW9uX2lkGEYgASgJSBiIAQFCDgoMX25hdHVyYWxfa2V5QgwKCl9wYXJlbnRfaWRCCwoJX21ldGFkYXRhQg4KDF9jdXN0b21lcl9pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fdmVyc2lvbl9udW1iZXJCDwoNX2NvbnRlbnRfaGFzaEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQhEKD19wdWJsaXNoX3N0YXR1c0IXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXRCDgoMX3ZhcmlhbnRfa2V5Qg8KDV92YXJpYW50X25hbWVCFgoUX3ZhcmlhbnRfZGVzY3JpcHRpb25CDQoLX2NhdGFsb2dfaWRCCwoJX3ByaW9yaXR5QhIKEF90YXJnZXRpbmdfcnVsZXNCDQoLX2lzX2RlZmF1bHRCFQoTX2N1cnJlbnRfdmVyc2lvbl9pZEIXChVfcHVibGlzaGVkX3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckIPCg1fcHVibGlzaGVkX2F0Qg8KDV9wdWJsaXNoZWRfYnlCEwoRX21vZGVsX3ZlcnNpb25faWQi9QEKD1B1Ymxpc2hTY2hlZHVsZRISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAUgASgJSAGIAQFCDwoNX3VucHVibGlzaF9hdEINCgtfY3JlYXRlZF9ieSJ8CgxSZWNvcmRGaWx0ZXISDQoFZmllbGQYASABKAkSEAoIb3BlcmF0b3IYAiABKAkSJQoFdmFsdWUYAyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoJcmVmX21vZGVsGAQgASgJSACIAQFCDAoKX3JlZl9tb2RlbCIuCglTb3J0RmllbGQSDQoFZmllbGQYASABKAkSEgoKZGVzY2VuZGluZxgCIAEoCCKFAgoOQmF0Y2hPcGVyYXRpb24SLAoEdHlwZRgBIAEoDjIeLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb25UeXBlEg8KAmlkGAIgASgJSACIAQESFgoJbW9kZWxfa2V5GAMgASgJSAGIAQESGAoLbmF0dXJhbF9rZXkYBCABKAlIAogBARIqCgRkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhgKC2N1c3RvbWVyX2lkGAYgASgJSASIAQFCBQoDX2lkQgwKCl9tb2RlbF9rZXlCDgoMX25hdHVyYWxfa2V5QgcKBV9kYXRhQg4KDF9jdXN0b21lcl9pZCKIAQoUQmF0Y2hPcGVyYXRpb25SZXN1bHQSDQoFaW5kZXgYASABKAUSDwoHc3VjY2VzcxgCIAEoCBInCgZyZWNvcmQYAyABKAsyEi5yZWNvcmRzLnYxLlJlY29yZEgAiAEBEhIKBWVycm9yGAQgASgJSAGIAQFCCQoHX3JlY29yZEIICgZfZXJyb3IimAIKE0NyZWF0ZVJlY29yZFJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhgKC25hdHVyYWxfa2V5GAIgASgJSACIAQESJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLY3VzdG9tZXJfaWQYBCABKAlIAYgBARIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YBiABKAlIA4gBAUIOCgxfbmF0dXJhbF9rZXlCDgoMX2N1c3RvbWVyX2lkQgsKCV9tZXRhZGF0YUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIqYBChRDcmVhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIoCgd2YXJpYW50GAIgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARIoCgd2ZXJzaW9uGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAYgBAUIKCghfdmFyaWFudEIKCghfdmVyc2lvbiIeChBHZXRSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJIjcKEUdldFJlY29yZFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIj8KFUdldFJlY29yZEJ5S2V5UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkiPAoWR2V0UmVjb3JkQnlLZXlSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJCChlHZXRSZWNvcmRCeUtleU9ySWRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRISCgppZGVudGlmaWVyGAIgASgJIkAKGkdldFJlY29yZEJ5S2V5T3JJZFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIqADChJMaXN0UmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBRIpCgdmaWx0ZXJzGAQgAygLMhgucmVjb3Jkcy52MS5SZWNvcmRGaWx0ZXISIwoEc29ydBgFIAMoCzIVLnJlY29yZHMudjEuU29ydEZpZWxkEhgKC2N1c3RvbWVyX2lkGAYgASgJSACIAQESEwoGc2VhcmNoGAcgASgJSAGIAQESDwoHcHJldmlldxgIIAEoCBIrCgV3aGVyZRgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARISCgVhZnRlchgKIAEoCUgDiAEBEhMKBmJlZm9yZRgLIAEoCUgEiAEBEhIKBWZpcnN0GAwgASgFSAWIAQESEQoEbGFzdBgNIAEoBUgGiAEBQg4KDF9jdXN0b21lcl9pZEIJCgdfc2VhcmNoQggKBl93aGVyZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3QilgEKE0xpc3RSZWNvcmRzUmVzcG9uc2USIwoHcmVjb3JkcxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFEiwKCXBhZ2VfaW5mbxgDIAEoCzIULnJlY29yZHMudjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8ikAEKCFBhZ2VJbmZvEhUKDWhhc19uZXh0X3BhZ2UYASABKAgSGQoRaGFzX3ByZXZpb3VzX3BhZ2UYAiABKAgSGQoMc3RhcnRfY3Vyc29yGAMgASgJSACIAQESFwoKZW5kX2N1cnNvchgEIAEoCUgBiAEBQg8KDV9zdGFydF9jdXJzb3JCDQoLX2VuZF9jdXJzb3IitwEKE1VwZGF0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSJQoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIyCgx0eXBlZF91cGRhdGUYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQFCDgoMX25hdHVyYWxfa2V5Qg8KDV90eXBlZF91cGRhdGUiOgoUVXBkYXRlUmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiIQoTRGVsZXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSInChREZWxldGVSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIqcBChNVcHNlcnRSZWNvcmRSZXF1ZXN0EhEKCXRlbmFudF9pZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEhEKCW1vZGVsX2tleRgDIAEoCRITCgtuYXR1cmFsX2tleRgEIAEoCRIlCgRkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIaChJjaGFuZ2VfZGVzY3JpcHRpb24YBiABKAkiSwoUVXBzZXJ0UmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSDwoHY3JlYXRlZBgCIAEoCCJOChxCYXRjaFJlY29yZE9wZXJhdGlvbnNSZXF1ZXN0Ei4KCm9wZXJhdGlvbnMYASADKAsyGi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uIlIKHUJhdGNoUmVjb3JkT3BlcmF0aW9uc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uUmVzdWx0In4KGEJ1bGtVcGRhdGVSZWNvcmRzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSKAoGZmlsdGVyGAIgAygLMhgucmVjb3Jkcy52MS5SZWNvcmRGaWx0ZXISJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiKgoZQnVsa1VwZGF0ZVJlY29yZHNSZXNwb25zZRINCgVjb3VudBgBIAEoBSIyCh1CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiOQoeQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlc3BvbnNlEhcKD3JlY29yZHNfaW5kZXhlZBgBIAEoBSIwChtCYWNrZmlsbE1vZGVsSW5kZXhlc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJImEKHEJhY2tmaWxsTW9kZWxJbmRleGVzUmVzcG9uc2USHgoWbG9va3Vwc19yZWNvcmRzX3dhbGtlZBgBIAEoBRIhChlxdWVyeWFibGVfcmVjb3Jkc19pbmRleGVkGAIgASgFIlYKFkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSHAoPbmV3X25hdHVyYWxfa2V5GAIgASgJSACIAQFCEgoQX25ld19uYXR1cmFsX2tleSI9ChdEdXBsaWNhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJQChtEdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QSCwoDaWRzGAEgAygJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiQwocRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQiiAEKFENyZWF0ZVZlcnNpb25SZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAyABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIjwKFUNyZWF0ZVZlcnNpb25SZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiKwoVUHVibGlzaFZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiPAoWUHVibGlzaFZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChZVbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIqChdVbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKFlJldmVydFRvVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI9ChdSZXZlcnRUb1ZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJNChlMaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUiUQoaTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSJlChRDcmVhdGVWYXJpYW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEwoLdmFyaWFudF9rZXkYAiABKAkSJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPAoVQ3JlYXRlVmFyaWFudFJlc3BvbnNlEiMKB3ZhcmlhbnQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKaAQoUVXBkYXRlVmFyaWFudFJlcXVlc3QSEgoKdmFyaWFudF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0Cg5tZXRhZGF0YV9wYXRjaBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIRCg9fbWV0YWRhdGFfcGF0Y2giPAoVVXBkYXRlVmFyaWFudFJlc3BvbnNlEiMKB3ZhcmlhbnQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIqChREZWxldGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJIigKFURlbGV0ZVZhcmlhbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkEKGFNldERlZmF1bHRWYXJpYW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEgoKdmFyaWFudF9pZBgCIAEoCSI/ChlTZXREZWZhdWx0VmFyaWFudFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIk0KGUxpc3RSZWNvcmRWYXJpYW50c1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBSJRChpMaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRIkCgh2YXJpYW50cxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFIrABChJTYXZlQ29udGVudFJlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKC3ZhcmlhbnRfa2V5GAMgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAQgASgJSAGIAQFCDgoMX3ZhcmlhbnRfa2V5QhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iXgoTU2F2ZUNvbnRlbnRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIjCgd2ZXJzaW9uGAIgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiqgEKHFNjaGVkdWxlUmVjb3JkUHVibGlzaFJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDwoNX3VucHVibGlzaF9hdCJECh1TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiOQojQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSJLCiRDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVzcG9uc2USIwoHdmVyc2lvbhgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkItABCh1MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVxdWVzdBItCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEisKAnRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgCiAEBEg0KBWxpbWl0GAQgASgFEg4KBm9mZnNldBgFIAEoBUIHCgVfZnJvbUIFCgNfdG9CDAoKX21vZGVsX2tleSJVCh5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSIwChpHZXRTY2hlZHVsZWRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIkwKG0dldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRItCghzY2hlZHVsZRgBIAEoCzIbLnJlY29yZHMudjEuUHVibGlzaFNjaGVkdWxlIpkBChhMaXN0RHJhZnRWZXJzaW9uc1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQESEwoGc2VhcmNoGAIgASgJSAGIAQESDQoFbGltaXQYAyABKAUSDgoGb2Zmc2V0GAQgASgFEhgKEGRlZHVwZV9ieV9wYXJlbnQYBSABKAhCDAoKX21vZGVsX2tleUIJCgdfc2VhcmNoIlAKGUxpc3REcmFmdFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSIyChtCYXRjaFB1Ymxpc2hWZXJzaW9uc1JlcXVlc3QSEwoLdmVyc2lvbl9pZHMYASADKAkiXAocQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSFwoPcHVibGlzaGVkX2NvdW50GAIgASgFIrkBChpCYXRjaFJlc29sdmVSZWNvcmRzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKcmVjb3JkX2lkcxgCIAMoCRIYCgtjdXN0b21lcl9pZBgDIAEoCUgAiAEBEi0KB2NvbnRleHQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESDwoHcHJldmlldxgFIAEoCEIOCgxfY3VzdG9tZXJfaWRCCgoIX2NvbnRleHQiSgobQmF0Y2hSZXNvbHZlUmVjb3Jkc1Jlc3BvbnNlEisKB3JlY29yZHMYASADKAsyGi5yZWNvcmRzLnYxLlJlc29sdmVkUmVjb3JkIs0CCg5SZXNvbHZlZFJlY29yZBIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKCnZhcmlhbnRfaWQYBiABKAlIAYgBARIRCgloYXNfZHJhZnQYCCABKAgSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX25hdHVyYWxfa2V5Qg0KC192YXJpYW50X2lkIi8KGUxvb2t1cFJlY29yZE1vZGVsc1JlcXVlc3QSEgoKcmVjb3JkX2lkcxgBIAMoCSI4ChBSZWNvcmRNb2RlbEVudHJ5EhEKCXJlY29yZF9pZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkiSwoaTG9va3VwUmVjb3JkTW9kZWxzUmVzcG9uc2USLQoHZW50cmllcxgBIAMoCzIcLnJlY29yZHMudjEuUmVjb3JkTW9kZWxFbnRyeSJHChNHbG9iYWxTZWFyY2hSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhIKCm1vZGVsX2tleXMYAiADKAkSDQoFbGltaXQYCiABKAUikQEKEFNlYXJjaFJlc3VsdEl0ZW0SCgoCaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDQoFc2NvcmUYBSABKAFCDgoMX25hdHVyYWxfa2V5IlQKFEdsb2JhbFNlYXJjaFJlc3BvbnNlEi0KB3JlY29yZHMYASADKAsyHC5yZWNvcmRzLnYxLlNlYXJjaFJlc3VsdEl0ZW0SDQoFdG90YWwYAiABKAUioQEKDkVtYmVkZGluZ1N0YXRzEhEKCW1vZGVsX2tleRgBIAEoCRIVCg10b3RhbF9yZWNvcmRzGAIgASgFEhgKEGVtYmVkZGVkX3JlY29yZHMYAyABKAUSFwoPcGVuZGluZ19yZWNvcmRzGAQgASgFEh0KEGxhc3RfZW1iZWRkZWRfYXQYBSABKAlIAIgBAUITChFfbGFzdF9lbWJlZGRlZF9hdCJ1Cg9SZWNvcmRFbWJlZGRpbmcSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRISCgpkaW1lbnNpb25zGAMgASgFEhgKC2VtYmVkZGVkX2F0GAQgASgJSACIAQFCDgoMX2VtYmVkZGVkX2F0IpMBCg1TaW1pbGFyUmVjb3JkEgoKAmlkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCnNpbWlsYXJpdHkYBSABKAFCDgoMX25hdHVyYWxfa2V5IkAKGEdldEVtYmVkZGluZ1N0YXRzUmVxdWVzdBIWCgltb2RlbF9rZXkYASABKAlIAIgBAUIMCgpfbW9kZWxfa2V5IkYKGUdldEVtYmVkZGluZ1N0YXRzUmVzcG9uc2USKQoFc3RhdHMYASADKAsyGi5yZWNvcmRzLnYxLkVtYmVkZGluZ1N0YXRzIi8KGkdldFJlY29yZEVtYmVkZGluZ3NSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSJOChtHZXRSZWNvcmRFbWJlZGRpbmdzUmVzcG9uc2USLwoKZW1iZWRkaW5ncxgBIAMoCzIbLnJlY29yZHMudjEuUmVjb3JkRW1iZWRkaW5nImMKGUZpbmRTaW1pbGFyUmVjb3Jkc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFQgwKCl9tb2RlbF9rZXkiSAoaRmluZFNpbWlsYXJSZWNvcmRzUmVzcG9uc2USKgoHcmVjb3JkcxgBIAMoCzIZLnJlY29yZHMudjEuU2ltaWxhclJlY29yZCKbAQoWV3JpdGVFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSDgoGdmVjdG9yGAIgAygCEhIKCmRpbWVuc2lvbnMYAyABKAUSFQoIcHJvdmlkZXIYBCABKAlIAIgBARIXCgptb2RlbF9uYW1lGAUgASgJSAGIAQFCCwoJX3Byb3ZpZGVyQg0KC19tb2RlbF9uYW1lIioKF1dyaXRlRW1iZWRkaW5nc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLAoXRGVsZXRlRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIisKGERlbGV0ZUVtYmVkZGluZ3NSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIImcKH0VucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRITCgZzb3VyY2UYAyABKAlIAIgBAUIJCgdfc291cmNlIjQKIEVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1Jlc3BvbnNlEhAKCGVucXVldWVkGAEgASgIImQKF1NlYXJjaEVtYmVkZGluZ3NSZXF1ZXN0EhQKDHF1ZXJ5X3ZlY3RvchgBIAMoAhIWCgltb2RlbF9rZXkYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBUIMCgpfbW9kZWxfa2V5IkYKGFNlYXJjaEVtYmVkZGluZ3NSZXNwb25zZRIqCgdyZXN1bHRzGAEgAygLMhkucmVjb3Jkcy52MS5TaW1pbGFyUmVjb3JkIp8CChNMb29rdXBSZWNvcmRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRITCgtsb29rdXBfbmFtZRgCIAEoCRIQCghrZXlfaGFzaBgDIAEoDBIPCgdjaGFubmVsGAQgASgJEhcKCnZhcmlhbnRfaWQYBSABKAlIAIgBARITCgZsb2NhbGUYBiABKAlIAYgBARIYCgtjdXN0b21lcl9pZBgHIAEoCUgCiAEBEjYKEGN1c3RvbWVyX2NvbnRleHQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQFCDQoLX3ZhcmlhbnRfaWRCCQoHX2xvY2FsZUIOCgxfY3VzdG9tZXJfaWRCEwoRX2N1c3RvbWVyX2NvbnRleHQiPAoUTG9va3VwUmVjb3JkUmVzcG9uc2USFgoJcmVjb3JkX2lkGAEgASgJSACIAQFCDAoKX3JlY29yZF9pZCLpAQoeQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRITCgtsb29rdXBfbmFtZRgCIAEoCRIQCghrZXlfaGFzaBgDIAEoDBIPCgdjaGFubmVsGAQgASgJEhcKCnZhcmlhbnRfaWQYBSABKAlIAIgBARITCgZsb2NhbGUYBiABKAlIAYgBARIeChFleGNsdWRlX3JlY29yZF9pZBgHIAEoCUgCiAEBQg0KC192YXJpYW50X2lkQgkKB19sb2NhbGVCFAoSX2V4Y2x1ZGVfcmVjb3JkX2lkIjQKH0NoZWNrTG9va3VwQXZhaWxhYmlsaXR5UmVzcG9uc2USEQoJYXZhaWxhYmxlGAEgASgIIpcBChRMb29rdXBDb25mbGljdERldGFpbBIRCgltb2RlbF9rZXkYASABKAkSEwoLbG9va3VwX25hbWUYAiABKAkSDwoHY2hhbm5lbBgDIAEoCRIXCgp2YXJpYW50X2lkGAQgASgJSACIAQESEwoGbG9jYWxlGAUgASgJSAGIAQFCDQoLX3ZhcmlhbnRfaWRCCQoHX2xvY2FsZSJqChpMaXN0TG9va3VwQ29uZmxpY3RzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSGAoLbG9va3VwX25hbWUYAiABKAlIAIgBARIPCgdjaGFubmVsGAMgASgJQg4KDF9sb29rdXBfbmFtZSJIChtMaXN0TG9va3VwQ29uZmxpY3RzUmVzcG9uc2USKQoGZ3JvdXBzGAEgAygLMhkucmVjb3Jkcy52MS5Db25mbGljdEdyb3VwIpsBCg1Db25mbGljdEdyb3VwEhMKC2VuY29kZWRfa2V5GAEgASgJEg8KB2NoYW5uZWwYAiABKAkSFwoKdmFyaWFudF9pZBgDIAEoCUgAiAEBEhgKC2N1c3RvbWVyX2lkGAQgASgJSAGIAQESEgoKcmVjb3JkX2lkcxgFIAMoCUINCgtfdmFyaWFudF9pZEIOCgxfY3VzdG9tZXJfaWQiLwoaUmVidWlsZE1vZGVsTG9va3Vwc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJIjUKG1JlYnVpbGRNb2RlbExvb2t1cHNSZXNwb25zZRIWCg5yZWNvcmRzX3dhbGtlZBgBIAEoBSpzCgpSZWNvcmRUeXBlEhsKF1JFQ09SRF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUkVDT1JEX1RZUEVfUkVDT1JEEAESFwoTUkVDT1JEX1RZUEVfVkFSSUFOVBACEhcKE1JFQ09SRF9UWVBFX1ZFUlNJT04QAyqdAQoSQmF0Y2hPcGVyYXRpb25UeXBlEiQKIEJBVENIX09QRVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfQ1JFQVRFEAESHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfVVBEQVRFEAISHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfREVMRVRFEAMymyIKDlJlY29yZHNTZXJ2aWNlElEKDENyZWF0ZVJlY29yZBIfLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVzcG9uc2USSAoJR2V0UmVjb3JkEhwucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXF1ZXN0Gh0ucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXNwb25zZRJXCg5HZXRSZWNvcmRCeUtleRIhLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlSZXF1ZXN0GiIucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleVJlc3BvbnNlEmMKEkdldFJlY29yZEJ5S2V5T3JJZBIlLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBomLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVzcG9uc2USTgoLTGlzdFJlY29yZHMSHi5yZWNvcmRzLnYxLkxpc3RSZWNvcmRzUmVxdWVzdBofLnJlY29yZHMudjEuTGlzdFJlY29yZHNSZXNwb25zZRJRCgxVcGRhdGVSZWNvcmQSHy5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlc3BvbnNlElEKDFVwc2VydFJlY29yZBIfLnJlY29yZHMudjEuVXBzZXJ0UmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuVXBzZXJ0UmVjb3JkUmVzcG9uc2USUQoMRGVsZXRlUmVjb3JkEh8ucmVjb3Jkcy52MS5EZWxldGVSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5EZWxldGVSZWNvcmRSZXNwb25zZRJsChVCYXRjaFJlY29yZE9wZXJhdGlvbnMSKC5yZWNvcmRzLnYxLkJhdGNoUmVjb3JkT3BlcmF0aW9uc1JlcXVlc3QaKS5yZWNvcmRzLnYxLkJhdGNoUmVjb3JkT3BlcmF0aW9uc1Jlc3BvbnNlEmAKEUJ1bGtVcGRhdGVSZWNvcmRzEiQucmVjb3Jkcy52MS5CdWxrVXBkYXRlUmVjb3Jkc1JlcXVlc3QaJS5yZWNvcmRzLnYxLkJ1bGtVcGRhdGVSZWNvcmRzUmVzcG9uc2USbwoWQmFja2ZpbGxRdWVyeWFibGVJbmRleBIpLnJlY29yZHMudjEuQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlcXVlc3QaKi5yZWNvcmRzLnYxLkJhY2tmaWxsUXVlcnlhYmxlSW5kZXhSZXNwb25zZRJpChRCYWNrZmlsbE1vZGVsSW5kZXhlcxInLnJlY29yZHMudjEuQmFja2ZpbGxNb2RlbEluZGV4ZXNSZXF1ZXN0GigucmVjb3Jkcy52MS5CYWNrZmlsbE1vZGVsSW5kZXhlc1Jlc3BvbnNlEloKD0R1cGxpY2F0ZVJlY29yZBIiLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3JkUmVxdWVzdBojLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3JkUmVzcG9uc2USaQoURHVwbGljYXRlUmVjb3Jkc0J1bGsSJy5yZWNvcmRzLnYxLkR1cGxpY2F0ZVJlY29yZHNCdWxrUmVxdWVzdBooLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRJUCg1DcmVhdGVWZXJzaW9uEiAucmVjb3Jkcy52MS5DcmVhdGVWZXJzaW9uUmVxdWVzdBohLnJlY29yZHMudjEuQ3JlYXRlVmVyc2lvblJlc3BvbnNlElcKDlB1Ymxpc2hWZXJzaW9uEiEucmVjb3Jkcy52MS5QdWJsaXNoVmVyc2lvblJlcXVlc3QaIi5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVzcG9uc2USWgoPVW5wdWJsaXNoUmVjb3JkEiIucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRJaCg9SZXZlcnRUb1ZlcnNpb24SIi5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlcXVlc3QaIy5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWZXJzaW9ucxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USTgoLU2F2ZUNvbnRlbnQSHi5yZWNvcmRzLnYxLlNhdmVDb250ZW50UmVxdWVzdBofLnJlY29yZHMudjEuU2F2ZUNvbnRlbnRSZXNwb25zZRJUCg1DcmVhdGVWYXJpYW50EiAucmVjb3Jkcy52MS5DcmVhdGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuQ3JlYXRlVmFyaWFudFJlc3BvbnNlElQKDVVwZGF0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLlVwZGF0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5VcGRhdGVWYXJpYW50UmVzcG9uc2USVAoNRGVsZXRlVmFyaWFudBIgLnJlY29yZHMudjEuRGVsZXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLkRlbGV0ZVZhcmlhbnRSZXNwb25zZRJgChFTZXREZWZhdWx0VmFyaWFudBIkLnJlY29yZHMudjEuU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0GiUucmVjb3Jkcy52MS5TZXREZWZhdWx0VmFyaWFudFJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWYXJpYW50cxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVzcG9uc2USbAoVU2NoZWR1bGVSZWNvcmRQdWJsaXNoEigucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXF1ZXN0GikucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXNwb25zZRKBAQocQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaBIvLnJlY29yZHMudjEuQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlcXVlc3QaMC5yZWNvcmRzLnYxLkNhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRJvChZMaXN0U2NoZWR1bGVkUHVibGlzaGVzEikucmVjb3Jkcy52MS5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVxdWVzdBoqLnJlY29yZHMudjEuTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1Jlc3BvbnNlEmYKE0dldFNjaGVkdWxlZFB1Ymxpc2gSJi5yZWNvcmRzLnYxLkdldFNjaGVkdWxlZFB1Ymxpc2hSZXF1ZXN0GicucmVjb3Jkcy52MS5HZXRTY2hlZHVsZWRQdWJsaXNoUmVzcG9uc2USYAoRTGlzdERyYWZ0VmVyc2lvbnMSJC5yZWNvcmRzLnYxLkxpc3REcmFmdFZlcnNpb25zUmVxdWVzdBolLnJlY29yZHMudjEuTGlzdERyYWZ0VmVyc2lvbnNSZXNwb25zZRJpChRCYXRjaFB1Ymxpc2hWZXJzaW9ucxInLnJlY29yZHMudjEuQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0GigucmVjb3Jkcy52MS5CYXRjaFB1Ymxpc2hWZXJzaW9uc1Jlc3BvbnNlEmYKE0JhdGNoUmVzb2x2ZVJlY29yZHMSJi5yZWNvcmRzLnYxLkJhdGNoUmVzb2x2ZVJlY29yZHNSZXF1ZXN0GicucmVjb3Jkcy52MS5CYXRjaFJlc29sdmVSZWNvcmRzUmVzcG9uc2USYwoSTG9va3VwUmVjb3JkTW9kZWxzEiUucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRJRCgxHbG9iYWxTZWFyY2gSHy5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlcXVlc3QaIC5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlc3BvbnNlElEKDExvb2t1cFJlY29yZBIfLnJlY29yZHMudjEuTG9va3VwUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuTG9va3VwUmVjb3JkUmVzcG9uc2UScgoXQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHkSKi5yZWNvcmRzLnYxLkNoZWNrTG9va3VwQXZhaWxhYmlsaXR5UmVxdWVzdBorLnJlY29yZHMudjEuQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXNwb25zZRJmChNMaXN0TG9va3VwQ29uZmxpY3RzEiYucmVjb3Jkcy52MS5MaXN0TG9va3VwQ29uZmxpY3RzUmVxdWVzdBonLnJlY29yZHMudjEuTGlzdExvb2t1cENvbmZsaWN0c1Jlc3BvbnNlEmYKE1JlYnVpbGRNb2RlbExvb2t1cHMSJi5yZWNvcmRzLnYxLlJlYnVpbGRNb2RlbExvb2t1cHNSZXF1ZXN0GicucmVjb3Jkcy52MS5SZWJ1aWxkTW9kZWxMb29rdXBzUmVzcG9uc2USYAoRR2V0RW1iZWRkaW5nU3RhdHMSJC5yZWNvcmRzLnYxLkdldEVtYmVkZGluZ1N0YXRzUmVxdWVzdBolLnJlY29yZHMudjEuR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRJmChNHZXRSZWNvcmRFbWJlZGRpbmdzEiYucmVjb3Jkcy52MS5HZXRSZWNvcmRFbWJlZGRpbmdzUmVxdWVzdBonLnJlY29yZHMudjEuR2V0UmVjb3JkRW1iZWRkaW5nc1Jlc3BvbnNlEmMKEkZpbmRTaW1pbGFyUmVjb3JkcxIlLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBomLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVzcG9uc2USWgoPV3JpdGVFbWJlZGRpbmdzEiIucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXF1ZXN0GiMucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXNwb25zZRJdChBEZWxldGVFbWJlZGRpbmdzEiMucmVjb3Jkcy52MS5EZWxldGVFbWJlZGRpbmdzUmVxdWVzdBokLnJlY29yZHMudjEuRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEl0KEFNlYXJjaEVtYmVkZGluZ3MSIy5yZWNvcmRzLnYxLlNlYXJjaEVtYmVkZGluZ3NSZXF1ZXN0GiQucmVjb3Jkcy52MS5TZWFyY2hFbWJlZGRpbmdzUmVzcG9uc2USdQoYRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nEisucmVjb3Jkcy52MS5FbnF1ZXVlR2VuZXJhdGVFbWJlZGRpbmdSZXF1ZXN0GiwucmVjb3Jkcy52MS5FbnF1ZXVlR2VuZXJhdGVFbWJlZGRpbmdSZXNwb25zZUI7WjlnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vcmVjb3Jkcy92MTtyZWNvcmRzdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
13
+ fileDesc("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEihA0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtjdXN0b21lcl9pZBgIIAEoCUgDiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIBIgBARIXCgp1cGRhdGVkX2J5GBUgASgJSAWIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoOdmVyc2lvbl9udW1iZXIYKCABKAVIBogBARIZCgxjb250ZW50X2hhc2gYKSABKAlIB4gBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YKiABKAlICIgBARIbCg5wdWJsaXNoX3N0YXR1cxgrIAEoCUgJiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAuIAQESGAoLdmFyaWFudF9rZXkYMiABKAlIDIgBARIZCgx2YXJpYW50X25hbWUYMyABKAlIDYgBARIgChN2YXJpYW50X2Rlc2NyaXB0aW9uGDQgASgJSA6IAQESFwoKY2F0YWxvZ19pZBg1IAEoCUgPiAEBEhUKCHByaW9yaXR5GDYgASgFSBCIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGDcgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IEYgBARIXCgppc19kZWZhdWx0GDggASgISBKIAQESHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBOIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIFIgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYPiABKAVIFYgBARI1CgxwdWJsaXNoZWRfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBaIAQESGQoMcHVibGlzaGVkX2J5GEAgASgJSBeIAQESEwoLY2FuX3B1Ymxpc2gYQSABKAgSFQoNY2FuX3VucHVibGlzaBhCIAEoCBIfChdoYXNfdW5wdWJsaXNoZWRfY2hhbmdlcxhDIAEoCBIdChBtb2RlbF92ZXJzaW9uX2lkGEYgASgJSBiIAQFCDgoMX25hdHVyYWxfa2V5QgwKCl9wYXJlbnRfaWRCCwoJX21ldGFkYXRhQg4KDF9jdXN0b21lcl9pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fdmVyc2lvbl9udW1iZXJCDwoNX2NvbnRlbnRfaGFzaEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQhEKD19wdWJsaXNoX3N0YXR1c0IXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXRCDgoMX3ZhcmlhbnRfa2V5Qg8KDV92YXJpYW50X25hbWVCFgoUX3ZhcmlhbnRfZGVzY3JpcHRpb25CDQoLX2NhdGFsb2dfaWRCCwoJX3ByaW9yaXR5QhIKEF90YXJnZXRpbmdfcnVsZXNCDQoLX2lzX2RlZmF1bHRCFQoTX2N1cnJlbnRfdmVyc2lvbl9pZEIXChVfcHVibGlzaGVkX3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckIPCg1fcHVibGlzaGVkX2F0Qg8KDV9wdWJsaXNoZWRfYnlCEwoRX21vZGVsX3ZlcnNpb25faWQi9QEKD1B1Ymxpc2hTY2hlZHVsZRISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAUgASgJSAGIAQFCDwoNX3VucHVibGlzaF9hdEINCgtfY3JlYXRlZF9ieSIuCglTb3J0RmllbGQSDQoFZmllbGQYASABKAkSEgoKZGVzY2VuZGluZxgCIAEoCCKFAgoOQmF0Y2hPcGVyYXRpb24SLAoEdHlwZRgBIAEoDjIeLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb25UeXBlEg8KAmlkGAIgASgJSACIAQESFgoJbW9kZWxfa2V5GAMgASgJSAGIAQESGAoLbmF0dXJhbF9rZXkYBCABKAlIAogBARIqCgRkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEhgKC2N1c3RvbWVyX2lkGAYgASgJSASIAQFCBQoDX2lkQgwKCl9tb2RlbF9rZXlCDgoMX25hdHVyYWxfa2V5QgcKBV9kYXRhQg4KDF9jdXN0b21lcl9pZCKIAQoUQmF0Y2hPcGVyYXRpb25SZXN1bHQSDQoFaW5kZXgYASABKAUSDwoHc3VjY2VzcxgCIAEoCBInCgZyZWNvcmQYAyABKAsyEi5yZWNvcmRzLnYxLlJlY29yZEgAiAEBEhIKBWVycm9yGAQgASgJSAGIAQFCCQoHX3JlY29yZEIICgZfZXJyb3IimAIKE0NyZWF0ZVJlY29yZFJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhgKC25hdHVyYWxfa2V5GAIgASgJSACIAQESJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLY3VzdG9tZXJfaWQYBCABKAlIAYgBARIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YBiABKAlIA4gBAUIOCgxfbmF0dXJhbF9rZXlCDgoMX2N1c3RvbWVyX2lkQgsKCV9tZXRhZGF0YUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIqYBChRDcmVhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIoCgd2YXJpYW50GAIgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARIoCgd2ZXJzaW9uGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAYgBAUIKCghfdmFyaWFudEIKCghfdmVyc2lvbiIeChBHZXRSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJIjcKEUdldFJlY29yZFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIj8KFUdldFJlY29yZEJ5S2V5UmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEwoLbmF0dXJhbF9rZXkYAiABKAkiPAoWR2V0UmVjb3JkQnlLZXlSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJCChlHZXRSZWNvcmRCeUtleU9ySWRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRISCgppZGVudGlmaWVyGAIgASgJIkAKGkdldFJlY29yZEJ5S2V5T3JJZFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkItYCChJMaXN0UmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEiMKBHNvcnQYAiADKAsyFS5yZWNvcmRzLnYxLlNvcnRGaWVsZBIYCgtjdXN0b21lcl9pZBgDIAEoCUgAiAEBEhMKBnNlYXJjaBgEIAEoCUgBiAEBEg8KB3ByZXZpZXcYBSABKAgSKwoFd2hlcmUYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESEgoFYWZ0ZXIYByABKAlIA4gBARITCgZiZWZvcmUYCCABKAlIBIgBARISCgVmaXJzdBgJIAEoBUgFiAEBEhEKBGxhc3QYCiABKAVIBogBAUIOCgxfY3VzdG9tZXJfaWRCCQoHX3NlYXJjaEIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpYBChNMaXN0UmVjb3Jkc1Jlc3BvbnNlEiMKB3JlY29yZHMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBRIsCglwYWdlX2luZm8YAyABKAsyFC5yZWNvcmRzLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIpABCghQYWdlSW5mbxIVCg1oYXNfbmV4dF9wYWdlGAEgASgIEhkKEWhhc19wcmV2aW91c19wYWdlGAIgASgIEhkKDHN0YXJ0X2N1cnNvchgDIAEoCUgAiAEBEhcKCmVuZF9jdXJzb3IYBCABKAlIAYgBAUIPCg1fc3RhcnRfY3Vyc29yQg0KC19lbmRfY3Vyc29yIpsCChNVcGRhdGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJEicKBnVwZGF0ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIYCgt2YXJpYW50X2tleRgEIAEoCUgBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEjIKDHJlcGxhY2VfZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUIOCgxfbmF0dXJhbF9rZXlCDgoMX3ZhcmlhbnRfa2V5QhUKE19jaGFuZ2VfZGVzY3JpcHRpb25CDwoNX3JlcGxhY2VfZGF0YSI6ChRVcGRhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIhChNEZWxldGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZVJlY29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgipwEKE1Vwc2VydFJlY29yZFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEQoJbW9kZWxfa2V5GAMgASgJEhMKC25hdHVyYWxfa2V5GAQgASgJEiUKBGRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhoKEmNoYW5nZV9kZXNjcmlwdGlvbhgGIAEoCSJLChRVcHNlcnRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIPCgdjcmVhdGVkGAIgASgIIk4KHEJhdGNoUmVjb3JkT3BlcmF0aW9uc1JlcXVlc3QSLgoKb3BlcmF0aW9ucxgBIAMoCzIaLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb24iUgodQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVzcG9uc2USMQoHcmVzdWx0cxgBIAMoCzIgLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb25SZXN1bHQinQEKGEJ1bGtVcGRhdGVSZWNvcmRzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSKwoFd2hlcmUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESLAoGdXBkYXRlGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBQggKBl93aGVyZUIJCgdfdXBkYXRlIjcKGUJ1bGtVcGRhdGVSZWNvcmRzUmVzcG9uc2USDQoFY291bnQYASABKAUSCwoDaWRzGAIgAygJIjIKHUJhY2tmaWxsUXVlcnlhYmxlSW5kZXhSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCSI5Ch5CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVzcG9uc2USFwoPcmVjb3Jkc19pbmRleGVkGAEgASgFIjAKG0JhY2tmaWxsTW9kZWxJbmRleGVzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiYQocQmFja2ZpbGxNb2RlbEluZGV4ZXNSZXNwb25zZRIeChZsb29rdXBzX3JlY29yZHNfd2Fsa2VkGAEgASgFEiEKGXF1ZXJ5YWJsZV9yZWNvcmRzX2luZGV4ZWQYAiABKAUiVgoWRHVwbGljYXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCRIcCg9uZXdfbmF0dXJhbF9rZXkYAiABKAlIAIgBAUISChBfbmV3X25hdHVyYWxfa2V5Ij0KF0R1cGxpY2F0ZVJlY29yZFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIlAKG0R1cGxpY2F0ZVJlY29yZHNCdWxrUmVxdWVzdBILCgNpZHMYASADKAkSFgoJbW9kZWxfa2V5GAIgASgJSACIAQFCDAoKX21vZGVsX2tleSJDChxEdXBsaWNhdGVSZWNvcmRzQnVsa1Jlc3BvbnNlEiMKB3JlY29yZHMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKIAQoUQ3JlYXRlVmVyc2lvblJlcXVlc3QSEQoJcGFyZW50X2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgDIAEoCUgAiAEBQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iPAoVQ3JlYXRlVmVyc2lvblJlc3BvbnNlEiMKB3ZlcnNpb24YASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChVQdWJsaXNoVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI8ChZQdWJsaXNoVmVyc2lvblJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIisKFlVucHVibGlzaFJlY29yZFJlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIioKF1VucHVibGlzaFJlY29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLAoWUmV2ZXJ0VG9WZXJzaW9uUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIj0KF1JldmVydFRvVmVyc2lvblJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIk0KGUxpc3RSZWNvcmRWZXJzaW9uc1JlcXVlc3QSEQoJcGFyZW50X2lkGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBSJRChpMaXN0UmVjb3JkVmVyc2lvbnNSZXNwb25zZRIkCgh2ZXJzaW9ucxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFImUKFENyZWF0ZVZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRITCgt2YXJpYW50X2tleRgCIAEoCRIlCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI8ChVDcmVhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIpoBChRVcGRhdGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjQKDm1ldGFkYXRhX3BhdGNoGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQhEKD19tZXRhZGF0YV9wYXRjaCI8ChVVcGRhdGVWYXJpYW50UmVzcG9uc2USIwoHdmFyaWFudBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIioKFERlbGV0ZVZhcmlhbnRSZXF1ZXN0EhIKCnZhcmlhbnRfaWQYASABKAkiKAoVRGVsZXRlVmFyaWFudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiQQoYU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRISCgp2YXJpYW50X2lkGAIgASgJIj8KGVNldERlZmF1bHRWYXJpYW50UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiTQoZTGlzdFJlY29yZFZhcmlhbnRzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSDQoFbGltaXQYAiABKAUSDgoGb2Zmc2V0GAMgASgFIlEKGkxpc3RSZWNvcmRWYXJpYW50c1Jlc3BvbnNlEiQKCHZhcmlhbnRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUisAEKElNhdmVDb250ZW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSJQoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoLdmFyaWFudF9rZXkYAyABKAlIAIgBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YBCABKAlIAYgBAUIOCgxfdmFyaWFudF9rZXlCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiJeChNTYXZlQ29udGVudFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkEiMKB3ZlcnNpb24YAiABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKqAQocU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0IkQKHVNjaGVkdWxlUmVjb3JkUHVibGlzaFJlc3BvbnNlEiMKB3ZlcnNpb24YASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI5CiNDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIksKJENhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQi0AEKHUxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXF1ZXN0Ei0KBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESKwoCdG8YAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESFgoJbW9kZWxfa2V5GAMgASgJSAKIAQESDQoFbGltaXQYBCABKAUSDgoGb2Zmc2V0GAUgASgFQgcKBV9mcm9tQgUKA190b0IMCgpfbW9kZWxfa2V5IlUKHkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXNwb25zZRIkCgh2ZXJzaW9ucxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFIjAKGkdldFNjaGVkdWxlZFB1Ymxpc2hSZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiTAobR2V0U2NoZWR1bGVkUHVibGlzaFJlc3BvbnNlEi0KCHNjaGVkdWxlGAEgASgLMhsucmVjb3Jkcy52MS5QdWJsaXNoU2NoZWR1bGUimQEKGExpc3REcmFmdFZlcnNpb25zUmVxdWVzdBIWCgltb2RlbF9rZXkYASABKAlIAIgBARITCgZzZWFyY2gYAiABKAlIAYgBARINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAUSGAoQZGVkdXBlX2J5X3BhcmVudBgFIAEoCEIMCgpfbW9kZWxfa2V5QgkKB19zZWFyY2giUAoZTGlzdERyYWZ0VmVyc2lvbnNSZXNwb25zZRIkCgh2ZXJzaW9ucxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFIjIKG0JhdGNoUHVibGlzaFZlcnNpb25zUmVxdWVzdBITCgt2ZXJzaW9uX2lkcxgBIAMoCSJcChxCYXRjaFB1Ymxpc2hWZXJzaW9uc1Jlc3BvbnNlEiMKB3JlY29yZHMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIXCg9wdWJsaXNoZWRfY291bnQYAiABKAUiuQEKGkJhdGNoUmVzb2x2ZVJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRISCgpyZWNvcmRfaWRzGAIgAygJEhgKC2N1c3RvbWVyX2lkGAMgASgJSACIAQESLQoHY29udGV4dBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAYgBARIPCgdwcmV2aWV3GAUgASgIQg4KDF9jdXN0b21lcl9pZEIKCghfY29udGV4dCJKChtCYXRjaFJlc29sdmVSZWNvcmRzUmVzcG9uc2USKwoHcmVjb3JkcxgBIAMoCzIaLnJlY29yZHMudjEuUmVzb2x2ZWRSZWNvcmQizQIKDlJlc29sdmVkUmVjb3JkEhEKCXJlY29yZF9pZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKdmFyaWFudF9pZBgGIAEoCUgBiAEBEhEKCWhhc19kcmFmdBgIIAEoCBIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfbmF0dXJhbF9rZXlCDQoLX3ZhcmlhbnRfaWQiLwoZTG9va3VwUmVjb3JkTW9kZWxzUmVxdWVzdBISCgpyZWNvcmRfaWRzGAEgAygJIjgKEFJlY29yZE1vZGVsRW50cnkSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCSJLChpMb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRItCgdlbnRyaWVzGAEgAygLMhwucmVjb3Jkcy52MS5SZWNvcmRNb2RlbEVudHJ5IkcKE0dsb2JhbFNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSEgoKbW9kZWxfa2V5cxgCIAMoCRINCgVsaW1pdBgKIAEoBSKRAQoQU2VhcmNoUmVzdWx0SXRlbRIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVzY29yZRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkiVAoUR2xvYmFsU2VhcmNoUmVzcG9uc2USLQoHcmVjb3JkcxgBIAMoCzIcLnJlY29yZHMudjEuU2VhcmNoUmVzdWx0SXRlbRINCgV0b3RhbBgCIAEoBSKhAQoORW1iZWRkaW5nU3RhdHMSEQoJbW9kZWxfa2V5GAEgASgJEhUKDXRvdGFsX3JlY29yZHMYAiABKAUSGAoQZW1iZWRkZWRfcmVjb3JkcxgDIAEoBRIXCg9wZW5kaW5nX3JlY29yZHMYBCABKAUSHQoQbGFzdF9lbWJlZGRlZF9hdBgFIAEoCUgAiAEBQhMKEV9sYXN0X2VtYmVkZGVkX2F0InUKD1JlY29yZEVtYmVkZGluZxIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhIKCmRpbWVuc2lvbnMYAyABKAUSGAoLZW1iZWRkZWRfYXQYBCABKAlIAIgBAUIOCgxfZW1iZWRkZWRfYXQikwEKDVNpbWlsYXJSZWNvcmQSCgoCaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoKc2ltaWxhcml0eRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkiQAoYR2V0RW1iZWRkaW5nU3RhdHNSZXF1ZXN0EhYKCW1vZGVsX2tleRgBIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiRgoZR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRIpCgVzdGF0cxgBIAMoCzIaLnJlY29yZHMudjEuRW1iZWRkaW5nU3RhdHMiLwoaR2V0UmVjb3JkRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIk4KG0dldFJlY29yZEVtYmVkZGluZ3NSZXNwb25zZRIvCgplbWJlZGRpbmdzGAEgAygLMhsucmVjb3Jkcy52MS5SZWNvcmRFbWJlZGRpbmciYwoZRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSFgoJbW9kZWxfa2V5GAIgASgJSACIAQESDQoFbGltaXQYCiABKAVCDAoKX21vZGVsX2tleSJIChpGaW5kU2ltaWxhclJlY29yZHNSZXNwb25zZRIqCgdyZWNvcmRzGAEgAygLMhkucmVjb3Jkcy52MS5TaW1pbGFyUmVjb3JkIpsBChZXcml0ZUVtYmVkZGluZ3NSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIOCgZ2ZWN0b3IYAiADKAISEgoKZGltZW5zaW9ucxgDIAEoBRIVCghwcm92aWRlchgEIAEoCUgAiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIAYgBAUILCglfcHJvdmlkZXJCDQoLX21vZGVsX25hbWUiKgoXV3JpdGVFbWJlZGRpbmdzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChdEZWxldGVFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkiKwoYRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiZwofRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhMKBnNvdXJjZRgDIAEoCUgAiAEBQgkKB19zb3VyY2UiNAogRW5xdWV1ZUdlbmVyYXRlRW1iZWRkaW5nUmVzcG9uc2USEAoIZW5xdWV1ZWQYASABKAgiZAoXU2VhcmNoRW1iZWRkaW5nc1JlcXVlc3QSFAoMcXVlcnlfdmVjdG9yGAEgAygCEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFQgwKCl9tb2RlbF9rZXkiRgoYU2VhcmNoRW1iZWRkaW5nc1Jlc3BvbnNlEioKB3Jlc3VsdHMYASADKAsyGS5yZWNvcmRzLnYxLlNpbWlsYXJSZWNvcmQinwIKE0xvb2t1cFJlY29yZFJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC2xvb2t1cF9uYW1lGAIgASgJEhAKCGtleV9oYXNoGAMgASgMEg8KB2NoYW5uZWwYBCABKAkSFwoKdmFyaWFudF9pZBgFIAEoCUgAiAEBEhMKBmxvY2FsZRgGIAEoCUgBiAEBEhgKC2N1c3RvbWVyX2lkGAcgASgJSAKIAQESNgoQY3VzdG9tZXJfY29udGV4dBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBAUINCgtfdmFyaWFudF9pZEIJCgdfbG9jYWxlQg4KDF9jdXN0b21lcl9pZEITChFfY3VzdG9tZXJfY29udGV4dCI8ChRMb29rdXBSZWNvcmRSZXNwb25zZRIWCglyZWNvcmRfaWQYASABKAlIAIgBAUIMCgpfcmVjb3JkX2lkIukBCh5DaGVja0xvb2t1cEF2YWlsYWJpbGl0eVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC2xvb2t1cF9uYW1lGAIgASgJEhAKCGtleV9oYXNoGAMgASgMEg8KB2NoYW5uZWwYBCABKAkSFwoKdmFyaWFudF9pZBgFIAEoCUgAiAEBEhMKBmxvY2FsZRgGIAEoCUgBiAEBEh4KEWV4Y2x1ZGVfcmVjb3JkX2lkGAcgASgJSAKIAQFCDQoLX3ZhcmlhbnRfaWRCCQoHX2xvY2FsZUIUChJfZXhjbHVkZV9yZWNvcmRfaWQiNAofQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXNwb25zZRIRCglhdmFpbGFibGUYASABKAgilwEKFExvb2t1cENvbmZsaWN0RGV0YWlsEhEKCW1vZGVsX2tleRgBIAEoCRITCgtsb29rdXBfbmFtZRgCIAEoCRIPCgdjaGFubmVsGAMgASgJEhcKCnZhcmlhbnRfaWQYBCABKAlIAIgBARITCgZsb2NhbGUYBSABKAlIAYgBAUINCgtfdmFyaWFudF9pZEIJCgdfbG9jYWxlImoKGkxpc3RMb29rdXBDb25mbGljdHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtsb29rdXBfbmFtZRgCIAEoCUgAiAEBEg8KB2NoYW5uZWwYAyABKAlCDgoMX2xvb2t1cF9uYW1lIkgKG0xpc3RMb29rdXBDb25mbGljdHNSZXNwb25zZRIpCgZncm91cHMYASADKAsyGS5yZWNvcmRzLnYxLkNvbmZsaWN0R3JvdXAimwEKDUNvbmZsaWN0R3JvdXASEwoLZW5jb2RlZF9rZXkYASABKAkSDwoHY2hhbm5lbBgCIAEoCRIXCgp2YXJpYW50X2lkGAMgASgJSACIAQESGAoLY3VzdG9tZXJfaWQYBCABKAlIAYgBARISCgpyZWNvcmRfaWRzGAUgAygJQg0KC192YXJpYW50X2lkQg4KDF9jdXN0b21lcl9pZCIvChpSZWJ1aWxkTW9kZWxMb29rdXBzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkiNQobUmVidWlsZE1vZGVsTG9va3Vwc1Jlc3BvbnNlEhYKDnJlY29yZHNfd2Fsa2VkGAEgASgFKnMKClJlY29yZFR5cGUSGwoXUkVDT1JEX1RZUEVfVU5TUEVDSUZJRUQQABIWChJSRUNPUkRfVFlQRV9SRUNPUkQQARIXChNSRUNPUkRfVFlQRV9WQVJJQU5UEAISFwoTUkVDT1JEX1RZUEVfVkVSU0lPThADKp0BChJCYXRjaE9wZXJhdGlvblR5cGUSJAogQkFUQ0hfT1BFUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9DUkVBVEUQARIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9VUERBVEUQAhIfChtCQVRDSF9PUEVSQVRJT05fVFlQRV9ERUxFVEUQAzKbIgoOUmVjb3Jkc1NlcnZpY2USUQoMQ3JlYXRlUmVjb3JkEh8ucmVjb3Jkcy52MS5DcmVhdGVSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5DcmVhdGVSZWNvcmRSZXNwb25zZRJICglHZXRSZWNvcmQSHC5yZWNvcmRzLnYxLkdldFJlY29yZFJlcXVlc3QaHS5yZWNvcmRzLnYxLkdldFJlY29yZFJlc3BvbnNlElcKDkdldFJlY29yZEJ5S2V5EiEucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleVJlcXVlc3QaIi5yZWNvcmRzLnYxLkdldFJlY29yZEJ5S2V5UmVzcG9uc2USYwoSR2V0UmVjb3JkQnlLZXlPcklkEiUucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleU9ySWRSZXF1ZXN0GiYucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRJOCgtMaXN0UmVjb3JkcxIeLnJlY29yZHMudjEuTGlzdFJlY29yZHNSZXF1ZXN0Gh8ucmVjb3Jkcy52MS5MaXN0UmVjb3Jkc1Jlc3BvbnNlElEKDFVwZGF0ZVJlY29yZBIfLnJlY29yZHMudjEuVXBkYXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuVXBkYXRlUmVjb3JkUmVzcG9uc2USUQoMVXBzZXJ0UmVjb3JkEh8ucmVjb3Jkcy52MS5VcHNlcnRSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5VcHNlcnRSZWNvcmRSZXNwb25zZRJRCgxEZWxldGVSZWNvcmQSHy5yZWNvcmRzLnYxLkRlbGV0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLkRlbGV0ZVJlY29yZFJlc3BvbnNlEmwKFUJhdGNoUmVjb3JkT3BlcmF0aW9ucxIoLnJlY29yZHMudjEuQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVxdWVzdBopLnJlY29yZHMudjEuQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVzcG9uc2USYAoRQnVsa1VwZGF0ZVJlY29yZHMSJC5yZWNvcmRzLnYxLkJ1bGtVcGRhdGVSZWNvcmRzUmVxdWVzdBolLnJlY29yZHMudjEuQnVsa1VwZGF0ZVJlY29yZHNSZXNwb25zZRJvChZCYWNrZmlsbFF1ZXJ5YWJsZUluZGV4EikucmVjb3Jkcy52MS5CYWNrZmlsbFF1ZXJ5YWJsZUluZGV4UmVxdWVzdBoqLnJlY29yZHMudjEuQmFja2ZpbGxRdWVyeWFibGVJbmRleFJlc3BvbnNlEmkKFEJhY2tmaWxsTW9kZWxJbmRleGVzEicucmVjb3Jkcy52MS5CYWNrZmlsbE1vZGVsSW5kZXhlc1JlcXVlc3QaKC5yZWNvcmRzLnYxLkJhY2tmaWxsTW9kZWxJbmRleGVzUmVzcG9uc2USWgoPRHVwbGljYXRlUmVjb3JkEiIucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXNwb25zZRJpChREdXBsaWNhdGVSZWNvcmRzQnVsaxInLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXF1ZXN0GigucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRzQnVsa1Jlc3BvbnNlElQKDUNyZWF0ZVZlcnNpb24SIC5yZWNvcmRzLnYxLkNyZWF0ZVZlcnNpb25SZXF1ZXN0GiEucmVjb3Jkcy52MS5DcmVhdGVWZXJzaW9uUmVzcG9uc2USVwoOUHVibGlzaFZlcnNpb24SIS5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVxdWVzdBoiLnJlY29yZHMudjEuUHVibGlzaFZlcnNpb25SZXNwb25zZRJaCg9VbnB1Ymxpc2hSZWNvcmQSIi5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlcXVlc3QaIy5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlc3BvbnNlEloKD1JldmVydFRvVmVyc2lvbhIiLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVxdWVzdBojLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVzcG9uc2USYwoSTGlzdFJlY29yZFZlcnNpb25zEiUucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0GiYucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXNwb25zZRJOCgtTYXZlQ29udGVudBIeLnJlY29yZHMudjEuU2F2ZUNvbnRlbnRSZXF1ZXN0Gh8ucmVjb3Jkcy52MS5TYXZlQ29udGVudFJlc3BvbnNlElQKDUNyZWF0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLkNyZWF0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5DcmVhdGVWYXJpYW50UmVzcG9uc2USVAoNVXBkYXRlVmFyaWFudBIgLnJlY29yZHMudjEuVXBkYXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLlVwZGF0ZVZhcmlhbnRSZXNwb25zZRJUCg1EZWxldGVWYXJpYW50EiAucmVjb3Jkcy52MS5EZWxldGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuRGVsZXRlVmFyaWFudFJlc3BvbnNlEmAKEVNldERlZmF1bHRWYXJpYW50EiQucmVjb3Jkcy52MS5TZXREZWZhdWx0VmFyaWFudFJlcXVlc3QaJS5yZWNvcmRzLnYxLlNldERlZmF1bHRWYXJpYW50UmVzcG9uc2USYwoSTGlzdFJlY29yZFZhcmlhbnRzEiUucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmFyaWFudHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRJsChVTY2hlZHVsZVJlY29yZFB1Ymxpc2gSKC5yZWNvcmRzLnYxLlNjaGVkdWxlUmVjb3JkUHVibGlzaFJlcXVlc3QaKS5yZWNvcmRzLnYxLlNjaGVkdWxlUmVjb3JkUHVibGlzaFJlc3BvbnNlEoEBChxDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoEi8ucmVjb3Jkcy52MS5DYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVxdWVzdBowLnJlY29yZHMudjEuQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlc3BvbnNlEm8KFkxpc3RTY2hlZHVsZWRQdWJsaXNoZXMSKS5yZWNvcmRzLnYxLkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXF1ZXN0GioucmVjb3Jkcy52MS5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVzcG9uc2USZgoTR2V0U2NoZWR1bGVkUHVibGlzaBImLnJlY29yZHMudjEuR2V0U2NoZWR1bGVkUHVibGlzaFJlcXVlc3QaJy5yZWNvcmRzLnYxLkdldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRJgChFMaXN0RHJhZnRWZXJzaW9ucxIkLnJlY29yZHMudjEuTGlzdERyYWZ0VmVyc2lvbnNSZXF1ZXN0GiUucmVjb3Jkcy52MS5MaXN0RHJhZnRWZXJzaW9uc1Jlc3BvbnNlEmkKFEJhdGNoUHVibGlzaFZlcnNpb25zEicucmVjb3Jkcy52MS5CYXRjaFB1Ymxpc2hWZXJzaW9uc1JlcXVlc3QaKC5yZWNvcmRzLnYxLkJhdGNoUHVibGlzaFZlcnNpb25zUmVzcG9uc2USZgoTQmF0Y2hSZXNvbHZlUmVjb3JkcxImLnJlY29yZHMudjEuQmF0Y2hSZXNvbHZlUmVjb3Jkc1JlcXVlc3QaJy5yZWNvcmRzLnYxLkJhdGNoUmVzb2x2ZVJlY29yZHNSZXNwb25zZRJjChJMb29rdXBSZWNvcmRNb2RlbHMSJS5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZE1vZGVsc1JlcXVlc3QaJi5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZE1vZGVsc1Jlc3BvbnNlElEKDEdsb2JhbFNlYXJjaBIfLnJlY29yZHMudjEuR2xvYmFsU2VhcmNoUmVxdWVzdBogLnJlY29yZHMudjEuR2xvYmFsU2VhcmNoUmVzcG9uc2USUQoMTG9va3VwUmVjb3JkEh8ucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRSZXNwb25zZRJyChdDaGVja0xvb2t1cEF2YWlsYWJpbGl0eRIqLnJlY29yZHMudjEuQ2hlY2tMb29rdXBBdmFpbGFiaWxpdHlSZXF1ZXN0GisucmVjb3Jkcy52MS5DaGVja0xvb2t1cEF2YWlsYWJpbGl0eVJlc3BvbnNlEmYKE0xpc3RMb29rdXBDb25mbGljdHMSJi5yZWNvcmRzLnYxLkxpc3RMb29rdXBDb25mbGljdHNSZXF1ZXN0GicucmVjb3Jkcy52MS5MaXN0TG9va3VwQ29uZmxpY3RzUmVzcG9uc2USZgoTUmVidWlsZE1vZGVsTG9va3VwcxImLnJlY29yZHMudjEuUmVidWlsZE1vZGVsTG9va3Vwc1JlcXVlc3QaJy5yZWNvcmRzLnYxLlJlYnVpbGRNb2RlbExvb2t1cHNSZXNwb25zZRJgChFHZXRFbWJlZGRpbmdTdGF0cxIkLnJlY29yZHMudjEuR2V0RW1iZWRkaW5nU3RhdHNSZXF1ZXN0GiUucmVjb3Jkcy52MS5HZXRFbWJlZGRpbmdTdGF0c1Jlc3BvbnNlEmYKE0dldFJlY29yZEVtYmVkZGluZ3MSJi5yZWNvcmRzLnYxLkdldFJlY29yZEVtYmVkZGluZ3NSZXF1ZXN0GicucmVjb3Jkcy52MS5HZXRSZWNvcmRFbWJlZGRpbmdzUmVzcG9uc2USYwoSRmluZFNpbWlsYXJSZWNvcmRzEiUucmVjb3Jkcy52MS5GaW5kU2ltaWxhclJlY29yZHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5GaW5kU2ltaWxhclJlY29yZHNSZXNwb25zZRJaCg9Xcml0ZUVtYmVkZGluZ3MSIi5yZWNvcmRzLnYxLldyaXRlRW1iZWRkaW5nc1JlcXVlc3QaIy5yZWNvcmRzLnYxLldyaXRlRW1iZWRkaW5nc1Jlc3BvbnNlEl0KEERlbGV0ZUVtYmVkZGluZ3MSIy5yZWNvcmRzLnYxLkRlbGV0ZUVtYmVkZGluZ3NSZXF1ZXN0GiQucmVjb3Jkcy52MS5EZWxldGVFbWJlZGRpbmdzUmVzcG9uc2USXQoQU2VhcmNoRW1iZWRkaW5ncxIjLnJlY29yZHMudjEuU2VhcmNoRW1iZWRkaW5nc1JlcXVlc3QaJC5yZWNvcmRzLnYxLlNlYXJjaEVtYmVkZGluZ3NSZXNwb25zZRJ1ChhFbnF1ZXVlR2VuZXJhdGVFbWJlZGRpbmcSKy5yZWNvcmRzLnYxLkVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1JlcXVlc3QaLC5yZWNvcmRzLnYxLkVucXVldWVHZW5lcmF0ZUVtYmVkZGluZ1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9yZWNvcmRzL3YxO3JlY29yZHN2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
14
14
 
15
15
  /**
16
16
  * Describes the message records.v1.Record.
@@ -26,726 +26,719 @@ export const RecordSchema = /*@__PURE__*/
26
26
  export const PublishScheduleSchema = /*@__PURE__*/
27
27
  messageDesc(file_records_v1_records, 1);
28
28
 
29
- /**
30
- * Describes the message records.v1.RecordFilter.
31
- * Use `create(RecordFilterSchema)` to create a new message.
32
- */
33
- export const RecordFilterSchema = /*@__PURE__*/
34
- messageDesc(file_records_v1_records, 2);
35
-
36
29
  /**
37
30
  * Describes the message records.v1.SortField.
38
31
  * Use `create(SortFieldSchema)` to create a new message.
39
32
  */
40
33
  export const SortFieldSchema = /*@__PURE__*/
41
- messageDesc(file_records_v1_records, 3);
34
+ messageDesc(file_records_v1_records, 2);
42
35
 
43
36
  /**
44
37
  * Describes the message records.v1.BatchOperation.
45
38
  * Use `create(BatchOperationSchema)` to create a new message.
46
39
  */
47
40
  export const BatchOperationSchema = /*@__PURE__*/
48
- messageDesc(file_records_v1_records, 4);
41
+ messageDesc(file_records_v1_records, 3);
49
42
 
50
43
  /**
51
44
  * Describes the message records.v1.BatchOperationResult.
52
45
  * Use `create(BatchOperationResultSchema)` to create a new message.
53
46
  */
54
47
  export const BatchOperationResultSchema = /*@__PURE__*/
55
- messageDesc(file_records_v1_records, 5);
48
+ messageDesc(file_records_v1_records, 4);
56
49
 
57
50
  /**
58
51
  * Describes the message records.v1.CreateRecordRequest.
59
52
  * Use `create(CreateRecordRequestSchema)` to create a new message.
60
53
  */
61
54
  export const CreateRecordRequestSchema = /*@__PURE__*/
62
- messageDesc(file_records_v1_records, 6);
55
+ messageDesc(file_records_v1_records, 5);
63
56
 
64
57
  /**
65
58
  * Describes the message records.v1.CreateRecordResponse.
66
59
  * Use `create(CreateRecordResponseSchema)` to create a new message.
67
60
  */
68
61
  export const CreateRecordResponseSchema = /*@__PURE__*/
69
- messageDesc(file_records_v1_records, 7);
62
+ messageDesc(file_records_v1_records, 6);
70
63
 
71
64
  /**
72
65
  * Describes the message records.v1.GetRecordRequest.
73
66
  * Use `create(GetRecordRequestSchema)` to create a new message.
74
67
  */
75
68
  export const GetRecordRequestSchema = /*@__PURE__*/
76
- messageDesc(file_records_v1_records, 8);
69
+ messageDesc(file_records_v1_records, 7);
77
70
 
78
71
  /**
79
72
  * Describes the message records.v1.GetRecordResponse.
80
73
  * Use `create(GetRecordResponseSchema)` to create a new message.
81
74
  */
82
75
  export const GetRecordResponseSchema = /*@__PURE__*/
83
- messageDesc(file_records_v1_records, 9);
76
+ messageDesc(file_records_v1_records, 8);
84
77
 
85
78
  /**
86
79
  * Describes the message records.v1.GetRecordByKeyRequest.
87
80
  * Use `create(GetRecordByKeyRequestSchema)` to create a new message.
88
81
  */
89
82
  export const GetRecordByKeyRequestSchema = /*@__PURE__*/
90
- messageDesc(file_records_v1_records, 10);
83
+ messageDesc(file_records_v1_records, 9);
91
84
 
92
85
  /**
93
86
  * Describes the message records.v1.GetRecordByKeyResponse.
94
87
  * Use `create(GetRecordByKeyResponseSchema)` to create a new message.
95
88
  */
96
89
  export const GetRecordByKeyResponseSchema = /*@__PURE__*/
97
- messageDesc(file_records_v1_records, 11);
90
+ messageDesc(file_records_v1_records, 10);
98
91
 
99
92
  /**
100
93
  * Describes the message records.v1.GetRecordByKeyOrIdRequest.
101
94
  * Use `create(GetRecordByKeyOrIdRequestSchema)` to create a new message.
102
95
  */
103
96
  export const GetRecordByKeyOrIdRequestSchema = /*@__PURE__*/
104
- messageDesc(file_records_v1_records, 12);
97
+ messageDesc(file_records_v1_records, 11);
105
98
 
106
99
  /**
107
100
  * Describes the message records.v1.GetRecordByKeyOrIdResponse.
108
101
  * Use `create(GetRecordByKeyOrIdResponseSchema)` to create a new message.
109
102
  */
110
103
  export const GetRecordByKeyOrIdResponseSchema = /*@__PURE__*/
111
- messageDesc(file_records_v1_records, 13);
104
+ messageDesc(file_records_v1_records, 12);
112
105
 
113
106
  /**
114
107
  * Describes the message records.v1.ListRecordsRequest.
115
108
  * Use `create(ListRecordsRequestSchema)` to create a new message.
116
109
  */
117
110
  export const ListRecordsRequestSchema = /*@__PURE__*/
118
- messageDesc(file_records_v1_records, 14);
111
+ messageDesc(file_records_v1_records, 13);
119
112
 
120
113
  /**
121
114
  * Describes the message records.v1.ListRecordsResponse.
122
115
  * Use `create(ListRecordsResponseSchema)` to create a new message.
123
116
  */
124
117
  export const ListRecordsResponseSchema = /*@__PURE__*/
125
- messageDesc(file_records_v1_records, 15);
118
+ messageDesc(file_records_v1_records, 14);
126
119
 
127
120
  /**
128
121
  * Describes the message records.v1.PageInfo.
129
122
  * Use `create(PageInfoSchema)` to create a new message.
130
123
  */
131
124
  export const PageInfoSchema = /*@__PURE__*/
132
- messageDesc(file_records_v1_records, 16);
125
+ messageDesc(file_records_v1_records, 15);
133
126
 
134
127
  /**
135
128
  * Describes the message records.v1.UpdateRecordRequest.
136
129
  * Use `create(UpdateRecordRequestSchema)` to create a new message.
137
130
  */
138
131
  export const UpdateRecordRequestSchema = /*@__PURE__*/
139
- messageDesc(file_records_v1_records, 17);
132
+ messageDesc(file_records_v1_records, 16);
140
133
 
141
134
  /**
142
135
  * Describes the message records.v1.UpdateRecordResponse.
143
136
  * Use `create(UpdateRecordResponseSchema)` to create a new message.
144
137
  */
145
138
  export const UpdateRecordResponseSchema = /*@__PURE__*/
146
- messageDesc(file_records_v1_records, 18);
139
+ messageDesc(file_records_v1_records, 17);
147
140
 
148
141
  /**
149
142
  * Describes the message records.v1.DeleteRecordRequest.
150
143
  * Use `create(DeleteRecordRequestSchema)` to create a new message.
151
144
  */
152
145
  export const DeleteRecordRequestSchema = /*@__PURE__*/
153
- messageDesc(file_records_v1_records, 19);
146
+ messageDesc(file_records_v1_records, 18);
154
147
 
155
148
  /**
156
149
  * Describes the message records.v1.DeleteRecordResponse.
157
150
  * Use `create(DeleteRecordResponseSchema)` to create a new message.
158
151
  */
159
152
  export const DeleteRecordResponseSchema = /*@__PURE__*/
160
- messageDesc(file_records_v1_records, 20);
153
+ messageDesc(file_records_v1_records, 19);
161
154
 
162
155
  /**
163
156
  * Describes the message records.v1.UpsertRecordRequest.
164
157
  * Use `create(UpsertRecordRequestSchema)` to create a new message.
165
158
  */
166
159
  export const UpsertRecordRequestSchema = /*@__PURE__*/
167
- messageDesc(file_records_v1_records, 21);
160
+ messageDesc(file_records_v1_records, 20);
168
161
 
169
162
  /**
170
163
  * Describes the message records.v1.UpsertRecordResponse.
171
164
  * Use `create(UpsertRecordResponseSchema)` to create a new message.
172
165
  */
173
166
  export const UpsertRecordResponseSchema = /*@__PURE__*/
174
- messageDesc(file_records_v1_records, 22);
167
+ messageDesc(file_records_v1_records, 21);
175
168
 
176
169
  /**
177
170
  * Describes the message records.v1.BatchRecordOperationsRequest.
178
171
  * Use `create(BatchRecordOperationsRequestSchema)` to create a new message.
179
172
  */
180
173
  export const BatchRecordOperationsRequestSchema = /*@__PURE__*/
181
- messageDesc(file_records_v1_records, 23);
174
+ messageDesc(file_records_v1_records, 22);
182
175
 
183
176
  /**
184
177
  * Describes the message records.v1.BatchRecordOperationsResponse.
185
178
  * Use `create(BatchRecordOperationsResponseSchema)` to create a new message.
186
179
  */
187
180
  export const BatchRecordOperationsResponseSchema = /*@__PURE__*/
188
- messageDesc(file_records_v1_records, 24);
181
+ messageDesc(file_records_v1_records, 23);
189
182
 
190
183
  /**
191
184
  * Describes the message records.v1.BulkUpdateRecordsRequest.
192
185
  * Use `create(BulkUpdateRecordsRequestSchema)` to create a new message.
193
186
  */
194
187
  export const BulkUpdateRecordsRequestSchema = /*@__PURE__*/
195
- messageDesc(file_records_v1_records, 25);
188
+ messageDesc(file_records_v1_records, 24);
196
189
 
197
190
  /**
198
191
  * Describes the message records.v1.BulkUpdateRecordsResponse.
199
192
  * Use `create(BulkUpdateRecordsResponseSchema)` to create a new message.
200
193
  */
201
194
  export const BulkUpdateRecordsResponseSchema = /*@__PURE__*/
202
- messageDesc(file_records_v1_records, 26);
195
+ messageDesc(file_records_v1_records, 25);
203
196
 
204
197
  /**
205
198
  * Describes the message records.v1.BackfillQueryableIndexRequest.
206
199
  * Use `create(BackfillQueryableIndexRequestSchema)` to create a new message.
207
200
  */
208
201
  export const BackfillQueryableIndexRequestSchema = /*@__PURE__*/
209
- messageDesc(file_records_v1_records, 27);
202
+ messageDesc(file_records_v1_records, 26);
210
203
 
211
204
  /**
212
205
  * Describes the message records.v1.BackfillQueryableIndexResponse.
213
206
  * Use `create(BackfillQueryableIndexResponseSchema)` to create a new message.
214
207
  */
215
208
  export const BackfillQueryableIndexResponseSchema = /*@__PURE__*/
216
- messageDesc(file_records_v1_records, 28);
209
+ messageDesc(file_records_v1_records, 27);
217
210
 
218
211
  /**
219
212
  * Describes the message records.v1.BackfillModelIndexesRequest.
220
213
  * Use `create(BackfillModelIndexesRequestSchema)` to create a new message.
221
214
  */
222
215
  export const BackfillModelIndexesRequestSchema = /*@__PURE__*/
223
- messageDesc(file_records_v1_records, 29);
216
+ messageDesc(file_records_v1_records, 28);
224
217
 
225
218
  /**
226
219
  * Describes the message records.v1.BackfillModelIndexesResponse.
227
220
  * Use `create(BackfillModelIndexesResponseSchema)` to create a new message.
228
221
  */
229
222
  export const BackfillModelIndexesResponseSchema = /*@__PURE__*/
230
- messageDesc(file_records_v1_records, 30);
223
+ messageDesc(file_records_v1_records, 29);
231
224
 
232
225
  /**
233
226
  * Describes the message records.v1.DuplicateRecordRequest.
234
227
  * Use `create(DuplicateRecordRequestSchema)` to create a new message.
235
228
  */
236
229
  export const DuplicateRecordRequestSchema = /*@__PURE__*/
237
- messageDesc(file_records_v1_records, 31);
230
+ messageDesc(file_records_v1_records, 30);
238
231
 
239
232
  /**
240
233
  * Describes the message records.v1.DuplicateRecordResponse.
241
234
  * Use `create(DuplicateRecordResponseSchema)` to create a new message.
242
235
  */
243
236
  export const DuplicateRecordResponseSchema = /*@__PURE__*/
244
- messageDesc(file_records_v1_records, 32);
237
+ messageDesc(file_records_v1_records, 31);
245
238
 
246
239
  /**
247
240
  * Describes the message records.v1.DuplicateRecordsBulkRequest.
248
241
  * Use `create(DuplicateRecordsBulkRequestSchema)` to create a new message.
249
242
  */
250
243
  export const DuplicateRecordsBulkRequestSchema = /*@__PURE__*/
251
- messageDesc(file_records_v1_records, 33);
244
+ messageDesc(file_records_v1_records, 32);
252
245
 
253
246
  /**
254
247
  * Describes the message records.v1.DuplicateRecordsBulkResponse.
255
248
  * Use `create(DuplicateRecordsBulkResponseSchema)` to create a new message.
256
249
  */
257
250
  export const DuplicateRecordsBulkResponseSchema = /*@__PURE__*/
258
- messageDesc(file_records_v1_records, 34);
251
+ messageDesc(file_records_v1_records, 33);
259
252
 
260
253
  /**
261
254
  * Describes the message records.v1.CreateVersionRequest.
262
255
  * Use `create(CreateVersionRequestSchema)` to create a new message.
263
256
  */
264
257
  export const CreateVersionRequestSchema = /*@__PURE__*/
265
- messageDesc(file_records_v1_records, 35);
258
+ messageDesc(file_records_v1_records, 34);
266
259
 
267
260
  /**
268
261
  * Describes the message records.v1.CreateVersionResponse.
269
262
  * Use `create(CreateVersionResponseSchema)` to create a new message.
270
263
  */
271
264
  export const CreateVersionResponseSchema = /*@__PURE__*/
272
- messageDesc(file_records_v1_records, 36);
265
+ messageDesc(file_records_v1_records, 35);
273
266
 
274
267
  /**
275
268
  * Describes the message records.v1.PublishVersionRequest.
276
269
  * Use `create(PublishVersionRequestSchema)` to create a new message.
277
270
  */
278
271
  export const PublishVersionRequestSchema = /*@__PURE__*/
279
- messageDesc(file_records_v1_records, 37);
272
+ messageDesc(file_records_v1_records, 36);
280
273
 
281
274
  /**
282
275
  * Describes the message records.v1.PublishVersionResponse.
283
276
  * Use `create(PublishVersionResponseSchema)` to create a new message.
284
277
  */
285
278
  export const PublishVersionResponseSchema = /*@__PURE__*/
286
- messageDesc(file_records_v1_records, 38);
279
+ messageDesc(file_records_v1_records, 37);
287
280
 
288
281
  /**
289
282
  * Describes the message records.v1.UnpublishRecordRequest.
290
283
  * Use `create(UnpublishRecordRequestSchema)` to create a new message.
291
284
  */
292
285
  export const UnpublishRecordRequestSchema = /*@__PURE__*/
293
- messageDesc(file_records_v1_records, 39);
286
+ messageDesc(file_records_v1_records, 38);
294
287
 
295
288
  /**
296
289
  * Describes the message records.v1.UnpublishRecordResponse.
297
290
  * Use `create(UnpublishRecordResponseSchema)` to create a new message.
298
291
  */
299
292
  export const UnpublishRecordResponseSchema = /*@__PURE__*/
300
- messageDesc(file_records_v1_records, 40);
293
+ messageDesc(file_records_v1_records, 39);
301
294
 
302
295
  /**
303
296
  * Describes the message records.v1.RevertToVersionRequest.
304
297
  * Use `create(RevertToVersionRequestSchema)` to create a new message.
305
298
  */
306
299
  export const RevertToVersionRequestSchema = /*@__PURE__*/
307
- messageDesc(file_records_v1_records, 41);
300
+ messageDesc(file_records_v1_records, 40);
308
301
 
309
302
  /**
310
303
  * Describes the message records.v1.RevertToVersionResponse.
311
304
  * Use `create(RevertToVersionResponseSchema)` to create a new message.
312
305
  */
313
306
  export const RevertToVersionResponseSchema = /*@__PURE__*/
314
- messageDesc(file_records_v1_records, 42);
307
+ messageDesc(file_records_v1_records, 41);
315
308
 
316
309
  /**
317
310
  * Describes the message records.v1.ListRecordVersionsRequest.
318
311
  * Use `create(ListRecordVersionsRequestSchema)` to create a new message.
319
312
  */
320
313
  export const ListRecordVersionsRequestSchema = /*@__PURE__*/
321
- messageDesc(file_records_v1_records, 43);
314
+ messageDesc(file_records_v1_records, 42);
322
315
 
323
316
  /**
324
317
  * Describes the message records.v1.ListRecordVersionsResponse.
325
318
  * Use `create(ListRecordVersionsResponseSchema)` to create a new message.
326
319
  */
327
320
  export const ListRecordVersionsResponseSchema = /*@__PURE__*/
328
- messageDesc(file_records_v1_records, 44);
321
+ messageDesc(file_records_v1_records, 43);
329
322
 
330
323
  /**
331
324
  * Describes the message records.v1.CreateVariantRequest.
332
325
  * Use `create(CreateVariantRequestSchema)` to create a new message.
333
326
  */
334
327
  export const CreateVariantRequestSchema = /*@__PURE__*/
335
- messageDesc(file_records_v1_records, 45);
328
+ messageDesc(file_records_v1_records, 44);
336
329
 
337
330
  /**
338
331
  * Describes the message records.v1.CreateVariantResponse.
339
332
  * Use `create(CreateVariantResponseSchema)` to create a new message.
340
333
  */
341
334
  export const CreateVariantResponseSchema = /*@__PURE__*/
342
- messageDesc(file_records_v1_records, 46);
335
+ messageDesc(file_records_v1_records, 45);
343
336
 
344
337
  /**
345
338
  * Describes the message records.v1.UpdateVariantRequest.
346
339
  * Use `create(UpdateVariantRequestSchema)` to create a new message.
347
340
  */
348
341
  export const UpdateVariantRequestSchema = /*@__PURE__*/
349
- messageDesc(file_records_v1_records, 47);
342
+ messageDesc(file_records_v1_records, 46);
350
343
 
351
344
  /**
352
345
  * Describes the message records.v1.UpdateVariantResponse.
353
346
  * Use `create(UpdateVariantResponseSchema)` to create a new message.
354
347
  */
355
348
  export const UpdateVariantResponseSchema = /*@__PURE__*/
356
- messageDesc(file_records_v1_records, 48);
349
+ messageDesc(file_records_v1_records, 47);
357
350
 
358
351
  /**
359
352
  * Describes the message records.v1.DeleteVariantRequest.
360
353
  * Use `create(DeleteVariantRequestSchema)` to create a new message.
361
354
  */
362
355
  export const DeleteVariantRequestSchema = /*@__PURE__*/
363
- messageDesc(file_records_v1_records, 49);
356
+ messageDesc(file_records_v1_records, 48);
364
357
 
365
358
  /**
366
359
  * Describes the message records.v1.DeleteVariantResponse.
367
360
  * Use `create(DeleteVariantResponseSchema)` to create a new message.
368
361
  */
369
362
  export const DeleteVariantResponseSchema = /*@__PURE__*/
370
- messageDesc(file_records_v1_records, 50);
363
+ messageDesc(file_records_v1_records, 49);
371
364
 
372
365
  /**
373
366
  * Describes the message records.v1.SetDefaultVariantRequest.
374
367
  * Use `create(SetDefaultVariantRequestSchema)` to create a new message.
375
368
  */
376
369
  export const SetDefaultVariantRequestSchema = /*@__PURE__*/
377
- messageDesc(file_records_v1_records, 51);
370
+ messageDesc(file_records_v1_records, 50);
378
371
 
379
372
  /**
380
373
  * Describes the message records.v1.SetDefaultVariantResponse.
381
374
  * Use `create(SetDefaultVariantResponseSchema)` to create a new message.
382
375
  */
383
376
  export const SetDefaultVariantResponseSchema = /*@__PURE__*/
384
- messageDesc(file_records_v1_records, 52);
377
+ messageDesc(file_records_v1_records, 51);
385
378
 
386
379
  /**
387
380
  * Describes the message records.v1.ListRecordVariantsRequest.
388
381
  * Use `create(ListRecordVariantsRequestSchema)` to create a new message.
389
382
  */
390
383
  export const ListRecordVariantsRequestSchema = /*@__PURE__*/
391
- messageDesc(file_records_v1_records, 53);
384
+ messageDesc(file_records_v1_records, 52);
392
385
 
393
386
  /**
394
387
  * Describes the message records.v1.ListRecordVariantsResponse.
395
388
  * Use `create(ListRecordVariantsResponseSchema)` to create a new message.
396
389
  */
397
390
  export const ListRecordVariantsResponseSchema = /*@__PURE__*/
398
- messageDesc(file_records_v1_records, 54);
391
+ messageDesc(file_records_v1_records, 53);
399
392
 
400
393
  /**
401
394
  * Describes the message records.v1.SaveContentRequest.
402
395
  * Use `create(SaveContentRequestSchema)` to create a new message.
403
396
  */
404
397
  export const SaveContentRequestSchema = /*@__PURE__*/
405
- messageDesc(file_records_v1_records, 55);
398
+ messageDesc(file_records_v1_records, 54);
406
399
 
407
400
  /**
408
401
  * Describes the message records.v1.SaveContentResponse.
409
402
  * Use `create(SaveContentResponseSchema)` to create a new message.
410
403
  */
411
404
  export const SaveContentResponseSchema = /*@__PURE__*/
412
- messageDesc(file_records_v1_records, 56);
405
+ messageDesc(file_records_v1_records, 55);
413
406
 
414
407
  /**
415
408
  * Describes the message records.v1.ScheduleRecordPublishRequest.
416
409
  * Use `create(ScheduleRecordPublishRequestSchema)` to create a new message.
417
410
  */
418
411
  export const ScheduleRecordPublishRequestSchema = /*@__PURE__*/
419
- messageDesc(file_records_v1_records, 57);
412
+ messageDesc(file_records_v1_records, 56);
420
413
 
421
414
  /**
422
415
  * Describes the message records.v1.ScheduleRecordPublishResponse.
423
416
  * Use `create(ScheduleRecordPublishResponseSchema)` to create a new message.
424
417
  */
425
418
  export const ScheduleRecordPublishResponseSchema = /*@__PURE__*/
426
- messageDesc(file_records_v1_records, 58);
419
+ messageDesc(file_records_v1_records, 57);
427
420
 
428
421
  /**
429
422
  * Describes the message records.v1.CancelScheduledRecordPublishRequest.
430
423
  * Use `create(CancelScheduledRecordPublishRequestSchema)` to create a new message.
431
424
  */
432
425
  export const CancelScheduledRecordPublishRequestSchema = /*@__PURE__*/
433
- messageDesc(file_records_v1_records, 59);
426
+ messageDesc(file_records_v1_records, 58);
434
427
 
435
428
  /**
436
429
  * Describes the message records.v1.CancelScheduledRecordPublishResponse.
437
430
  * Use `create(CancelScheduledRecordPublishResponseSchema)` to create a new message.
438
431
  */
439
432
  export const CancelScheduledRecordPublishResponseSchema = /*@__PURE__*/
440
- messageDesc(file_records_v1_records, 60);
433
+ messageDesc(file_records_v1_records, 59);
441
434
 
442
435
  /**
443
436
  * Describes the message records.v1.ListScheduledPublishesRequest.
444
437
  * Use `create(ListScheduledPublishesRequestSchema)` to create a new message.
445
438
  */
446
439
  export const ListScheduledPublishesRequestSchema = /*@__PURE__*/
447
- messageDesc(file_records_v1_records, 61);
440
+ messageDesc(file_records_v1_records, 60);
448
441
 
449
442
  /**
450
443
  * Describes the message records.v1.ListScheduledPublishesResponse.
451
444
  * Use `create(ListScheduledPublishesResponseSchema)` to create a new message.
452
445
  */
453
446
  export const ListScheduledPublishesResponseSchema = /*@__PURE__*/
454
- messageDesc(file_records_v1_records, 62);
447
+ messageDesc(file_records_v1_records, 61);
455
448
 
456
449
  /**
457
450
  * Describes the message records.v1.GetScheduledPublishRequest.
458
451
  * Use `create(GetScheduledPublishRequestSchema)` to create a new message.
459
452
  */
460
453
  export const GetScheduledPublishRequestSchema = /*@__PURE__*/
461
- messageDesc(file_records_v1_records, 63);
454
+ messageDesc(file_records_v1_records, 62);
462
455
 
463
456
  /**
464
457
  * Describes the message records.v1.GetScheduledPublishResponse.
465
458
  * Use `create(GetScheduledPublishResponseSchema)` to create a new message.
466
459
  */
467
460
  export const GetScheduledPublishResponseSchema = /*@__PURE__*/
468
- messageDesc(file_records_v1_records, 64);
461
+ messageDesc(file_records_v1_records, 63);
469
462
 
470
463
  /**
471
464
  * Describes the message records.v1.ListDraftVersionsRequest.
472
465
  * Use `create(ListDraftVersionsRequestSchema)` to create a new message.
473
466
  */
474
467
  export const ListDraftVersionsRequestSchema = /*@__PURE__*/
475
- messageDesc(file_records_v1_records, 65);
468
+ messageDesc(file_records_v1_records, 64);
476
469
 
477
470
  /**
478
471
  * Describes the message records.v1.ListDraftVersionsResponse.
479
472
  * Use `create(ListDraftVersionsResponseSchema)` to create a new message.
480
473
  */
481
474
  export const ListDraftVersionsResponseSchema = /*@__PURE__*/
482
- messageDesc(file_records_v1_records, 66);
475
+ messageDesc(file_records_v1_records, 65);
483
476
 
484
477
  /**
485
478
  * Describes the message records.v1.BatchPublishVersionsRequest.
486
479
  * Use `create(BatchPublishVersionsRequestSchema)` to create a new message.
487
480
  */
488
481
  export const BatchPublishVersionsRequestSchema = /*@__PURE__*/
489
- messageDesc(file_records_v1_records, 67);
482
+ messageDesc(file_records_v1_records, 66);
490
483
 
491
484
  /**
492
485
  * Describes the message records.v1.BatchPublishVersionsResponse.
493
486
  * Use `create(BatchPublishVersionsResponseSchema)` to create a new message.
494
487
  */
495
488
  export const BatchPublishVersionsResponseSchema = /*@__PURE__*/
496
- messageDesc(file_records_v1_records, 68);
489
+ messageDesc(file_records_v1_records, 67);
497
490
 
498
491
  /**
499
492
  * Describes the message records.v1.BatchResolveRecordsRequest.
500
493
  * Use `create(BatchResolveRecordsRequestSchema)` to create a new message.
501
494
  */
502
495
  export const BatchResolveRecordsRequestSchema = /*@__PURE__*/
503
- messageDesc(file_records_v1_records, 69);
496
+ messageDesc(file_records_v1_records, 68);
504
497
 
505
498
  /**
506
499
  * Describes the message records.v1.BatchResolveRecordsResponse.
507
500
  * Use `create(BatchResolveRecordsResponseSchema)` to create a new message.
508
501
  */
509
502
  export const BatchResolveRecordsResponseSchema = /*@__PURE__*/
510
- messageDesc(file_records_v1_records, 70);
503
+ messageDesc(file_records_v1_records, 69);
511
504
 
512
505
  /**
513
506
  * Describes the message records.v1.ResolvedRecord.
514
507
  * Use `create(ResolvedRecordSchema)` to create a new message.
515
508
  */
516
509
  export const ResolvedRecordSchema = /*@__PURE__*/
517
- messageDesc(file_records_v1_records, 71);
510
+ messageDesc(file_records_v1_records, 70);
518
511
 
519
512
  /**
520
513
  * Describes the message records.v1.LookupRecordModelsRequest.
521
514
  * Use `create(LookupRecordModelsRequestSchema)` to create a new message.
522
515
  */
523
516
  export const LookupRecordModelsRequestSchema = /*@__PURE__*/
524
- messageDesc(file_records_v1_records, 72);
517
+ messageDesc(file_records_v1_records, 71);
525
518
 
526
519
  /**
527
520
  * Describes the message records.v1.RecordModelEntry.
528
521
  * Use `create(RecordModelEntrySchema)` to create a new message.
529
522
  */
530
523
  export const RecordModelEntrySchema = /*@__PURE__*/
531
- messageDesc(file_records_v1_records, 73);
524
+ messageDesc(file_records_v1_records, 72);
532
525
 
533
526
  /**
534
527
  * Describes the message records.v1.LookupRecordModelsResponse.
535
528
  * Use `create(LookupRecordModelsResponseSchema)` to create a new message.
536
529
  */
537
530
  export const LookupRecordModelsResponseSchema = /*@__PURE__*/
538
- messageDesc(file_records_v1_records, 74);
531
+ messageDesc(file_records_v1_records, 73);
539
532
 
540
533
  /**
541
534
  * Describes the message records.v1.GlobalSearchRequest.
542
535
  * Use `create(GlobalSearchRequestSchema)` to create a new message.
543
536
  */
544
537
  export const GlobalSearchRequestSchema = /*@__PURE__*/
545
- messageDesc(file_records_v1_records, 75);
538
+ messageDesc(file_records_v1_records, 74);
546
539
 
547
540
  /**
548
541
  * Describes the message records.v1.SearchResultItem.
549
542
  * Use `create(SearchResultItemSchema)` to create a new message.
550
543
  */
551
544
  export const SearchResultItemSchema = /*@__PURE__*/
552
- messageDesc(file_records_v1_records, 76);
545
+ messageDesc(file_records_v1_records, 75);
553
546
 
554
547
  /**
555
548
  * Describes the message records.v1.GlobalSearchResponse.
556
549
  * Use `create(GlobalSearchResponseSchema)` to create a new message.
557
550
  */
558
551
  export const GlobalSearchResponseSchema = /*@__PURE__*/
559
- messageDesc(file_records_v1_records, 77);
552
+ messageDesc(file_records_v1_records, 76);
560
553
 
561
554
  /**
562
555
  * Describes the message records.v1.EmbeddingStats.
563
556
  * Use `create(EmbeddingStatsSchema)` to create a new message.
564
557
  */
565
558
  export const EmbeddingStatsSchema = /*@__PURE__*/
566
- messageDesc(file_records_v1_records, 78);
559
+ messageDesc(file_records_v1_records, 77);
567
560
 
568
561
  /**
569
562
  * Describes the message records.v1.RecordEmbedding.
570
563
  * Use `create(RecordEmbeddingSchema)` to create a new message.
571
564
  */
572
565
  export const RecordEmbeddingSchema = /*@__PURE__*/
573
- messageDesc(file_records_v1_records, 79);
566
+ messageDesc(file_records_v1_records, 78);
574
567
 
575
568
  /**
576
569
  * Describes the message records.v1.SimilarRecord.
577
570
  * Use `create(SimilarRecordSchema)` to create a new message.
578
571
  */
579
572
  export const SimilarRecordSchema = /*@__PURE__*/
580
- messageDesc(file_records_v1_records, 80);
573
+ messageDesc(file_records_v1_records, 79);
581
574
 
582
575
  /**
583
576
  * Describes the message records.v1.GetEmbeddingStatsRequest.
584
577
  * Use `create(GetEmbeddingStatsRequestSchema)` to create a new message.
585
578
  */
586
579
  export const GetEmbeddingStatsRequestSchema = /*@__PURE__*/
587
- messageDesc(file_records_v1_records, 81);
580
+ messageDesc(file_records_v1_records, 80);
588
581
 
589
582
  /**
590
583
  * Describes the message records.v1.GetEmbeddingStatsResponse.
591
584
  * Use `create(GetEmbeddingStatsResponseSchema)` to create a new message.
592
585
  */
593
586
  export const GetEmbeddingStatsResponseSchema = /*@__PURE__*/
594
- messageDesc(file_records_v1_records, 82);
587
+ messageDesc(file_records_v1_records, 81);
595
588
 
596
589
  /**
597
590
  * Describes the message records.v1.GetRecordEmbeddingsRequest.
598
591
  * Use `create(GetRecordEmbeddingsRequestSchema)` to create a new message.
599
592
  */
600
593
  export const GetRecordEmbeddingsRequestSchema = /*@__PURE__*/
601
- messageDesc(file_records_v1_records, 83);
594
+ messageDesc(file_records_v1_records, 82);
602
595
 
603
596
  /**
604
597
  * Describes the message records.v1.GetRecordEmbeddingsResponse.
605
598
  * Use `create(GetRecordEmbeddingsResponseSchema)` to create a new message.
606
599
  */
607
600
  export const GetRecordEmbeddingsResponseSchema = /*@__PURE__*/
608
- messageDesc(file_records_v1_records, 84);
601
+ messageDesc(file_records_v1_records, 83);
609
602
 
610
603
  /**
611
604
  * Describes the message records.v1.FindSimilarRecordsRequest.
612
605
  * Use `create(FindSimilarRecordsRequestSchema)` to create a new message.
613
606
  */
614
607
  export const FindSimilarRecordsRequestSchema = /*@__PURE__*/
615
- messageDesc(file_records_v1_records, 85);
608
+ messageDesc(file_records_v1_records, 84);
616
609
 
617
610
  /**
618
611
  * Describes the message records.v1.FindSimilarRecordsResponse.
619
612
  * Use `create(FindSimilarRecordsResponseSchema)` to create a new message.
620
613
  */
621
614
  export const FindSimilarRecordsResponseSchema = /*@__PURE__*/
622
- messageDesc(file_records_v1_records, 86);
615
+ messageDesc(file_records_v1_records, 85);
623
616
 
624
617
  /**
625
618
  * Describes the message records.v1.WriteEmbeddingsRequest.
626
619
  * Use `create(WriteEmbeddingsRequestSchema)` to create a new message.
627
620
  */
628
621
  export const WriteEmbeddingsRequestSchema = /*@__PURE__*/
629
- messageDesc(file_records_v1_records, 87);
622
+ messageDesc(file_records_v1_records, 86);
630
623
 
631
624
  /**
632
625
  * Describes the message records.v1.WriteEmbeddingsResponse.
633
626
  * Use `create(WriteEmbeddingsResponseSchema)` to create a new message.
634
627
  */
635
628
  export const WriteEmbeddingsResponseSchema = /*@__PURE__*/
636
- messageDesc(file_records_v1_records, 88);
629
+ messageDesc(file_records_v1_records, 87);
637
630
 
638
631
  /**
639
632
  * Describes the message records.v1.DeleteEmbeddingsRequest.
640
633
  * Use `create(DeleteEmbeddingsRequestSchema)` to create a new message.
641
634
  */
642
635
  export const DeleteEmbeddingsRequestSchema = /*@__PURE__*/
643
- messageDesc(file_records_v1_records, 89);
636
+ messageDesc(file_records_v1_records, 88);
644
637
 
645
638
  /**
646
639
  * Describes the message records.v1.DeleteEmbeddingsResponse.
647
640
  * Use `create(DeleteEmbeddingsResponseSchema)` to create a new message.
648
641
  */
649
642
  export const DeleteEmbeddingsResponseSchema = /*@__PURE__*/
650
- messageDesc(file_records_v1_records, 90);
643
+ messageDesc(file_records_v1_records, 89);
651
644
 
652
645
  /**
653
646
  * Describes the message records.v1.EnqueueGenerateEmbeddingRequest.
654
647
  * Use `create(EnqueueGenerateEmbeddingRequestSchema)` to create a new message.
655
648
  */
656
649
  export const EnqueueGenerateEmbeddingRequestSchema = /*@__PURE__*/
657
- messageDesc(file_records_v1_records, 91);
650
+ messageDesc(file_records_v1_records, 90);
658
651
 
659
652
  /**
660
653
  * Describes the message records.v1.EnqueueGenerateEmbeddingResponse.
661
654
  * Use `create(EnqueueGenerateEmbeddingResponseSchema)` to create a new message.
662
655
  */
663
656
  export const EnqueueGenerateEmbeddingResponseSchema = /*@__PURE__*/
664
- messageDesc(file_records_v1_records, 92);
657
+ messageDesc(file_records_v1_records, 91);
665
658
 
666
659
  /**
667
660
  * Describes the message records.v1.SearchEmbeddingsRequest.
668
661
  * Use `create(SearchEmbeddingsRequestSchema)` to create a new message.
669
662
  */
670
663
  export const SearchEmbeddingsRequestSchema = /*@__PURE__*/
671
- messageDesc(file_records_v1_records, 93);
664
+ messageDesc(file_records_v1_records, 92);
672
665
 
673
666
  /**
674
667
  * Describes the message records.v1.SearchEmbeddingsResponse.
675
668
  * Use `create(SearchEmbeddingsResponseSchema)` to create a new message.
676
669
  */
677
670
  export const SearchEmbeddingsResponseSchema = /*@__PURE__*/
678
- messageDesc(file_records_v1_records, 94);
671
+ messageDesc(file_records_v1_records, 93);
679
672
 
680
673
  /**
681
674
  * Describes the message records.v1.LookupRecordRequest.
682
675
  * Use `create(LookupRecordRequestSchema)` to create a new message.
683
676
  */
684
677
  export const LookupRecordRequestSchema = /*@__PURE__*/
685
- messageDesc(file_records_v1_records, 95);
678
+ messageDesc(file_records_v1_records, 94);
686
679
 
687
680
  /**
688
681
  * Describes the message records.v1.LookupRecordResponse.
689
682
  * Use `create(LookupRecordResponseSchema)` to create a new message.
690
683
  */
691
684
  export const LookupRecordResponseSchema = /*@__PURE__*/
692
- messageDesc(file_records_v1_records, 96);
685
+ messageDesc(file_records_v1_records, 95);
693
686
 
694
687
  /**
695
688
  * Describes the message records.v1.CheckLookupAvailabilityRequest.
696
689
  * Use `create(CheckLookupAvailabilityRequestSchema)` to create a new message.
697
690
  */
698
691
  export const CheckLookupAvailabilityRequestSchema = /*@__PURE__*/
699
- messageDesc(file_records_v1_records, 97);
692
+ messageDesc(file_records_v1_records, 96);
700
693
 
701
694
  /**
702
695
  * Describes the message records.v1.CheckLookupAvailabilityResponse.
703
696
  * Use `create(CheckLookupAvailabilityResponseSchema)` to create a new message.
704
697
  */
705
698
  export const CheckLookupAvailabilityResponseSchema = /*@__PURE__*/
706
- messageDesc(file_records_v1_records, 98);
699
+ messageDesc(file_records_v1_records, 97);
707
700
 
708
701
  /**
709
702
  * Describes the message records.v1.LookupConflictDetail.
710
703
  * Use `create(LookupConflictDetailSchema)` to create a new message.
711
704
  */
712
705
  export const LookupConflictDetailSchema = /*@__PURE__*/
713
- messageDesc(file_records_v1_records, 99);
706
+ messageDesc(file_records_v1_records, 98);
714
707
 
715
708
  /**
716
709
  * Describes the message records.v1.ListLookupConflictsRequest.
717
710
  * Use `create(ListLookupConflictsRequestSchema)` to create a new message.
718
711
  */
719
712
  export const ListLookupConflictsRequestSchema = /*@__PURE__*/
720
- messageDesc(file_records_v1_records, 100);
713
+ messageDesc(file_records_v1_records, 99);
721
714
 
722
715
  /**
723
716
  * Describes the message records.v1.ListLookupConflictsResponse.
724
717
  * Use `create(ListLookupConflictsResponseSchema)` to create a new message.
725
718
  */
726
719
  export const ListLookupConflictsResponseSchema = /*@__PURE__*/
727
- messageDesc(file_records_v1_records, 101);
720
+ messageDesc(file_records_v1_records, 100);
728
721
 
729
722
  /**
730
723
  * Describes the message records.v1.ConflictGroup.
731
724
  * Use `create(ConflictGroupSchema)` to create a new message.
732
725
  */
733
726
  export const ConflictGroupSchema = /*@__PURE__*/
734
- messageDesc(file_records_v1_records, 102);
727
+ messageDesc(file_records_v1_records, 101);
735
728
 
736
729
  /**
737
730
  * Describes the message records.v1.RebuildModelLookupsRequest.
738
731
  * Use `create(RebuildModelLookupsRequestSchema)` to create a new message.
739
732
  */
740
733
  export const RebuildModelLookupsRequestSchema = /*@__PURE__*/
741
- messageDesc(file_records_v1_records, 103);
734
+ messageDesc(file_records_v1_records, 102);
742
735
 
743
736
  /**
744
737
  * Describes the message records.v1.RebuildModelLookupsResponse.
745
738
  * Use `create(RebuildModelLookupsResponseSchema)` to create a new message.
746
739
  */
747
740
  export const RebuildModelLookupsResponseSchema = /*@__PURE__*/
748
- messageDesc(file_records_v1_records, 104);
741
+ messageDesc(file_records_v1_records, 103);
749
742
 
750
743
  /**
751
744
  * Describes the enum records.v1.RecordType.