@eide/foir-proto-ts 0.40.0 → 0.42.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 +1 -1
- package/src/experiments/v1/experiments_connect.d.ts +35 -6
- package/src/experiments/v1/experiments_connect.js +35 -6
- package/src/experiments/v1/experiments_pb.d.ts +333 -29
- package/src/experiments/v1/experiments_pb.js +97 -41
- package/src/records/v1/records_pb.d.ts +11 -0
- package/src/records/v1/records_pb.js +1 -1
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
// @ts-nocheck
|
|
5
5
|
|
|
6
|
-
import { ApplyExperimentWinnerRequest, ApplyExperimentWinnerResponse, CreateExperimentRequest, CreateExperimentResponse, DeleteExperimentRequest, DeleteExperimentResponse, EndExperimentRequest, EndExperimentResponse, ForceAssignExperimentRequest, ForceAssignExperimentResponse,
|
|
6
|
+
import { ApplyExperimentWinnerRequest, ApplyExperimentWinnerResponse, CreateExperimentRequest, CreateExperimentResponse, DeleteExperimentRequest, DeleteExperimentResponse, EndExperimentRequest, EndExperimentResponse, ForceAssignExperimentRequest, ForceAssignExperimentResponse, GetAssignmentsRequest, GetAssignmentsResponse, GetExperimentByKeyRequest, GetExperimentByKeyResponse, GetExperimentRequest, GetExperimentResponse, GetExperimentStatsRequest, GetExperimentStatsResponse, ListExperimentDeclarationsRequest, ListExperimentDeclarationsResponse, ListExperimentsRequest, ListExperimentsResponse, PauseExperimentRequest, PauseExperimentResponse, PreviewExperimentWinnerRolloutRequest, PreviewExperimentWinnerRolloutResponse, RemoveExperimentAssignmentRequest, RemoveExperimentAssignmentResponse, ResolveExposureRequest, ResolveExposureResponse, ResumeExperimentRequest, ResumeExperimentResponse, RollbackExperimentRequest, RollbackExperimentResponse, StartExperimentRequest, StartExperimentResponse, UpdateExperimentRequest, UpdateExperimentResponse } from "./experiments_pbjs";
|
|
7
7
|
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -117,6 +117,24 @@ export declare const ExperimentsService: {
|
|
|
117
117
|
readonly O: typeof ApplyExperimentWinnerResponse,
|
|
118
118
|
readonly kind: MethodKind.Unary,
|
|
119
119
|
},
|
|
120
|
+
/**
|
|
121
|
+
* @generated from rpc experiments.v1.ExperimentsService.PreviewExperimentWinnerRollout
|
|
122
|
+
*/
|
|
123
|
+
readonly previewExperimentWinnerRollout: {
|
|
124
|
+
readonly name: "PreviewExperimentWinnerRollout",
|
|
125
|
+
readonly I: typeof PreviewExperimentWinnerRolloutRequest,
|
|
126
|
+
readonly O: typeof PreviewExperimentWinnerRolloutResponse,
|
|
127
|
+
readonly kind: MethodKind.Unary,
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* @generated from rpc experiments.v1.ExperimentsService.RollbackExperiment
|
|
131
|
+
*/
|
|
132
|
+
readonly rollbackExperiment: {
|
|
133
|
+
readonly name: "RollbackExperiment",
|
|
134
|
+
readonly I: typeof RollbackExperimentRequest,
|
|
135
|
+
readonly O: typeof RollbackExperimentResponse,
|
|
136
|
+
readonly kind: MethodKind.Unary,
|
|
137
|
+
},
|
|
120
138
|
/**
|
|
121
139
|
* Stats.
|
|
122
140
|
*
|
|
@@ -149,12 +167,12 @@ export declare const ExperimentsService: {
|
|
|
149
167
|
readonly kind: MethodKind.Unary,
|
|
150
168
|
},
|
|
151
169
|
/**
|
|
152
|
-
* @generated from rpc experiments.v1.ExperimentsService.
|
|
170
|
+
* @generated from rpc experiments.v1.ExperimentsService.GetAssignments
|
|
153
171
|
*/
|
|
154
|
-
readonly
|
|
155
|
-
readonly name: "
|
|
156
|
-
readonly I: typeof
|
|
157
|
-
readonly O: typeof
|
|
172
|
+
readonly getAssignments: {
|
|
173
|
+
readonly name: "GetAssignments",
|
|
174
|
+
readonly I: typeof GetAssignmentsRequest,
|
|
175
|
+
readonly O: typeof GetAssignmentsResponse,
|
|
158
176
|
readonly kind: MethodKind.Unary,
|
|
159
177
|
},
|
|
160
178
|
/**
|
|
@@ -168,6 +186,17 @@ export declare const ExperimentsService: {
|
|
|
168
186
|
readonly O: typeof ResolveExposureResponse,
|
|
169
187
|
readonly kind: MethodKind.Unary,
|
|
170
188
|
},
|
|
189
|
+
/**
|
|
190
|
+
* Declarations (for typed codegen on the public API).
|
|
191
|
+
*
|
|
192
|
+
* @generated from rpc experiments.v1.ExperimentsService.ListExperimentDeclarations
|
|
193
|
+
*/
|
|
194
|
+
readonly listExperimentDeclarations: {
|
|
195
|
+
readonly name: "ListExperimentDeclarations",
|
|
196
|
+
readonly I: typeof ListExperimentDeclarationsRequest,
|
|
197
|
+
readonly O: typeof ListExperimentDeclarationsResponse,
|
|
198
|
+
readonly kind: MethodKind.Unary,
|
|
199
|
+
},
|
|
171
200
|
}
|
|
172
201
|
};
|
|
173
202
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
// @ts-nocheck
|
|
5
5
|
|
|
6
|
-
import { ApplyExperimentWinnerRequest, ApplyExperimentWinnerResponse, CreateExperimentRequest, CreateExperimentResponse, DeleteExperimentRequest, DeleteExperimentResponse, EndExperimentRequest, EndExperimentResponse, ForceAssignExperimentRequest, ForceAssignExperimentResponse,
|
|
6
|
+
import { ApplyExperimentWinnerRequest, ApplyExperimentWinnerResponse, CreateExperimentRequest, CreateExperimentResponse, DeleteExperimentRequest, DeleteExperimentResponse, EndExperimentRequest, EndExperimentResponse, ForceAssignExperimentRequest, ForceAssignExperimentResponse, GetAssignmentsRequest, GetAssignmentsResponse, GetExperimentByKeyRequest, GetExperimentByKeyResponse, GetExperimentRequest, GetExperimentResponse, GetExperimentStatsRequest, GetExperimentStatsResponse, ListExperimentDeclarationsRequest, ListExperimentDeclarationsResponse, ListExperimentsRequest, ListExperimentsResponse, PauseExperimentRequest, PauseExperimentResponse, PreviewExperimentWinnerRolloutRequest, PreviewExperimentWinnerRolloutResponse, RemoveExperimentAssignmentRequest, RemoveExperimentAssignmentResponse, ResolveExposureRequest, ResolveExposureResponse, ResumeExperimentRequest, ResumeExperimentResponse, RollbackExperimentRequest, RollbackExperimentResponse, StartExperimentRequest, StartExperimentResponse, UpdateExperimentRequest, UpdateExperimentResponse } from "./experiments_pbjs";
|
|
7
7
|
import { MethodKind } from "@bufbuild/protobuf";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -117,6 +117,24 @@ export const ExperimentsService = {
|
|
|
117
117
|
O: ApplyExperimentWinnerResponse,
|
|
118
118
|
kind: MethodKind.Unary,
|
|
119
119
|
},
|
|
120
|
+
/**
|
|
121
|
+
* @generated from rpc experiments.v1.ExperimentsService.PreviewExperimentWinnerRollout
|
|
122
|
+
*/
|
|
123
|
+
previewExperimentWinnerRollout: {
|
|
124
|
+
name: "PreviewExperimentWinnerRollout",
|
|
125
|
+
I: PreviewExperimentWinnerRolloutRequest,
|
|
126
|
+
O: PreviewExperimentWinnerRolloutResponse,
|
|
127
|
+
kind: MethodKind.Unary,
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* @generated from rpc experiments.v1.ExperimentsService.RollbackExperiment
|
|
131
|
+
*/
|
|
132
|
+
rollbackExperiment: {
|
|
133
|
+
name: "RollbackExperiment",
|
|
134
|
+
I: RollbackExperimentRequest,
|
|
135
|
+
O: RollbackExperimentResponse,
|
|
136
|
+
kind: MethodKind.Unary,
|
|
137
|
+
},
|
|
120
138
|
/**
|
|
121
139
|
* Stats.
|
|
122
140
|
*
|
|
@@ -149,12 +167,12 @@ export const ExperimentsService = {
|
|
|
149
167
|
kind: MethodKind.Unary,
|
|
150
168
|
},
|
|
151
169
|
/**
|
|
152
|
-
* @generated from rpc experiments.v1.ExperimentsService.
|
|
170
|
+
* @generated from rpc experiments.v1.ExperimentsService.GetAssignments
|
|
153
171
|
*/
|
|
154
|
-
|
|
155
|
-
name: "
|
|
156
|
-
I:
|
|
157
|
-
O:
|
|
172
|
+
getAssignments: {
|
|
173
|
+
name: "GetAssignments",
|
|
174
|
+
I: GetAssignmentsRequest,
|
|
175
|
+
O: GetAssignmentsResponse,
|
|
158
176
|
kind: MethodKind.Unary,
|
|
159
177
|
},
|
|
160
178
|
/**
|
|
@@ -168,6 +186,17 @@ export const ExperimentsService = {
|
|
|
168
186
|
O: ResolveExposureResponse,
|
|
169
187
|
kind: MethodKind.Unary,
|
|
170
188
|
},
|
|
189
|
+
/**
|
|
190
|
+
* Declarations (for typed codegen on the public API).
|
|
191
|
+
*
|
|
192
|
+
* @generated from rpc experiments.v1.ExperimentsService.ListExperimentDeclarations
|
|
193
|
+
*/
|
|
194
|
+
listExperimentDeclarations: {
|
|
195
|
+
name: "ListExperimentDeclarations",
|
|
196
|
+
I: ListExperimentDeclarationsRequest,
|
|
197
|
+
O: ListExperimentDeclarationsResponse,
|
|
198
|
+
kind: MethodKind.Unary,
|
|
199
|
+
},
|
|
171
200
|
}
|
|
172
201
|
};
|
|
173
202
|
|
|
@@ -216,9 +216,13 @@ export declare type ExperimentAssignment = Message<"experiments.v1.ExperimentAss
|
|
|
216
216
|
experimentId: string;
|
|
217
217
|
|
|
218
218
|
/**
|
|
219
|
-
*
|
|
219
|
+
* Customer identifier. Null for assignments created before the viewer
|
|
220
|
+
* signed in. Promoted from a viewer_key assignment on the first authed
|
|
221
|
+
* ResolveExposure call (see assignment_method = "promoted").
|
|
222
|
+
*
|
|
223
|
+
* @generated from field: optional string customer_id = 3;
|
|
220
224
|
*/
|
|
221
|
-
customerId
|
|
225
|
+
customerId?: string | undefined;
|
|
222
226
|
|
|
223
227
|
/**
|
|
224
228
|
* @generated from field: string variant_key = 4;
|
|
@@ -226,6 +230,11 @@ export declare type ExperimentAssignment = Message<"experiments.v1.ExperimentAss
|
|
|
226
230
|
variantKey: string;
|
|
227
231
|
|
|
228
232
|
/**
|
|
233
|
+
* How the assignment was created. One of: "hash" (deterministic
|
|
234
|
+
* bucketing on first exposure), "forced" (admin override via
|
|
235
|
+
* ForceAssignExperiment), "promoted" (viewer_key row was upgraded to
|
|
236
|
+
* a customer_id row when the viewer signed in mid-experiment).
|
|
237
|
+
*
|
|
229
238
|
* @generated from field: string assignment_method = 5;
|
|
230
239
|
*/
|
|
231
240
|
assignmentMethod: string;
|
|
@@ -235,6 +244,15 @@ export declare type ExperimentAssignment = Message<"experiments.v1.ExperimentAss
|
|
|
235
244
|
*/
|
|
236
245
|
experimentKey: string;
|
|
237
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Stable anonymous viewer identifier. Null once the assignment has
|
|
249
|
+
* been promoted to a customer_id, otherwise the cookie/localStorage
|
|
250
|
+
* value the frontend supplied at first exposure.
|
|
251
|
+
*
|
|
252
|
+
* @generated from field: optional string viewer_key = 7;
|
|
253
|
+
*/
|
|
254
|
+
viewerKey?: string | undefined;
|
|
255
|
+
|
|
238
256
|
/**
|
|
239
257
|
* Ownership.
|
|
240
258
|
*
|
|
@@ -276,6 +294,32 @@ export declare type ExperimentAssignment = Message<"experiments.v1.ExperimentAss
|
|
|
276
294
|
*/
|
|
277
295
|
export declare const ExperimentAssignmentSchema: GenMessage<ExperimentAssignment>;
|
|
278
296
|
|
|
297
|
+
/**
|
|
298
|
+
* ExperimentDeclaration is the static shape of an experiment surfaced to
|
|
299
|
+
* public-API consumers for codegen. Includes all variant keys regardless
|
|
300
|
+
* of the experiment's runtime status, so frontends can compile against
|
|
301
|
+
* experiments that aren't yet running.
|
|
302
|
+
*
|
|
303
|
+
* @generated from message experiments.v1.ExperimentDeclaration
|
|
304
|
+
*/
|
|
305
|
+
export declare type ExperimentDeclaration = Message<"experiments.v1.ExperimentDeclaration"> & {
|
|
306
|
+
/**
|
|
307
|
+
* @generated from field: string experiment_key = 1;
|
|
308
|
+
*/
|
|
309
|
+
experimentKey: string;
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* @generated from field: repeated string variant_keys = 2;
|
|
313
|
+
*/
|
|
314
|
+
variantKeys: string[];
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Describes the message experiments.v1.ExperimentDeclaration.
|
|
319
|
+
* Use `create(ExperimentDeclarationSchema)` to create a new message.
|
|
320
|
+
*/
|
|
321
|
+
export declare const ExperimentDeclarationSchema: GenMessage<ExperimentDeclaration>;
|
|
322
|
+
|
|
279
323
|
/**
|
|
280
324
|
* @generated from message experiments.v1.VariantStats
|
|
281
325
|
*/
|
|
@@ -791,13 +835,17 @@ export declare type GetExperimentStatsResponse = Message<"experiments.v1.GetExpe
|
|
|
791
835
|
export declare const GetExperimentStatsResponseSchema: GenMessage<GetExperimentStatsResponse>;
|
|
792
836
|
|
|
793
837
|
/**
|
|
838
|
+
* Admin override. Exactly one of customer_id or viewer_key must be set —
|
|
839
|
+
* matches the either-or shape used everywhere else on the experiments
|
|
840
|
+
* surface. Both empty is InvalidArgument.
|
|
841
|
+
*
|
|
794
842
|
* @generated from message experiments.v1.ForceAssignExperimentRequest
|
|
795
843
|
*/
|
|
796
844
|
export declare type ForceAssignExperimentRequest = Message<"experiments.v1.ForceAssignExperimentRequest"> & {
|
|
797
845
|
/**
|
|
798
|
-
* @generated from field: string customer_id = 1;
|
|
846
|
+
* @generated from field: optional string customer_id = 1;
|
|
799
847
|
*/
|
|
800
|
-
customerId
|
|
848
|
+
customerId?: string | undefined;
|
|
801
849
|
|
|
802
850
|
/**
|
|
803
851
|
* @generated from field: string experiment_id = 2;
|
|
@@ -808,6 +856,11 @@ export declare type ForceAssignExperimentRequest = Message<"experiments.v1.Force
|
|
|
808
856
|
* @generated from field: string variant_key = 3;
|
|
809
857
|
*/
|
|
810
858
|
variantKey: string;
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* @generated from field: optional string viewer_key = 4;
|
|
862
|
+
*/
|
|
863
|
+
viewerKey?: string | undefined;
|
|
811
864
|
};
|
|
812
865
|
|
|
813
866
|
/**
|
|
@@ -833,18 +886,25 @@ export declare type ForceAssignExperimentResponse = Message<"experiments.v1.Forc
|
|
|
833
886
|
export declare const ForceAssignExperimentResponseSchema: GenMessage<ForceAssignExperimentResponse>;
|
|
834
887
|
|
|
835
888
|
/**
|
|
889
|
+
* Exactly one of customer_id or viewer_key must be set.
|
|
890
|
+
*
|
|
836
891
|
* @generated from message experiments.v1.RemoveExperimentAssignmentRequest
|
|
837
892
|
*/
|
|
838
893
|
export declare type RemoveExperimentAssignmentRequest = Message<"experiments.v1.RemoveExperimentAssignmentRequest"> & {
|
|
839
894
|
/**
|
|
840
|
-
* @generated from field: string customer_id = 1;
|
|
895
|
+
* @generated from field: optional string customer_id = 1;
|
|
841
896
|
*/
|
|
842
|
-
customerId
|
|
897
|
+
customerId?: string | undefined;
|
|
843
898
|
|
|
844
899
|
/**
|
|
845
900
|
* @generated from field: string experiment_id = 2;
|
|
846
901
|
*/
|
|
847
902
|
experimentId: string;
|
|
903
|
+
|
|
904
|
+
/**
|
|
905
|
+
* @generated from field: optional string viewer_key = 3;
|
|
906
|
+
*/
|
|
907
|
+
viewerKey?: string | undefined;
|
|
848
908
|
};
|
|
849
909
|
|
|
850
910
|
/**
|
|
@@ -898,6 +958,23 @@ export declare type ApplyExperimentWinnerResponse = Message<"experiments.v1.Appl
|
|
|
898
958
|
* @generated from field: experiments.v1.Experiment experiment = 1;
|
|
899
959
|
*/
|
|
900
960
|
experiment?: Experiment | undefined;
|
|
961
|
+
|
|
962
|
+
/**
|
|
963
|
+
* Number of parent records whose default variant was changed (or
|
|
964
|
+
* would have been, but was already the winner). Drives the admin
|
|
965
|
+
* confirmation copy.
|
|
966
|
+
*
|
|
967
|
+
* @generated from field: int32 affected_record_count = 2;
|
|
968
|
+
*/
|
|
969
|
+
affectedRecordCount: number;
|
|
970
|
+
|
|
971
|
+
/**
|
|
972
|
+
* Number of variant rows whose experimentKey/variantKey metadata
|
|
973
|
+
* was cleared as part of the rollout sweep.
|
|
974
|
+
*
|
|
975
|
+
* @generated from field: int32 cleared_variant_count = 3;
|
|
976
|
+
*/
|
|
977
|
+
clearedVariantCount: number;
|
|
901
978
|
};
|
|
902
979
|
|
|
903
980
|
/**
|
|
@@ -907,25 +984,164 @@ export declare type ApplyExperimentWinnerResponse = Message<"experiments.v1.Appl
|
|
|
907
984
|
export declare const ApplyExperimentWinnerResponseSchema: GenMessage<ApplyExperimentWinnerResponse>;
|
|
908
985
|
|
|
909
986
|
/**
|
|
910
|
-
*
|
|
987
|
+
* Read-only dry-run for the admin confirmation dialog. Returns what
|
|
988
|
+
* records would be affected by ApplyExperimentWinner without making
|
|
989
|
+
* any changes. Same validation surface as ApplyExperimentWinner so
|
|
990
|
+
* the UI can surface "winner key not declared on this experiment"
|
|
991
|
+
* before the user clicks through.
|
|
992
|
+
*
|
|
993
|
+
* @generated from message experiments.v1.PreviewExperimentWinnerRolloutRequest
|
|
994
|
+
*/
|
|
995
|
+
export declare type PreviewExperimentWinnerRolloutRequest = Message<"experiments.v1.PreviewExperimentWinnerRolloutRequest"> & {
|
|
996
|
+
/**
|
|
997
|
+
* @generated from field: string experiment_id = 1;
|
|
998
|
+
*/
|
|
999
|
+
experimentId: string;
|
|
1000
|
+
|
|
1001
|
+
/**
|
|
1002
|
+
* @generated from field: string winner_variant_key = 2;
|
|
1003
|
+
*/
|
|
1004
|
+
winnerVariantKey: string;
|
|
1005
|
+
};
|
|
1006
|
+
|
|
1007
|
+
/**
|
|
1008
|
+
* Describes the message experiments.v1.PreviewExperimentWinnerRolloutRequest.
|
|
1009
|
+
* Use `create(PreviewExperimentWinnerRolloutRequestSchema)` to create a new message.
|
|
1010
|
+
*/
|
|
1011
|
+
export declare const PreviewExperimentWinnerRolloutRequestSchema: GenMessage<PreviewExperimentWinnerRolloutRequest>;
|
|
1012
|
+
|
|
1013
|
+
/**
|
|
1014
|
+
* @generated from message experiments.v1.AffectedRecord
|
|
1015
|
+
*/
|
|
1016
|
+
export declare type AffectedRecord = Message<"experiments.v1.AffectedRecord"> & {
|
|
1017
|
+
/**
|
|
1018
|
+
* @generated from field: string record_id = 1;
|
|
1019
|
+
*/
|
|
1020
|
+
recordId: string;
|
|
1021
|
+
|
|
1022
|
+
/**
|
|
1023
|
+
* Currently-set defaultVariantId, or empty when none.
|
|
1024
|
+
*
|
|
1025
|
+
* @generated from field: string current_default_variant_id = 2;
|
|
1026
|
+
*/
|
|
1027
|
+
currentDefaultVariantId: string;
|
|
1028
|
+
|
|
1029
|
+
/**
|
|
1030
|
+
* Variant id that would become default after rollout, or empty if
|
|
1031
|
+
* the winner is "control" (no variant change — only metadata cleanup).
|
|
1032
|
+
*
|
|
1033
|
+
* @generated from field: string new_default_variant_id = 3;
|
|
1034
|
+
*/
|
|
1035
|
+
newDefaultVariantId: string;
|
|
1036
|
+
};
|
|
1037
|
+
|
|
1038
|
+
/**
|
|
1039
|
+
* Describes the message experiments.v1.AffectedRecord.
|
|
1040
|
+
* Use `create(AffectedRecordSchema)` to create a new message.
|
|
911
1041
|
*/
|
|
912
|
-
export declare
|
|
1042
|
+
export declare const AffectedRecordSchema: GenMessage<AffectedRecord>;
|
|
1043
|
+
|
|
1044
|
+
/**
|
|
1045
|
+
* @generated from message experiments.v1.PreviewExperimentWinnerRolloutResponse
|
|
1046
|
+
*/
|
|
1047
|
+
export declare type PreviewExperimentWinnerRolloutResponse = Message<"experiments.v1.PreviewExperimentWinnerRolloutResponse"> & {
|
|
1048
|
+
/**
|
|
1049
|
+
* @generated from field: repeated experiments.v1.AffectedRecord affected_records = 1;
|
|
1050
|
+
*/
|
|
1051
|
+
affectedRecords: AffectedRecord[];
|
|
1052
|
+
|
|
913
1053
|
/**
|
|
914
|
-
*
|
|
1054
|
+
* Cohort variants that would have their experimentKey/variantKey
|
|
1055
|
+
* metadata cleared (always == affected_records cohort + losers).
|
|
1056
|
+
*
|
|
1057
|
+
* @generated from field: int32 cleared_variant_count = 2;
|
|
915
1058
|
*/
|
|
916
|
-
|
|
1059
|
+
clearedVariantCount: number;
|
|
917
1060
|
};
|
|
918
1061
|
|
|
919
1062
|
/**
|
|
920
|
-
* Describes the message experiments.v1.
|
|
921
|
-
* Use `create(
|
|
1063
|
+
* Describes the message experiments.v1.PreviewExperimentWinnerRolloutResponse.
|
|
1064
|
+
* Use `create(PreviewExperimentWinnerRolloutResponseSchema)` to create a new message.
|
|
922
1065
|
*/
|
|
923
|
-
export declare const
|
|
1066
|
+
export declare const PreviewExperimentWinnerRolloutResponseSchema: GenMessage<PreviewExperimentWinnerRolloutResponse>;
|
|
924
1067
|
|
|
925
1068
|
/**
|
|
926
|
-
*
|
|
1069
|
+
* Restores the snapshot captured by the most recent
|
|
1070
|
+
* ApplyExperimentWinner call: re-applies previous default variants on
|
|
1071
|
+
* affected records, re-binds cohort variants to their old experimentKey/
|
|
1072
|
+
* variantKey metadata, transitions the experiment back to PAUSED so the
|
|
1073
|
+
* admin can decide whether to resume or end again.
|
|
1074
|
+
*
|
|
1075
|
+
* @generated from message experiments.v1.RollbackExperimentRequest
|
|
927
1076
|
*/
|
|
928
|
-
export declare type
|
|
1077
|
+
export declare type RollbackExperimentRequest = Message<"experiments.v1.RollbackExperimentRequest"> & {
|
|
1078
|
+
/**
|
|
1079
|
+
* @generated from field: string experiment_id = 1;
|
|
1080
|
+
*/
|
|
1081
|
+
experimentId: string;
|
|
1082
|
+
};
|
|
1083
|
+
|
|
1084
|
+
/**
|
|
1085
|
+
* Describes the message experiments.v1.RollbackExperimentRequest.
|
|
1086
|
+
* Use `create(RollbackExperimentRequestSchema)` to create a new message.
|
|
1087
|
+
*/
|
|
1088
|
+
export declare const RollbackExperimentRequestSchema: GenMessage<RollbackExperimentRequest>;
|
|
1089
|
+
|
|
1090
|
+
/**
|
|
1091
|
+
* @generated from message experiments.v1.RollbackExperimentResponse
|
|
1092
|
+
*/
|
|
1093
|
+
export declare type RollbackExperimentResponse = Message<"experiments.v1.RollbackExperimentResponse"> & {
|
|
1094
|
+
/**
|
|
1095
|
+
* @generated from field: experiments.v1.Experiment experiment = 1;
|
|
1096
|
+
*/
|
|
1097
|
+
experiment?: Experiment | undefined;
|
|
1098
|
+
|
|
1099
|
+
/**
|
|
1100
|
+
* @generated from field: int32 restored_record_count = 2;
|
|
1101
|
+
*/
|
|
1102
|
+
restoredRecordCount: number;
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
* @generated from field: int32 restored_variant_count = 3;
|
|
1106
|
+
*/
|
|
1107
|
+
restoredVariantCount: number;
|
|
1108
|
+
};
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
* Describes the message experiments.v1.RollbackExperimentResponse.
|
|
1112
|
+
* Use `create(RollbackExperimentResponseSchema)` to create a new message.
|
|
1113
|
+
*/
|
|
1114
|
+
export declare const RollbackExperimentResponseSchema: GenMessage<RollbackExperimentResponse>;
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Reads assignment rows for the given identity. Exactly one of customer_id
|
|
1118
|
+
* or viewer_key must be set — symmetric with RecordConversionInput. Both
|
|
1119
|
+
* empty or both set is InvalidArgument.
|
|
1120
|
+
*
|
|
1121
|
+
* @generated from message experiments.v1.GetAssignmentsRequest
|
|
1122
|
+
*/
|
|
1123
|
+
export declare type GetAssignmentsRequest = Message<"experiments.v1.GetAssignmentsRequest"> & {
|
|
1124
|
+
/**
|
|
1125
|
+
* @generated from field: optional string customer_id = 1;
|
|
1126
|
+
*/
|
|
1127
|
+
customerId?: string | undefined;
|
|
1128
|
+
|
|
1129
|
+
/**
|
|
1130
|
+
* @generated from field: optional string viewer_key = 2;
|
|
1131
|
+
*/
|
|
1132
|
+
viewerKey?: string | undefined;
|
|
1133
|
+
};
|
|
1134
|
+
|
|
1135
|
+
/**
|
|
1136
|
+
* Describes the message experiments.v1.GetAssignmentsRequest.
|
|
1137
|
+
* Use `create(GetAssignmentsRequestSchema)` to create a new message.
|
|
1138
|
+
*/
|
|
1139
|
+
export declare const GetAssignmentsRequestSchema: GenMessage<GetAssignmentsRequest>;
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* @generated from message experiments.v1.GetAssignmentsResponse
|
|
1143
|
+
*/
|
|
1144
|
+
export declare type GetAssignmentsResponse = Message<"experiments.v1.GetAssignmentsResponse"> & {
|
|
929
1145
|
/**
|
|
930
1146
|
* @generated from field: repeated experiments.v1.ExperimentAssignment assignments = 1;
|
|
931
1147
|
*/
|
|
@@ -933,17 +1149,61 @@ export declare type GetCustomerAssignmentsResponse = Message<"experiments.v1.Get
|
|
|
933
1149
|
};
|
|
934
1150
|
|
|
935
1151
|
/**
|
|
936
|
-
* Describes the message experiments.v1.
|
|
937
|
-
* Use `create(
|
|
1152
|
+
* Describes the message experiments.v1.GetAssignmentsResponse.
|
|
1153
|
+
* Use `create(GetAssignmentsResponseSchema)` to create a new message.
|
|
938
1154
|
*/
|
|
939
|
-
export declare const
|
|
1155
|
+
export declare const GetAssignmentsResponseSchema: GenMessage<GetAssignmentsResponse>;
|
|
940
1156
|
|
|
941
1157
|
/**
|
|
942
|
-
*
|
|
943
|
-
*
|
|
944
|
-
*
|
|
945
|
-
*
|
|
946
|
-
*
|
|
1158
|
+
* Returns the static declaration shape (key + variant keys) for every
|
|
1159
|
+
* experiment in the project, regardless of runtime status. Used by the
|
|
1160
|
+
* public-API codegen pipeline to emit stable ExperimentKey /
|
|
1161
|
+
* ExperimentVariantKey enums that don't drift across environments based
|
|
1162
|
+
* on what's currently running. Frontends that want to enumerate declared
|
|
1163
|
+
* experiments at runtime can also read this.
|
|
1164
|
+
*
|
|
1165
|
+
* @generated from message experiments.v1.ListExperimentDeclarationsRequest
|
|
1166
|
+
*/
|
|
1167
|
+
export declare type ListExperimentDeclarationsRequest = Message<"experiments.v1.ListExperimentDeclarationsRequest"> & {
|
|
1168
|
+
};
|
|
1169
|
+
|
|
1170
|
+
/**
|
|
1171
|
+
* Describes the message experiments.v1.ListExperimentDeclarationsRequest.
|
|
1172
|
+
* Use `create(ListExperimentDeclarationsRequestSchema)` to create a new message.
|
|
1173
|
+
*/
|
|
1174
|
+
export declare const ListExperimentDeclarationsRequestSchema: GenMessage<ListExperimentDeclarationsRequest>;
|
|
1175
|
+
|
|
1176
|
+
/**
|
|
1177
|
+
* @generated from message experiments.v1.ListExperimentDeclarationsResponse
|
|
1178
|
+
*/
|
|
1179
|
+
export declare type ListExperimentDeclarationsResponse = Message<"experiments.v1.ListExperimentDeclarationsResponse"> & {
|
|
1180
|
+
/**
|
|
1181
|
+
* @generated from field: repeated experiments.v1.ExperimentDeclaration declarations = 1;
|
|
1182
|
+
*/
|
|
1183
|
+
declarations: ExperimentDeclaration[];
|
|
1184
|
+
};
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* Describes the message experiments.v1.ListExperimentDeclarationsResponse.
|
|
1188
|
+
* Use `create(ListExperimentDeclarationsResponseSchema)` to create a new message.
|
|
1189
|
+
*/
|
|
1190
|
+
export declare const ListExperimentDeclarationsResponseSchema: GenMessage<ListExperimentDeclarationsResponse>;
|
|
1191
|
+
|
|
1192
|
+
/**
|
|
1193
|
+
* Resolves the variant a viewer sees for a given experiment. Persisted
|
|
1194
|
+
* (D2b): the first call for a given (experiment, identity) buckets via
|
|
1195
|
+
* deterministic FNV-1a hash over (experiment_id, identity), writes a
|
|
1196
|
+
* row to experiment_assignments, and returns the chosen variant. All
|
|
1197
|
+
* subsequent calls return the persisted variant — sticky across traffic
|
|
1198
|
+
* allocation changes, percent reallocations, and pause/resume cycles.
|
|
1199
|
+
*
|
|
1200
|
+
* Identity rule: pass exactly one of customer_id or viewer_key, OR pass
|
|
1201
|
+
* both for the anon→customer hand-off (server promotes the existing
|
|
1202
|
+
* viewer row to a customer row, preserving the variant; or, if a
|
|
1203
|
+
* customer row already exists, keeps the customer row and drops the
|
|
1204
|
+
* viewer row). Both empty is InvalidArgument. There is no
|
|
1205
|
+
* "customer-preferred-with-fallback" — the caller asks for what they
|
|
1206
|
+
* have.
|
|
947
1207
|
*
|
|
948
1208
|
* @generated from message experiments.v1.ResolveExposureRequest
|
|
949
1209
|
*/
|
|
@@ -990,12 +1250,30 @@ export declare type ResolveExposureResponse = Message<"experiments.v1.ResolveExp
|
|
|
990
1250
|
isControl: boolean;
|
|
991
1251
|
|
|
992
1252
|
/**
|
|
993
|
-
* False when the experiment is not
|
|
994
|
-
*
|
|
1253
|
+
* False when the experiment is not RUNNING (draft, paused, ended) or
|
|
1254
|
+
* when the current time is outside its [start_date, end_date] window.
|
|
1255
|
+
* No row is written in that case and variant_key is empty.
|
|
995
1256
|
*
|
|
996
1257
|
* @generated from field: bool is_exposed = 4;
|
|
997
1258
|
*/
|
|
998
1259
|
isExposed: boolean;
|
|
1260
|
+
|
|
1261
|
+
/**
|
|
1262
|
+
* "hash" for the first bucketing, "forced" if a ForceAssignExperiment
|
|
1263
|
+
* row was hit, "promoted" if the call promoted a viewer row to a
|
|
1264
|
+
* customer row.
|
|
1265
|
+
*
|
|
1266
|
+
* @generated from field: string assignment_method = 5;
|
|
1267
|
+
*/
|
|
1268
|
+
assignmentMethod: string;
|
|
1269
|
+
|
|
1270
|
+
/**
|
|
1271
|
+
* True if this call wrote (or promoted) the assignment row. Useful for
|
|
1272
|
+
* analytics: distinguish first-exposure from subsequent reads.
|
|
1273
|
+
*
|
|
1274
|
+
* @generated from field: bool is_new_assignment = 6;
|
|
1275
|
+
*/
|
|
1276
|
+
isNewAssignment: boolean;
|
|
999
1277
|
};
|
|
1000
1278
|
|
|
1001
1279
|
/**
|
|
@@ -1137,6 +1415,22 @@ export declare const ExperimentsService: GenService<{
|
|
|
1137
1415
|
input: typeof ApplyExperimentWinnerRequestSchema;
|
|
1138
1416
|
output: typeof ApplyExperimentWinnerResponseSchema;
|
|
1139
1417
|
},
|
|
1418
|
+
/**
|
|
1419
|
+
* @generated from rpc experiments.v1.ExperimentsService.PreviewExperimentWinnerRollout
|
|
1420
|
+
*/
|
|
1421
|
+
previewExperimentWinnerRollout: {
|
|
1422
|
+
methodKind: "unary";
|
|
1423
|
+
input: typeof PreviewExperimentWinnerRolloutRequestSchema;
|
|
1424
|
+
output: typeof PreviewExperimentWinnerRolloutResponseSchema;
|
|
1425
|
+
},
|
|
1426
|
+
/**
|
|
1427
|
+
* @generated from rpc experiments.v1.ExperimentsService.RollbackExperiment
|
|
1428
|
+
*/
|
|
1429
|
+
rollbackExperiment: {
|
|
1430
|
+
methodKind: "unary";
|
|
1431
|
+
input: typeof RollbackExperimentRequestSchema;
|
|
1432
|
+
output: typeof RollbackExperimentResponseSchema;
|
|
1433
|
+
},
|
|
1140
1434
|
/**
|
|
1141
1435
|
* Stats.
|
|
1142
1436
|
*
|
|
@@ -1166,12 +1460,12 @@ export declare const ExperimentsService: GenService<{
|
|
|
1166
1460
|
output: typeof RemoveExperimentAssignmentResponseSchema;
|
|
1167
1461
|
},
|
|
1168
1462
|
/**
|
|
1169
|
-
* @generated from rpc experiments.v1.ExperimentsService.
|
|
1463
|
+
* @generated from rpc experiments.v1.ExperimentsService.GetAssignments
|
|
1170
1464
|
*/
|
|
1171
|
-
|
|
1465
|
+
getAssignments: {
|
|
1172
1466
|
methodKind: "unary";
|
|
1173
|
-
input: typeof
|
|
1174
|
-
output: typeof
|
|
1467
|
+
input: typeof GetAssignmentsRequestSchema;
|
|
1468
|
+
output: typeof GetAssignmentsResponseSchema;
|
|
1175
1469
|
},
|
|
1176
1470
|
/**
|
|
1177
1471
|
* Exposure.
|
|
@@ -1183,5 +1477,15 @@ export declare const ExperimentsService: GenService<{
|
|
|
1183
1477
|
input: typeof ResolveExposureRequestSchema;
|
|
1184
1478
|
output: typeof ResolveExposureResponseSchema;
|
|
1185
1479
|
},
|
|
1480
|
+
/**
|
|
1481
|
+
* Declarations (for typed codegen on the public API).
|
|
1482
|
+
*
|
|
1483
|
+
* @generated from rpc experiments.v1.ExperimentsService.ListExperimentDeclarations
|
|
1484
|
+
*/
|
|
1485
|
+
listExperimentDeclarations: {
|
|
1486
|
+
methodKind: "unary";
|
|
1487
|
+
input: typeof ListExperimentDeclarationsRequestSchema;
|
|
1488
|
+
output: typeof ListExperimentDeclarationsResponseSchema;
|
|
1489
|
+
},
|
|
1186
1490
|
}>;
|
|
1187
1491
|
|
|
@@ -10,7 +10,7 @@ import { file_expressions_v1_expressions } from "../../expressions/v1/expression
|
|
|
10
10
|
* Describes the file experiments/v1/experiments.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_experiments_v1_experiments = /*@__PURE__*/
|
|
13
|
-
fileDesc("CiBleHBlcmltZW50cy92MS9leHBlcmltZW50cy5wcm90bxIOZXhwZXJpbWVudHMudjEiswEKE0V4cGVyaW1lbnRUYXJnZXRpbmcSDAoEdHlwZRgBIAEoCRIXCgpzZWdtZW50X2lkGAIgASgJSACIAQESGAoLc2VnbWVudF9rZXkYAyABKAlIAYgBARIyCgVydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAKIAQFCDQoLX3NlZ21lbnRfaWRCDgoMX3NlZ21lbnRfa2V5QggKBl9ydWxlcyJ4ChFFeHBlcmltZW50VmFyaWFudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIPCgdwZXJjZW50GAMgASgFEiwKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIJCgdfY29uZmlnIpUGCgpFeHBlcmltZW50EgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESMAoGc3RhdHVzGAogASgOMiAuZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudFN0YXR1cxIRCglpc19hY3RpdmUYCyABKAgSNgoJdGFyZ2V0aW5nGBQgASgLMiMuZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudFRhcmdldGluZxIXCg9jb250cm9sX3BlcmNlbnQYFSABKAUSMwoIdmFyaWFudHMYFiADKAsyIS5leHBlcmltZW50cy52MS5FeHBlcmltZW50VmFyaWFudBIeChZhc3NpZ25tZW50X3BlcnNpc3RlbmNlGBcgASgJEjMKCnN0YXJ0X2RhdGUYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMQoIZW5kX2RhdGUYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESLQoHbWV0cmljcxgjIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIrCgVnb2FscxgkIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIRCgl0ZW5hbnRfaWQYKCABKAkSEgoKcHJvamVjdF9pZBgpIAEoCRIXCgpjcmVhdGVkX2J5GC0gASgJSAWIAQESFwoKdXBkYXRlZF9ieRguIAEoCUgGiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCCgoIX21ldHJpY3NCCAoGX2dvYWxzQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IpcDChRFeHBlcmltZW50QXNzaWdubWVudBIKCgJpZBgBIAEoCRIVCg1leHBlcmltZW50X2lkGAIgASgJEhMKC2N1c3RvbWVyX2lkGAMgASgJEhMKC3ZhcmlhbnRfa2V5GAQgASgJEhkKEWFzc2lnbm1lbnRfbWV0aG9kGAUgASgJEhYKDmV4cGVyaW1lbnRfa2V5GAYgASgJEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEi8KC2Fzc2lnbmVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1maXJzdF9zZWVuX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3NlZW5fYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCmV4cGlyZXNfYXQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQipwEKDFZhcmlhbnRTdGF0cxITCgt2YXJpYW50X2tleRgBIAEoCRIYChBhc3NpZ25tZW50X2NvdW50GAIgASgFEhcKD2NvbnZlcnNpb25fcmF0ZRgDIAEoARI4ChJhZGRpdGlvbmFsX21ldHJpY3MYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCFQoTX2FkZGl0aW9uYWxfbWV0cmljcyJhCg9FeHBlcmltZW50U3RhdHMSMwoNdmFyaWFudF9zdGF0cxgBIAMoCzIcLmV4cGVyaW1lbnRzLnYxLlZhcmlhbnRTdGF0cxIZChF0b3RhbF9hc3NpZ25tZW50cxgCIAEoBSKLBAoXQ3JlYXRlRXhwZXJpbWVudFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgl0YXJnZXRpbmcYBCABKAsyIy5leHBlcmltZW50cy52MS5FeHBlcmltZW50VGFyZ2V0aW5nSAGIAQESHAoPY29udHJvbF9wZXJjZW50GAUgASgFSAKIAQESMwoIdmFyaWFudHMYBiADKAsyIS5leHBlcmltZW50cy52MS5FeHBlcmltZW50VmFyaWFudBIzCgpzdGFydF9kYXRlGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjEKCGVuZF9kYXRlGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiMKFmFzc2lnbm1lbnRfcGVyc2lzdGVuY2UYCSABKAlIBYgBARIrCgVnb2FscxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBAUIOCgxfZGVzY3JpcHRpb25CDAoKX3RhcmdldGluZ0ISChBfY29udHJvbF9wZXJjZW50Qg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZUIZChdfYXNzaWdubWVudF9wZXJzaXN0ZW5jZUIICgZfZ29hbHMiSgoYQ3JlYXRlRXhwZXJpbWVudFJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50IiIKFEdldEV4cGVyaW1lbnRSZXF1ZXN0EgoKAmlkGAEgASgJIkcKFUdldEV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIoChlHZXRFeHBlcmltZW50QnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSJMChpHZXRFeHBlcmltZW50QnlLZXlSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCKfAQoWTGlzdEV4cGVyaW1lbnRzUmVxdWVzdBI1CgZzdGF0dXMYASABKA4yIC5leHBlcmltZW50cy52MS5FeHBlcmltZW50U3RhdHVzSACIAQESFgoJaXNfYWN0aXZlGAIgASgISAGIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXNCDAoKX2lzX2FjdGl2ZSJZChdMaXN0RXhwZXJpbWVudHNSZXNwb25zZRIvCgtleHBlcmltZW50cxgBIAMoCzIaLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnQSDQoFdG90YWwYAiABKAUimAQKF1VwZGF0ZUV4cGVyaW1lbnRSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEjsKCXRhcmdldGluZxgEIAEoCzIjLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRUYXJnZXRpbmdIAogBARIcCg9jb250cm9sX3BlcmNlbnQYBSABKAVIA4gBARIzCgh2YXJpYW50cxgGIAMoCzIhLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRWYXJpYW50EjMKCnN0YXJ0X2RhdGUYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESMQoIZW5kX2RhdGUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESIwoWYXNzaWdubWVudF9wZXJzaXN0ZW5jZRgJIAEoCUgGiAEBEisKBWdvYWxzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfdGFyZ2V0aW5nQhIKEF9jb250cm9sX3BlcmNlbnRCDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlQhkKF19hc3NpZ25tZW50X3BlcnNpc3RlbmNlQggKBl9nb2FscyJKChhVcGRhdGVFeHBlcmltZW50UmVzcG9uc2USLgoKZXhwZXJpbWVudBgBIAEoCzIaLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnQiJQoXRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QSCgoCaWQYASABKAkiKwoYRGVsZXRlRXhwZXJpbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLwoWU3RhcnRFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkkKF1N0YXJ0RXhwZXJpbWVudFJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50Ii8KFlBhdXNlRXhwZXJpbWVudFJlcXVlc3QSFQoNZXhwZXJpbWVudF9pZBgBIAEoCSJJChdQYXVzZUV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIwChdSZXN1bWVFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkoKGFJlc3VtZUV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCItChRFbmRFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkcKFUVuZEV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIyChlHZXRFeHBlcmltZW50U3RhdHNSZXF1ZXN0EhUKDWV4cGVyaW1lbnRfaWQYASABKAkiTAoaR2V0RXhwZXJpbWVudFN0YXRzUmVzcG9uc2USLgoFc3RhdHMYASABKAsyHy5leHBlcmltZW50cy52MS5FeHBlcmltZW50U3RhdHMiXwocRm9yY2VBc3NpZ25FeHBlcmltZW50UmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCRIVCg1leHBlcmltZW50X2lkGAIgASgJEhMKC3ZhcmlhbnRfa2V5GAMgASgJIlkKHUZvcmNlQXNzaWduRXhwZXJpbWVudFJlc3BvbnNlEjgKCmFzc2lnbm1lbnQYASABKAsyJC5leHBlcmltZW50cy52MS5FeHBlcmltZW50QXNzaWdubWVudCJPCiFSZW1vdmVFeHBlcmltZW50QXNzaWdubWVudFJlcXVlc3QSEwoLY3VzdG9tZXJfaWQYASABKAkSFQoNZXhwZXJpbWVudF9pZBgCIAEoCSI1CiJSZW1vdmVFeHBlcmltZW50QXNzaWdubWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiUQocQXBwbHlFeHBlcmltZW50V2lubmVyUmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJEhoKEndpbm5lcl92YXJpYW50X2tleRgCIAEoCSJPCh1BcHBseUV4cGVyaW1lbnRXaW5uZXJSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCI0Ch1HZXRDdXN0b21lckFzc2lnbm1lbnRzUmVxdWVzdBITCgtjdXN0b21lcl9pZBgBIAEoCSJbCh5HZXRDdXN0b21lckFzc2lnbm1lbnRzUmVzcG9uc2USOQoLYXNzaWdubWVudHMYASADKAsyJC5leHBlcmltZW50cy52MS5FeHBlcmltZW50QXNzaWdubWVudCKCAQoWUmVzb2x2ZUV4cG9zdXJlUmVxdWVzdBIWCg5leHBlcmltZW50X2tleRgBIAEoCRIYCgtjdXN0b21lcl9pZBgCIAEoCUgAiAEBEhcKCnZpZXdlcl9rZXkYAyABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCDQoLX3ZpZXdlcl9rZXkibgoXUmVzb2x2ZUV4cG9zdXJlUmVzcG9uc2USFgoOZXhwZXJpbWVudF9rZXkYASABKAkSEwoLdmFyaWFudF9rZXkYAiABKAkSEgoKaXNfY29udHJvbBgDIAEoCBISCgppc19leHBvc2VkGAQgASgIKrABChBFeHBlcmltZW50U3RhdHVzEiEKHUVYUEVSSU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGwoXRVhQRVJJTUVOVF9TVEFUVVNfRFJBRlQQARIdChlFWFBFUklNRU5UX1NUQVRVU19SVU5OSU5HEAISHAoYRVhQRVJJTUVOVF9TVEFUVVNfUEFVU0VEEAMSHwobRVhQRVJJTUVOVF9TVEFUVVNfQ09NUExFVEVEEAQywQ0KEkV4cGVyaW1lbnRzU2VydmljZRJcCg1HZXRFeHBlcmltZW50EiQuZXhwZXJpbWVudHMudjEuR2V0RXhwZXJpbWVudFJlcXVlc3QaJS5leHBlcmltZW50cy52MS5HZXRFeHBlcmltZW50UmVzcG9uc2USawoSR2V0RXhwZXJpbWVudEJ5S2V5EikuZXhwZXJpbWVudHMudjEuR2V0RXhwZXJpbWVudEJ5S2V5UmVxdWVzdBoqLmV4cGVyaW1lbnRzLnYxLkdldEV4cGVyaW1lbnRCeUtleVJlc3BvbnNlEmIKD0xpc3RFeHBlcmltZW50cxImLmV4cGVyaW1lbnRzLnYxLkxpc3RFeHBlcmltZW50c1JlcXVlc3QaJy5leHBlcmltZW50cy52MS5MaXN0RXhwZXJpbWVudHNSZXNwb25zZRJlChBDcmVhdGVFeHBlcmltZW50EicuZXhwZXJpbWVudHMudjEuQ3JlYXRlRXhwZXJpbWVudFJlcXVlc3QaKC5leHBlcmltZW50cy52MS5DcmVhdGVFeHBlcmltZW50UmVzcG9uc2USZQoQVXBkYXRlRXhwZXJpbWVudBInLmV4cGVyaW1lbnRzLnYxLlVwZGF0ZUV4cGVyaW1lbnRSZXF1ZXN0GiguZXhwZXJpbWVudHMudjEuVXBkYXRlRXhwZXJpbWVudFJlc3BvbnNlEmUKEERlbGV0ZUV4cGVyaW1lbnQSJy5leHBlcmltZW50cy52MS5EZWxldGVFeHBlcmltZW50UmVxdWVzdBooLmV4cGVyaW1lbnRzLnYxLkRlbGV0ZUV4cGVyaW1lbnRSZXNwb25zZRJiCg9TdGFydEV4cGVyaW1lbnQSJi5leHBlcmltZW50cy52MS5TdGFydEV4cGVyaW1lbnRSZXF1ZXN0GicuZXhwZXJpbWVudHMudjEuU3RhcnRFeHBlcmltZW50UmVzcG9uc2USYgoPUGF1c2VFeHBlcmltZW50EiYuZXhwZXJpbWVudHMudjEuUGF1c2VFeHBlcmltZW50UmVxdWVzdBonLmV4cGVyaW1lbnRzLnYxLlBhdXNlRXhwZXJpbWVudFJlc3BvbnNlEmUKEFJlc3VtZUV4cGVyaW1lbnQSJy5leHBlcmltZW50cy52MS5SZXN1bWVFeHBlcmltZW50UmVxdWVzdBooLmV4cGVyaW1lbnRzLnYxLlJlc3VtZUV4cGVyaW1lbnRSZXNwb25zZRJcCg1FbmRFeHBlcmltZW50EiQuZXhwZXJpbWVudHMudjEuRW5kRXhwZXJpbWVudFJlcXVlc3QaJS5leHBlcmltZW50cy52MS5FbmRFeHBlcmltZW50UmVzcG9uc2USdAoVQXBwbHlFeHBlcmltZW50V2lubmVyEiwuZXhwZXJpbWVudHMudjEuQXBwbHlFeHBlcmltZW50V2lubmVyUmVxdWVzdBotLmV4cGVyaW1lbnRzLnYxLkFwcGx5RXhwZXJpbWVudFdpbm5lclJlc3BvbnNlEmsKEkdldEV4cGVyaW1lbnRTdGF0cxIpLmV4cGVyaW1lbnRzLnYxLkdldEV4cGVyaW1lbnRTdGF0c1JlcXVlc3QaKi5leHBlcmltZW50cy52MS5HZXRFeHBlcmltZW50U3RhdHNSZXNwb25zZRJ0ChVGb3JjZUFzc2lnbkV4cGVyaW1lbnQSLC5leHBlcmltZW50cy52MS5Gb3JjZUFzc2lnbkV4cGVyaW1lbnRSZXF1ZXN0Gi0uZXhwZXJpbWVudHMudjEuRm9yY2VBc3NpZ25FeHBlcmltZW50UmVzcG9uc2USgwEKGlJlbW92ZUV4cGVyaW1lbnRBc3NpZ25tZW50EjEuZXhwZXJpbWVudHMudjEuUmVtb3ZlRXhwZXJpbWVudEFzc2lnbm1lbnRSZXF1ZXN0GjIuZXhwZXJpbWVudHMudjEuUmVtb3ZlRXhwZXJpbWVudEFzc2lnbm1lbnRSZXNwb25zZRJ3ChZHZXRDdXN0b21lckFzc2lnbm1lbnRzEi0uZXhwZXJpbWVudHMudjEuR2V0Q3VzdG9tZXJBc3NpZ25tZW50c1JlcXVlc3QaLi5leHBlcmltZW50cy52MS5HZXRDdXN0b21lckFzc2lnbm1lbnRzUmVzcG9uc2USYgoPUmVzb2x2ZUV4cG9zdXJlEiYuZXhwZXJpbWVudHMudjEuUmVzb2x2ZUV4cG9zdXJlUmVxdWVzdBonLmV4cGVyaW1lbnRzLnYxLlJlc29sdmVFeHBvc3VyZVJlc3BvbnNlQkNaQWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9leHBlcmltZW50cy92MTtleHBlcmltZW50c3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
13
|
+
fileDesc("CiBleHBlcmltZW50cy92MS9leHBlcmltZW50cy5wcm90bxIOZXhwZXJpbWVudHMudjEiswEKE0V4cGVyaW1lbnRUYXJnZXRpbmcSDAoEdHlwZRgBIAEoCRIXCgpzZWdtZW50X2lkGAIgASgJSACIAQESGAoLc2VnbWVudF9rZXkYAyABKAlIAYgBARIyCgVydWxlcxgEIAEoCzIeLmV4cHJlc3Npb25zLnYxLlJ1bGVFeHByZXNzaW9uSAKIAQFCDQoLX3NlZ21lbnRfaWRCDgoMX3NlZ21lbnRfa2V5QggKBl9ydWxlcyJ4ChFFeHBlcmltZW50VmFyaWFudBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIPCgdwZXJjZW50GAMgASgFEiwKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIJCgdfY29uZmlnIpUGCgpFeHBlcmltZW50EgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESMAoGc3RhdHVzGAogASgOMiAuZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudFN0YXR1cxIRCglpc19hY3RpdmUYCyABKAgSNgoJdGFyZ2V0aW5nGBQgASgLMiMuZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudFRhcmdldGluZxIXCg9jb250cm9sX3BlcmNlbnQYFSABKAUSMwoIdmFyaWFudHMYFiADKAsyIS5leHBlcmltZW50cy52MS5FeHBlcmltZW50VmFyaWFudBIeChZhc3NpZ25tZW50X3BlcnNpc3RlbmNlGBcgASgJEjMKCnN0YXJ0X2RhdGUYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMQoIZW5kX2RhdGUYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESLQoHbWV0cmljcxgjIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIrCgVnb2FscxgkIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBIgBARIRCgl0ZW5hbnRfaWQYKCABKAkSEgoKcHJvamVjdF9pZBgpIAEoCRIXCgpjcmVhdGVkX2J5GC0gASgJSAWIAQESFwoKdXBkYXRlZF9ieRguIAEoCUgGiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCCgoIX21ldHJpY3NCCAoGX2dvYWxzQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5ItQDChRFeHBlcmltZW50QXNzaWdubWVudBIKCgJpZBgBIAEoCRIVCg1leHBlcmltZW50X2lkGAIgASgJEhgKC2N1c3RvbWVyX2lkGAMgASgJSACIAQESEwoLdmFyaWFudF9rZXkYBCABKAkSGQoRYXNzaWdubWVudF9tZXRob2QYBSABKAkSFgoOZXhwZXJpbWVudF9rZXkYBiABKAkSFwoKdmlld2VyX2tleRgHIAEoCUgBiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEi8KC2Fzc2lnbmVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1maXJzdF9zZWVuX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3NlZW5fYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCmV4cGlyZXNfYXQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCDgoMX2N1c3RvbWVyX2lkQg0KC192aWV3ZXJfa2V5Qg0KC19leHBpcmVzX2F0IkUKFUV4cGVyaW1lbnREZWNsYXJhdGlvbhIWCg5leHBlcmltZW50X2tleRgBIAEoCRIUCgx2YXJpYW50X2tleXMYAiADKAkipwEKDFZhcmlhbnRTdGF0cxITCgt2YXJpYW50X2tleRgBIAEoCRIYChBhc3NpZ25tZW50X2NvdW50GAIgASgFEhcKD2NvbnZlcnNpb25fcmF0ZRgDIAEoARI4ChJhZGRpdGlvbmFsX21ldHJpY3MYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCFQoTX2FkZGl0aW9uYWxfbWV0cmljcyJhCg9FeHBlcmltZW50U3RhdHMSMwoNdmFyaWFudF9zdGF0cxgBIAMoCzIcLmV4cGVyaW1lbnRzLnYxLlZhcmlhbnRTdGF0cxIZChF0b3RhbF9hc3NpZ25tZW50cxgCIAEoBSKLBAoXQ3JlYXRlRXhwZXJpbWVudFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI7Cgl0YXJnZXRpbmcYBCABKAsyIy5leHBlcmltZW50cy52MS5FeHBlcmltZW50VGFyZ2V0aW5nSAGIAQESHAoPY29udHJvbF9wZXJjZW50GAUgASgFSAKIAQESMwoIdmFyaWFudHMYBiADKAsyIS5leHBlcmltZW50cy52MS5FeHBlcmltZW50VmFyaWFudBIzCgpzdGFydF9kYXRlGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjEKCGVuZF9kYXRlGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgEiAEBEiMKFmFzc2lnbm1lbnRfcGVyc2lzdGVuY2UYCSABKAlIBYgBARIrCgVnb2FscxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIBogBAUIOCgxfZGVzY3JpcHRpb25CDAoKX3RhcmdldGluZ0ISChBfY29udHJvbF9wZXJjZW50Qg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZUIZChdfYXNzaWdubWVudF9wZXJzaXN0ZW5jZUIICgZfZ29hbHMiSgoYQ3JlYXRlRXhwZXJpbWVudFJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50IiIKFEdldEV4cGVyaW1lbnRSZXF1ZXN0EgoKAmlkGAEgASgJIkcKFUdldEV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIoChlHZXRFeHBlcmltZW50QnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSJMChpHZXRFeHBlcmltZW50QnlLZXlSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCKfAQoWTGlzdEV4cGVyaW1lbnRzUmVxdWVzdBI1CgZzdGF0dXMYASABKA4yIC5leHBlcmltZW50cy52MS5FeHBlcmltZW50U3RhdHVzSACIAQESFgoJaXNfYWN0aXZlGAIgASgISAGIAQESDQoFbGltaXQYCiABKAUSDgoGb2Zmc2V0GAsgASgFQgkKB19zdGF0dXNCDAoKX2lzX2FjdGl2ZSJZChdMaXN0RXhwZXJpbWVudHNSZXNwb25zZRIvCgtleHBlcmltZW50cxgBIAMoCzIaLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnQSDQoFdG90YWwYAiABKAUimAQKF1VwZGF0ZUV4cGVyaW1lbnRSZXF1ZXN0EgoKAmlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEjsKCXRhcmdldGluZxgEIAEoCzIjLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRUYXJnZXRpbmdIAogBARIcCg9jb250cm9sX3BlcmNlbnQYBSABKAVIA4gBARIzCgh2YXJpYW50cxgGIAMoCzIhLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRWYXJpYW50EjMKCnN0YXJ0X2RhdGUYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESMQoIZW5kX2RhdGUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESIwoWYXNzaWdubWVudF9wZXJzaXN0ZW5jZRgJIAEoCUgGiAEBEisKBWdvYWxzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgHiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfdGFyZ2V0aW5nQhIKEF9jb250cm9sX3BlcmNlbnRCDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlQhkKF19hc3NpZ25tZW50X3BlcnNpc3RlbmNlQggKBl9nb2FscyJKChhVcGRhdGVFeHBlcmltZW50UmVzcG9uc2USLgoKZXhwZXJpbWVudBgBIAEoCzIaLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnQiJQoXRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QSCgoCaWQYASABKAkiKwoYRGVsZXRlRXhwZXJpbWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiLwoWU3RhcnRFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkkKF1N0YXJ0RXhwZXJpbWVudFJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50Ii8KFlBhdXNlRXhwZXJpbWVudFJlcXVlc3QSFQoNZXhwZXJpbWVudF9pZBgBIAEoCSJJChdQYXVzZUV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIwChdSZXN1bWVFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkoKGFJlc3VtZUV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCItChRFbmRFeHBlcmltZW50UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJIkcKFUVuZEV4cGVyaW1lbnRSZXNwb25zZRIuCgpleHBlcmltZW50GAEgASgLMhouZXhwZXJpbWVudHMudjEuRXhwZXJpbWVudCIyChlHZXRFeHBlcmltZW50U3RhdHNSZXF1ZXN0EhUKDWV4cGVyaW1lbnRfaWQYASABKAkiTAoaR2V0RXhwZXJpbWVudFN0YXRzUmVzcG9uc2USLgoFc3RhdHMYASABKAsyHy5leHBlcmltZW50cy52MS5FeHBlcmltZW50U3RhdHMinAEKHEZvcmNlQXNzaWduRXhwZXJpbWVudFJlcXVlc3QSGAoLY3VzdG9tZXJfaWQYASABKAlIAIgBARIVCg1leHBlcmltZW50X2lkGAIgASgJEhMKC3ZhcmlhbnRfa2V5GAMgASgJEhcKCnZpZXdlcl9rZXkYBCABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCDQoLX3ZpZXdlcl9rZXkiWQodRm9yY2VBc3NpZ25FeHBlcmltZW50UmVzcG9uc2USOAoKYXNzaWdubWVudBgBIAEoCzIkLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRBc3NpZ25tZW50IowBCiFSZW1vdmVFeHBlcmltZW50QXNzaWdubWVudFJlcXVlc3QSGAoLY3VzdG9tZXJfaWQYASABKAlIAIgBARIVCg1leHBlcmltZW50X2lkGAIgASgJEhcKCnZpZXdlcl9rZXkYAyABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCDQoLX3ZpZXdlcl9rZXkiNQoiUmVtb3ZlRXhwZXJpbWVudEFzc2lnbm1lbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIlEKHEFwcGx5RXhwZXJpbWVudFdpbm5lclJlcXVlc3QSFQoNZXhwZXJpbWVudF9pZBgBIAEoCRIaChJ3aW5uZXJfdmFyaWFudF9rZXkYAiABKAkijQEKHUFwcGx5RXhwZXJpbWVudFdpbm5lclJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50Eh0KFWFmZmVjdGVkX3JlY29yZF9jb3VudBgCIAEoBRIdChVjbGVhcmVkX3ZhcmlhbnRfY291bnQYAyABKAUiWgolUHJldmlld0V4cGVyaW1lbnRXaW5uZXJSb2xsb3V0UmVxdWVzdBIVCg1leHBlcmltZW50X2lkGAEgASgJEhoKEndpbm5lcl92YXJpYW50X2tleRgCIAEoCSJnCg5BZmZlY3RlZFJlY29yZBIRCglyZWNvcmRfaWQYASABKAkSIgoaY3VycmVudF9kZWZhdWx0X3ZhcmlhbnRfaWQYAiABKAkSHgoWbmV3X2RlZmF1bHRfdmFyaWFudF9pZBgDIAEoCSKBAQomUHJldmlld0V4cGVyaW1lbnRXaW5uZXJSb2xsb3V0UmVzcG9uc2USOAoQYWZmZWN0ZWRfcmVjb3JkcxgBIAMoCzIeLmV4cGVyaW1lbnRzLnYxLkFmZmVjdGVkUmVjb3JkEh0KFWNsZWFyZWRfdmFyaWFudF9jb3VudBgCIAEoBSIyChlSb2xsYmFja0V4cGVyaW1lbnRSZXF1ZXN0EhUKDWV4cGVyaW1lbnRfaWQYASABKAkiiwEKGlJvbGxiYWNrRXhwZXJpbWVudFJlc3BvbnNlEi4KCmV4cGVyaW1lbnQYASABKAsyGi5leHBlcmltZW50cy52MS5FeHBlcmltZW50Eh0KFXJlc3RvcmVkX3JlY29yZF9jb3VudBgCIAEoBRIeChZyZXN0b3JlZF92YXJpYW50X2NvdW50GAMgASgFImkKFUdldEFzc2lnbm1lbnRzUmVxdWVzdBIYCgtjdXN0b21lcl9pZBgBIAEoCUgAiAEBEhcKCnZpZXdlcl9rZXkYAiABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCDQoLX3ZpZXdlcl9rZXkiUwoWR2V0QXNzaWdubWVudHNSZXNwb25zZRI5Cgthc3NpZ25tZW50cxgBIAMoCzIkLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnRBc3NpZ25tZW50IiMKIUxpc3RFeHBlcmltZW50RGVjbGFyYXRpb25zUmVxdWVzdCJhCiJMaXN0RXhwZXJpbWVudERlY2xhcmF0aW9uc1Jlc3BvbnNlEjsKDGRlY2xhcmF0aW9ucxgBIAMoCzIlLmV4cGVyaW1lbnRzLnYxLkV4cGVyaW1lbnREZWNsYXJhdGlvbiKCAQoWUmVzb2x2ZUV4cG9zdXJlUmVxdWVzdBIWCg5leHBlcmltZW50X2tleRgBIAEoCRIYCgtjdXN0b21lcl9pZBgCIAEoCUgAiAEBEhcKCnZpZXdlcl9rZXkYAyABKAlIAYgBAUIOCgxfY3VzdG9tZXJfaWRCDQoLX3ZpZXdlcl9rZXkipAEKF1Jlc29sdmVFeHBvc3VyZVJlc3BvbnNlEhYKDmV4cGVyaW1lbnRfa2V5GAEgASgJEhMKC3ZhcmlhbnRfa2V5GAIgASgJEhIKCmlzX2NvbnRyb2wYAyABKAgSEgoKaXNfZXhwb3NlZBgEIAEoCBIZChFhc3NpZ25tZW50X21ldGhvZBgFIAEoCRIZChFpc19uZXdfYXNzaWdubWVudBgGIAEoCCqwAQoQRXhwZXJpbWVudFN0YXR1cxIhCh1FWFBFUklNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF0VYUEVSSU1FTlRfU1RBVFVTX0RSQUZUEAESHQoZRVhQRVJJTUVOVF9TVEFUVVNfUlVOTklORxACEhwKGEVYUEVSSU1FTlRfU1RBVFVTX1BBVVNFRBADEh8KG0VYUEVSSU1FTlRfU1RBVFVTX0NPTVBMRVRFRBAEMq4QChJFeHBlcmltZW50c1NlcnZpY2USXAoNR2V0RXhwZXJpbWVudBIkLmV4cGVyaW1lbnRzLnYxLkdldEV4cGVyaW1lbnRSZXF1ZXN0GiUuZXhwZXJpbWVudHMudjEuR2V0RXhwZXJpbWVudFJlc3BvbnNlEmsKEkdldEV4cGVyaW1lbnRCeUtleRIpLmV4cGVyaW1lbnRzLnYxLkdldEV4cGVyaW1lbnRCeUtleVJlcXVlc3QaKi5leHBlcmltZW50cy52MS5HZXRFeHBlcmltZW50QnlLZXlSZXNwb25zZRJiCg9MaXN0RXhwZXJpbWVudHMSJi5leHBlcmltZW50cy52MS5MaXN0RXhwZXJpbWVudHNSZXF1ZXN0GicuZXhwZXJpbWVudHMudjEuTGlzdEV4cGVyaW1lbnRzUmVzcG9uc2USZQoQQ3JlYXRlRXhwZXJpbWVudBInLmV4cGVyaW1lbnRzLnYxLkNyZWF0ZUV4cGVyaW1lbnRSZXF1ZXN0GiguZXhwZXJpbWVudHMudjEuQ3JlYXRlRXhwZXJpbWVudFJlc3BvbnNlEmUKEFVwZGF0ZUV4cGVyaW1lbnQSJy5leHBlcmltZW50cy52MS5VcGRhdGVFeHBlcmltZW50UmVxdWVzdBooLmV4cGVyaW1lbnRzLnYxLlVwZGF0ZUV4cGVyaW1lbnRSZXNwb25zZRJlChBEZWxldGVFeHBlcmltZW50EicuZXhwZXJpbWVudHMudjEuRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QaKC5leHBlcmltZW50cy52MS5EZWxldGVFeHBlcmltZW50UmVzcG9uc2USYgoPU3RhcnRFeHBlcmltZW50EiYuZXhwZXJpbWVudHMudjEuU3RhcnRFeHBlcmltZW50UmVxdWVzdBonLmV4cGVyaW1lbnRzLnYxLlN0YXJ0RXhwZXJpbWVudFJlc3BvbnNlEmIKD1BhdXNlRXhwZXJpbWVudBImLmV4cGVyaW1lbnRzLnYxLlBhdXNlRXhwZXJpbWVudFJlcXVlc3QaJy5leHBlcmltZW50cy52MS5QYXVzZUV4cGVyaW1lbnRSZXNwb25zZRJlChBSZXN1bWVFeHBlcmltZW50EicuZXhwZXJpbWVudHMudjEuUmVzdW1lRXhwZXJpbWVudFJlcXVlc3QaKC5leHBlcmltZW50cy52MS5SZXN1bWVFeHBlcmltZW50UmVzcG9uc2USXAoNRW5kRXhwZXJpbWVudBIkLmV4cGVyaW1lbnRzLnYxLkVuZEV4cGVyaW1lbnRSZXF1ZXN0GiUuZXhwZXJpbWVudHMudjEuRW5kRXhwZXJpbWVudFJlc3BvbnNlEnQKFUFwcGx5RXhwZXJpbWVudFdpbm5lchIsLmV4cGVyaW1lbnRzLnYxLkFwcGx5RXhwZXJpbWVudFdpbm5lclJlcXVlc3QaLS5leHBlcmltZW50cy52MS5BcHBseUV4cGVyaW1lbnRXaW5uZXJSZXNwb25zZRKPAQoeUHJldmlld0V4cGVyaW1lbnRXaW5uZXJSb2xsb3V0EjUuZXhwZXJpbWVudHMudjEuUHJldmlld0V4cGVyaW1lbnRXaW5uZXJSb2xsb3V0UmVxdWVzdBo2LmV4cGVyaW1lbnRzLnYxLlByZXZpZXdFeHBlcmltZW50V2lubmVyUm9sbG91dFJlc3BvbnNlEmsKElJvbGxiYWNrRXhwZXJpbWVudBIpLmV4cGVyaW1lbnRzLnYxLlJvbGxiYWNrRXhwZXJpbWVudFJlcXVlc3QaKi5leHBlcmltZW50cy52MS5Sb2xsYmFja0V4cGVyaW1lbnRSZXNwb25zZRJrChJHZXRFeHBlcmltZW50U3RhdHMSKS5leHBlcmltZW50cy52MS5HZXRFeHBlcmltZW50U3RhdHNSZXF1ZXN0GiouZXhwZXJpbWVudHMudjEuR2V0RXhwZXJpbWVudFN0YXRzUmVzcG9uc2USdAoVRm9yY2VBc3NpZ25FeHBlcmltZW50EiwuZXhwZXJpbWVudHMudjEuRm9yY2VBc3NpZ25FeHBlcmltZW50UmVxdWVzdBotLmV4cGVyaW1lbnRzLnYxLkZvcmNlQXNzaWduRXhwZXJpbWVudFJlc3BvbnNlEoMBChpSZW1vdmVFeHBlcmltZW50QXNzaWdubWVudBIxLmV4cGVyaW1lbnRzLnYxLlJlbW92ZUV4cGVyaW1lbnRBc3NpZ25tZW50UmVxdWVzdBoyLmV4cGVyaW1lbnRzLnYxLlJlbW92ZUV4cGVyaW1lbnRBc3NpZ25tZW50UmVzcG9uc2USXwoOR2V0QXNzaWdubWVudHMSJS5leHBlcmltZW50cy52MS5HZXRBc3NpZ25tZW50c1JlcXVlc3QaJi5leHBlcmltZW50cy52MS5HZXRBc3NpZ25tZW50c1Jlc3BvbnNlEmIKD1Jlc29sdmVFeHBvc3VyZRImLmV4cGVyaW1lbnRzLnYxLlJlc29sdmVFeHBvc3VyZVJlcXVlc3QaJy5leHBlcmltZW50cy52MS5SZXNvbHZlRXhwb3N1cmVSZXNwb25zZRKDAQoaTGlzdEV4cGVyaW1lbnREZWNsYXJhdGlvbnMSMS5leHBlcmltZW50cy52MS5MaXN0RXhwZXJpbWVudERlY2xhcmF0aW9uc1JlcXVlc3QaMi5leHBlcmltZW50cy52MS5MaXN0RXhwZXJpbWVudERlY2xhcmF0aW9uc1Jlc3BvbnNlQkNaQWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9leHBlcmltZW50cy92MTtleHBlcmltZW50c3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message experiments.v1.ExperimentTargeting.
|
|
@@ -40,243 +40,299 @@ export const ExperimentSchema = /*@__PURE__*/
|
|
|
40
40
|
export const ExperimentAssignmentSchema = /*@__PURE__*/
|
|
41
41
|
messageDesc(file_experiments_v1_experiments, 3);
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Describes the message experiments.v1.ExperimentDeclaration.
|
|
45
|
+
* Use `create(ExperimentDeclarationSchema)` to create a new message.
|
|
46
|
+
*/
|
|
47
|
+
export const ExperimentDeclarationSchema = /*@__PURE__*/
|
|
48
|
+
messageDesc(file_experiments_v1_experiments, 4);
|
|
49
|
+
|
|
43
50
|
/**
|
|
44
51
|
* Describes the message experiments.v1.VariantStats.
|
|
45
52
|
* Use `create(VariantStatsSchema)` to create a new message.
|
|
46
53
|
*/
|
|
47
54
|
export const VariantStatsSchema = /*@__PURE__*/
|
|
48
|
-
messageDesc(file_experiments_v1_experiments,
|
|
55
|
+
messageDesc(file_experiments_v1_experiments, 5);
|
|
49
56
|
|
|
50
57
|
/**
|
|
51
58
|
* Describes the message experiments.v1.ExperimentStats.
|
|
52
59
|
* Use `create(ExperimentStatsSchema)` to create a new message.
|
|
53
60
|
*/
|
|
54
61
|
export const ExperimentStatsSchema = /*@__PURE__*/
|
|
55
|
-
messageDesc(file_experiments_v1_experiments,
|
|
62
|
+
messageDesc(file_experiments_v1_experiments, 6);
|
|
56
63
|
|
|
57
64
|
/**
|
|
58
65
|
* Describes the message experiments.v1.CreateExperimentRequest.
|
|
59
66
|
* Use `create(CreateExperimentRequestSchema)` to create a new message.
|
|
60
67
|
*/
|
|
61
68
|
export const CreateExperimentRequestSchema = /*@__PURE__*/
|
|
62
|
-
messageDesc(file_experiments_v1_experiments,
|
|
69
|
+
messageDesc(file_experiments_v1_experiments, 7);
|
|
63
70
|
|
|
64
71
|
/**
|
|
65
72
|
* Describes the message experiments.v1.CreateExperimentResponse.
|
|
66
73
|
* Use `create(CreateExperimentResponseSchema)` to create a new message.
|
|
67
74
|
*/
|
|
68
75
|
export const CreateExperimentResponseSchema = /*@__PURE__*/
|
|
69
|
-
messageDesc(file_experiments_v1_experiments,
|
|
76
|
+
messageDesc(file_experiments_v1_experiments, 8);
|
|
70
77
|
|
|
71
78
|
/**
|
|
72
79
|
* Describes the message experiments.v1.GetExperimentRequest.
|
|
73
80
|
* Use `create(GetExperimentRequestSchema)` to create a new message.
|
|
74
81
|
*/
|
|
75
82
|
export const GetExperimentRequestSchema = /*@__PURE__*/
|
|
76
|
-
messageDesc(file_experiments_v1_experiments,
|
|
83
|
+
messageDesc(file_experiments_v1_experiments, 9);
|
|
77
84
|
|
|
78
85
|
/**
|
|
79
86
|
* Describes the message experiments.v1.GetExperimentResponse.
|
|
80
87
|
* Use `create(GetExperimentResponseSchema)` to create a new message.
|
|
81
88
|
*/
|
|
82
89
|
export const GetExperimentResponseSchema = /*@__PURE__*/
|
|
83
|
-
messageDesc(file_experiments_v1_experiments,
|
|
90
|
+
messageDesc(file_experiments_v1_experiments, 10);
|
|
84
91
|
|
|
85
92
|
/**
|
|
86
93
|
* Describes the message experiments.v1.GetExperimentByKeyRequest.
|
|
87
94
|
* Use `create(GetExperimentByKeyRequestSchema)` to create a new message.
|
|
88
95
|
*/
|
|
89
96
|
export const GetExperimentByKeyRequestSchema = /*@__PURE__*/
|
|
90
|
-
messageDesc(file_experiments_v1_experiments,
|
|
97
|
+
messageDesc(file_experiments_v1_experiments, 11);
|
|
91
98
|
|
|
92
99
|
/**
|
|
93
100
|
* Describes the message experiments.v1.GetExperimentByKeyResponse.
|
|
94
101
|
* Use `create(GetExperimentByKeyResponseSchema)` to create a new message.
|
|
95
102
|
*/
|
|
96
103
|
export const GetExperimentByKeyResponseSchema = /*@__PURE__*/
|
|
97
|
-
messageDesc(file_experiments_v1_experiments,
|
|
104
|
+
messageDesc(file_experiments_v1_experiments, 12);
|
|
98
105
|
|
|
99
106
|
/**
|
|
100
107
|
* Describes the message experiments.v1.ListExperimentsRequest.
|
|
101
108
|
* Use `create(ListExperimentsRequestSchema)` to create a new message.
|
|
102
109
|
*/
|
|
103
110
|
export const ListExperimentsRequestSchema = /*@__PURE__*/
|
|
104
|
-
messageDesc(file_experiments_v1_experiments,
|
|
111
|
+
messageDesc(file_experiments_v1_experiments, 13);
|
|
105
112
|
|
|
106
113
|
/**
|
|
107
114
|
* Describes the message experiments.v1.ListExperimentsResponse.
|
|
108
115
|
* Use `create(ListExperimentsResponseSchema)` to create a new message.
|
|
109
116
|
*/
|
|
110
117
|
export const ListExperimentsResponseSchema = /*@__PURE__*/
|
|
111
|
-
messageDesc(file_experiments_v1_experiments,
|
|
118
|
+
messageDesc(file_experiments_v1_experiments, 14);
|
|
112
119
|
|
|
113
120
|
/**
|
|
114
121
|
* Describes the message experiments.v1.UpdateExperimentRequest.
|
|
115
122
|
* Use `create(UpdateExperimentRequestSchema)` to create a new message.
|
|
116
123
|
*/
|
|
117
124
|
export const UpdateExperimentRequestSchema = /*@__PURE__*/
|
|
118
|
-
messageDesc(file_experiments_v1_experiments,
|
|
125
|
+
messageDesc(file_experiments_v1_experiments, 15);
|
|
119
126
|
|
|
120
127
|
/**
|
|
121
128
|
* Describes the message experiments.v1.UpdateExperimentResponse.
|
|
122
129
|
* Use `create(UpdateExperimentResponseSchema)` to create a new message.
|
|
123
130
|
*/
|
|
124
131
|
export const UpdateExperimentResponseSchema = /*@__PURE__*/
|
|
125
|
-
messageDesc(file_experiments_v1_experiments,
|
|
132
|
+
messageDesc(file_experiments_v1_experiments, 16);
|
|
126
133
|
|
|
127
134
|
/**
|
|
128
135
|
* Describes the message experiments.v1.DeleteExperimentRequest.
|
|
129
136
|
* Use `create(DeleteExperimentRequestSchema)` to create a new message.
|
|
130
137
|
*/
|
|
131
138
|
export const DeleteExperimentRequestSchema = /*@__PURE__*/
|
|
132
|
-
messageDesc(file_experiments_v1_experiments,
|
|
139
|
+
messageDesc(file_experiments_v1_experiments, 17);
|
|
133
140
|
|
|
134
141
|
/**
|
|
135
142
|
* Describes the message experiments.v1.DeleteExperimentResponse.
|
|
136
143
|
* Use `create(DeleteExperimentResponseSchema)` to create a new message.
|
|
137
144
|
*/
|
|
138
145
|
export const DeleteExperimentResponseSchema = /*@__PURE__*/
|
|
139
|
-
messageDesc(file_experiments_v1_experiments,
|
|
146
|
+
messageDesc(file_experiments_v1_experiments, 18);
|
|
140
147
|
|
|
141
148
|
/**
|
|
142
149
|
* Describes the message experiments.v1.StartExperimentRequest.
|
|
143
150
|
* Use `create(StartExperimentRequestSchema)` to create a new message.
|
|
144
151
|
*/
|
|
145
152
|
export const StartExperimentRequestSchema = /*@__PURE__*/
|
|
146
|
-
messageDesc(file_experiments_v1_experiments,
|
|
153
|
+
messageDesc(file_experiments_v1_experiments, 19);
|
|
147
154
|
|
|
148
155
|
/**
|
|
149
156
|
* Describes the message experiments.v1.StartExperimentResponse.
|
|
150
157
|
* Use `create(StartExperimentResponseSchema)` to create a new message.
|
|
151
158
|
*/
|
|
152
159
|
export const StartExperimentResponseSchema = /*@__PURE__*/
|
|
153
|
-
messageDesc(file_experiments_v1_experiments,
|
|
160
|
+
messageDesc(file_experiments_v1_experiments, 20);
|
|
154
161
|
|
|
155
162
|
/**
|
|
156
163
|
* Describes the message experiments.v1.PauseExperimentRequest.
|
|
157
164
|
* Use `create(PauseExperimentRequestSchema)` to create a new message.
|
|
158
165
|
*/
|
|
159
166
|
export const PauseExperimentRequestSchema = /*@__PURE__*/
|
|
160
|
-
messageDesc(file_experiments_v1_experiments,
|
|
167
|
+
messageDesc(file_experiments_v1_experiments, 21);
|
|
161
168
|
|
|
162
169
|
/**
|
|
163
170
|
* Describes the message experiments.v1.PauseExperimentResponse.
|
|
164
171
|
* Use `create(PauseExperimentResponseSchema)` to create a new message.
|
|
165
172
|
*/
|
|
166
173
|
export const PauseExperimentResponseSchema = /*@__PURE__*/
|
|
167
|
-
messageDesc(file_experiments_v1_experiments,
|
|
174
|
+
messageDesc(file_experiments_v1_experiments, 22);
|
|
168
175
|
|
|
169
176
|
/**
|
|
170
177
|
* Describes the message experiments.v1.ResumeExperimentRequest.
|
|
171
178
|
* Use `create(ResumeExperimentRequestSchema)` to create a new message.
|
|
172
179
|
*/
|
|
173
180
|
export const ResumeExperimentRequestSchema = /*@__PURE__*/
|
|
174
|
-
messageDesc(file_experiments_v1_experiments,
|
|
181
|
+
messageDesc(file_experiments_v1_experiments, 23);
|
|
175
182
|
|
|
176
183
|
/**
|
|
177
184
|
* Describes the message experiments.v1.ResumeExperimentResponse.
|
|
178
185
|
* Use `create(ResumeExperimentResponseSchema)` to create a new message.
|
|
179
186
|
*/
|
|
180
187
|
export const ResumeExperimentResponseSchema = /*@__PURE__*/
|
|
181
|
-
messageDesc(file_experiments_v1_experiments,
|
|
188
|
+
messageDesc(file_experiments_v1_experiments, 24);
|
|
182
189
|
|
|
183
190
|
/**
|
|
184
191
|
* Describes the message experiments.v1.EndExperimentRequest.
|
|
185
192
|
* Use `create(EndExperimentRequestSchema)` to create a new message.
|
|
186
193
|
*/
|
|
187
194
|
export const EndExperimentRequestSchema = /*@__PURE__*/
|
|
188
|
-
messageDesc(file_experiments_v1_experiments,
|
|
195
|
+
messageDesc(file_experiments_v1_experiments, 25);
|
|
189
196
|
|
|
190
197
|
/**
|
|
191
198
|
* Describes the message experiments.v1.EndExperimentResponse.
|
|
192
199
|
* Use `create(EndExperimentResponseSchema)` to create a new message.
|
|
193
200
|
*/
|
|
194
201
|
export const EndExperimentResponseSchema = /*@__PURE__*/
|
|
195
|
-
messageDesc(file_experiments_v1_experiments,
|
|
202
|
+
messageDesc(file_experiments_v1_experiments, 26);
|
|
196
203
|
|
|
197
204
|
/**
|
|
198
205
|
* Describes the message experiments.v1.GetExperimentStatsRequest.
|
|
199
206
|
* Use `create(GetExperimentStatsRequestSchema)` to create a new message.
|
|
200
207
|
*/
|
|
201
208
|
export const GetExperimentStatsRequestSchema = /*@__PURE__*/
|
|
202
|
-
messageDesc(file_experiments_v1_experiments,
|
|
209
|
+
messageDesc(file_experiments_v1_experiments, 27);
|
|
203
210
|
|
|
204
211
|
/**
|
|
205
212
|
* Describes the message experiments.v1.GetExperimentStatsResponse.
|
|
206
213
|
* Use `create(GetExperimentStatsResponseSchema)` to create a new message.
|
|
207
214
|
*/
|
|
208
215
|
export const GetExperimentStatsResponseSchema = /*@__PURE__*/
|
|
209
|
-
messageDesc(file_experiments_v1_experiments,
|
|
216
|
+
messageDesc(file_experiments_v1_experiments, 28);
|
|
210
217
|
|
|
211
218
|
/**
|
|
212
219
|
* Describes the message experiments.v1.ForceAssignExperimentRequest.
|
|
213
220
|
* Use `create(ForceAssignExperimentRequestSchema)` to create a new message.
|
|
214
221
|
*/
|
|
215
222
|
export const ForceAssignExperimentRequestSchema = /*@__PURE__*/
|
|
216
|
-
messageDesc(file_experiments_v1_experiments,
|
|
223
|
+
messageDesc(file_experiments_v1_experiments, 29);
|
|
217
224
|
|
|
218
225
|
/**
|
|
219
226
|
* Describes the message experiments.v1.ForceAssignExperimentResponse.
|
|
220
227
|
* Use `create(ForceAssignExperimentResponseSchema)` to create a new message.
|
|
221
228
|
*/
|
|
222
229
|
export const ForceAssignExperimentResponseSchema = /*@__PURE__*/
|
|
223
|
-
messageDesc(file_experiments_v1_experiments,
|
|
230
|
+
messageDesc(file_experiments_v1_experiments, 30);
|
|
224
231
|
|
|
225
232
|
/**
|
|
226
233
|
* Describes the message experiments.v1.RemoveExperimentAssignmentRequest.
|
|
227
234
|
* Use `create(RemoveExperimentAssignmentRequestSchema)` to create a new message.
|
|
228
235
|
*/
|
|
229
236
|
export const RemoveExperimentAssignmentRequestSchema = /*@__PURE__*/
|
|
230
|
-
messageDesc(file_experiments_v1_experiments,
|
|
237
|
+
messageDesc(file_experiments_v1_experiments, 31);
|
|
231
238
|
|
|
232
239
|
/**
|
|
233
240
|
* Describes the message experiments.v1.RemoveExperimentAssignmentResponse.
|
|
234
241
|
* Use `create(RemoveExperimentAssignmentResponseSchema)` to create a new message.
|
|
235
242
|
*/
|
|
236
243
|
export const RemoveExperimentAssignmentResponseSchema = /*@__PURE__*/
|
|
237
|
-
messageDesc(file_experiments_v1_experiments,
|
|
244
|
+
messageDesc(file_experiments_v1_experiments, 32);
|
|
238
245
|
|
|
239
246
|
/**
|
|
240
247
|
* Describes the message experiments.v1.ApplyExperimentWinnerRequest.
|
|
241
248
|
* Use `create(ApplyExperimentWinnerRequestSchema)` to create a new message.
|
|
242
249
|
*/
|
|
243
250
|
export const ApplyExperimentWinnerRequestSchema = /*@__PURE__*/
|
|
244
|
-
messageDesc(file_experiments_v1_experiments,
|
|
251
|
+
messageDesc(file_experiments_v1_experiments, 33);
|
|
245
252
|
|
|
246
253
|
/**
|
|
247
254
|
* Describes the message experiments.v1.ApplyExperimentWinnerResponse.
|
|
248
255
|
* Use `create(ApplyExperimentWinnerResponseSchema)` to create a new message.
|
|
249
256
|
*/
|
|
250
257
|
export const ApplyExperimentWinnerResponseSchema = /*@__PURE__*/
|
|
251
|
-
messageDesc(file_experiments_v1_experiments,
|
|
258
|
+
messageDesc(file_experiments_v1_experiments, 34);
|
|
252
259
|
|
|
253
260
|
/**
|
|
254
|
-
* Describes the message experiments.v1.
|
|
255
|
-
* Use `create(
|
|
261
|
+
* Describes the message experiments.v1.PreviewExperimentWinnerRolloutRequest.
|
|
262
|
+
* Use `create(PreviewExperimentWinnerRolloutRequestSchema)` to create a new message.
|
|
256
263
|
*/
|
|
257
|
-
export const
|
|
258
|
-
messageDesc(file_experiments_v1_experiments,
|
|
264
|
+
export const PreviewExperimentWinnerRolloutRequestSchema = /*@__PURE__*/
|
|
265
|
+
messageDesc(file_experiments_v1_experiments, 35);
|
|
259
266
|
|
|
260
267
|
/**
|
|
261
|
-
* Describes the message experiments.v1.
|
|
262
|
-
* Use `create(
|
|
268
|
+
* Describes the message experiments.v1.AffectedRecord.
|
|
269
|
+
* Use `create(AffectedRecordSchema)` to create a new message.
|
|
263
270
|
*/
|
|
264
|
-
export const
|
|
265
|
-
messageDesc(file_experiments_v1_experiments,
|
|
271
|
+
export const AffectedRecordSchema = /*@__PURE__*/
|
|
272
|
+
messageDesc(file_experiments_v1_experiments, 36);
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Describes the message experiments.v1.PreviewExperimentWinnerRolloutResponse.
|
|
276
|
+
* Use `create(PreviewExperimentWinnerRolloutResponseSchema)` to create a new message.
|
|
277
|
+
*/
|
|
278
|
+
export const PreviewExperimentWinnerRolloutResponseSchema = /*@__PURE__*/
|
|
279
|
+
messageDesc(file_experiments_v1_experiments, 37);
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Describes the message experiments.v1.RollbackExperimentRequest.
|
|
283
|
+
* Use `create(RollbackExperimentRequestSchema)` to create a new message.
|
|
284
|
+
*/
|
|
285
|
+
export const RollbackExperimentRequestSchema = /*@__PURE__*/
|
|
286
|
+
messageDesc(file_experiments_v1_experiments, 38);
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Describes the message experiments.v1.RollbackExperimentResponse.
|
|
290
|
+
* Use `create(RollbackExperimentResponseSchema)` to create a new message.
|
|
291
|
+
*/
|
|
292
|
+
export const RollbackExperimentResponseSchema = /*@__PURE__*/
|
|
293
|
+
messageDesc(file_experiments_v1_experiments, 39);
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Describes the message experiments.v1.GetAssignmentsRequest.
|
|
297
|
+
* Use `create(GetAssignmentsRequestSchema)` to create a new message.
|
|
298
|
+
*/
|
|
299
|
+
export const GetAssignmentsRequestSchema = /*@__PURE__*/
|
|
300
|
+
messageDesc(file_experiments_v1_experiments, 40);
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Describes the message experiments.v1.GetAssignmentsResponse.
|
|
304
|
+
* Use `create(GetAssignmentsResponseSchema)` to create a new message.
|
|
305
|
+
*/
|
|
306
|
+
export const GetAssignmentsResponseSchema = /*@__PURE__*/
|
|
307
|
+
messageDesc(file_experiments_v1_experiments, 41);
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Describes the message experiments.v1.ListExperimentDeclarationsRequest.
|
|
311
|
+
* Use `create(ListExperimentDeclarationsRequestSchema)` to create a new message.
|
|
312
|
+
*/
|
|
313
|
+
export const ListExperimentDeclarationsRequestSchema = /*@__PURE__*/
|
|
314
|
+
messageDesc(file_experiments_v1_experiments, 42);
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Describes the message experiments.v1.ListExperimentDeclarationsResponse.
|
|
318
|
+
* Use `create(ListExperimentDeclarationsResponseSchema)` to create a new message.
|
|
319
|
+
*/
|
|
320
|
+
export const ListExperimentDeclarationsResponseSchema = /*@__PURE__*/
|
|
321
|
+
messageDesc(file_experiments_v1_experiments, 43);
|
|
266
322
|
|
|
267
323
|
/**
|
|
268
324
|
* Describes the message experiments.v1.ResolveExposureRequest.
|
|
269
325
|
* Use `create(ResolveExposureRequestSchema)` to create a new message.
|
|
270
326
|
*/
|
|
271
327
|
export const ResolveExposureRequestSchema = /*@__PURE__*/
|
|
272
|
-
messageDesc(file_experiments_v1_experiments,
|
|
328
|
+
messageDesc(file_experiments_v1_experiments, 44);
|
|
273
329
|
|
|
274
330
|
/**
|
|
275
331
|
* Describes the message experiments.v1.ResolveExposureResponse.
|
|
276
332
|
* Use `create(ResolveExposureResponseSchema)` to create a new message.
|
|
277
333
|
*/
|
|
278
334
|
export const ResolveExposureResponseSchema = /*@__PURE__*/
|
|
279
|
-
messageDesc(file_experiments_v1_experiments,
|
|
335
|
+
messageDesc(file_experiments_v1_experiments, 45);
|
|
280
336
|
|
|
281
337
|
/**
|
|
282
338
|
* Describes the enum experiments.v1.ExperimentStatus.
|
|
@@ -1180,6 +1180,17 @@ export declare type UpdateVariantRequest = Message<"records.v1.UpdateVariantRequ
|
|
|
1180
1180
|
* @generated from field: google.protobuf.Struct data = 2;
|
|
1181
1181
|
*/
|
|
1182
1182
|
data?: JsonObject | undefined;
|
|
1183
|
+
|
|
1184
|
+
/**
|
|
1185
|
+
* Patch merged into the variant's metadata jsonb (deep-merge at the
|
|
1186
|
+
* top-level keys). Used to set per-variant binding fields such as
|
|
1187
|
+
* experimentKey / variantKey that the resolve path reads off the
|
|
1188
|
+
* variant row's metadata. Pass only the keys you want to set; existing
|
|
1189
|
+
* keys not in the patch are preserved.
|
|
1190
|
+
*
|
|
1191
|
+
* @generated from field: optional google.protobuf.Struct metadata_patch = 3;
|
|
1192
|
+
*/
|
|
1193
|
+
metadataPatch?: JsonObject | undefined;
|
|
1183
1194
|
};
|
|
1184
1195
|
|
|
1185
1196
|
/**
|
|
@@ -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("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEihA0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtjdXN0b21lcl9pZBgIIAEoCUgDiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIBIgBARIXCgp1cGRhdGVkX2J5GBUgASgJSAWIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoOdmVyc2lvbl9udW1iZXIYKCABKAVIBogBARIZCgxjb250ZW50X2hhc2gYKSABKAlIB4gBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YKiABKAlICIgBARIbCg5wdWJsaXNoX3N0YXR1cxgrIAEoCUgJiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAuIAQESGAoLdmFyaWFudF9rZXkYMiABKAlIDIgBARIZCgx2YXJpYW50X25hbWUYMyABKAlIDYgBARIgChN2YXJpYW50X2Rlc2NyaXB0aW9uGDQgASgJSA6IAQESFwoKY2F0YWxvZ19pZBg1IAEoCUgPiAEBEhUKCHByaW9yaXR5GDYgASgFSBCIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGDcgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IEYgBARIXCgppc19kZWZhdWx0GDggASgISBKIAQESHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBOIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIFIgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYPiABKAVIFYgBARI1CgxwdWJsaXNoZWRfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBaIAQESGQoMcHVibGlzaGVkX2J5GEAgASgJSBeIAQESEwoLY2FuX3B1Ymxpc2gYQSABKAgSFQoNY2FuX3VucHVibGlzaBhCIAEoCBIfChdoYXNfdW5wdWJsaXNoZWRfY2hhbmdlcxhDIAEoCBIdChBtb2RlbF92ZXJzaW9uX2lkGEYgASgJSBiIAQFCDgoMX25hdHVyYWxfa2V5QgwKCl9wYXJlbnRfaWRCCwoJX21ldGFkYXRhQg4KDF9jdXN0b21lcl9pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fdmVyc2lvbl9udW1iZXJCDwoNX2NvbnRlbnRfaGFzaEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQhEKD19wdWJsaXNoX3N0YXR1c0IXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXRCDgoMX3ZhcmlhbnRfa2V5Qg8KDV92YXJpYW50X25hbWVCFgoUX3ZhcmlhbnRfZGVzY3JpcHRpb25CDQoLX2NhdGFsb2dfaWRCCwoJX3ByaW9yaXR5QhIKEF90YXJnZXRpbmdfcnVsZXNCDQoLX2lzX2RlZmF1bHRCFQoTX2N1cnJlbnRfdmVyc2lvbl9pZEIXChVfcHVibGlzaGVkX3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckIPCg1fcHVibGlzaGVkX2F0Qg8KDV9wdWJsaXNoZWRfYnlCEwoRX21vZGVsX3ZlcnNpb25faWQi9QEKD1B1Ymxpc2hTY2hlZHVsZRISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAUgASgJSAGIAQFCDwoNX3VucHVibGlzaF9hdEINCgtfY3JlYXRlZF9ieSJWCgxSZWNvcmRGaWx0ZXISDQoFZmllbGQYASABKAkSEAoIb3BlcmF0b3IYAiABKAkSJQoFdmFsdWUYAyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUiLgoJU29ydEZpZWxkEg0KBWZpZWxkGAEgASgJEhIKCmRlc2NlbmRpbmcYAiABKAgihQIKDkJhdGNoT3BlcmF0aW9uEiwKBHR5cGUYASABKA4yHi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uVHlwZRIPCgJpZBgCIAEoCUgAiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgBiAEBEhgKC25hdHVyYWxfa2V5GAQgASgJSAKIAQESKgoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIYCgtjdXN0b21lcl9pZBgGIAEoCUgEiAEBQgUKA19pZEIMCgpfbW9kZWxfa2V5Qg4KDF9uYXR1cmFsX2tleUIHCgVfZGF0YUIOCgxfY3VzdG9tZXJfaWQiiAEKFEJhdGNoT3BlcmF0aW9uUmVzdWx0Eg0KBWluZGV4GAEgASgFEg8KB3N1Y2Nlc3MYAiABKAgSJwoGcmVjb3JkGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARISCgVlcnJvchgEIAEoCUgBiAEBQgkKB19yZWNvcmRCCAoGX2Vycm9yIpgCChNDcmVhdGVSZWNvcmRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtuYXR1cmFsX2tleRgCIAEoCUgAiAEBEiUKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKC2N1c3RvbWVyX2lkGAQgASgJSAGIAQESLgoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAYgASgJSAOIAQFCDgoMX25hdHVyYWxfa2V5Qg4KDF9jdXN0b21lcl9pZEILCglfbWV0YWRhdGFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKmAQoUQ3JlYXRlUmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSKAoHdmFyaWFudBgCIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSACIAQESKAoHdmVyc2lvbhgDIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSAGIAQFCCgoIX3ZhcmlhbnRCCgoIX3ZlcnNpb24iHgoQR2V0UmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSI3ChFHZXRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI/ChVHZXRSZWNvcmRCeUtleVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJIjwKFkdldFJlY29yZEJ5S2V5UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiQgoZR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKaWRlbnRpZmllchgCIAEoCSJAChpHZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCLxAQoSTGlzdFJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSKQoHZmlsdGVycxgEIAMoCzIYLnJlY29yZHMudjEuUmVjb3JkRmlsdGVyEiMKBHNvcnQYBSADKAsyFS5yZWNvcmRzLnYxLlNvcnRGaWVsZBIYCgtjdXN0b21lcl9pZBgGIAEoCUgAiAEBEhMKBnNlYXJjaBgHIAEoCUgBiAEBEg8KB3ByZXZpZXcYCCABKAhCDgoMX2N1c3RvbWVyX2lkQgkKB19zZWFyY2giSQoTTGlzdFJlY29yZHNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUicgoTVXBkYXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBQg4KDF9uYXR1cmFsX2tleSI6ChRVcGRhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIhChNEZWxldGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZVJlY29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgipwEKE1Vwc2VydFJlY29yZFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEQoJbW9kZWxfa2V5GAMgASgJEhMKC25hdHVyYWxfa2V5GAQgASgJEiUKBGRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhoKEmNoYW5nZV9kZXNjcmlwdGlvbhgGIAEoCSJLChRVcHNlcnRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIPCgdjcmVhdGVkGAIgASgIIk4KHEJhdGNoUmVjb3JkT3BlcmF0aW9uc1JlcXVlc3QSLgoKb3BlcmF0aW9ucxgBIAMoCzIaLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb24iUgodQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVzcG9uc2USMQoHcmVzdWx0cxgBIAMoCzIgLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb25SZXN1bHQifgoYQnVsa1VwZGF0ZVJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIoCgZmaWx0ZXIYAiADKAsyGC5yZWNvcmRzLnYxLlJlY29yZEZpbHRlchIlCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIqChlCdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFIlYKFkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSHAoPbmV3X25hdHVyYWxfa2V5GAIgASgJSACIAQFCEgoQX25ld19uYXR1cmFsX2tleSI9ChdEdXBsaWNhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJQChtEdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QSCwoDaWRzGAEgAygJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiQwocRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQiiAEKFENyZWF0ZVZlcnNpb25SZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAyABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIjwKFUNyZWF0ZVZlcnNpb25SZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiKwoVUHVibGlzaFZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiPAoWUHVibGlzaFZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChZVbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIqChdVbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKFlJldmVydFRvVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI9ChdSZXZlcnRUb1ZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJNChlMaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUiUQoaTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSJlChRDcmVhdGVWYXJpYW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEwoLdmFyaWFudF9rZXkYAiABKAkSJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPAoVQ3JlYXRlVmFyaWFudFJlc3BvbnNlEiMKB3ZhcmlhbnQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJRChRVcGRhdGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IjwKFVVwZGF0ZVZhcmlhbnRSZXNwb25zZRIjCgd2YXJpYW50GAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiKgoURGVsZXRlVmFyaWFudFJlcXVlc3QSEgoKdmFyaWFudF9pZBgBIAEoCSIoChVEZWxldGVWYXJpYW50UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJBChhTZXREZWZhdWx0VmFyaWFudFJlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEhIKCnZhcmlhbnRfaWQYAiABKAkiPwoZU2V0RGVmYXVsdFZhcmlhbnRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJNChlMaXN0UmVjb3JkVmFyaWFudHNSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUiUQoaTGlzdFJlY29yZFZhcmlhbnRzUmVzcG9uc2USJAoIdmFyaWFudHMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSKwAQoSU2F2ZUNvbnRlbnRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYCgt2YXJpYW50X2tleRgDIAEoCUgAiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgEIAEoCUgBiAEBQg4KDF92YXJpYW50X2tleUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIl4KE1NhdmVDb250ZW50UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSIwoHdmVyc2lvbhgCIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIqoBChxTY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkSLgoKcHVibGlzaF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoMdW5wdWJsaXNoX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg8KDV91bnB1Ymxpc2hfYXQiRAodU2NoZWR1bGVSZWNvcmRQdWJsaXNoUmVzcG9uc2USIwoHdmVyc2lvbhgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIjkKI0NhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiSwokQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlc3BvbnNlEiMKB3ZlcnNpb24YASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCLQAQodTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1JlcXVlc3QSLQoEZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIrCgJ0bxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIWCgltb2RlbF9rZXkYAyABKAlIAogBARINCgVsaW1pdBgEIAEoBRIOCgZvZmZzZXQYBSABKAVCBwoFX2Zyb21CBQoDX3RvQgwKCl9tb2RlbF9rZXkiVQoeTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1Jlc3BvbnNlEiQKCHZlcnNpb25zGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUiMAoaR2V0U2NoZWR1bGVkUHVibGlzaFJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSJMChtHZXRTY2hlZHVsZWRQdWJsaXNoUmVzcG9uc2USLQoIc2NoZWR1bGUYASABKAsyGy5yZWNvcmRzLnYxLlB1Ymxpc2hTY2hlZHVsZSJ/ChhMaXN0RHJhZnRWZXJzaW9uc1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQESEwoGc2VhcmNoGAIgASgJSAGIAQESDQoFbGltaXQYAyABKAUSDgoGb2Zmc2V0GAQgASgFQgwKCl9tb2RlbF9rZXlCCQoHX3NlYXJjaCJQChlMaXN0RHJhZnRWZXJzaW9uc1Jlc3BvbnNlEiQKCHZlcnNpb25zGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUiMgobQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0EhMKC3ZlcnNpb25faWRzGAEgAygJIlwKHEJhdGNoUHVibGlzaFZlcnNpb25zUmVzcG9uc2USIwoHcmVjb3JkcxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEhcKD3B1Ymxpc2hlZF9jb3VudBgCIAEoBSJVChJFeHBlcmltZW50RXhwb3N1cmUSFgoOZXhwZXJpbWVudF9rZXkYASABKAkSEwoLdmFyaWFudF9rZXkYAiABKAkSEgoKaXNfY29udHJvbBgDIAEoCCLhAQoaQmF0Y2hSZXNvbHZlUmVjb3Jkc1JlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhIKCnJlY29yZF9pZHMYAiADKAkSGAoLY3VzdG9tZXJfaWQYAyABKAlIAIgBARItCgdjb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEg8KB3ByZXZpZXcYBSABKAgSFwoKdmlld2VyX2tleRgGIAEoCUgCiAEBQg4KDF9jdXN0b21lcl9pZEIKCghfY29udGV4dEINCgtfdmlld2VyX2tleSJKChtCYXRjaFJlc29sdmVSZWNvcmRzUmVzcG9uc2USKwoHcmVjb3JkcxgBIAMoCzIaLnJlY29yZHMudjEuUmVzb2x2ZWRSZWNvcmQixwIKDlJlc29sdmVkUmVjb3JkEhEKCXJlY29yZF9pZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKdmFyaWFudF9pZBgGIAEoCUgBiAEBEkAKE2V4cGVyaW1lbnRfZXhwb3N1cmUYByABKAsyHi5yZWNvcmRzLnYxLkV4cGVyaW1lbnRFeHBvc3VyZUgCiAEBEhEKCWhhc19kcmFmdBgIIAEoCEIOCgxfbmF0dXJhbF9rZXlCDQoLX3ZhcmlhbnRfaWRCFgoUX2V4cGVyaW1lbnRfZXhwb3N1cmUiLwoZTG9va3VwUmVjb3JkTW9kZWxzUmVxdWVzdBISCgpyZWNvcmRfaWRzGAEgAygJIjgKEFJlY29yZE1vZGVsRW50cnkSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCSJLChpMb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRItCgdlbnRyaWVzGAEgAygLMhwucmVjb3Jkcy52MS5SZWNvcmRNb2RlbEVudHJ5IkcKE0dsb2JhbFNlYXJjaFJlcXVlc3QSDQoFcXVlcnkYASABKAkSEgoKbW9kZWxfa2V5cxgCIAMoCRINCgVsaW1pdBgKIAEoBSKRAQoQU2VhcmNoUmVzdWx0SXRlbRIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVzY29yZRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkiVAoUR2xvYmFsU2VhcmNoUmVzcG9uc2USLQoHcmVjb3JkcxgBIAMoCzIcLnJlY29yZHMudjEuU2VhcmNoUmVzdWx0SXRlbRINCgV0b3RhbBgCIAEoBSKhAQoORW1iZWRkaW5nU3RhdHMSEQoJbW9kZWxfa2V5GAEgASgJEhUKDXRvdGFsX3JlY29yZHMYAiABKAUSGAoQZW1iZWRkZWRfcmVjb3JkcxgDIAEoBRIXCg9wZW5kaW5nX3JlY29yZHMYBCABKAUSHQoQbGFzdF9lbWJlZGRlZF9hdBgFIAEoCUgAiAEBQhMKEV9sYXN0X2VtYmVkZGVkX2F0InUKD1JlY29yZEVtYmVkZGluZxIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhIKCmRpbWVuc2lvbnMYAyABKAUSGAoLZW1iZWRkZWRfYXQYBCABKAlIAIgBAUIOCgxfZW1iZWRkZWRfYXQikwEKDVNpbWlsYXJSZWNvcmQSCgoCaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJEhgKC25hdHVyYWxfa2V5GAMgASgJSACIAQESJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEgoKc2ltaWxhcml0eRgFIAEoAUIOCgxfbmF0dXJhbF9rZXkiQAoYR2V0RW1iZWRkaW5nU3RhdHNSZXF1ZXN0EhYKCW1vZGVsX2tleRgBIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiRgoZR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRIpCgVzdGF0cxgBIAMoCzIaLnJlY29yZHMudjEuRW1iZWRkaW5nU3RhdHMiLwoaR2V0UmVjb3JkRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJIk4KG0dldFJlY29yZEVtYmVkZGluZ3NSZXNwb25zZRIvCgplbWJlZGRpbmdzGAEgAygLMhsucmVjb3Jkcy52MS5SZWNvcmRFbWJlZGRpbmciYwoZRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSFgoJbW9kZWxfa2V5GAIgASgJSACIAQESDQoFbGltaXQYCiABKAVCDAoKX21vZGVsX2tleSJIChpGaW5kU2ltaWxhclJlY29yZHNSZXNwb25zZRIqCgdyZWNvcmRzGAEgAygLMhkucmVjb3Jkcy52MS5TaW1pbGFyUmVjb3JkIpsBChZXcml0ZUVtYmVkZGluZ3NSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIOCgZ2ZWN0b3IYAiADKAISEgoKZGltZW5zaW9ucxgDIAEoBRIVCghwcm92aWRlchgEIAEoCUgAiAEBEhcKCm1vZGVsX25hbWUYBSABKAlIAYgBAUILCglfcHJvdmlkZXJCDQoLX21vZGVsX25hbWUiKgoXV3JpdGVFbWJlZGRpbmdzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChdEZWxldGVFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkiKwoYRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiZAoXU2VhcmNoRW1iZWRkaW5nc1JlcXVlc3QSFAoMcXVlcnlfdmVjdG9yGAEgAygCEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBEg0KBWxpbWl0GAogASgFQgwKCl9tb2RlbF9rZXkiRgoYU2VhcmNoRW1iZWRkaW5nc1Jlc3BvbnNlEioKB3Jlc3VsdHMYASADKAsyGS5yZWNvcmRzLnYxLlNpbWlsYXJSZWNvcmQqcwoKUmVjb3JkVHlwZRIbChdSRUNPUkRfVFlQRV9VTlNQRUNJRklFRBAAEhYKElJFQ09SRF9UWVBFX1JFQ09SRBABEhcKE1JFQ09SRF9UWVBFX1ZBUklBTlQQAhIXChNSRUNPUkRfVFlQRV9WRVJTSU9OEAMqnQEKEkJhdGNoT3BlcmF0aW9uVHlwZRIkCiBCQVRDSF9PUEVSQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAEh8KG0JBVENIX09QRVJBVElPTl9UWVBFX0NSRUFURRABEh8KG0JBVENIX09QRVJBVElPTl9UWVBFX1VQREFURRACEh8KG0JBVENIX09QRVJBVElPTl9UWVBFX0RFTEVURRADMrEcCg5SZWNvcmRzU2VydmljZRJRCgxDcmVhdGVSZWNvcmQSHy5yZWNvcmRzLnYxLkNyZWF0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLkNyZWF0ZVJlY29yZFJlc3BvbnNlEkgKCUdldFJlY29yZBIcLnJlY29yZHMudjEuR2V0UmVjb3JkUmVxdWVzdBodLnJlY29yZHMudjEuR2V0UmVjb3JkUmVzcG9uc2USVwoOR2V0UmVjb3JkQnlLZXkSIS5yZWNvcmRzLnYxLkdldFJlY29yZEJ5S2V5UmVxdWVzdBoiLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlSZXNwb25zZRJjChJHZXRSZWNvcmRCeUtleU9ySWQSJS5yZWNvcmRzLnYxLkdldFJlY29yZEJ5S2V5T3JJZFJlcXVlc3QaJi5yZWNvcmRzLnYxLkdldFJlY29yZEJ5S2V5T3JJZFJlc3BvbnNlEk4KC0xpc3RSZWNvcmRzEh4ucmVjb3Jkcy52MS5MaXN0UmVjb3Jkc1JlcXVlc3QaHy5yZWNvcmRzLnYxLkxpc3RSZWNvcmRzUmVzcG9uc2USUQoMVXBkYXRlUmVjb3JkEh8ucmVjb3Jkcy52MS5VcGRhdGVSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5VcGRhdGVSZWNvcmRSZXNwb25zZRJRCgxVcHNlcnRSZWNvcmQSHy5yZWNvcmRzLnYxLlVwc2VydFJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLlVwc2VydFJlY29yZFJlc3BvbnNlElEKDERlbGV0ZVJlY29yZBIfLnJlY29yZHMudjEuRGVsZXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuRGVsZXRlUmVjb3JkUmVzcG9uc2USbAoVQmF0Y2hSZWNvcmRPcGVyYXRpb25zEigucmVjb3Jkcy52MS5CYXRjaFJlY29yZE9wZXJhdGlvbnNSZXF1ZXN0GikucmVjb3Jkcy52MS5CYXRjaFJlY29yZE9wZXJhdGlvbnNSZXNwb25zZRJgChFCdWxrVXBkYXRlUmVjb3JkcxIkLnJlY29yZHMudjEuQnVsa1VwZGF0ZVJlY29yZHNSZXF1ZXN0GiUucmVjb3Jkcy52MS5CdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEloKD0R1cGxpY2F0ZVJlY29yZBIiLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3JkUmVxdWVzdBojLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3JkUmVzcG9uc2USaQoURHVwbGljYXRlUmVjb3Jkc0J1bGsSJy5yZWNvcmRzLnYxLkR1cGxpY2F0ZVJlY29yZHNCdWxrUmVxdWVzdBooLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRJUCg1DcmVhdGVWZXJzaW9uEiAucmVjb3Jkcy52MS5DcmVhdGVWZXJzaW9uUmVxdWVzdBohLnJlY29yZHMudjEuQ3JlYXRlVmVyc2lvblJlc3BvbnNlElcKDlB1Ymxpc2hWZXJzaW9uEiEucmVjb3Jkcy52MS5QdWJsaXNoVmVyc2lvblJlcXVlc3QaIi5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVzcG9uc2USWgoPVW5wdWJsaXNoUmVjb3JkEiIucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5VbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRJaCg9SZXZlcnRUb1ZlcnNpb24SIi5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlcXVlc3QaIy5yZWNvcmRzLnYxLlJldmVydFRvVmVyc2lvblJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWZXJzaW9ucxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USTgoLU2F2ZUNvbnRlbnQSHi5yZWNvcmRzLnYxLlNhdmVDb250ZW50UmVxdWVzdBofLnJlY29yZHMudjEuU2F2ZUNvbnRlbnRSZXNwb25zZRJUCg1DcmVhdGVWYXJpYW50EiAucmVjb3Jkcy52MS5DcmVhdGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuQ3JlYXRlVmFyaWFudFJlc3BvbnNlElQKDVVwZGF0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLlVwZGF0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5VcGRhdGVWYXJpYW50UmVzcG9uc2USVAoNRGVsZXRlVmFyaWFudBIgLnJlY29yZHMudjEuRGVsZXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLkRlbGV0ZVZhcmlhbnRSZXNwb25zZRJgChFTZXREZWZhdWx0VmFyaWFudBIkLnJlY29yZHMudjEuU2V0RGVmYXVsdFZhcmlhbnRSZXF1ZXN0GiUucmVjb3Jkcy52MS5TZXREZWZhdWx0VmFyaWFudFJlc3BvbnNlEmMKEkxpc3RSZWNvcmRWYXJpYW50cxIlLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVxdWVzdBomLnJlY29yZHMudjEuTGlzdFJlY29yZFZhcmlhbnRzUmVzcG9uc2USbAoVU2NoZWR1bGVSZWNvcmRQdWJsaXNoEigucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXF1ZXN0GikucmVjb3Jkcy52MS5TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXNwb25zZRKBAQocQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaBIvLnJlY29yZHMudjEuQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlcXVlc3QaMC5yZWNvcmRzLnYxLkNhbmNlbFNjaGVkdWxlZFJlY29yZFB1Ymxpc2hSZXNwb25zZRJvChZMaXN0U2NoZWR1bGVkUHVibGlzaGVzEikucmVjb3Jkcy52MS5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVxdWVzdBoqLnJlY29yZHMudjEuTGlzdFNjaGVkdWxlZFB1Ymxpc2hlc1Jlc3BvbnNlEmYKE0dldFNjaGVkdWxlZFB1Ymxpc2gSJi5yZWNvcmRzLnYxLkdldFNjaGVkdWxlZFB1Ymxpc2hSZXF1ZXN0GicucmVjb3Jkcy52MS5HZXRTY2hlZHVsZWRQdWJsaXNoUmVzcG9uc2USYAoRTGlzdERyYWZ0VmVyc2lvbnMSJC5yZWNvcmRzLnYxLkxpc3REcmFmdFZlcnNpb25zUmVxdWVzdBolLnJlY29yZHMudjEuTGlzdERyYWZ0VmVyc2lvbnNSZXNwb25zZRJpChRCYXRjaFB1Ymxpc2hWZXJzaW9ucxInLnJlY29yZHMudjEuQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXF1ZXN0GigucmVjb3Jkcy52MS5CYXRjaFB1Ymxpc2hWZXJzaW9uc1Jlc3BvbnNlEmYKE0JhdGNoUmVzb2x2ZVJlY29yZHMSJi5yZWNvcmRzLnYxLkJhdGNoUmVzb2x2ZVJlY29yZHNSZXF1ZXN0GicucmVjb3Jkcy52MS5CYXRjaFJlc29sdmVSZWNvcmRzUmVzcG9uc2USYwoSTG9va3VwUmVjb3JkTW9kZWxzEiUucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5Mb29rdXBSZWNvcmRNb2RlbHNSZXNwb25zZRJRCgxHbG9iYWxTZWFyY2gSHy5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlcXVlc3QaIC5yZWNvcmRzLnYxLkdsb2JhbFNlYXJjaFJlc3BvbnNlEmAKEUdldEVtYmVkZGluZ1N0YXRzEiQucmVjb3Jkcy52MS5HZXRFbWJlZGRpbmdTdGF0c1JlcXVlc3QaJS5yZWNvcmRzLnYxLkdldEVtYmVkZGluZ1N0YXRzUmVzcG9uc2USZgoTR2V0UmVjb3JkRW1iZWRkaW5ncxImLnJlY29yZHMudjEuR2V0UmVjb3JkRW1iZWRkaW5nc1JlcXVlc3QaJy5yZWNvcmRzLnYxLkdldFJlY29yZEVtYmVkZGluZ3NSZXNwb25zZRJjChJGaW5kU2ltaWxhclJlY29yZHMSJS5yZWNvcmRzLnYxLkZpbmRTaW1pbGFyUmVjb3Jkc1JlcXVlc3QaJi5yZWNvcmRzLnYxLkZpbmRTaW1pbGFyUmVjb3Jkc1Jlc3BvbnNlEloKD1dyaXRlRW1iZWRkaW5ncxIiLnJlY29yZHMudjEuV3JpdGVFbWJlZGRpbmdzUmVxdWVzdBojLnJlY29yZHMudjEuV3JpdGVFbWJlZGRpbmdzUmVzcG9uc2USXQoQRGVsZXRlRW1iZWRkaW5ncxIjLnJlY29yZHMudjEuRGVsZXRlRW1iZWRkaW5nc1JlcXVlc3QaJC5yZWNvcmRzLnYxLkRlbGV0ZUVtYmVkZGluZ3NSZXNwb25zZRJdChBTZWFyY2hFbWJlZGRpbmdzEiMucmVjb3Jkcy52MS5TZWFyY2hFbWJlZGRpbmdzUmVxdWVzdBokLnJlY29yZHMudjEuU2VhcmNoRW1iZWRkaW5nc1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9yZWNvcmRzL3YxO3JlY29yZHN2MWIGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
13
|
+
fileDesc("ChhyZWNvcmRzL3YxL3JlY29yZHMucHJvdG8SCnJlY29yZHMudjEihA0KBlJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIWCglwYXJlbnRfaWQYBCABKAlIAYgBARIrCgtyZWNvcmRfdHlwZRgFIAEoDjIWLnJlY29yZHMudjEuUmVjb3JkVHlwZRIlCgRkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIYCgtjdXN0b21lcl9pZBgIIAEoCUgDiAEBEhEKCXRlbmFudF9pZBgKIAEoCRISCgpwcm9qZWN0X2lkGAsgASgJEhcKCmNyZWF0ZWRfYnkYFCABKAlIBIgBARIXCgp1cGRhdGVkX2J5GBUgASgJSAWIAQESLgoKY3JlYXRlZF9hdBgeIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoOdmVyc2lvbl9udW1iZXIYKCABKAVIBogBARIZCgxjb250ZW50X2hhc2gYKSABKAlIB4gBARIfChJjaGFuZ2VfZGVzY3JpcHRpb24YKiABKAlICIgBARIbCg5wdWJsaXNoX3N0YXR1cxgrIAEoCUgJiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAuIAQESGAoLdmFyaWFudF9rZXkYMiABKAlIDIgBARIZCgx2YXJpYW50X25hbWUYMyABKAlIDYgBARIgChN2YXJpYW50X2Rlc2NyaXB0aW9uGDQgASgJSA6IAQESFwoKY2F0YWxvZ19pZBg1IAEoCUgPiAEBEhUKCHByaW9yaXR5GDYgASgFSBCIAQESPAoPdGFyZ2V0aW5nX3J1bGVzGDcgASgLMh4uZXhwcmVzc2lvbnMudjEuUnVsZUV4cHJlc3Npb25IEYgBARIXCgppc19kZWZhdWx0GDggASgISBKIAQESHwoSY3VycmVudF92ZXJzaW9uX2lkGDwgASgJSBOIAQESIQoUcHVibGlzaGVkX3ZlcnNpb25faWQYPSABKAlIFIgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYPiABKAVIFYgBARI1CgxwdWJsaXNoZWRfYXQYPyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBaIAQESGQoMcHVibGlzaGVkX2J5GEAgASgJSBeIAQESEwoLY2FuX3B1Ymxpc2gYQSABKAgSFQoNY2FuX3VucHVibGlzaBhCIAEoCBIfChdoYXNfdW5wdWJsaXNoZWRfY2hhbmdlcxhDIAEoCBIdChBtb2RlbF92ZXJzaW9uX2lkGEYgASgJSBiIAQFCDgoMX25hdHVyYWxfa2V5QgwKCl9wYXJlbnRfaWRCCwoJX21ldGFkYXRhQg4KDF9jdXN0b21lcl9pZEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieUIRCg9fdmVyc2lvbl9udW1iZXJCDwoNX2NvbnRlbnRfaGFzaEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQhEKD19wdWJsaXNoX3N0YXR1c0IXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXRCDgoMX3ZhcmlhbnRfa2V5Qg8KDV92YXJpYW50X25hbWVCFgoUX3ZhcmlhbnRfZGVzY3JpcHRpb25CDQoLX2NhdGFsb2dfaWRCCwoJX3ByaW9yaXR5QhIKEF90YXJnZXRpbmdfcnVsZXNCDQoLX2lzX2RlZmF1bHRCFQoTX2N1cnJlbnRfdmVyc2lvbl9pZEIXChVfcHVibGlzaGVkX3ZlcnNpb25faWRCGwoZX3B1Ymxpc2hlZF92ZXJzaW9uX251bWJlckIPCg1fcHVibGlzaGVkX2F0Qg8KDV9wdWJsaXNoZWRfYnlCEwoRX21vZGVsX3ZlcnNpb25faWQi9QEKD1B1Ymxpc2hTY2hlZHVsZRISCgp2ZXJzaW9uX2lkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GAUgASgJSAGIAQFCDwoNX3VucHVibGlzaF9hdEINCgtfY3JlYXRlZF9ieSJWCgxSZWNvcmRGaWx0ZXISDQoFZmllbGQYASABKAkSEAoIb3BlcmF0b3IYAiABKAkSJQoFdmFsdWUYAyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUiLgoJU29ydEZpZWxkEg0KBWZpZWxkGAEgASgJEhIKCmRlc2NlbmRpbmcYAiABKAgihQIKDkJhdGNoT3BlcmF0aW9uEiwKBHR5cGUYASABKA4yHi5yZWNvcmRzLnYxLkJhdGNoT3BlcmF0aW9uVHlwZRIPCgJpZBgCIAEoCUgAiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgBiAEBEhgKC25hdHVyYWxfa2V5GAQgASgJSAKIAQESKgoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIA4gBARIYCgtjdXN0b21lcl9pZBgGIAEoCUgEiAEBQgUKA19pZEIMCgpfbW9kZWxfa2V5Qg4KDF9uYXR1cmFsX2tleUIHCgVfZGF0YUIOCgxfY3VzdG9tZXJfaWQiiAEKFEJhdGNoT3BlcmF0aW9uUmVzdWx0Eg0KBWluZGV4GAEgASgFEg8KB3N1Y2Nlc3MYAiABKAgSJwoGcmVjb3JkGAMgASgLMhIucmVjb3Jkcy52MS5SZWNvcmRIAIgBARISCgVlcnJvchgEIAEoCUgBiAEBQgkKB19yZWNvcmRCCAoGX2Vycm9yIpgCChNDcmVhdGVSZWNvcmRSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIYCgtuYXR1cmFsX2tleRgCIAEoCUgAiAEBEiUKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKC2N1c3RvbWVyX2lkGAQgASgJSAGIAQESLgoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAYgASgJSAOIAQFCDgoMX25hdHVyYWxfa2V5Qg4KDF9jdXN0b21lcl9pZEILCglfbWV0YWRhdGFCFQoTX2NoYW5nZV9kZXNjcmlwdGlvbiKmAQoUQ3JlYXRlUmVjb3JkUmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQSKAoHdmFyaWFudBgCIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSACIAQESKAoHdmVyc2lvbhgDIAEoCzISLnJlY29yZHMudjEuUmVjb3JkSAGIAQFCCgoIX3ZhcmlhbnRCCgoIX3ZlcnNpb24iHgoQR2V0UmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCSI3ChFHZXRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCI/ChVHZXRSZWNvcmRCeUtleVJlcXVlc3QSEQoJbW9kZWxfa2V5GAEgASgJEhMKC25hdHVyYWxfa2V5GAIgASgJIjwKFkdldFJlY29yZEJ5S2V5UmVzcG9uc2USIgoGcmVjb3JkGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiQgoZR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKaWRlbnRpZmllchgCIAEoCSJAChpHZXRSZWNvcmRCeUtleU9ySWRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCLxAQoSTGlzdFJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUSKQoHZmlsdGVycxgEIAMoCzIYLnJlY29yZHMudjEuUmVjb3JkRmlsdGVyEiMKBHNvcnQYBSADKAsyFS5yZWNvcmRzLnYxLlNvcnRGaWVsZBIYCgtjdXN0b21lcl9pZBgGIAEoCUgAiAEBEhMKBnNlYXJjaBgHIAEoCUgBiAEBEg8KB3ByZXZpZXcYCCABKAhCDgoMX2N1c3RvbWVyX2lkQgkKB19zZWFyY2giSQoTTGlzdFJlY29yZHNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSDQoFdG90YWwYAiABKAUicgoTVXBkYXRlUmVjb3JkUmVxdWVzdBIKCgJpZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBQg4KDF9uYXR1cmFsX2tleSI6ChRVcGRhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIhChNEZWxldGVSZWNvcmRSZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZVJlY29yZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgipwEKE1Vwc2VydFJlY29yZFJlcXVlc3QSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEQoJbW9kZWxfa2V5GAMgASgJEhMKC25hdHVyYWxfa2V5GAQgASgJEiUKBGRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhoKEmNoYW5nZV9kZXNjcmlwdGlvbhgGIAEoCSJLChRVcHNlcnRSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIPCgdjcmVhdGVkGAIgASgIIk4KHEJhdGNoUmVjb3JkT3BlcmF0aW9uc1JlcXVlc3QSLgoKb3BlcmF0aW9ucxgBIAMoCzIaLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb24iUgodQmF0Y2hSZWNvcmRPcGVyYXRpb25zUmVzcG9uc2USMQoHcmVzdWx0cxgBIAMoCzIgLnJlY29yZHMudjEuQmF0Y2hPcGVyYXRpb25SZXN1bHQifgoYQnVsa1VwZGF0ZVJlY29yZHNSZXF1ZXN0EhEKCW1vZGVsX2tleRgBIAEoCRIoCgZmaWx0ZXIYAiADKAsyGC5yZWNvcmRzLnYxLlJlY29yZEZpbHRlchIlCgRkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIqChlCdWxrVXBkYXRlUmVjb3Jkc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFIlYKFkR1cGxpY2F0ZVJlY29yZFJlcXVlc3QSCgoCaWQYASABKAkSHAoPbmV3X25hdHVyYWxfa2V5GAIgASgJSACIAQFCEgoQX25ld19uYXR1cmFsX2tleSI9ChdEdXBsaWNhdGVSZWNvcmRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJQChtEdXBsaWNhdGVSZWNvcmRzQnVsa1JlcXVlc3QSCwoDaWRzGAEgAygJEhYKCW1vZGVsX2tleRgCIAEoCUgAiAEBQgwKCl9tb2RlbF9rZXkiQwocRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQiiAEKFENyZWF0ZVZlcnNpb25SZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIfChJjaGFuZ2VfZGVzY3JpcHRpb24YAyABKAlIAIgBAUIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uIjwKFUNyZWF0ZVZlcnNpb25SZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiKwoVUHVibGlzaFZlcnNpb25SZXF1ZXN0EhIKCnZlcnNpb25faWQYASABKAkiPAoWUHVibGlzaFZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIrChZVbnB1Ymxpc2hSZWNvcmRSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIqChdVbnB1Ymxpc2hSZWNvcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKFlJldmVydFRvVmVyc2lvblJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSI9ChdSZXZlcnRUb1ZlcnNpb25SZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCJNChlMaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0EhEKCXBhcmVudF9pZBgBIAEoCRINCgVsaW1pdBgCIAEoBRIOCgZvZmZzZXQYAyABKAUiUQoaTGlzdFJlY29yZFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSJlChRDcmVhdGVWYXJpYW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEwoLdmFyaWFudF9rZXkYAiABKAkSJQoEZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPAoVQ3JlYXRlVmFyaWFudFJlc3BvbnNlEiMKB3ZhcmlhbnQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCKaAQoUVXBkYXRlVmFyaWFudFJlcXVlc3QSEgoKdmFyaWFudF9pZBgBIAEoCRIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI0Cg5tZXRhZGF0YV9wYXRjaBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUIRCg9fbWV0YWRhdGFfcGF0Y2giPAoVVXBkYXRlVmFyaWFudFJlc3BvbnNlEiMKB3ZhcmlhbnQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZCIqChREZWxldGVWYXJpYW50UmVxdWVzdBISCgp2YXJpYW50X2lkGAEgASgJIigKFURlbGV0ZVZhcmlhbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkEKGFNldERlZmF1bHRWYXJpYW50UmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkSEgoKdmFyaWFudF9pZBgCIAEoCSI/ChlTZXREZWZhdWx0VmFyaWFudFJlc3BvbnNlEiIKBnJlY29yZBgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkIk0KGUxpc3RSZWNvcmRWYXJpYW50c1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEg0KBWxpbWl0GAIgASgFEg4KBm9mZnNldBgDIAEoBSJRChpMaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRIkCgh2YXJpYW50cxgBIAMoCzISLnJlY29yZHMudjEuUmVjb3JkEg0KBXRvdGFsGAIgASgFIrABChJTYXZlQ29udGVudFJlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEiUKBGRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKC3ZhcmlhbnRfa2V5GAMgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAQgASgJSAGIAQFCDgoMX3ZhcmlhbnRfa2V5QhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iXgoTU2F2ZUNvbnRlbnRSZXNwb25zZRIiCgZyZWNvcmQYASABKAsyEi5yZWNvcmRzLnYxLlJlY29yZBIjCgd2ZXJzaW9uGAIgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiqgEKHFNjaGVkdWxlUmVjb3JkUHVibGlzaFJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCRIuCgpwdWJsaXNoX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1Cgx1bnB1Ymxpc2hfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDwoNX3VucHVibGlzaF9hdCJECh1TY2hlZHVsZVJlY29yZFB1Ymxpc2hSZXNwb25zZRIjCgd2ZXJzaW9uGAEgASgLMhIucmVjb3Jkcy52MS5SZWNvcmQiOQojQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlcXVlc3QSEgoKdmVyc2lvbl9pZBgBIAEoCSJLCiRDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVzcG9uc2USIwoHdmVyc2lvbhgBIAEoCzISLnJlY29yZHMudjEuUmVjb3JkItABCh1MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVxdWVzdBItCgRmcm9tGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEisKAnRvGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhYKCW1vZGVsX2tleRgDIAEoCUgCiAEBEg0KBWxpbWl0GAQgASgFEg4KBm9mZnNldBgFIAEoBUIHCgVfZnJvbUIFCgNfdG9CDAoKX21vZGVsX2tleSJVCh5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSIwChpHZXRTY2hlZHVsZWRQdWJsaXNoUmVxdWVzdBISCgp2ZXJzaW9uX2lkGAEgASgJIkwKG0dldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRItCghzY2hlZHVsZRgBIAEoCzIbLnJlY29yZHMudjEuUHVibGlzaFNjaGVkdWxlIn8KGExpc3REcmFmdFZlcnNpb25zUmVxdWVzdBIWCgltb2RlbF9rZXkYASABKAlIAIgBARITCgZzZWFyY2gYAiABKAlIAYgBARINCgVsaW1pdBgDIAEoBRIOCgZvZmZzZXQYBCABKAVCDAoKX21vZGVsX2tleUIJCgdfc2VhcmNoIlAKGUxpc3REcmFmdFZlcnNpb25zUmVzcG9uc2USJAoIdmVyc2lvbnMYASADKAsyEi5yZWNvcmRzLnYxLlJlY29yZBINCgV0b3RhbBgCIAEoBSIyChtCYXRjaFB1Ymxpc2hWZXJzaW9uc1JlcXVlc3QSEwoLdmVyc2lvbl9pZHMYASADKAkiXAocQmF0Y2hQdWJsaXNoVmVyc2lvbnNSZXNwb25zZRIjCgdyZWNvcmRzGAEgAygLMhIucmVjb3Jkcy52MS5SZWNvcmQSFwoPcHVibGlzaGVkX2NvdW50GAIgASgFIlUKEkV4cGVyaW1lbnRFeHBvc3VyZRIWCg5leHBlcmltZW50X2tleRgBIAEoCRITCgt2YXJpYW50X2tleRgCIAEoCRISCgppc19jb250cm9sGAMgASgIIuEBChpCYXRjaFJlc29sdmVSZWNvcmRzUmVxdWVzdBIRCgltb2RlbF9rZXkYASABKAkSEgoKcmVjb3JkX2lkcxgCIAMoCRIYCgtjdXN0b21lcl9pZBgDIAEoCUgAiAEBEi0KB2NvbnRleHQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAGIAQESDwoHcHJldmlldxgFIAEoCBIXCgp2aWV3ZXJfa2V5GAYgASgJSAKIAQFCDgoMX2N1c3RvbWVyX2lkQgoKCF9jb250ZXh0Qg0KC192aWV3ZXJfa2V5IkoKG0JhdGNoUmVzb2x2ZVJlY29yZHNSZXNwb25zZRIrCgdyZWNvcmRzGAEgAygLMhoucmVjb3Jkcy52MS5SZXNvbHZlZFJlY29yZCLHAgoOUmVzb2x2ZWRSZWNvcmQSEQoJcmVjb3JkX2lkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgp2YXJpYW50X2lkGAYgASgJSAGIAQESQAoTZXhwZXJpbWVudF9leHBvc3VyZRgHIAEoCzIeLnJlY29yZHMudjEuRXhwZXJpbWVudEV4cG9zdXJlSAKIAQESEQoJaGFzX2RyYWZ0GAggASgIQg4KDF9uYXR1cmFsX2tleUINCgtfdmFyaWFudF9pZEIWChRfZXhwZXJpbWVudF9leHBvc3VyZSIvChlMb29rdXBSZWNvcmRNb2RlbHNSZXF1ZXN0EhIKCnJlY29yZF9pZHMYASADKAkiOAoQUmVjb3JkTW9kZWxFbnRyeRIRCglyZWNvcmRfaWQYASABKAkSEQoJbW9kZWxfa2V5GAIgASgJIksKGkxvb2t1cFJlY29yZE1vZGVsc1Jlc3BvbnNlEi0KB2VudHJpZXMYASADKAsyHC5yZWNvcmRzLnYxLlJlY29yZE1vZGVsRW50cnkiRwoTR2xvYmFsU2VhcmNoUmVxdWVzdBINCgVxdWVyeRgBIAEoCRISCgptb2RlbF9rZXlzGAIgAygJEg0KBWxpbWl0GAogASgFIpEBChBTZWFyY2hSZXN1bHRJdGVtEgoKAmlkGAEgASgJEhEKCW1vZGVsX2tleRgCIAEoCRIYCgtuYXR1cmFsX2tleRgDIAEoCUgAiAEBEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg0KBXNjb3JlGAUgASgBQg4KDF9uYXR1cmFsX2tleSJUChRHbG9iYWxTZWFyY2hSZXNwb25zZRItCgdyZWNvcmRzGAEgAygLMhwucmVjb3Jkcy52MS5TZWFyY2hSZXN1bHRJdGVtEg0KBXRvdGFsGAIgASgFIqEBCg5FbWJlZGRpbmdTdGF0cxIRCgltb2RlbF9rZXkYASABKAkSFQoNdG90YWxfcmVjb3JkcxgCIAEoBRIYChBlbWJlZGRlZF9yZWNvcmRzGAMgASgFEhcKD3BlbmRpbmdfcmVjb3JkcxgEIAEoBRIdChBsYXN0X2VtYmVkZGVkX2F0GAUgASgJSACIAQFCEwoRX2xhc3RfZW1iZWRkZWRfYXQidQoPUmVjb3JkRW1iZWRkaW5nEhEKCXJlY29yZF9pZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSEgoKZGltZW5zaW9ucxgDIAEoBRIYCgtlbWJlZGRlZF9hdBgEIAEoCUgAiAEBQg4KDF9lbWJlZGRlZF9hdCKTAQoNU2ltaWxhclJlY29yZBIKCgJpZBgBIAEoCRIRCgltb2RlbF9rZXkYAiABKAkSGAoLbmF0dXJhbF9rZXkYAyABKAlIAIgBARIlCgRkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgpzaW1pbGFyaXR5GAUgASgBQg4KDF9uYXR1cmFsX2tleSJAChhHZXRFbWJlZGRpbmdTdGF0c1JlcXVlc3QSFgoJbW9kZWxfa2V5GAEgASgJSACIAQFCDAoKX21vZGVsX2tleSJGChlHZXRFbWJlZGRpbmdTdGF0c1Jlc3BvbnNlEikKBXN0YXRzGAEgAygLMhoucmVjb3Jkcy52MS5FbWJlZGRpbmdTdGF0cyIvChpHZXRSZWNvcmRFbWJlZGRpbmdzUmVxdWVzdBIRCglyZWNvcmRfaWQYASABKAkiTgobR2V0UmVjb3JkRW1iZWRkaW5nc1Jlc3BvbnNlEi8KCmVtYmVkZGluZ3MYASADKAsyGy5yZWNvcmRzLnYxLlJlY29yZEVtYmVkZGluZyJjChlGaW5kU2ltaWxhclJlY29yZHNSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCRIWCgltb2RlbF9rZXkYAiABKAlIAIgBARINCgVsaW1pdBgKIAEoBUIMCgpfbW9kZWxfa2V5IkgKGkZpbmRTaW1pbGFyUmVjb3Jkc1Jlc3BvbnNlEioKB3JlY29yZHMYASADKAsyGS5yZWNvcmRzLnYxLlNpbWlsYXJSZWNvcmQimwEKFldyaXRlRW1iZWRkaW5nc1JlcXVlc3QSEQoJcmVjb3JkX2lkGAEgASgJEg4KBnZlY3RvchgCIAMoAhISCgpkaW1lbnNpb25zGAMgASgFEhUKCHByb3ZpZGVyGAQgASgJSACIAQESFwoKbW9kZWxfbmFtZRgFIAEoCUgBiAEBQgsKCV9wcm92aWRlckINCgtfbW9kZWxfbmFtZSIqChdXcml0ZUVtYmVkZGluZ3NSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiwKF0RlbGV0ZUVtYmVkZGluZ3NSZXF1ZXN0EhEKCXJlY29yZF9pZBgBIAEoCSIrChhEZWxldGVFbWJlZGRpbmdzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJkChdTZWFyY2hFbWJlZGRpbmdzUmVxdWVzdBIUCgxxdWVyeV92ZWN0b3IYASADKAISFgoJbW9kZWxfa2V5GAIgASgJSACIAQESDQoFbGltaXQYCiABKAVCDAoKX21vZGVsX2tleSJGChhTZWFyY2hFbWJlZGRpbmdzUmVzcG9uc2USKgoHcmVzdWx0cxgBIAMoCzIZLnJlY29yZHMudjEuU2ltaWxhclJlY29yZCpzCgpSZWNvcmRUeXBlEhsKF1JFQ09SRF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUkVDT1JEX1RZUEVfUkVDT1JEEAESFwoTUkVDT1JEX1RZUEVfVkFSSUFOVBACEhcKE1JFQ09SRF9UWVBFX1ZFUlNJT04QAyqdAQoSQmF0Y2hPcGVyYXRpb25UeXBlEiQKIEJBVENIX09QRVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfQ1JFQVRFEAESHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfVVBEQVRFEAISHwobQkFUQ0hfT1BFUkFUSU9OX1RZUEVfREVMRVRFEAMysRwKDlJlY29yZHNTZXJ2aWNlElEKDENyZWF0ZVJlY29yZBIfLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuQ3JlYXRlUmVjb3JkUmVzcG9uc2USSAoJR2V0UmVjb3JkEhwucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXF1ZXN0Gh0ucmVjb3Jkcy52MS5HZXRSZWNvcmRSZXNwb25zZRJXCg5HZXRSZWNvcmRCeUtleRIhLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlSZXF1ZXN0GiIucmVjb3Jkcy52MS5HZXRSZWNvcmRCeUtleVJlc3BvbnNlEmMKEkdldFJlY29yZEJ5S2V5T3JJZBIlLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVxdWVzdBomLnJlY29yZHMudjEuR2V0UmVjb3JkQnlLZXlPcklkUmVzcG9uc2USTgoLTGlzdFJlY29yZHMSHi5yZWNvcmRzLnYxLkxpc3RSZWNvcmRzUmVxdWVzdBofLnJlY29yZHMudjEuTGlzdFJlY29yZHNSZXNwb25zZRJRCgxVcGRhdGVSZWNvcmQSHy5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlcXVlc3QaIC5yZWNvcmRzLnYxLlVwZGF0ZVJlY29yZFJlc3BvbnNlElEKDFVwc2VydFJlY29yZBIfLnJlY29yZHMudjEuVXBzZXJ0UmVjb3JkUmVxdWVzdBogLnJlY29yZHMudjEuVXBzZXJ0UmVjb3JkUmVzcG9uc2USUQoMRGVsZXRlUmVjb3JkEh8ucmVjb3Jkcy52MS5EZWxldGVSZWNvcmRSZXF1ZXN0GiAucmVjb3Jkcy52MS5EZWxldGVSZWNvcmRSZXNwb25zZRJsChVCYXRjaFJlY29yZE9wZXJhdGlvbnMSKC5yZWNvcmRzLnYxLkJhdGNoUmVjb3JkT3BlcmF0aW9uc1JlcXVlc3QaKS5yZWNvcmRzLnYxLkJhdGNoUmVjb3JkT3BlcmF0aW9uc1Jlc3BvbnNlEmAKEUJ1bGtVcGRhdGVSZWNvcmRzEiQucmVjb3Jkcy52MS5CdWxrVXBkYXRlUmVjb3Jkc1JlcXVlc3QaJS5yZWNvcmRzLnYxLkJ1bGtVcGRhdGVSZWNvcmRzUmVzcG9uc2USWgoPRHVwbGljYXRlUmVjb3JkEiIucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXF1ZXN0GiMucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRSZXNwb25zZRJpChREdXBsaWNhdGVSZWNvcmRzQnVsaxInLnJlY29yZHMudjEuRHVwbGljYXRlUmVjb3Jkc0J1bGtSZXF1ZXN0GigucmVjb3Jkcy52MS5EdXBsaWNhdGVSZWNvcmRzQnVsa1Jlc3BvbnNlElQKDUNyZWF0ZVZlcnNpb24SIC5yZWNvcmRzLnYxLkNyZWF0ZVZlcnNpb25SZXF1ZXN0GiEucmVjb3Jkcy52MS5DcmVhdGVWZXJzaW9uUmVzcG9uc2USVwoOUHVibGlzaFZlcnNpb24SIS5yZWNvcmRzLnYxLlB1Ymxpc2hWZXJzaW9uUmVxdWVzdBoiLnJlY29yZHMudjEuUHVibGlzaFZlcnNpb25SZXNwb25zZRJaCg9VbnB1Ymxpc2hSZWNvcmQSIi5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlcXVlc3QaIy5yZWNvcmRzLnYxLlVucHVibGlzaFJlY29yZFJlc3BvbnNlEloKD1JldmVydFRvVmVyc2lvbhIiLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVxdWVzdBojLnJlY29yZHMudjEuUmV2ZXJ0VG9WZXJzaW9uUmVzcG9uc2USYwoSTGlzdFJlY29yZFZlcnNpb25zEiUucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXF1ZXN0GiYucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmVyc2lvbnNSZXNwb25zZRJOCgtTYXZlQ29udGVudBIeLnJlY29yZHMudjEuU2F2ZUNvbnRlbnRSZXF1ZXN0Gh8ucmVjb3Jkcy52MS5TYXZlQ29udGVudFJlc3BvbnNlElQKDUNyZWF0ZVZhcmlhbnQSIC5yZWNvcmRzLnYxLkNyZWF0ZVZhcmlhbnRSZXF1ZXN0GiEucmVjb3Jkcy52MS5DcmVhdGVWYXJpYW50UmVzcG9uc2USVAoNVXBkYXRlVmFyaWFudBIgLnJlY29yZHMudjEuVXBkYXRlVmFyaWFudFJlcXVlc3QaIS5yZWNvcmRzLnYxLlVwZGF0ZVZhcmlhbnRSZXNwb25zZRJUCg1EZWxldGVWYXJpYW50EiAucmVjb3Jkcy52MS5EZWxldGVWYXJpYW50UmVxdWVzdBohLnJlY29yZHMudjEuRGVsZXRlVmFyaWFudFJlc3BvbnNlEmAKEVNldERlZmF1bHRWYXJpYW50EiQucmVjb3Jkcy52MS5TZXREZWZhdWx0VmFyaWFudFJlcXVlc3QaJS5yZWNvcmRzLnYxLlNldERlZmF1bHRWYXJpYW50UmVzcG9uc2USYwoSTGlzdFJlY29yZFZhcmlhbnRzEiUucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmFyaWFudHNSZXF1ZXN0GiYucmVjb3Jkcy52MS5MaXN0UmVjb3JkVmFyaWFudHNSZXNwb25zZRJsChVTY2hlZHVsZVJlY29yZFB1Ymxpc2gSKC5yZWNvcmRzLnYxLlNjaGVkdWxlUmVjb3JkUHVibGlzaFJlcXVlc3QaKS5yZWNvcmRzLnYxLlNjaGVkdWxlUmVjb3JkUHVibGlzaFJlc3BvbnNlEoEBChxDYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoEi8ucmVjb3Jkcy52MS5DYW5jZWxTY2hlZHVsZWRSZWNvcmRQdWJsaXNoUmVxdWVzdBowLnJlY29yZHMudjEuQ2FuY2VsU2NoZWR1bGVkUmVjb3JkUHVibGlzaFJlc3BvbnNlEm8KFkxpc3RTY2hlZHVsZWRQdWJsaXNoZXMSKS5yZWNvcmRzLnYxLkxpc3RTY2hlZHVsZWRQdWJsaXNoZXNSZXF1ZXN0GioucmVjb3Jkcy52MS5MaXN0U2NoZWR1bGVkUHVibGlzaGVzUmVzcG9uc2USZgoTR2V0U2NoZWR1bGVkUHVibGlzaBImLnJlY29yZHMudjEuR2V0U2NoZWR1bGVkUHVibGlzaFJlcXVlc3QaJy5yZWNvcmRzLnYxLkdldFNjaGVkdWxlZFB1Ymxpc2hSZXNwb25zZRJgChFMaXN0RHJhZnRWZXJzaW9ucxIkLnJlY29yZHMudjEuTGlzdERyYWZ0VmVyc2lvbnNSZXF1ZXN0GiUucmVjb3Jkcy52MS5MaXN0RHJhZnRWZXJzaW9uc1Jlc3BvbnNlEmkKFEJhdGNoUHVibGlzaFZlcnNpb25zEicucmVjb3Jkcy52MS5CYXRjaFB1Ymxpc2hWZXJzaW9uc1JlcXVlc3QaKC5yZWNvcmRzLnYxLkJhdGNoUHVibGlzaFZlcnNpb25zUmVzcG9uc2USZgoTQmF0Y2hSZXNvbHZlUmVjb3JkcxImLnJlY29yZHMudjEuQmF0Y2hSZXNvbHZlUmVjb3Jkc1JlcXVlc3QaJy5yZWNvcmRzLnYxLkJhdGNoUmVzb2x2ZVJlY29yZHNSZXNwb25zZRJjChJMb29rdXBSZWNvcmRNb2RlbHMSJS5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZE1vZGVsc1JlcXVlc3QaJi5yZWNvcmRzLnYxLkxvb2t1cFJlY29yZE1vZGVsc1Jlc3BvbnNlElEKDEdsb2JhbFNlYXJjaBIfLnJlY29yZHMudjEuR2xvYmFsU2VhcmNoUmVxdWVzdBogLnJlY29yZHMudjEuR2xvYmFsU2VhcmNoUmVzcG9uc2USYAoRR2V0RW1iZWRkaW5nU3RhdHMSJC5yZWNvcmRzLnYxLkdldEVtYmVkZGluZ1N0YXRzUmVxdWVzdBolLnJlY29yZHMudjEuR2V0RW1iZWRkaW5nU3RhdHNSZXNwb25zZRJmChNHZXRSZWNvcmRFbWJlZGRpbmdzEiYucmVjb3Jkcy52MS5HZXRSZWNvcmRFbWJlZGRpbmdzUmVxdWVzdBonLnJlY29yZHMudjEuR2V0UmVjb3JkRW1iZWRkaW5nc1Jlc3BvbnNlEmMKEkZpbmRTaW1pbGFyUmVjb3JkcxIlLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVxdWVzdBomLnJlY29yZHMudjEuRmluZFNpbWlsYXJSZWNvcmRzUmVzcG9uc2USWgoPV3JpdGVFbWJlZGRpbmdzEiIucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXF1ZXN0GiMucmVjb3Jkcy52MS5Xcml0ZUVtYmVkZGluZ3NSZXNwb25zZRJdChBEZWxldGVFbWJlZGRpbmdzEiMucmVjb3Jkcy52MS5EZWxldGVFbWJlZGRpbmdzUmVxdWVzdBokLnJlY29yZHMudjEuRGVsZXRlRW1iZWRkaW5nc1Jlc3BvbnNlEl0KEFNlYXJjaEVtYmVkZGluZ3MSIy5yZWNvcmRzLnYxLlNlYXJjaEVtYmVkZGluZ3NSZXF1ZXN0GiQucmVjb3Jkcy52MS5TZWFyY2hFbWJlZGRpbmdzUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9laWRlc3R1ZGlvL2ZvaXIvZ2VuL3Byb3RvL3JlY29yZHMvdjE7cmVjb3Jkc3YxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_expressions_v1_expressions]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message records.v1.Record.
|