@evalops/sdk-ts 0.1.68 → 0.1.69

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.
@@ -2272,6 +2272,258 @@ export type GetEvaluationRunMetricsResponse = Message<"fermata.v1.GetEvaluationR
2272
2272
  * Use `create(GetEvaluationRunMetricsResponseSchema)` to create a new message.
2273
2273
  */
2274
2274
  export declare const GetEvaluationRunMetricsResponseSchema: GenMessage<GetEvaluationRunMetricsResponse>;
2275
+ /**
2276
+ * @generated from message fermata.v1.GetEvaluationGovernanceReportRequest
2277
+ */
2278
+ export type GetEvaluationGovernanceReportRequest = Message<"fermata.v1.GetEvaluationGovernanceReportRequest"> & {
2279
+ /**
2280
+ * @generated from field: string organization_id = 1;
2281
+ */
2282
+ organizationId: string;
2283
+ /**
2284
+ * @generated from field: string workspace_id = 2;
2285
+ */
2286
+ workspaceId: string;
2287
+ /**
2288
+ * @generated from field: string scenario_id = 3;
2289
+ */
2290
+ scenarioId: string;
2291
+ /**
2292
+ * @generated from field: int32 days = 4;
2293
+ */
2294
+ days: number;
2295
+ /**
2296
+ * @generated from field: int32 limit = 5;
2297
+ */
2298
+ limit: number;
2299
+ };
2300
+ /**
2301
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportRequest.
2302
+ * Use `create(GetEvaluationGovernanceReportRequestSchema)` to create a new message.
2303
+ */
2304
+ export declare const GetEvaluationGovernanceReportRequestSchema: GenMessage<GetEvaluationGovernanceReportRequest>;
2305
+ /**
2306
+ * @generated from message fermata.v1.GovernanceAssertionAggregate
2307
+ */
2308
+ export type GovernanceAssertionAggregate = Message<"fermata.v1.GovernanceAssertionAggregate"> & {
2309
+ /**
2310
+ * @generated from field: string assertion_id = 1;
2311
+ */
2312
+ assertionId: string;
2313
+ /**
2314
+ * @generated from field: int32 total = 2;
2315
+ */
2316
+ total: number;
2317
+ /**
2318
+ * @generated from field: int32 passed = 3;
2319
+ */
2320
+ passed: number;
2321
+ /**
2322
+ * @generated from field: int32 failed = 4;
2323
+ */
2324
+ failed: number;
2325
+ /**
2326
+ * @generated from field: double pass_rate = 5;
2327
+ */
2328
+ passRate: number;
2329
+ /**
2330
+ * @generated from field: double average_score = 6;
2331
+ */
2332
+ averageScore: number;
2333
+ };
2334
+ /**
2335
+ * Describes the message fermata.v1.GovernanceAssertionAggregate.
2336
+ * Use `create(GovernanceAssertionAggregateSchema)` to create a new message.
2337
+ */
2338
+ export declare const GovernanceAssertionAggregateSchema: GenMessage<GovernanceAssertionAggregate>;
2339
+ /**
2340
+ * @generated from message fermata.v1.GovernanceReportSummary
2341
+ */
2342
+ export type GovernanceReportSummary = Message<"fermata.v1.GovernanceReportSummary"> & {
2343
+ /**
2344
+ * @generated from field: int32 total_runs = 1;
2345
+ */
2346
+ totalRuns: number;
2347
+ /**
2348
+ * @generated from field: int32 governed_runs = 2;
2349
+ */
2350
+ governedRuns: number;
2351
+ /**
2352
+ * @generated from field: int32 passed_governance_runs = 3;
2353
+ */
2354
+ passedGovernanceRuns: number;
2355
+ /**
2356
+ * @generated from field: int32 failed_governance_runs = 4;
2357
+ */
2358
+ failedGovernanceRuns: number;
2359
+ /**
2360
+ * @generated from field: double average_composite_score = 5;
2361
+ */
2362
+ averageCompositeScore: number;
2363
+ /**
2364
+ * @generated from field: double policy_compliance_rate = 6;
2365
+ */
2366
+ policyComplianceRate: number;
2367
+ /**
2368
+ * @generated from field: double escalation_precision = 7;
2369
+ */
2370
+ escalationPrecision: number;
2371
+ /**
2372
+ * @generated from field: double escalation_recall = 8;
2373
+ */
2374
+ escalationRecall: number;
2375
+ /**
2376
+ * @generated from field: double approval_efficiency = 9;
2377
+ */
2378
+ approvalEfficiency: number;
2379
+ /**
2380
+ * @generated from field: int32 total_approval_requests = 10;
2381
+ */
2382
+ totalApprovalRequests: number;
2383
+ /**
2384
+ * @generated from field: double average_approval_requests = 11;
2385
+ */
2386
+ averageApprovalRequests: number;
2387
+ /**
2388
+ * @generated from field: int32 risk_signal_count = 12;
2389
+ */
2390
+ riskSignalCount: number;
2391
+ /**
2392
+ * @generated from field: repeated fermata.v1.GovernanceAssertionAggregate assertions = 13;
2393
+ */
2394
+ assertions: GovernanceAssertionAggregate[];
2395
+ };
2396
+ /**
2397
+ * Describes the message fermata.v1.GovernanceReportSummary.
2398
+ * Use `create(GovernanceReportSummarySchema)` to create a new message.
2399
+ */
2400
+ export declare const GovernanceReportSummarySchema: GenMessage<GovernanceReportSummary>;
2401
+ /**
2402
+ * @generated from message fermata.v1.GovernanceRunSummary
2403
+ */
2404
+ export type GovernanceRunSummary = Message<"fermata.v1.GovernanceRunSummary"> & {
2405
+ /**
2406
+ * @generated from field: string scenario_run_id = 1;
2407
+ */
2408
+ scenarioRunId: string;
2409
+ /**
2410
+ * @generated from field: string scenario_id = 2;
2411
+ */
2412
+ scenarioId: string;
2413
+ /**
2414
+ * @generated from field: fermata.v1.ScenarioRunStatus status = 3;
2415
+ */
2416
+ status: ScenarioRunStatus;
2417
+ /**
2418
+ * @generated from field: double composite_score = 4;
2419
+ */
2420
+ compositeScore: number;
2421
+ /**
2422
+ * @generated from field: double policy_compliance = 5;
2423
+ */
2424
+ policyCompliance: number;
2425
+ /**
2426
+ * @generated from field: double escalation_precision = 6;
2427
+ */
2428
+ escalationPrecision: number;
2429
+ /**
2430
+ * @generated from field: double escalation_recall = 7;
2431
+ */
2432
+ escalationRecall: number;
2433
+ /**
2434
+ * @generated from field: double approval_efficiency = 8;
2435
+ */
2436
+ approvalEfficiency: number;
2437
+ /**
2438
+ * @generated from field: int32 approval_requests = 9;
2439
+ */
2440
+ approvalRequests: number;
2441
+ /**
2442
+ * @generated from field: repeated string failed_assertion_ids = 10;
2443
+ */
2444
+ failedAssertionIds: string[];
2445
+ /**
2446
+ * @generated from field: string trace_id = 11;
2447
+ */
2448
+ traceId: string;
2449
+ /**
2450
+ * @generated from field: google.protobuf.Timestamp completed_at = 12;
2451
+ */
2452
+ completedAt?: Timestamp | undefined;
2453
+ };
2454
+ /**
2455
+ * Describes the message fermata.v1.GovernanceRunSummary.
2456
+ * Use `create(GovernanceRunSummarySchema)` to create a new message.
2457
+ */
2458
+ export declare const GovernanceRunSummarySchema: GenMessage<GovernanceRunSummary>;
2459
+ /**
2460
+ * @generated from message fermata.v1.GovernanceRiskSignal
2461
+ */
2462
+ export type GovernanceRiskSignal = Message<"fermata.v1.GovernanceRiskSignal"> & {
2463
+ /**
2464
+ * @generated from field: string id = 1;
2465
+ */
2466
+ id: string;
2467
+ /**
2468
+ * @generated from field: string scenario_run_id = 2;
2469
+ */
2470
+ scenarioRunId: string;
2471
+ /**
2472
+ * @generated from field: string scenario_id = 3;
2473
+ */
2474
+ scenarioId: string;
2475
+ /**
2476
+ * @generated from field: string severity = 4;
2477
+ */
2478
+ severity: string;
2479
+ /**
2480
+ * @generated from field: string message = 5;
2481
+ */
2482
+ message: string;
2483
+ /**
2484
+ * @generated from field: repeated string degraded_metrics = 6;
2485
+ */
2486
+ degradedMetrics: string[];
2487
+ /**
2488
+ * @generated from field: repeated common.v1.EvidenceRef evidence = 7;
2489
+ */
2490
+ evidence: EvidenceRef[];
2491
+ /**
2492
+ * @generated from field: string trace_id = 8;
2493
+ */
2494
+ traceId: string;
2495
+ /**
2496
+ * @generated from field: google.protobuf.Timestamp recorded_at = 9;
2497
+ */
2498
+ recordedAt?: Timestamp | undefined;
2499
+ };
2500
+ /**
2501
+ * Describes the message fermata.v1.GovernanceRiskSignal.
2502
+ * Use `create(GovernanceRiskSignalSchema)` to create a new message.
2503
+ */
2504
+ export declare const GovernanceRiskSignalSchema: GenMessage<GovernanceRiskSignal>;
2505
+ /**
2506
+ * @generated from message fermata.v1.GetEvaluationGovernanceReportResponse
2507
+ */
2508
+ export type GetEvaluationGovernanceReportResponse = Message<"fermata.v1.GetEvaluationGovernanceReportResponse"> & {
2509
+ /**
2510
+ * @generated from field: fermata.v1.GovernanceReportSummary summary = 1;
2511
+ */
2512
+ summary?: GovernanceReportSummary | undefined;
2513
+ /**
2514
+ * @generated from field: repeated fermata.v1.GovernanceRunSummary recent_runs = 2;
2515
+ */
2516
+ recentRuns: GovernanceRunSummary[];
2517
+ /**
2518
+ * @generated from field: repeated fermata.v1.GovernanceRiskSignal risk_signals = 3;
2519
+ */
2520
+ riskSignals: GovernanceRiskSignal[];
2521
+ };
2522
+ /**
2523
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportResponse.
2524
+ * Use `create(GetEvaluationGovernanceReportResponseSchema)` to create a new message.
2525
+ */
2526
+ export declare const GetEvaluationGovernanceReportResponseSchema: GenMessage<GetEvaluationGovernanceReportResponse>;
2275
2527
  /**
2276
2528
  * @generated from message fermata.v1.DiagnosticFinding
2277
2529
  */
@@ -3557,6 +3809,14 @@ export declare const FermataService: GenService<{
3557
3809
  input: typeof GetEvaluationRunMetricsRequestSchema;
3558
3810
  output: typeof GetEvaluationRunMetricsResponseSchema;
3559
3811
  };
3812
+ /**
3813
+ * @generated from rpc fermata.v1.FermataService.GetEvaluationGovernanceReport
3814
+ */
3815
+ getEvaluationGovernanceReport: {
3816
+ methodKind: "unary";
3817
+ input: typeof GetEvaluationGovernanceReportRequestSchema;
3818
+ output: typeof GetEvaluationGovernanceReportResponseSchema;
3819
+ };
3560
3820
  /**
3561
3821
  * @generated from rpc fermata.v1.FermataService.ExplainScenarioRun
3562
3822
  */
@@ -11,7 +11,7 @@ import { file_traces_v1_traces } from "../../traces/v1/traces_pb.js";
11
11
  /**
12
12
  * Describes the file fermata/v1/fermata.proto.
13
13
  */
14
- export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi0AEKD0N1c3RvbUV2YWx1YXRvchIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKBnNvdXJjZRgCIAEoCUIHukgEcgIQARIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYBSABKAkSFAoMd29ya3NwYWNlX2lkGAYgASgJIqMDCgVKdWRnZRIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD29yZ2FuaXphdGlvbl9pZBgMIAEoCRIUCgx3b3Jrc3BhY2VfaWQYDSABKAkiugYKCFNjZW5hcmlvEgoKAmlkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAyABKAlCB7pIBHICEAESFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRIoCglvYmplY3RpdmUYBiABKAsyFS5mZXJtYXRhLnYxLk9iamVjdGl2ZRItCgxhZ2VudF9jb25maWcYByABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAggASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAkgASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAogASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgLIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYDCABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGA0gASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDiADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA8gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgQIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYESABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIu8BCglPYmplY3RpdmUSHAoLZGVzY3JpcHRpb24YASABKAlCB7pIBHICEAESNgoQc3VjY2Vzc19jcml0ZXJpYRgCIAMoCzIcLmZlcm1hdGEudjEuU3VjY2Vzc0NyaXRlcmlvbhJACg5leHBlY3RlZF9zdGF0ZRgDIAMoCzIoLmZlcm1hdGEudjEuT2JqZWN0aXZlLkV4cGVjdGVkU3RhdGVFbnRyeRIUCgxvYmplY3RpdmVfaWQYBCABKAkaNAoSRXhwZWN0ZWRTdGF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirwEKEFN1Y2Nlc3NDcml0ZXJpb24SCgoCaWQYASABKAkSHAoLZGVzY3JpcHRpb24YAiABKAlCB7pIBHICEAESDgoGbWV0cmljGAMgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAQgASgJEh4KBndlaWdodBgFIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUBCgtBZ2VudENvbmZpZxIQCghhZ2VudF9pZBgBIAEoCRINCgVtb2RlbBgCIAEoCRIRCgl0b29sX3JlZnMYAyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYBCADKAkSHAoUZ292ZXJuYW5jZV9wb2xpY3lfaWQYBSABKAkSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IvcBChNTY2VuYXJpb0Vudmlyb25tZW50EjsKBGtpbmQYASABKA4yIy5mZXJtYXRhLnYxLlNjZW5hcmlvRW52aXJvbm1lbnRLaW5kQgi6SAWCAQIQARIjCgV0b29scxgCIAMoCzIULmZlcm1hdGEudjEuTW9ja1Rvb2wSKwoJZW5kcG9pbnRzGAMgAygLMhguZmVybWF0YS52MS5Nb2NrRW5kcG9pbnQSFQoNc2VlZF9kYXRhX3JlZhgEIAEoCRIPCgdzYW5kYm94GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK7AQoITW9ja1Rvb2wSFQoEbmFtZRgBIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgCIAEoCRItCgxpbnB1dF9zY2hlbWEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHJlc3BvbnNlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiqQEKDE1vY2tFbmRwb2ludBIOCgZtZXRob2QYASABKAkSFQoEcGF0aBgCIAEoCUIHukgEcgIQARIcCgtzdGF0dXNfY29kZRgDIAEoBUIHukgEGgIoABIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IocCCg1Vc2VyU2ltdWxhdG9yEg8KB3BlcnNvbmEYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEj0KCHN0cmF0ZWd5GAMgASgOMiEuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yU3RyYXRlZ3lCCLpIBYIBAhABEg0KBW1vZGVsGAQgASgJEhoKCW1heF90dXJucxgFIAEoBUIHukgEGgIoABIbChN2ZXJpZnlfYWdlbnRfY2xhaW1zGAYgASgIEh0KFXJlcXVlc3RfY2xhcmlmaWNhdGlvbhgHIAEoCBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QixQEKEE91dGNvbWVDcml0ZXJpb24SCgoCaWQYASABKAkSOAoEa2luZBgCIAEoDjIgLmZlcm1hdGEudjEuT3V0Y29tZUNyaXRlcmlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLcAgoTR292ZXJuYW5jZUFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZUIIukgFggECEAESOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgDIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEhcKD3Nob3VsZF9lc2NhbGF0ZRgEIAEoCBIhChlleHBlY3RlZF9hcHByb3ZhbF9vdXRjb21lGAUgASgJEhsKE2FsbG93ZWRfZGF0YV9zY29wZXMYBiADKAkSGgoSZGVuaWVkX2RhdGFfc2NvcGVzGAcgAygJEh8KF2V4cGVjdGVkX3BpaV9jYXRlZ29yaWVzGAggAygJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLqAQoTRGVsZWdhdGlvbkFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5EZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZUIIukgFggECEAESGQoRZXhwZWN0ZWRfYWdlbnRfaWQYAyABKAkSIAoPbWF4X2NoYWluX2RlcHRoGAQgASgFQge6SAQaAigAEiIKCG1heF9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKIBAoLU2NlbmFyaW9SdW4SCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDiABKAkisQYKDlNjZW5hcmlvUmVzdWx0EhoKEm9iamVjdGl2ZV9hY2hpZXZlZBgBIAEoCBIZChFvYmplY3RpdmVfc3VtbWFyeRgCIAEoCRIcCgt0b3RhbF9zdGVwcxgDIAEoBUIHukgEGgIoABIcCgttb2RlbF9jYWxscxgEIAEoBUIHukgEGgIoABIbCgp0b29sX2NhbGxzGAUgASgFQge6SAQaAigAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAYgASgFQge6SAQaAigAEiIKEWRlbGVnYXRpb25fZXZlbnRzGAcgASgFQge6SAQaAigAEiAKD3JlY292ZXJ5X2V2ZW50cxgIIAEoBUIHukgEGgIoABI+ChFhc3NlcnRpb25fcmVzdWx0cxgJIAMoCzIjLmZlcm1hdGEudjEuU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSLwoKZ292ZXJuYW5jZRgKIAEoCzIbLmZlcm1hdGEudjEuR292ZXJuYW5jZVNjb3JlEiwKCWVjb25vbWljcxgLIAEoCzIZLmZlcm1hdGEudjEuRWNvbm9taWNTY29yZRIhCglwYXNzX2F0X2sYDCABKAFCDrpICxIJKQAAAAAAAAAAEi8KCmRlbGVnYXRpb24YDSABKAsyGy5mZXJtYXRhLnYxLkRlbGVnYXRpb25TY29yZRIkCgp0b3RhbF9jb3N0GA4gASgLMhAuY29tbW9uLnYxLk1vbmV5EjEKDnRvdGFsX2R1cmF0aW9uGA8gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKCG1ldGFkYXRhGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIjCgp0cmFqZWN0b3J5GBEgAygLMg8udHJhY2VzLnYxLlNwYW4SJQoNdHJhamVjdG9yeV9mMRgSIAEoAUIOukgLEgkpAAAAAAAAAAASNgoedHJhamVjdG9yeV9lZGl0X2Rpc3RhbmNlX3Njb3JlGBMgASgBQg66SAsSCSkAAAAAAAAAABIqCgVkcmlmdBgUIAEoCzIbLmZlcm1hdGEudjEuRHJpZnRDb21wYXJpc29uIpoBChdTY2VuYXJpb0Fzc2VydGlvblJlc3VsdBIUCgxhc3NlcnRpb25faWQYASABKAkSDgoGcGFzc2VkGAIgASgIEg0KBXNjb3JlGAMgASgBEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKPAgoPR292ZXJuYW5jZVNjb3JlEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAEgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgCIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYAyABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYBCABKAFCDrpICxIJKQAAAAAAAAAAEiEKCWNvbXBvc2l0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASKAoIZXZpZGVuY2UYBiADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYigAIKDUVjb25vbWljU2NvcmUSMgoYY29zdF9wZXJfc3VjY2Vzc2Z1bF90YXNrGAEgASgLMhAuY29tbW9uLnYxLk1vbmV5EiIKCGxsbV9jb3N0GAIgASgLMhAuY29tbW9uLnYxLk1vbmV5EiMKCXRvb2xfY29zdBgDIAEoCzIQLmNvbW1vbi52MS5Nb25leRIqChBzdXBlcnZpc2lvbl9jb3N0GAQgASgLMhAuY29tbW9uLnYxLk1vbmV5EhoKEm9uX3BhcmV0b19mcm9udGllchgFIAEoCBIqChJxdWFsaXR5X3Blcl9kb2xsYXIYBiABKAFCDrpICxIJKQAAAAAAAAAAIsoBCg9EZWxlZ2F0aW9uU2NvcmUSKwoTZGVsZWdhdGlvbl9hY2N1cmFjeRgBIAEoAUIOukgLEgkpAAAAAAAAAAASKAoQY29udGV4dF9maWRlbGl0eRgCIAEoAUIOukgLEgkpAAAAAAAAAAASFwoPZWZmaWNpZW5jeV9nYWluGAMgASgBEikKEWZhaWx1cmVfaXNvbGF0aW9uGAQgASgBQg66SAsSCSkAAAAAAAAAABIcCgtjaGFpbl9kZXB0aBgFIAEoBUIHukgEGgIoACLeAwoPRHJpZnRDb21wYXJpc29uEhAKCGRldGVjdGVkGAEgASgIEi4KFmJhc2VsaW5lX3F1YWxpdHlfc2NvcmUYAiABKAFCDrpICxIJKQAAAAAAAAAAEi0KFWN1cnJlbnRfcXVhbGl0eV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASFQoNcXVhbGl0eV9kZWx0YRgEIAEoARInCg1iYXNlbGluZV9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EiYKDGN1cnJlbnRfY29zdBgGIAEoCzIQLmNvbW1vbi52MS5Nb25leRIkCgpjb3N0X2RlbHRhGAcgASgLMhAuY29tbW9uLnYxLk1vbmV5EjAKGGJhc2VsaW5lX2VzY2FsYXRpb25fcmF0ZRgIIAEoAUIOukgLEgkpAAAAAAAAAAASLwoXY3VycmVudF9lc2NhbGF0aW9uX3JhdGUYCSABKAFCDrpICxIJKQAAAAAAAAAAEh0KFWVzY2FsYXRpb25fcmF0ZV9kZWx0YRgKIAEoARIgChhnZW5lcmF0ZWRfc3VpdGVfc3RyYXRlZ3kYCyABKAkSKAoIZXZpZGVuY2UYDCADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYi1QEKFkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiMKBWNhc2VzGAUgAygLMhQuZmVybWF0YS52MS5UZXN0Q2FzZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPwoXQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJfChNHZXRUZXN0U3VpdGVSZXF1ZXN0EhkKCHN1aXRlX2lkGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiPAoUR2V0VGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSKAAQoVTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlEKFkxpc3RUZXN0U3VpdGVzUmVzcG9uc2USJQoGc3VpdGVzGAEgAygLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUSEAoIaGFzX21vcmUYAiABKAgi4wUKFUNyZWF0ZVNjZW5hcmlvUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSMAoJb2JqZWN0aXZlGAUgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmVCBrpIA8gBARItCgxhZ2VudF9jb25maWcYBiABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAcgASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAggASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYCyABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGAwgASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDSADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA4gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYECABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkAKFkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvImEKEkdldFNjZW5hcmlvUmVxdWVzdBIcCgtzY2VuYXJpb19pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIj0KE0dldFNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIn8KFExpc3RTY2VuYXJpb3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlIKFUxpc3RTY2VuYXJpb3NSZXNwb25zZRInCglzY2VuYXJpb3MYASADKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEhAKCGhhc19tb3JlGAIgASgIIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCKZAQoqR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoEZGF5cxgDIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgEIAEoBUIKukgHGgUY9AMoACKVAwoeRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNdG90YWxfcmVzdWx0cxgCIAEoBUIHukgEGgIoABIfCg5mYWlsZWRfcmVzdWx0cxgDIAEoBUIHukgEGgIoABIlCg1hdmVyYWdlX3Njb3JlGAQgASgBQg66SAsSCSkAAAAAAAAAABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiQKCnRvdGFsX2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAcgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAASJwoWcmVncmVzc2lvbl9hbGVydF9jb3VudBgJIAEoBUIHukgEGgIoABIxChd0b3RhbF9jb3N0c19ieV9jdXJyZW5jeRgKIAMoCzIQLmNvbW1vbi52MS5Nb25leSKIBAoaRXZhbHVhdGlvblJlY2VudFJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEh4KDXRvdGFsX3Jlc3VsdHMYAyABKAVCB7pIBBoCKAASIgoRY29tcGxldGVkX3Jlc3VsdHMYBCABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYBSABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYCCABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAkgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCiABKANCB7pIBCICKAASLgoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCgh0cmFjZV9pZBgNIAEoCRIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDiABKAgi0QMKGUV2YWx1YXRpb25SZWdyZXNzaW9uQWxlcnQSEwoCaWQYASABKAlCB7pIBHICEAESEwoLc2NlbmFyaW9faWQYAiABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAMgASgJQge6SARyAhABEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSLQoVcmVncmVzc2lvbl9wZXJjZW50YWdlGAYgASgBQg66SAsSCSkAAAAAAAAAABIgChhiYXNlbGluZV9zY2VuYXJpb19ydW5faWQYByABKAkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5EhMKC2Vudmlyb25tZW50GAogASgJEiEKGXN0YXRpc3RpY2FsbHlfc2lnbmlmaWNhbnQYCyABKAgSHwoHcF92YWx1ZRgMIAEoAUIOukgLEgkpAAAAAAAAAAASGAoQZGVncmFkZWRfbWV0cmljcxgNIAMoCRIvCgtyZWNvcmRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QEKK0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2USOwoHc3VtbWFyeRgBIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EjsKC3JlY2VudF9ydW5zGAIgAygLMiYuZmVybWF0YS52MS5FdmFsdWF0aW9uUmVjZW50UnVuU3VtbWFyeRJAChFyZWdyZXNzaW9uX2FsZXJ0cxgDIAMoCzIlLmZlcm1hdGEudjEuRXZhbHVhdGlvblJlZ3Jlc3Npb25BbGVydCJxCh5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAEivgIKG0V2YWx1YXRpb25SdW5NZXRyaWNzU3VtbWFyeRIdCgxyZXN1bHRfY291bnQYASABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYAiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYBSABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAYgASgBQg66SAsSCSkAAAAAAAAAABIfCg5wOTVfbGF0ZW5jeV9tcxgHIAEoA0IHukgEIgIoABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAAi3QEKGkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzEhQKDGFzc2VydGlvbl9pZBgBIAEoCRIOCgZwYXNzZWQYAiABKAgSHQoFc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK2AQofR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZRIgCg9zY2VuYXJpb19ydW5faWQYASABKAlCB7pIBHICEAESOAoHc3VtbWFyeRgCIAEoCzInLmZlcm1hdGEudjEuRXZhbHVhdGlvblJ1bk1ldHJpY3NTdW1tYXJ5EjcKB3Jlc3VsdHMYAyADKAsyJi5mZXJtYXRhLnYxLkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzIt8BChFEaWFnbm9zdGljRmluZGluZxIKCgJpZBgBIAEoCRJBCghzZXZlcml0eRgCIAEoDjIlLmZlcm1hdGEudjEuRGlhZ25vc3RpY0ZpbmRpbmdTZXZlcml0eUIIukgFggECEAESFgoFdGl0bGUYAyABKAlCB7pIBHICEAESDgoGZGV0YWlsGAQgASgJEigKCGV2aWRlbmNlGAUgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLvBAocRXZhbHVhdGlvbkRpYWdub3N0aWNBcnRpZmFjdBITCgJpZBgBIAEoCUIHukgEcgIQARI6CgRraW5kGAIgASgOMiIuZmVybWF0YS52MS5EaWFnbm9zdGljQXJ0aWZhY3RLaW5kQgi6SAWCAQIQARIgCg9vcmdhbml6YXRpb25faWQYAyABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAQgASgJEhMKC3NjZW5hcmlvX2lkGAUgASgJEiAKD3NjZW5hcmlvX3J1bl9pZBgGIAEoCUIHukgEcgIQARIQCgh0cmFjZV9pZBgHIAEoCRIWCgV0aXRsZRgIIAEoCUIHukgEcgIQARIPCgdzdW1tYXJ5GAkgASgJEi8KCGZpbmRpbmdzGAogAygLMh0uZmVybWF0YS52MS5EaWFnbm9zdGljRmluZGluZxIoCghldmlkZW5jZRgLIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIuCg1pbnB1dF9jb250ZXh0GAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgdwYXlsb2FkGA0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIUCgxhcnRpZmFjdF91cmkYDiABKAkSFgoOY29udGVudF9zaGEyNTYYDyABKAkSEQoJcGVyc2lzdGVkGBAgASgIEi4KCmNyZWF0ZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIscBChlFeHBsYWluU2NlbmFyaW9SdW5SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFwoGcnVuX2lkGAMgASgJQge6SARyAhABEhUKDWluY2x1ZGVfdHJhY2UYBCABKAgSGAoQcGVyc2lzdF9hcnRpZmFjdBgFIAEoCBIoCgdjb250ZXh0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJYChpFeHBsYWluU2NlbmFyaW9SdW5SZXNwb25zZRI6CghhcnRpZmFjdBgBIAEoCzIoLmZlcm1hdGEudjEuRXZhbHVhdGlvbkRpYWdub3N0aWNBcnRpZmFjdCLxAQoiQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhcKBnJ1bl9pZBgDIAEoCUIHukgEcgIQARIfChdzdXNwZWN0ZWRfZmFpbHVyZV9tb2RlcxgEIAMoCRIVCg1pbmNsdWRlX3RyYWNlGAUgASgIEhgKEHBlcnNpc3RfYXJ0aWZhY3QYBiABKAgSKAoHY29udGV4dBgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYQojQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlUmVzcG9uc2USOgoIYXJ0aWZhY3QYASABKAsyKC5mZXJtYXRhLnYxLkV2YWx1YXRpb25EaWFnbm9zdGljQXJ0aWZhY3QikQIKHkp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5TWV0cmljcxIRCglwcmVjaXNpb24YASABKAESDgoGcmVjYWxsGAIgASgBEhAKCGYxX3Njb3JlGAMgASgBEhAKCGFjY3VyYWN5GAQgASgBEiIKEXRvdGFsX3ZhbGlkYXRpb25zGAUgASgFQge6SAQaAigAEh8KDnRydWVfcG9zaXRpdmVzGAYgASgFQge6SAQaAigAEiAKD2ZhbHNlX3Bvc2l0aXZlcxgHIAEoBUIHukgEGgIoABIfCg50cnVlX25lZ2F0aXZlcxgIIAEoBUIHukgEGgIoABIgCg9mYWxzZV9uZWdhdGl2ZXMYCSABKAVCB7pIBBoCKAAiwAEKHkp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeBImChVqdWRnZV9wYXNzX2h1bWFuX3Bhc3MYASABKAVCB7pIBBoCKAASJgoVanVkZ2VfcGFzc19odW1hbl9mYWlsGAIgASgFQge6SAQaAigAEiYKFWp1ZGdlX2ZhaWxfaHVtYW5fcGFzcxgDIAEoBUIHukgEGgIoABImChVqdWRnZV9mYWlsX2h1bWFuX2ZhaWwYBCABKAVCB7pIBBoCKAAi0QEKGkp1ZGdlVmFsaWRhdGlvbkJpYXNNZXRyaWNzEhQKDG92ZXJfc2NvcmluZxgBIAEoCBIVCg11bmRlcl9zY29yaW5nGAIgASgIEhMKC3Njb3JlX2RyaWZ0GAMgASgBEhsKE2F2ZXJhZ2VfanVkZ2Vfc2NvcmUYBCABKAESGwoTYXZlcmFnZV9odW1hbl9zY29yZRgFIAEoARIZChFzY29yZV9jb3JyZWxhdGlvbhgGIAEoARIcCgtzYW1wbGVfc2l6ZRgHIAEoBUIHukgEGgIoACKcAQoaSnVkZ2VWYWxpZGF0aW9uQ2FsaWJyYXRpb24SGQoIanVkZ2VfaWQYASABKAlCB7pIBHICEAESGwoTdmFsaWRhdGlvbl9hY2N1cmFjeRgCIAEoARIRCgl2YWxpZGF0ZWQYAyABKAgSMwoPbGFzdF92YWxpZGF0aW9uGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKZBAoZSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbhIeCg1ldmFsdWF0aW9uX2lkGAEgASgJQge6SARyAhABEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAyABKAkSGQoIanVkZ2VfaWQYBCABKAlCB7pIBHICEAESFwoPc2NlbmFyaW9fcnVuX2lkGAUgASgJEhQKDGFzc2VydGlvbl9pZBgGIAEoCRIsCgtqdWRnZV9zY29yZRgHIAEoAUIXukgUEhIZAAAAAAAA8D8pAAAAAAAAAAASFAoManVkZ2VfcGFzc2VkGAggASgIEhcKD2h1bWFuX3ZhbGlkYXRlZBgJIAEoCBIxCgtodW1hbl9zY29yZRgKIAEoAUIXukgUEhIZAAAAAAAAWUApAAAAAAAAAABIAIgBARIYChB2YWxpZGF0aW9uX25vdGVzGAsgASgJEg4KBnNvdXJjZRgMIAEoCRIwCgxldmFsdWF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9odW1hbl9zY29yZSJIChlKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlEhkKCGp1ZGdlX2lkGAEgASgJQge6SARyAhABEhAKCGFjY3VyYWN5GAIgASgBImAKIUdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5UmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiYQoiR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXNwb25zZRI7CgdtZXRyaWNzGAEgASgLMiouZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25BY2N1cmFjeU1ldHJpY3MiZwooR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiZwopR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVzcG9uc2USOgoGbWF0cml4GAEgASgLMiouZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXgiXAodR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABIlkKHkdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXNwb25zZRI3CgdtZXRyaWNzGAEgASgLMiYuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25CaWFzTWV0cmljcyJgCiFSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABImEKIlJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVzcG9uc2USOwoLY2FsaWJyYXRpb24YASABKAsyJi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkNhbGlicmF0aW9uIr0DCiZSZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBIVCg1ldmFsdWF0aW9uX2lkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAyABKAkSGQoIanVkZ2VfaWQYBCABKAlCB7pIBHICEAESFwoPc2NlbmFyaW9fcnVuX2lkGAUgASgJEhQKDGFzc2VydGlvbl9pZBgGIAEoCRIsCgtqdWRnZV9zY29yZRgHIAEoAUIXukgUEhIZAAAAAAAA8D8pAAAAAAAAAAASFAoManVkZ2VfcGFzc2VkGAggASgIEhcKD2h1bWFuX3ZhbGlkYXRlZBgJIAEoCBIxCgtodW1hbl9zY29yZRgKIAEoAUIXukgUEhIZAAAAAAAAWUApAAAAAAAAAABIAIgBARIYChB2YWxpZGF0aW9uX25vdGVzGAsgASgJEg4KBnNvdXJjZRgMIAEoCRIwCgxldmFsdWF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9odW1hbl9zY29yZSJkCidSZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2USOQoKZXZhbHVhdGlvbhgBIAEoCzIlLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbiLJAQooVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBIeCg1ldmFsdWF0aW9uX2lkGAEgASgJQge6SARyAhABEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIxCgtodW1hbl9zY29yZRgDIAEoAUIXukgUEhIZAAAAAAAAWUApAAAAAAAAAABIAIgBARIYChB2YWxpZGF0aW9uX25vdGVzGAQgASgJQg4KDF9odW1hbl9zY29yZSJmCilWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXNwb25zZRI5CgpldmFsdWF0aW9uGAEgASgLMiUuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uIqABCiVMaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9taW5fdmFsaWRhdGlvbnMYAiABKAVCB7pIBBoCKAASMwoSYWNjdXJhY3lfdGhyZXNob2xkGAMgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAACK/AQomTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVzcG9uc2USOQoKY2FuZGlkYXRlcxgBIAMoCzIlLmZlcm1hdGEudjEuSnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZRIcCgt0b3RhbF9jb3VudBgCIAEoBUIHukgEGgIoABIgCg9taW5fdmFsaWRhdGlvbnMYAyABKAVCB7pIBBoCKAASGgoSYWNjdXJhY3lfdGhyZXNob2xkGAQgASgBIhsKGUdldE1pZ3JhdGlvblN0YXR1c1JlcXVlc3QiXAoUUm91dGVNaWdyYXRpb25TdGF0dXMSEwoLcGF0aF9wcmVmaXgYASABKAkSEAoIbWlncmF0ZWQYAiABKAgSHQoVcHJveGllZF9yZXF1ZXN0X2NvdW50GAMgASgDIk4KGkdldE1pZ3JhdGlvblN0YXR1c1Jlc3BvbnNlEjAKBnJvdXRlcxgBIAMoCzIgLmZlcm1hdGEudjEuUm91dGVNaWdyYXRpb25TdGF0dXMq5wEKDUFzc2VydGlvbktpbmQSHgoaQVNTRVJUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIbChdBU1NFUlRJT05fS0lORF9DT05UQUlOUxABEh8KG0FTU0VSVElPTl9LSU5EX05PVF9DT05UQUlOUxACEhgKFEFTU0VSVElPTl9LSU5EX1JFR0VYEAMSHQoZQVNTRVJUSU9OX0tJTkRfU0lNSUxBUklUWRAEEh8KG0FTU0VSVElPTl9LSU5EX0NVU1RPTV9KVURHRRAFEh4KGkFTU0VSVElPTl9LSU5EX0pTT05fU0NIRU1BEAYqiAEKCUp1ZGdlS2luZBIaChZKVURHRV9LSU5EX1VOU1BFQ0lGSUVEEAASEgoOSlVER0VfS0lORF9MTE0QARIZChVKVURHRV9LSU5EX1JVTEVfQkFTRUQQAhIZChVKVURHRV9LSU5EX1NJTUlMQVJJVFkQAxIVChFKVURHRV9LSU5EX0NVU1RPTRAEKpMCChdTY2VuYXJpb0Vudmlyb25tZW50S2luZBIpCiVTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASJAogU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9SRVBMQVkQARImCiJTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1NUQVJMQVJLEAISJwojU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9NT0NLX0hUVFAQAxIlCiFTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1NBTkRCT1gQBBIvCitTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1BST0RVQ1RJT05fU0hBRE9XEAUqpwIKFVVzZXJTaW11bGF0b3JTdHJhdGVneRInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9VTlNQRUNJRklFRBAAEicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0NPT1BFUkFUSVZFEAESIQodVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfUkVBQ1QQAhIiCh5VU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9WRVJJRlkQAxImCiJVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9SRUZMRUNUSU9OEAQSJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQURWRVJTQVJJQUwQBRIkCiBVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9DT05GVVNFRBAGKrYCChRPdXRjb21lQ3JpdGVyaW9uS2luZBImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX1VOU1BFQ0lGSUVEEAASJgoiT1VUQ09NRV9DUklURVJJT05fS0lORF9GSU5BTF9TVEFURRABEioKJk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVEFTS19DT01QTEVUSU9OEAISJQohT1VUQ09NRV9DUklURVJJT05fS0lORF9UUkFKRUNUT1JZEAMSJgoiT1VUQ09NRV9DUklURVJJT05fS0lORF9DT1NUX0JVREdFVBAEEikKJU9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfTEFURU5DWV9CVURHRVQQBRIoCiRPVVRDT01FX0NSSVRFUklPTl9LSU5EX1FVQUxJVFlfU0NPUkUQBiq6AwoXR292ZXJuYW5jZUFzc2VydGlvblR5cGUSKQolR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjEKLUdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfRVNDQUxBVElPTl9SRVFVSVJFRBABEjMKL0dPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfQVVUT19QUk9DRUVEX0VYUEVDVEVEEAISMQotR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9SSVNLX0NMQVNTSUZJQ0FUSU9OEAMSMgouR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9EQVRBX0FDQ0VTU19CT1VOREFSWRAEEjgKNEdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfR09WRVJOQU5DRV9CTE9DS19SRVNQRUNURUQQBRIzCi9HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1NFTEZfQVBQUk9WQUxfQkxPQ0tFRBAGEjYKMkdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfUElJX0RFVEVDVEVEX0FORF9IQU5ETEVEEAcqgAMKF0RlbGVnYXRpb25Bc3NlcnRpb25UeXBlEikKJURFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABI3CjNERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fVEFSR0VUX0NPUlJFQ1QQARIyCi5ERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0NPTlRFWFRfUFJFU0VSVkFUSU9OEAISMgouREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX1ZBTFVFX0FERBADEjUKMURFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9DT1NUX0JPVU5ERUQQBBIxCi1ERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0NIQUlOX0RFUFRIX0JPVU5ERUQQBRIvCitERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0ZBSUxVUkVfSVNPTEFUSU9OEAYq/AEKEVNjZW5hcmlvUnVuU3RhdHVzEiMKH1NDRU5BUklPX1JVTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtTQ0VOQVJJT19SVU5fU1RBVFVTX1BFTkRJTkcQARIfChtTQ0VOQVJJT19SVU5fU1RBVFVTX1JVTk5JTkcQAhIeChpTQ0VOQVJJT19SVU5fU1RBVFVTX1BBU1NFRBADEh4KGlNDRU5BUklPX1JVTl9TVEFUVVNfRkFJTEVEEAQSHQoZU0NFTkFSSU9fUlVOX1NUQVRVU19FUlJPUhAFEiEKHVNDRU5BUklPX1JVTl9TVEFUVVNfQ0FOQ0VMTEVEEAYqlQEKFkRpYWdub3N0aWNBcnRpZmFjdEtpbmQSKAokRElBR05PU1RJQ19BUlRJRkFDVF9LSU5EX1VOU1BFQ0lGSUVEEAASKAokRElBR05PU1RJQ19BUlRJRkFDVF9LSU5EX0VYUExBTkFUSU9OEAESJwojRElBR05PU1RJQ19BUlRJRkFDVF9LSU5EX1JPT1RfQ0FVU0UQAiq+AQoZRGlhZ25vc3RpY0ZpbmRpbmdTZXZlcml0eRIrCidESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfVU5TUEVDSUZJRUQQABIkCiBESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfSU5GTxABEicKI0RJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9XQVJOSU5HEAISJQohRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX0VSUk9SEAMy1SMKDkZlcm1hdGFTZXJ2aWNlEoQBCg9DcmVhdGVUZXN0U3VpdGUSIi5mZXJtYXRhLnYxLkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QaIy5mZXJtYXRhLnYxLkNyZWF0ZVRlc3RTdWl0ZVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEnoKDEdldFRlc3RTdWl0ZRIfLmZlcm1hdGEudjEuR2V0VGVzdFN1aXRlUmVxdWVzdBogLmZlcm1hdGEudjEuR2V0VGVzdFN1aXRlUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKAAQoOTGlzdFRlc3RTdWl0ZXMSIS5mZXJtYXRhLnYxLkxpc3RUZXN0U3VpdGVzUmVxdWVzdBoiLmZlcm1hdGEudjEuTGlzdFRlc3RTdWl0ZXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoEBCg5DcmVhdGVTY2VuYXJpbxIhLmZlcm1hdGEudjEuQ3JlYXRlU2NlbmFyaW9SZXF1ZXN0GiIuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEncKC0dldFNjZW5hcmlvEh4uZmVybWF0YS52MS5HZXRTY2VuYXJpb1JlcXVlc3QaHy5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJ9Cg1MaXN0U2NlbmFyaW9zEiAuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9zUmVxdWVzdBohLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlgEKFVVwc2VydEN1c3RvbUV2YWx1YXRvchIoLmZlcm1hdGEudjEuVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yUmVxdWVzdBopLmZlcm1hdGEudjEuVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSjAEKEkdldEN1c3RvbUV2YWx1YXRvchIlLmZlcm1hdGEudjEuR2V0Q3VzdG9tRXZhbHVhdG9yUmVxdWVzdBomLmZlcm1hdGEudjEuR2V0Q3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKSAQoUTGlzdEN1c3RvbUV2YWx1YXRvcnMSJy5mZXJtYXRhLnYxLkxpc3RDdXN0b21FdmFsdWF0b3JzUmVxdWVzdBooLmZlcm1hdGEudjEuTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpYBChVEZWxldGVDdXN0b21FdmFsdWF0b3ISKC5mZXJtYXRhLnYxLkRlbGV0ZUN1c3RvbUV2YWx1YXRvclJlcXVlc3QaKS5mZXJtYXRhLnYxLkRlbGV0ZUN1c3RvbUV2YWx1YXRvclJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEngKC1Vwc2VydEp1ZGdlEh4uZmVybWF0YS52MS5VcHNlcnRKdWRnZVJlcXVlc3QaHy5mZXJtYXRhLnYxLlVwc2VydEp1ZGdlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSbgoIR2V0SnVkZ2USGy5mZXJtYXRhLnYxLkdldEp1ZGdlUmVxdWVzdBocLmZlcm1hdGEudjEuR2V0SnVkZ2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEnQKCkxpc3RKdWRnZXMSHS5mZXJtYXRhLnYxLkxpc3RKdWRnZXNSZXF1ZXN0Gh4uZmVybWF0YS52MS5MaXN0SnVkZ2VzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJ4CgtEZWxldGVKdWRnZRIeLmZlcm1hdGEudjEuRGVsZXRlSnVkZ2VSZXF1ZXN0Gh8uZmVybWF0YS52MS5EZWxldGVKdWRnZVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEn4KDVN0YXJ0U2NlbmFyaW8SIC5mZXJtYXRhLnYxLlN0YXJ0U2NlbmFyaW9SZXF1ZXN0GiEuZmVybWF0YS52MS5TdGFydFNjZW5hcmlvUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGA9vcmdhbml6YXRpb25faWQSogEKFkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW8SKS5mZXJtYXRhLnYxLkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0GiouZmVybWF0YS52MS5DcmVhdGVBbmRTdGFydFNjZW5hcmlvUmVzcG9uc2UiMcrzGA1mZXJtYXRhOndyaXRl2PMYA+rzGBhzY2VuYXJpby5vcmdhbml6YXRpb25faWQSigEKEVJlY29yZFNjZW5hcmlvUnVuEiQuZmVybWF0YS52MS5SZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QaJS5mZXJtYXRhLnYxLlJlY29yZFNjZW5hcmlvUnVuUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSgAEKDkdldFNjZW5hcmlvUnVuEiEuZmVybWF0YS52MS5HZXRTY2VuYXJpb1J1blJlcXVlc3QaIi5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKGAQoQTGlzdFNjZW5hcmlvUnVucxIjLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvUnVuc1JlcXVlc3QaJC5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb1J1bnNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEr8BCiNHZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZBI2LmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0GjcuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZFJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSmwEKF0dldEV2YWx1YXRpb25SdW5NZXRyaWNzEiouZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QaKy5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25SdW5NZXRyaWNzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSRXhwbGFpblNjZW5hcmlvUnVuEiUuZmVybWF0YS52MS5FeHBsYWluU2NlbmFyaW9SdW5SZXF1ZXN0GiYuZmVybWF0YS52MS5FeHBsYWluU2NlbmFyaW9SdW5SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqcBChtBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2USLi5mZXJtYXRhLnYxLkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlcXVlc3QaLy5mZXJtYXRhLnYxLkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAurzGA9vcmdhbml6YXRpb25faWQSpAEKGkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5Ei0uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlcXVlc3QaLi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBK5AQohR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4EjQuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXF1ZXN0GjUuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpgBChZHZXRKdWRnZVZhbGlkYXRpb25CaWFzEikuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVxdWVzdBoqLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSpQEKGlJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uEi0uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlcXVlc3QaLi5mZXJtYXRhLnYxLlJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQStAEKH1JlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SMi5mZXJtYXRhLnYxLlJlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0GjMuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSugEKIVZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbhI0LmZlcm1hdGEudjEuVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBo1LmZlcm1hdGEudjEuVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSsAEKHkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlcxIxLmZlcm1hdGEudjEuTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVxdWVzdBoyLmZlcm1hdGEudjEuTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJtChJHZXRNaWdyYXRpb25TdGF0dXMSJS5mZXJtYXRhLnYxLkdldE1pZ3JhdGlvblN0YXR1c1JlcXVlc3QaJi5mZXJtYXRhLnYxLkdldE1pZ3JhdGlvblN0YXR1c1Jlc3BvbnNlIgjY8xgB4PMYAUI5WjdnaXRodWIuY29tL2V2YWxvcHMvcGxhdGZvcm0vZ2VuL2dvL2Zlcm1hdGEvdjE7ZmVybWF0YXYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
14
+ export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi0AEKD0N1c3RvbUV2YWx1YXRvchIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKBnNvdXJjZRgCIAEoCUIHukgEcgIQARIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYBSABKAkSFAoMd29ya3NwYWNlX2lkGAYgASgJIqMDCgVKdWRnZRIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD29yZ2FuaXphdGlvbl9pZBgMIAEoCRIUCgx3b3Jrc3BhY2VfaWQYDSABKAkiugYKCFNjZW5hcmlvEgoKAmlkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAyABKAlCB7pIBHICEAESFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRIoCglvYmplY3RpdmUYBiABKAsyFS5mZXJtYXRhLnYxLk9iamVjdGl2ZRItCgxhZ2VudF9jb25maWcYByABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAggASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAkgASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAogASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgLIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYDCABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGA0gASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDiADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA8gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgQIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYESABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIu8BCglPYmplY3RpdmUSHAoLZGVzY3JpcHRpb24YASABKAlCB7pIBHICEAESNgoQc3VjY2Vzc19jcml0ZXJpYRgCIAMoCzIcLmZlcm1hdGEudjEuU3VjY2Vzc0NyaXRlcmlvbhJACg5leHBlY3RlZF9zdGF0ZRgDIAMoCzIoLmZlcm1hdGEudjEuT2JqZWN0aXZlLkV4cGVjdGVkU3RhdGVFbnRyeRIUCgxvYmplY3RpdmVfaWQYBCABKAkaNAoSRXhwZWN0ZWRTdGF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirwEKEFN1Y2Nlc3NDcml0ZXJpb24SCgoCaWQYASABKAkSHAoLZGVzY3JpcHRpb24YAiABKAlCB7pIBHICEAESDgoGbWV0cmljGAMgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAQgASgJEh4KBndlaWdodBgFIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUBCgtBZ2VudENvbmZpZxIQCghhZ2VudF9pZBgBIAEoCRINCgVtb2RlbBgCIAEoCRIRCgl0b29sX3JlZnMYAyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYBCADKAkSHAoUZ292ZXJuYW5jZV9wb2xpY3lfaWQYBSABKAkSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IvcBChNTY2VuYXJpb0Vudmlyb25tZW50EjsKBGtpbmQYASABKA4yIy5mZXJtYXRhLnYxLlNjZW5hcmlvRW52aXJvbm1lbnRLaW5kQgi6SAWCAQIQARIjCgV0b29scxgCIAMoCzIULmZlcm1hdGEudjEuTW9ja1Rvb2wSKwoJZW5kcG9pbnRzGAMgAygLMhguZmVybWF0YS52MS5Nb2NrRW5kcG9pbnQSFQoNc2VlZF9kYXRhX3JlZhgEIAEoCRIPCgdzYW5kYm94GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK7AQoITW9ja1Rvb2wSFQoEbmFtZRgBIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgCIAEoCRItCgxpbnB1dF9zY2hlbWEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHJlc3BvbnNlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiqQEKDE1vY2tFbmRwb2ludBIOCgZtZXRob2QYASABKAkSFQoEcGF0aBgCIAEoCUIHukgEcgIQARIcCgtzdGF0dXNfY29kZRgDIAEoBUIHukgEGgIoABIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IocCCg1Vc2VyU2ltdWxhdG9yEg8KB3BlcnNvbmEYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEj0KCHN0cmF0ZWd5GAMgASgOMiEuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yU3RyYXRlZ3lCCLpIBYIBAhABEg0KBW1vZGVsGAQgASgJEhoKCW1heF90dXJucxgFIAEoBUIHukgEGgIoABIbChN2ZXJpZnlfYWdlbnRfY2xhaW1zGAYgASgIEh0KFXJlcXVlc3RfY2xhcmlmaWNhdGlvbhgHIAEoCBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QixQEKEE91dGNvbWVDcml0ZXJpb24SCgoCaWQYASABKAkSOAoEa2luZBgCIAEoDjIgLmZlcm1hdGEudjEuT3V0Y29tZUNyaXRlcmlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLcAgoTR292ZXJuYW5jZUFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZUIIukgFggECEAESOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgDIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEhcKD3Nob3VsZF9lc2NhbGF0ZRgEIAEoCBIhChlleHBlY3RlZF9hcHByb3ZhbF9vdXRjb21lGAUgASgJEhsKE2FsbG93ZWRfZGF0YV9zY29wZXMYBiADKAkSGgoSZGVuaWVkX2RhdGFfc2NvcGVzGAcgAygJEh8KF2V4cGVjdGVkX3BpaV9jYXRlZ29yaWVzGAggAygJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLqAQoTRGVsZWdhdGlvbkFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5EZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZUIIukgFggECEAESGQoRZXhwZWN0ZWRfYWdlbnRfaWQYAyABKAkSIAoPbWF4X2NoYWluX2RlcHRoGAQgASgFQge6SAQaAigAEiIKCG1heF9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKIBAoLU2NlbmFyaW9SdW4SCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDiABKAkisQYKDlNjZW5hcmlvUmVzdWx0EhoKEm9iamVjdGl2ZV9hY2hpZXZlZBgBIAEoCBIZChFvYmplY3RpdmVfc3VtbWFyeRgCIAEoCRIcCgt0b3RhbF9zdGVwcxgDIAEoBUIHukgEGgIoABIcCgttb2RlbF9jYWxscxgEIAEoBUIHukgEGgIoABIbCgp0b29sX2NhbGxzGAUgASgFQge6SAQaAigAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAYgASgFQge6SAQaAigAEiIKEWRlbGVnYXRpb25fZXZlbnRzGAcgASgFQge6SAQaAigAEiAKD3JlY292ZXJ5X2V2ZW50cxgIIAEoBUIHukgEGgIoABI+ChFhc3NlcnRpb25fcmVzdWx0cxgJIAMoCzIjLmZlcm1hdGEudjEuU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSLwoKZ292ZXJuYW5jZRgKIAEoCzIbLmZlcm1hdGEudjEuR292ZXJuYW5jZVNjb3JlEiwKCWVjb25vbWljcxgLIAEoCzIZLmZlcm1hdGEudjEuRWNvbm9taWNTY29yZRIhCglwYXNzX2F0X2sYDCABKAFCDrpICxIJKQAAAAAAAAAAEi8KCmRlbGVnYXRpb24YDSABKAsyGy5mZXJtYXRhLnYxLkRlbGVnYXRpb25TY29yZRIkCgp0b3RhbF9jb3N0GA4gASgLMhAuY29tbW9uLnYxLk1vbmV5EjEKDnRvdGFsX2R1cmF0aW9uGA8gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKCG1ldGFkYXRhGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIjCgp0cmFqZWN0b3J5GBEgAygLMg8udHJhY2VzLnYxLlNwYW4SJQoNdHJhamVjdG9yeV9mMRgSIAEoAUIOukgLEgkpAAAAAAAAAAASNgoedHJhamVjdG9yeV9lZGl0X2Rpc3RhbmNlX3Njb3JlGBMgASgBQg66SAsSCSkAAAAAAAAAABIqCgVkcmlmdBgUIAEoCzIbLmZlcm1hdGEudjEuRHJpZnRDb21wYXJpc29uIpoBChdTY2VuYXJpb0Fzc2VydGlvblJlc3VsdBIUCgxhc3NlcnRpb25faWQYASABKAkSDgoGcGFzc2VkGAIgASgIEg0KBXNjb3JlGAMgASgBEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKPAgoPR292ZXJuYW5jZVNjb3JlEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAEgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgCIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYAyABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYBCABKAFCDrpICxIJKQAAAAAAAAAAEiEKCWNvbXBvc2l0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASKAoIZXZpZGVuY2UYBiADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYigAIKDUVjb25vbWljU2NvcmUSMgoYY29zdF9wZXJfc3VjY2Vzc2Z1bF90YXNrGAEgASgLMhAuY29tbW9uLnYxLk1vbmV5EiIKCGxsbV9jb3N0GAIgASgLMhAuY29tbW9uLnYxLk1vbmV5EiMKCXRvb2xfY29zdBgDIAEoCzIQLmNvbW1vbi52MS5Nb25leRIqChBzdXBlcnZpc2lvbl9jb3N0GAQgASgLMhAuY29tbW9uLnYxLk1vbmV5EhoKEm9uX3BhcmV0b19mcm9udGllchgFIAEoCBIqChJxdWFsaXR5X3Blcl9kb2xsYXIYBiABKAFCDrpICxIJKQAAAAAAAAAAIsoBCg9EZWxlZ2F0aW9uU2NvcmUSKwoTZGVsZWdhdGlvbl9hY2N1cmFjeRgBIAEoAUIOukgLEgkpAAAAAAAAAAASKAoQY29udGV4dF9maWRlbGl0eRgCIAEoAUIOukgLEgkpAAAAAAAAAAASFwoPZWZmaWNpZW5jeV9nYWluGAMgASgBEikKEWZhaWx1cmVfaXNvbGF0aW9uGAQgASgBQg66SAsSCSkAAAAAAAAAABIcCgtjaGFpbl9kZXB0aBgFIAEoBUIHukgEGgIoACLeAwoPRHJpZnRDb21wYXJpc29uEhAKCGRldGVjdGVkGAEgASgIEi4KFmJhc2VsaW5lX3F1YWxpdHlfc2NvcmUYAiABKAFCDrpICxIJKQAAAAAAAAAAEi0KFWN1cnJlbnRfcXVhbGl0eV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASFQoNcXVhbGl0eV9kZWx0YRgEIAEoARInCg1iYXNlbGluZV9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EiYKDGN1cnJlbnRfY29zdBgGIAEoCzIQLmNvbW1vbi52MS5Nb25leRIkCgpjb3N0X2RlbHRhGAcgASgLMhAuY29tbW9uLnYxLk1vbmV5EjAKGGJhc2VsaW5lX2VzY2FsYXRpb25fcmF0ZRgIIAEoAUIOukgLEgkpAAAAAAAAAAASLwoXY3VycmVudF9lc2NhbGF0aW9uX3JhdGUYCSABKAFCDrpICxIJKQAAAAAAAAAAEh0KFWVzY2FsYXRpb25fcmF0ZV9kZWx0YRgKIAEoARIgChhnZW5lcmF0ZWRfc3VpdGVfc3RyYXRlZ3kYCyABKAkSKAoIZXZpZGVuY2UYDCADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYi1QEKFkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiMKBWNhc2VzGAUgAygLMhQuZmVybWF0YS52MS5UZXN0Q2FzZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPwoXQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJfChNHZXRUZXN0U3VpdGVSZXF1ZXN0EhkKCHN1aXRlX2lkGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiPAoUR2V0VGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSKAAQoVTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlEKFkxpc3RUZXN0U3VpdGVzUmVzcG9uc2USJQoGc3VpdGVzGAEgAygLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUSEAoIaGFzX21vcmUYAiABKAgi4wUKFUNyZWF0ZVNjZW5hcmlvUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSMAoJb2JqZWN0aXZlGAUgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmVCBrpIA8gBARItCgxhZ2VudF9jb25maWcYBiABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAcgASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAggASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYCyABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGAwgASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDSADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA4gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYECABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkAKFkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvImEKEkdldFNjZW5hcmlvUmVxdWVzdBIcCgtzY2VuYXJpb19pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIj0KE0dldFNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIn8KFExpc3RTY2VuYXJpb3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlIKFUxpc3RTY2VuYXJpb3NSZXNwb25zZRInCglzY2VuYXJpb3MYASADKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEhAKCGhhc19tb3JlGAIgASgIIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCKZAQoqR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoEZGF5cxgDIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgEIAEoBUIKukgHGgUY9AMoACKVAwoeRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNdG90YWxfcmVzdWx0cxgCIAEoBUIHukgEGgIoABIfCg5mYWlsZWRfcmVzdWx0cxgDIAEoBUIHukgEGgIoABIlCg1hdmVyYWdlX3Njb3JlGAQgASgBQg66SAsSCSkAAAAAAAAAABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiQKCnRvdGFsX2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAcgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAASJwoWcmVncmVzc2lvbl9hbGVydF9jb3VudBgJIAEoBUIHukgEGgIoABIxChd0b3RhbF9jb3N0c19ieV9jdXJyZW5jeRgKIAMoCzIQLmNvbW1vbi52MS5Nb25leSKIBAoaRXZhbHVhdGlvblJlY2VudFJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEh4KDXRvdGFsX3Jlc3VsdHMYAyABKAVCB7pIBBoCKAASIgoRY29tcGxldGVkX3Jlc3VsdHMYBCABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYBSABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYCCABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAkgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCiABKANCB7pIBCICKAASLgoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCgh0cmFjZV9pZBgNIAEoCRIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDiABKAgi0QMKGUV2YWx1YXRpb25SZWdyZXNzaW9uQWxlcnQSEwoCaWQYASABKAlCB7pIBHICEAESEwoLc2NlbmFyaW9faWQYAiABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAMgASgJQge6SARyAhABEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSLQoVcmVncmVzc2lvbl9wZXJjZW50YWdlGAYgASgBQg66SAsSCSkAAAAAAAAAABIgChhiYXNlbGluZV9zY2VuYXJpb19ydW5faWQYByABKAkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5EhMKC2Vudmlyb25tZW50GAogASgJEiEKGXN0YXRpc3RpY2FsbHlfc2lnbmlmaWNhbnQYCyABKAgSHwoHcF92YWx1ZRgMIAEoAUIOukgLEgkpAAAAAAAAAAASGAoQZGVncmFkZWRfbWV0cmljcxgNIAMoCRIvCgtyZWNvcmRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QEKK0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2USOwoHc3VtbWFyeRgBIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EjsKC3JlY2VudF9ydW5zGAIgAygLMiYuZmVybWF0YS52MS5FdmFsdWF0aW9uUmVjZW50UnVuU3VtbWFyeRJAChFyZWdyZXNzaW9uX2FsZXJ0cxgDIAMoCzIlLmZlcm1hdGEudjEuRXZhbHVhdGlvblJlZ3Jlc3Npb25BbGVydCJxCh5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAEivgIKG0V2YWx1YXRpb25SdW5NZXRyaWNzU3VtbWFyeRIdCgxyZXN1bHRfY291bnQYASABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYAiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYBSABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAYgASgBQg66SAsSCSkAAAAAAAAAABIfCg5wOTVfbGF0ZW5jeV9tcxgHIAEoA0IHukgEIgIoABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAAi3QEKGkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzEhQKDGFzc2VydGlvbl9pZBgBIAEoCRIOCgZwYXNzZWQYAiABKAgSHQoFc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK2AQofR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZRIgCg9zY2VuYXJpb19ydW5faWQYASABKAlCB7pIBHICEAESOAoHc3VtbWFyeRgCIAEoCzInLmZlcm1hdGEudjEuRXZhbHVhdGlvblJ1bk1ldHJpY3NTdW1tYXJ5EjcKB3Jlc3VsdHMYAyADKAsyJi5mZXJtYXRhLnYxLkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzIqgBCiRHZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRITCgtzY2VuYXJpb19pZBgDIAEoCRIYCgRkYXlzGAQgASgFQgq6SAcaBRjtAigAEhkKBWxpbWl0GAUgASgFQgq6SAcaBRj0AygAItEBChxHb3Zlcm5hbmNlQXNzZXJ0aW9uQWdncmVnYXRlEh0KDGFzc2VydGlvbl9pZBgBIAEoCUIHukgEcgIQARIWCgV0b3RhbBgCIAEoBUIHukgEGgIoABIXCgZwYXNzZWQYAyABKAVCB7pIBBoCKAASFwoGZmFpbGVkGAQgASgFQge6SAQaAigAEiEKCXBhc3NfcmF0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAAizgQKF0dvdmVybmFuY2VSZXBvcnRTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNZ292ZXJuZWRfcnVucxgCIAEoBUIHukgEGgIoABInChZwYXNzZWRfZ292ZXJuYW5jZV9ydW5zGAMgASgFQge6SAQaAigAEicKFmZhaWxlZF9nb3Zlcm5hbmNlX3J1bnMYBCABKAVCB7pIBBoCKAASLwoXYXZlcmFnZV9jb21wb3NpdGVfc2NvcmUYBSABKAFCDrpICxIJKQAAAAAAAAAAEi4KFnBvbGljeV9jb21wbGlhbmNlX3JhdGUYBiABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAcgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgJIAEoAUIOukgLEgkpAAAAAAAAAAASKAoXdG90YWxfYXBwcm92YWxfcmVxdWVzdHMYCiABKAVCB7pIBBoCKAASMQoZYXZlcmFnZV9hcHByb3ZhbF9yZXF1ZXN0cxgLIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRcmlza19zaWduYWxfY291bnQYDCABKAVCB7pIBBoCKAASPAoKYXNzZXJ0aW9ucxgNIAMoCzIoLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvbkFnZ3JlZ2F0ZSLmAwoUR292ZXJuYW5jZVJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEjcKBnN0YXR1cxgDIAEoDjIdLmZlcm1hdGEudjEuU2NlbmFyaW9SdW5TdGF0dXNCCLpIBYIBAhABEicKD2NvbXBvc2l0ZV9zY29yZRgEIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYBSABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAYgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgHIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgIIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRYXBwcm92YWxfcmVxdWVzdHMYCSABKAVCB7pIBBoCKAASHAoUZmFpbGVkX2Fzc2VydGlvbl9pZHMYCiADKAkSEAoIdHJhY2VfaWQYCyABKAkSMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKMAgoUR292ZXJuYW5jZVJpc2tTaWduYWwSEwoCaWQYASABKAlCB7pIBHICEAESIAoPc2NlbmFyaW9fcnVuX2lkGAIgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAMgASgJEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSGAoQZGVncmFkZWRfbWV0cmljcxgGIAMoCRIoCghldmlkZW5jZRgHIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIQCgh0cmFjZV9pZBgIIAEoCRIvCgtyZWNvcmRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAEKJUdldEV2YWx1YXRpb25Hb3Zlcm5hbmNlUmVwb3J0UmVzcG9uc2USNAoHc3VtbWFyeRgBIAEoCzIjLmZlcm1hdGEudjEuR292ZXJuYW5jZVJlcG9ydFN1bW1hcnkSNQoLcmVjZW50X3J1bnMYAiADKAsyIC5mZXJtYXRhLnYxLkdvdmVybmFuY2VSdW5TdW1tYXJ5EjYKDHJpc2tfc2lnbmFscxgDIAMoCzIgLmZlcm1hdGEudjEuR292ZXJuYW5jZVJpc2tTaWduYWwi3wEKEURpYWdub3N0aWNGaW5kaW5nEgoKAmlkGAEgASgJEkEKCHNldmVyaXR5GAIgASgOMiUuZmVybWF0YS52MS5EaWFnbm9zdGljRmluZGluZ1NldmVyaXR5Qgi6SAWCAQIQARIWCgV0aXRsZRgDIAEoCUIHukgEcgIQARIOCgZkZXRhaWwYBCABKAkSKAoIZXZpZGVuY2UYBSADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Iu8EChxFdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0EhMKAmlkGAEgASgJQge6SARyAhABEjoKBGtpbmQYAiABKA4yIi5mZXJtYXRhLnYxLkRpYWdub3N0aWNBcnRpZmFjdEtpbmRCCLpIBYIBAhABEiAKD29yZ2FuaXphdGlvbl9pZBgDIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYBCABKAkSEwoLc2NlbmFyaW9faWQYBSABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAYgASgJQge6SARyAhABEhAKCHRyYWNlX2lkGAcgASgJEhYKBXRpdGxlGAggASgJQge6SARyAhABEg8KB3N1bW1hcnkYCSABKAkSLwoIZmluZGluZ3MYCiADKAsyHS5mZXJtYXRhLnYxLkRpYWdub3N0aWNGaW5kaW5nEigKCGV2aWRlbmNlGAsgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmEi4KDWlucHV0X2NvbnRleHQYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB3BheWxvYWQYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGFydGlmYWN0X3VyaRgOIAEoCRIWCg5jb250ZW50X3NoYTI1NhgPIAEoCRIRCglwZXJzaXN0ZWQYECABKAgSLgoKY3JlYXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixwEKGUV4cGxhaW5TY2VuYXJpb1J1blJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAESFQoNaW5jbHVkZV90cmFjZRgEIAEoCBIYChBwZXJzaXN0X2FydGlmYWN0GAUgASgIEigKB2NvbnRleHQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IlgKGkV4cGxhaW5TY2VuYXJpb1J1blJlc3BvbnNlEjoKCGFydGlmYWN0GAEgASgLMiguZmVybWF0YS52MS5FdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0IvEBCiJBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFwoGcnVuX2lkGAMgASgJQge6SARyAhABEh8KF3N1c3BlY3RlZF9mYWlsdXJlX21vZGVzGAQgAygJEhUKDWluY2x1ZGVfdHJhY2UYBSABKAgSGAoQcGVyc2lzdF9hcnRpZmFjdBgGIAEoCBIoCgdjb250ZXh0GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJhCiNBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZRI6CghhcnRpZmFjdBgBIAEoCzIoLmZlcm1hdGEudjEuRXZhbHVhdGlvbkRpYWdub3N0aWNBcnRpZmFjdCKRAgoeSnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lNZXRyaWNzEhEKCXByZWNpc2lvbhgBIAEoARIOCgZyZWNhbGwYAiABKAESEAoIZjFfc2NvcmUYAyABKAESEAoIYWNjdXJhY3kYBCABKAESIgoRdG90YWxfdmFsaWRhdGlvbnMYBSABKAVCB7pIBBoCKAASHwoOdHJ1ZV9wb3NpdGl2ZXMYBiABKAVCB7pIBBoCKAASIAoPZmFsc2VfcG9zaXRpdmVzGAcgASgFQge6SAQaAigAEh8KDnRydWVfbmVnYXRpdmVzGAggASgFQge6SAQaAigAEiAKD2ZhbHNlX25lZ2F0aXZlcxgJIAEoBUIHukgEGgIoACLAAQoeSnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4EiYKFWp1ZGdlX3Bhc3NfaHVtYW5fcGFzcxgBIAEoBUIHukgEGgIoABImChVqdWRnZV9wYXNzX2h1bWFuX2ZhaWwYAiABKAVCB7pIBBoCKAASJgoVanVkZ2VfZmFpbF9odW1hbl9wYXNzGAMgASgFQge6SAQaAigAEiYKFWp1ZGdlX2ZhaWxfaHVtYW5fZmFpbBgEIAEoBUIHukgEGgIoACLRAQoaSnVkZ2VWYWxpZGF0aW9uQmlhc01ldHJpY3MSFAoMb3Zlcl9zY29yaW5nGAEgASgIEhUKDXVuZGVyX3Njb3JpbmcYAiABKAgSEwoLc2NvcmVfZHJpZnQYAyABKAESGwoTYXZlcmFnZV9qdWRnZV9zY29yZRgEIAEoARIbChNhdmVyYWdlX2h1bWFuX3Njb3JlGAUgASgBEhkKEXNjb3JlX2NvcnJlbGF0aW9uGAYgASgBEhwKC3NhbXBsZV9zaXplGAcgASgFQge6SAQaAigAIpwBChpKdWRnZVZhbGlkYXRpb25DYWxpYnJhdGlvbhIZCghqdWRnZV9pZBgBIAEoCUIHukgEcgIQARIbChN2YWxpZGF0aW9uX2FjY3VyYWN5GAIgASgBEhEKCXZhbGlkYXRlZBgDIAEoCBIzCg9sYXN0X3ZhbGlkYXRpb24YBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpkEChlKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlIkgKGUp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGUSGQoIanVkZ2VfaWQYASABKAlCB7pIBHICEAESEAoIYWNjdXJhY3kYAiABKAEiYAohR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJhCiJHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlEjsKB21ldHJpY3MYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5TWV0cmljcyJnCihHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJnCilHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXNwb25zZRI6CgZtYXRyaXgYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeCJcCh1HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiWQoeR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1Jlc3BvbnNlEjcKB21ldHJpY3MYASABKAsyJi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkJpYXNNZXRyaWNzImAKIVJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiYQoiUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXNwb25zZRI7CgtjYWxpYnJhdGlvbhgBIAEoCzImLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQ2FsaWJyYXRpb24ivQMKJlJlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0EhUKDWV2YWx1YXRpb25faWQYASABKAkSIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlImQKJ1JlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXNwb25zZRI5CgpldmFsdWF0aW9uGAEgASgLMiUuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uIskBCihWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0Eh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEjEKC2h1bWFuX3Njb3JlGAMgASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYBCABKAlCDgoMX2h1bWFuX3Njb3JlImYKKVZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlEjkKCmV2YWx1YXRpb24YASABKAsyJS5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24ioAEKJUxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEiAKD21pbl92YWxpZGF0aW9ucxgCIAEoBUIHukgEGgIoABIzChJhY2N1cmFjeV90aHJlc2hvbGQYAyABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAIr8BCiZMaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXNSZXNwb25zZRI5CgpjYW5kaWRhdGVzGAEgAygLMiUuZmVybWF0YS52MS5KdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlEhwKC3RvdGFsX2NvdW50GAIgASgFQge6SAQaAigAEiAKD21pbl92YWxpZGF0aW9ucxgDIAEoBUIHukgEGgIoABIaChJhY2N1cmFjeV90aHJlc2hvbGQYBCABKAEiGwoZR2V0TWlncmF0aW9uU3RhdHVzUmVxdWVzdCJcChRSb3V0ZU1pZ3JhdGlvblN0YXR1cxITCgtwYXRoX3ByZWZpeBgBIAEoCRIQCghtaWdyYXRlZBgCIAEoCBIdChVwcm94aWVkX3JlcXVlc3RfY291bnQYAyABKAMiTgoaR2V0TWlncmF0aW9uU3RhdHVzUmVzcG9uc2USMAoGcm91dGVzGAEgAygLMiAuZmVybWF0YS52MS5Sb3V0ZU1pZ3JhdGlvblN0YXR1cyrnAQoNQXNzZXJ0aW9uS2luZBIeChpBU1NFUlRJT05fS0lORF9VTlNQRUNJRklFRBAAEhsKF0FTU0VSVElPTl9LSU5EX0NPTlRBSU5TEAESHwobQVNTRVJUSU9OX0tJTkRfTk9UX0NPTlRBSU5TEAISGAoUQVNTRVJUSU9OX0tJTkRfUkVHRVgQAxIdChlBU1NFUlRJT05fS0lORF9TSU1JTEFSSVRZEAQSHwobQVNTRVJUSU9OX0tJTkRfQ1VTVE9NX0pVREdFEAUSHgoaQVNTRVJUSU9OX0tJTkRfSlNPTl9TQ0hFTUEQBiqIAQoJSnVkZ2VLaW5kEhoKFkpVREdFX0tJTkRfVU5TUEVDSUZJRUQQABISCg5KVURHRV9LSU5EX0xMTRABEhkKFUpVREdFX0tJTkRfUlVMRV9CQVNFRBACEhkKFUpVREdFX0tJTkRfU0lNSUxBUklUWRADEhUKEUpVREdFX0tJTkRfQ1VTVE9NEAQqkwIKF1NjZW5hcmlvRW52aXJvbm1lbnRLaW5kEikKJVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfVU5TUEVDSUZJRUQQABIkCiBTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1JFUExBWRABEiYKIlNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU1RBUkxBUksQAhInCiNTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX01PQ0tfSFRUUBADEiUKIVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU0FOREJPWBAEEi8KK1NDRU5BUklPX0VOVklST05NRU5UX0tJTkRfUFJPRFVDVElPTl9TSEFET1cQBSqnAgoVVXNlclNpbXVsYXRvclN0cmF0ZWd5EicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQ09PUEVSQVRJVkUQARIhCh1VU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9SRUFDVBACEiIKHlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1ZFUklGWRADEiYKIlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1JFRkxFQ1RJT04QBBInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9BRFZFUlNBUklBTBAFEiQKIFVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0NPTkZVU0VEEAYqtgIKFE91dGNvbWVDcml0ZXJpb25LaW5kEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVU5TUEVDSUZJRUQQABImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0ZJTkFMX1NUQVRFEAESKgomT1VUQ09NRV9DUklURVJJT05fS0lORF9UQVNLX0NPTVBMRVRJT04QAhIlCiFPVVRDT01FX0NSSVRFUklPTl9LSU5EX1RSQUpFQ1RPUlkQAxImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0NPU1RfQlVER0VUEAQSKQolT1VUQ09NRV9DUklURVJJT05fS0lORF9MQVRFTkNZX0JVREdFVBAFEigKJE9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfUVVBTElUWV9TQ09SRRAGKroDChdHb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZRIpCiVHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASMQotR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9FU0NBTEFUSU9OX1JFUVVJUkVEEAESMwovR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9BVVRPX1BST0NFRURfRVhQRUNURUQQAhIxCi1HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1JJU0tfQ0xBU1NJRklDQVRJT04QAxIyCi5HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0RBVEFfQUNDRVNTX0JPVU5EQVJZEAQSOAo0R09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9HT1ZFUk5BTkNFX0JMT0NLX1JFU1BFQ1RFRBAFEjMKL0dPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfU0VMRl9BUFBST1ZBTF9CTE9DS0VEEAYSNgoyR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9QSUlfREVURUNURURfQU5EX0hBTkRMRUQQByqAAwoXRGVsZWdhdGlvbkFzc2VydGlvblR5cGUSKQolREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9UQVJHRVRfQ09SUkVDVBABEjIKLkRFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ09OVEVYVF9QUkVTRVJWQVRJT04QAhIyCi5ERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fVkFMVUVfQUREEAMSNQoxREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX0NPU1RfQk9VTkRFRBAEEjEKLURFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ0hBSU5fREVQVEhfQk9VTkRFRBAFEi8KK0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfRkFJTFVSRV9JU09MQVRJT04QBir8AQoRU2NlbmFyaW9SdW5TdGF0dXMSIwofU0NFTkFSSU9fUlVOX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUEVORElORxABEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUlVOTklORxACEh4KGlNDRU5BUklPX1JVTl9TVEFUVVNfUEFTU0VEEAMSHgoaU0NFTkFSSU9fUlVOX1NUQVRVU19GQUlMRUQQBBIdChlTQ0VOQVJJT19SVU5fU1RBVFVTX0VSUk9SEAUSIQodU0NFTkFSSU9fUlVOX1NUQVRVU19DQU5DRUxMRUQQBiqVAQoWRGlhZ25vc3RpY0FydGlmYWN0S2luZBIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfVU5TUEVDSUZJRUQQABIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfRVhQTEFOQVRJT04QARInCiNESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfUk9PVF9DQVVTRRACKr4BChlEaWFnbm9zdGljRmluZGluZ1NldmVyaXR5EisKJ0RJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9VTlNQRUNJRklFRBAAEiQKIERJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9JTkZPEAESJwojRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX1dBUk5JTkcQAhIlCiFESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfRVJST1IQAzKFJQoORmVybWF0YVNlcnZpY2UShAEKD0NyZWF0ZVRlc3RTdWl0ZRIiLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVxdWVzdBojLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSegoMR2V0VGVzdFN1aXRlEh8uZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXF1ZXN0GiAuZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoABCg5MaXN0VGVzdFN1aXRlcxIhLmZlcm1hdGEudjEuTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0GiIuZmVybWF0YS52MS5MaXN0VGVzdFN1aXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSgQEKDkNyZWF0ZVNjZW5hcmlvEiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3QaIi5mZXJtYXRhLnYxLkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSdwoLR2V0U2NlbmFyaW8SHi5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUmVxdWVzdBofLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEn0KDUxpc3RTY2VuYXJpb3MSIC5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb3NSZXF1ZXN0GiEuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9zUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKWAQoVVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yEiguZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GikuZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSR2V0Q3VzdG9tRXZhbHVhdG9yEiUuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpIBChRMaXN0Q3VzdG9tRXZhbHVhdG9ycxInLmZlcm1hdGEudjEuTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXF1ZXN0GiguZmVybWF0YS52MS5MaXN0Q3VzdG9tRXZhbHVhdG9yc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlgEKFURlbGV0ZUN1c3RvbUV2YWx1YXRvchIoLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBopLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSeAoLVXBzZXJ0SnVkZ2USHi5mZXJtYXRhLnYxLlVwc2VydEp1ZGdlUmVxdWVzdBofLmZlcm1hdGEudjEuVXBzZXJ0SnVkZ2VSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJuCghHZXRKdWRnZRIbLmZlcm1hdGEudjEuR2V0SnVkZ2VSZXF1ZXN0GhwuZmVybWF0YS52MS5HZXRKdWRnZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSdAoKTGlzdEp1ZGdlcxIdLmZlcm1hdGEudjEuTGlzdEp1ZGdlc1JlcXVlc3QaHi5mZXJtYXRhLnYxLkxpc3RKdWRnZXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEngKC0RlbGV0ZUp1ZGdlEh4uZmVybWF0YS52MS5EZWxldGVKdWRnZVJlcXVlc3QaHy5mZXJtYXRhLnYxLkRlbGV0ZUp1ZGdlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSfgoNU3RhcnRTY2VuYXJpbxIgLmZlcm1hdGEudjEuU3RhcnRTY2VuYXJpb1JlcXVlc3QaIS5mZXJtYXRhLnYxLlN0YXJ0U2NlbmFyaW9SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYD29yZ2FuaXphdGlvbl9pZBKiAQoWQ3JlYXRlQW5kU3RhcnRTY2VuYXJpbxIpLmZlcm1hdGEudjEuQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1JlcXVlc3QaKi5mZXJtYXRhLnYxLkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXNwb25zZSIxyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYGHNjZW5hcmlvLm9yZ2FuaXphdGlvbl9pZBKKAQoRUmVjb3JkU2NlbmFyaW9SdW4SJC5mZXJtYXRhLnYxLlJlY29yZFNjZW5hcmlvUnVuUmVxdWVzdBolLmZlcm1hdGEudjEuUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKAAQoOR2V0U2NlbmFyaW9SdW4SIS5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUnVuUmVxdWVzdBoiLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SdW5SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoYBChBMaXN0U2NlbmFyaW9SdW5zEiMuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9SdW5zUmVxdWVzdBokLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvUnVuc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSvwEKI0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkEjYuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZFJlcXVlc3QaNy5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKbAQoXR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3MSKi5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25SdW5NZXRyaWNzUmVxdWVzdBorLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEq0BCh1HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydBIwLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbkdvdmVybmFuY2VSZXBvcnRSZXF1ZXN0GjEuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSjAEKEkV4cGxhaW5TY2VuYXJpb1J1bhIlLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBomLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKnAQobQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlEi4uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0Gi8uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeRItLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0Gi4uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSuQEKIUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeBI0LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVxdWVzdBo1LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKYAQoWR2V0SnVkZ2VWYWxpZGF0aW9uQmlhcxIpLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1JlcXVlc3QaKi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqUBChpSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvbhItLmZlcm1hdGEudjEuUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0Gi4uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErQBCh9SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEjIuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBozLmZlcm1hdGEudjEuUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEroBCiFWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SNC5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QaNS5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErABCh5MaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXMSMS5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QaMi5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSbQoSR2V0TWlncmF0aW9uU3RhdHVzEiUuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXNwb25zZSII2PMYAeDzGAFCOVo3Z2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9mZXJtYXRhL3YxO2Zlcm1hdGF2MWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
15
15
  /**
16
16
  * Describes the message fermata.v1.TestSuite.
17
17
  * Use `create(TestSuiteSchema)` to create a new message.
@@ -362,151 +362,181 @@ export const EvaluationRunResultMetricsSchema = /*@__PURE__*/ messageDesc(file_f
362
362
  * Use `create(GetEvaluationRunMetricsResponseSchema)` to create a new message.
363
363
  */
364
364
  export const GetEvaluationRunMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 69);
365
+ /**
366
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportRequest.
367
+ * Use `create(GetEvaluationGovernanceReportRequestSchema)` to create a new message.
368
+ */
369
+ export const GetEvaluationGovernanceReportRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 70);
370
+ /**
371
+ * Describes the message fermata.v1.GovernanceAssertionAggregate.
372
+ * Use `create(GovernanceAssertionAggregateSchema)` to create a new message.
373
+ */
374
+ export const GovernanceAssertionAggregateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 71);
375
+ /**
376
+ * Describes the message fermata.v1.GovernanceReportSummary.
377
+ * Use `create(GovernanceReportSummarySchema)` to create a new message.
378
+ */
379
+ export const GovernanceReportSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 72);
380
+ /**
381
+ * Describes the message fermata.v1.GovernanceRunSummary.
382
+ * Use `create(GovernanceRunSummarySchema)` to create a new message.
383
+ */
384
+ export const GovernanceRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 73);
385
+ /**
386
+ * Describes the message fermata.v1.GovernanceRiskSignal.
387
+ * Use `create(GovernanceRiskSignalSchema)` to create a new message.
388
+ */
389
+ export const GovernanceRiskSignalSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 74);
390
+ /**
391
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportResponse.
392
+ * Use `create(GetEvaluationGovernanceReportResponseSchema)` to create a new message.
393
+ */
394
+ export const GetEvaluationGovernanceReportResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 75);
365
395
  /**
366
396
  * Describes the message fermata.v1.DiagnosticFinding.
367
397
  * Use `create(DiagnosticFindingSchema)` to create a new message.
368
398
  */
369
- export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 70);
399
+ export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 76);
370
400
  /**
371
401
  * Describes the message fermata.v1.EvaluationDiagnosticArtifact.
372
402
  * Use `create(EvaluationDiagnosticArtifactSchema)` to create a new message.
373
403
  */
374
- export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 71);
404
+ export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 77);
375
405
  /**
376
406
  * Describes the message fermata.v1.ExplainScenarioRunRequest.
377
407
  * Use `create(ExplainScenarioRunRequestSchema)` to create a new message.
378
408
  */
379
- export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 72);
409
+ export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 78);
380
410
  /**
381
411
  * Describes the message fermata.v1.ExplainScenarioRunResponse.
382
412
  * Use `create(ExplainScenarioRunResponseSchema)` to create a new message.
383
413
  */
384
- export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 73);
414
+ export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 79);
385
415
  /**
386
416
  * Describes the message fermata.v1.AnalyzeScenarioRunRootCauseRequest.
387
417
  * Use `create(AnalyzeScenarioRunRootCauseRequestSchema)` to create a new message.
388
418
  */
389
- export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 74);
419
+ export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 80);
390
420
  /**
391
421
  * Describes the message fermata.v1.AnalyzeScenarioRunRootCauseResponse.
392
422
  * Use `create(AnalyzeScenarioRunRootCauseResponseSchema)` to create a new message.
393
423
  */
394
- export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 75);
424
+ export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 81);
395
425
  /**
396
426
  * Describes the message fermata.v1.JudgeValidationAccuracyMetrics.
397
427
  * Use `create(JudgeValidationAccuracyMetricsSchema)` to create a new message.
398
428
  */
399
- export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 76);
429
+ export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 82);
400
430
  /**
401
431
  * Describes the message fermata.v1.JudgeValidationConfusionMatrix.
402
432
  * Use `create(JudgeValidationConfusionMatrixSchema)` to create a new message.
403
433
  */
404
- export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 77);
434
+ export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 83);
405
435
  /**
406
436
  * Describes the message fermata.v1.JudgeValidationBiasMetrics.
407
437
  * Use `create(JudgeValidationBiasMetricsSchema)` to create a new message.
408
438
  */
409
- export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 78);
439
+ export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 84);
410
440
  /**
411
441
  * Describes the message fermata.v1.JudgeValidationCalibration.
412
442
  * Use `create(JudgeValidationCalibrationSchema)` to create a new message.
413
443
  */
414
- export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 79);
444
+ export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 85);
415
445
  /**
416
446
  * Describes the message fermata.v1.JudgeValidationEvaluation.
417
447
  * Use `create(JudgeValidationEvaluationSchema)` to create a new message.
418
448
  */
419
- export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 80);
449
+ export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 86);
420
450
  /**
421
451
  * Describes the message fermata.v1.JudgeCalibrationCandidate.
422
452
  * Use `create(JudgeCalibrationCandidateSchema)` to create a new message.
423
453
  */
424
- export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 81);
454
+ export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 87);
425
455
  /**
426
456
  * Describes the message fermata.v1.GetJudgeValidationAccuracyRequest.
427
457
  * Use `create(GetJudgeValidationAccuracyRequestSchema)` to create a new message.
428
458
  */
429
- export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 82);
459
+ export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 88);
430
460
  /**
431
461
  * Describes the message fermata.v1.GetJudgeValidationAccuracyResponse.
432
462
  * Use `create(GetJudgeValidationAccuracyResponseSchema)` to create a new message.
433
463
  */
434
- export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 83);
464
+ export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 89);
435
465
  /**
436
466
  * Describes the message fermata.v1.GetJudgeValidationConfusionMatrixRequest.
437
467
  * Use `create(GetJudgeValidationConfusionMatrixRequestSchema)` to create a new message.
438
468
  */
439
- export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 84);
469
+ export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 90);
440
470
  /**
441
471
  * Describes the message fermata.v1.GetJudgeValidationConfusionMatrixResponse.
442
472
  * Use `create(GetJudgeValidationConfusionMatrixResponseSchema)` to create a new message.
443
473
  */
444
- export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 85);
474
+ export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 91);
445
475
  /**
446
476
  * Describes the message fermata.v1.GetJudgeValidationBiasRequest.
447
477
  * Use `create(GetJudgeValidationBiasRequestSchema)` to create a new message.
448
478
  */
449
- export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 86);
479
+ export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 92);
450
480
  /**
451
481
  * Describes the message fermata.v1.GetJudgeValidationBiasResponse.
452
482
  * Use `create(GetJudgeValidationBiasResponseSchema)` to create a new message.
453
483
  */
454
- export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 87);
484
+ export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 93);
455
485
  /**
456
486
  * Describes the message fermata.v1.RecalibrateJudgeValidationRequest.
457
487
  * Use `create(RecalibrateJudgeValidationRequestSchema)` to create a new message.
458
488
  */
459
- export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 88);
489
+ export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 94);
460
490
  /**
461
491
  * Describes the message fermata.v1.RecalibrateJudgeValidationResponse.
462
492
  * Use `create(RecalibrateJudgeValidationResponseSchema)` to create a new message.
463
493
  */
464
- export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 89);
494
+ export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 95);
465
495
  /**
466
496
  * Describes the message fermata.v1.RecordJudgeValidationEvaluationRequest.
467
497
  * Use `create(RecordJudgeValidationEvaluationRequestSchema)` to create a new message.
468
498
  */
469
- export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 90);
499
+ export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 96);
470
500
  /**
471
501
  * Describes the message fermata.v1.RecordJudgeValidationEvaluationResponse.
472
502
  * Use `create(RecordJudgeValidationEvaluationResponseSchema)` to create a new message.
473
503
  */
474
- export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 91);
504
+ export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 97);
475
505
  /**
476
506
  * Describes the message fermata.v1.ValidateJudgeValidationEvaluationRequest.
477
507
  * Use `create(ValidateJudgeValidationEvaluationRequestSchema)` to create a new message.
478
508
  */
479
- export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 92);
509
+ export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 98);
480
510
  /**
481
511
  * Describes the message fermata.v1.ValidateJudgeValidationEvaluationResponse.
482
512
  * Use `create(ValidateJudgeValidationEvaluationResponseSchema)` to create a new message.
483
513
  */
484
- export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 93);
514
+ export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 99);
485
515
  /**
486
516
  * Describes the message fermata.v1.ListJudgeCalibrationCandidatesRequest.
487
517
  * Use `create(ListJudgeCalibrationCandidatesRequestSchema)` to create a new message.
488
518
  */
489
- export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 94);
519
+ export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 100);
490
520
  /**
491
521
  * Describes the message fermata.v1.ListJudgeCalibrationCandidatesResponse.
492
522
  * Use `create(ListJudgeCalibrationCandidatesResponseSchema)` to create a new message.
493
523
  */
494
- export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 95);
524
+ export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 101);
495
525
  /**
496
526
  * Describes the message fermata.v1.GetMigrationStatusRequest.
497
527
  * Use `create(GetMigrationStatusRequestSchema)` to create a new message.
498
528
  */
499
- export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 96);
529
+ export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 102);
500
530
  /**
501
531
  * Describes the message fermata.v1.RouteMigrationStatus.
502
532
  * Use `create(RouteMigrationStatusSchema)` to create a new message.
503
533
  */
504
- export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 97);
534
+ export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 103);
505
535
  /**
506
536
  * Describes the message fermata.v1.GetMigrationStatusResponse.
507
537
  * Use `create(GetMigrationStatusResponseSchema)` to create a new message.
508
538
  */
509
- export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 98);
539
+ export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 104);
510
540
  /**
511
541
  * @generated from enum fermata.v1.AssertionKind
512
542
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evalops/sdk-ts",
3
- "version": "0.1.68",
3
+ "version": "0.1.69",
4
4
  "description": "Generated TypeScript SDK protobuf types for EvalOps public APIs",
5
5
  "type": "module",
6
6
  "sideEffects": false,