@n1xyz/nord-ts 0.6.0 → 0.6.1

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.
@@ -198,6 +198,24 @@ export declare class NordAdmin {
198
198
  }>): Promise<{
199
199
  actionId: bigint;
200
200
  } & proto.Receipt_MarketFreezeUpdated>;
201
+ /**
202
+ * Prepare a production delisting clear for an admin-frozen market.
203
+ *
204
+ * Only a super admin or market manager can submit this action. The market must
205
+ * already be frozen by an admin action. This cancels every open order and
206
+ * closes all positions at the provided clearance price mantissa.
207
+ *
208
+ * @param marketId - Target admin-frozen market identifier
209
+ * @param clearancePrice - Settlement price mantissa used for closing positions
210
+ * @returns Action identifier and clear-market receipt
211
+ * @throws {NordError} If the action submission fails
212
+ */
213
+ clearMarket({ marketId, clearancePrice, }: Readonly<{
214
+ marketId: number;
215
+ clearancePrice: bigint;
216
+ }>): Promise<{
217
+ actionId: bigint;
218
+ } & proto.Receipt_ClearMarketResult>;
201
219
  /**
202
220
  * Append a new fee tier to the account bracket configuration.
203
221
  *
@@ -2462,6 +2462,12 @@ export type Action = Message<"nord.Action"> & {
2462
2462
  */
2463
2463
  value: StagedAdminAction;
2464
2464
  case: "admin";
2465
+ } | {
2466
+ /**
2467
+ * @generated from field: nord.Action.ClearMarket clear_market = 50;
2468
+ */
2469
+ value: Action_ClearMarket;
2470
+ case: "clearMarket";
2465
2471
  } | {
2466
2472
  /**
2467
2473
  * @generated from field: nord.VaultSyncEpochs vault_sync_epochs = 53;
@@ -2642,6 +2648,10 @@ export type ActionJson = {
2642
2648
  * @generated from field: nord.StagedAdminAction admin = 49;
2643
2649
  */
2644
2650
  admin?: StagedAdminActionJson;
2651
+ /**
2652
+ * @generated from field: nord.Action.ClearMarket clear_market = 50;
2653
+ */
2654
+ clearMarket?: Action_ClearMarketJson;
2645
2655
  /**
2646
2656
  * @generated from field: nord.VaultSyncEpochs vault_sync_epochs = 53;
2647
2657
  */
@@ -4301,6 +4311,57 @@ export type Action_UnfreezeMarketJson = {
4301
4311
  export declare const Action_UnfreezeMarketSchema: GenMessage<Action_UnfreezeMarket, {
4302
4312
  jsonType: Action_UnfreezeMarketJson;
4303
4313
  }>;
4314
+ /**
4315
+ * Clears an admin-frozen market as part of a production delisting flow.
4316
+ *
4317
+ * Cancels every open order on the market and closes all positions at the
4318
+ * provided clearance price.
4319
+ *
4320
+ * @generated from message nord.Action.ClearMarket
4321
+ */
4322
+ export type Action_ClearMarket = Message<"nord.Action.ClearMarket"> & {
4323
+ /**
4324
+ * @generated from field: bytes acl_pubkey = 1;
4325
+ */
4326
+ aclPubkey: Uint8Array;
4327
+ /**
4328
+ * @generated from field: uint32 market_id = 2;
4329
+ */
4330
+ marketId: number;
4331
+ /**
4332
+ * @generated from field: uint64 clearance_price = 3;
4333
+ */
4334
+ clearancePrice: bigint;
4335
+ };
4336
+ /**
4337
+ * Clears an admin-frozen market as part of a production delisting flow.
4338
+ *
4339
+ * Cancels every open order on the market and closes all positions at the
4340
+ * provided clearance price.
4341
+ *
4342
+ * @generated from message nord.Action.ClearMarket
4343
+ */
4344
+ export type Action_ClearMarketJson = {
4345
+ /**
4346
+ * @generated from field: bytes acl_pubkey = 1;
4347
+ */
4348
+ aclPubkey?: string;
4349
+ /**
4350
+ * @generated from field: uint32 market_id = 2;
4351
+ */
4352
+ marketId?: number;
4353
+ /**
4354
+ * @generated from field: uint64 clearance_price = 3;
4355
+ */
4356
+ clearancePrice?: string;
4357
+ };
4358
+ /**
4359
+ * Describes the message nord.Action.ClearMarket.
4360
+ * Use `create(Action_ClearMarketSchema)` to create a new message.
4361
+ */
4362
+ export declare const Action_ClearMarketSchema: GenMessage<Action_ClearMarket, {
4363
+ jsonType: Action_ClearMarketJson;
4364
+ }>;
4304
4365
  /**
4305
4366
  * @generated from message nord.Action.ExecuteTrigger
4306
4367
  */
@@ -4638,6 +4699,12 @@ export type Receipt = Message<"nord.Receipt"> & {
4638
4699
  */
4639
4700
  value: VaultWithdrawReceipt;
4640
4701
  case: "vaultWithdrawn";
4702
+ } | {
4703
+ /**
4704
+ * @generated from field: nord.Receipt.ClearMarketResult clear_market_result = 84;
4705
+ */
4706
+ value: Receipt_ClearMarketResult;
4707
+ case: "clearMarketResult";
4641
4708
  } | {
4642
4709
  case: undefined;
4643
4710
  value?: undefined;
@@ -4794,6 +4861,10 @@ export type ReceiptJson = {
4794
4861
  * @generated from field: nord.VaultWithdrawReceipt vault_withdrawn = 83;
4795
4862
  */
4796
4863
  vaultWithdrawn?: VaultWithdrawReceiptJson;
4864
+ /**
4865
+ * @generated from field: nord.Receipt.ClearMarketResult clear_market_result = 84;
4866
+ */
4867
+ clearMarketResult?: Receipt_ClearMarketResultJson;
4797
4868
  };
4798
4869
  /**
4799
4870
  * Describes the message nord.Receipt.
@@ -5511,6 +5582,161 @@ export type Receipt_TakeAllPositionsResultJson = {
5511
5582
  export declare const Receipt_TakeAllPositionsResultSchema: GenMessage<Receipt_TakeAllPositionsResult, {
5512
5583
  jsonType: Receipt_TakeAllPositionsResultJson;
5513
5584
  }>;
5585
+ /**
5586
+ * @generated from message nord.Receipt.ClearMarketCancelledOrder
5587
+ */
5588
+ export type Receipt_ClearMarketCancelledOrder = Message<"nord.Receipt.ClearMarketCancelledOrder"> & {
5589
+ /**
5590
+ * @generated from field: uint32 account_id = 1;
5591
+ */
5592
+ accountId: number;
5593
+ /**
5594
+ * @generated from field: uint64 order_id = 2;
5595
+ */
5596
+ orderId: bigint;
5597
+ /**
5598
+ * @generated from field: optional uint64 client_order_id = 3;
5599
+ */
5600
+ clientOrderId?: bigint;
5601
+ };
5602
+ /**
5603
+ * @generated from message nord.Receipt.ClearMarketCancelledOrder
5604
+ */
5605
+ export type Receipt_ClearMarketCancelledOrderJson = {
5606
+ /**
5607
+ * @generated from field: uint32 account_id = 1;
5608
+ */
5609
+ accountId?: number;
5610
+ /**
5611
+ * @generated from field: uint64 order_id = 2;
5612
+ */
5613
+ orderId?: string;
5614
+ /**
5615
+ * @generated from field: optional uint64 client_order_id = 3;
5616
+ */
5617
+ clientOrderId?: string;
5618
+ };
5619
+ /**
5620
+ * Describes the message nord.Receipt.ClearMarketCancelledOrder.
5621
+ * Use `create(Receipt_ClearMarketCancelledOrderSchema)` to create a new message.
5622
+ */
5623
+ export declare const Receipt_ClearMarketCancelledOrderSchema: GenMessage<Receipt_ClearMarketCancelledOrder, {
5624
+ jsonType: Receipt_ClearMarketCancelledOrderJson;
5625
+ }>;
5626
+ /**
5627
+ * @generated from message nord.Receipt.ClearMarketClosedPosition
5628
+ */
5629
+ export type Receipt_ClearMarketClosedPosition = Message<"nord.Receipt.ClearMarketClosedPosition"> & {
5630
+ /**
5631
+ * @generated from field: uint32 account_id = 1;
5632
+ */
5633
+ accountId: number;
5634
+ /**
5635
+ * @generated from field: int64 base_size = 2;
5636
+ */
5637
+ baseSize: bigint;
5638
+ /**
5639
+ * @generated from field: uint64 settlement_price = 3;
5640
+ */
5641
+ settlementPrice: bigint;
5642
+ /**
5643
+ * @generated from field: nord.U128 quote = 4;
5644
+ */
5645
+ quote?: U128;
5646
+ /**
5647
+ * @generated from field: int64 trading_pnl_delta = 5;
5648
+ */
5649
+ tradingPnlDelta: bigint;
5650
+ /**
5651
+ * @generated from field: int64 funding_pnl_delta = 6;
5652
+ */
5653
+ fundingPnlDelta: bigint;
5654
+ };
5655
+ /**
5656
+ * @generated from message nord.Receipt.ClearMarketClosedPosition
5657
+ */
5658
+ export type Receipt_ClearMarketClosedPositionJson = {
5659
+ /**
5660
+ * @generated from field: uint32 account_id = 1;
5661
+ */
5662
+ accountId?: number;
5663
+ /**
5664
+ * @generated from field: int64 base_size = 2;
5665
+ */
5666
+ baseSize?: string;
5667
+ /**
5668
+ * @generated from field: uint64 settlement_price = 3;
5669
+ */
5670
+ settlementPrice?: string;
5671
+ /**
5672
+ * @generated from field: nord.U128 quote = 4;
5673
+ */
5674
+ quote?: U128Json;
5675
+ /**
5676
+ * @generated from field: int64 trading_pnl_delta = 5;
5677
+ */
5678
+ tradingPnlDelta?: string;
5679
+ /**
5680
+ * @generated from field: int64 funding_pnl_delta = 6;
5681
+ */
5682
+ fundingPnlDelta?: string;
5683
+ };
5684
+ /**
5685
+ * Describes the message nord.Receipt.ClearMarketClosedPosition.
5686
+ * Use `create(Receipt_ClearMarketClosedPositionSchema)` to create a new message.
5687
+ */
5688
+ export declare const Receipt_ClearMarketClosedPositionSchema: GenMessage<Receipt_ClearMarketClosedPosition, {
5689
+ jsonType: Receipt_ClearMarketClosedPositionJson;
5690
+ }>;
5691
+ /**
5692
+ * @generated from message nord.Receipt.ClearMarketResult
5693
+ */
5694
+ export type Receipt_ClearMarketResult = Message<"nord.Receipt.ClearMarketResult"> & {
5695
+ /**
5696
+ * @generated from field: uint32 market_id = 1;
5697
+ */
5698
+ marketId: number;
5699
+ /**
5700
+ * @generated from field: uint64 clearance_price = 5;
5701
+ */
5702
+ clearancePrice: bigint;
5703
+ /**
5704
+ * @generated from field: repeated nord.Receipt.ClearMarketCancelledOrder cancelled_orders = 3;
5705
+ */
5706
+ cancelledOrders: Receipt_ClearMarketCancelledOrder[];
5707
+ /**
5708
+ * @generated from field: repeated nord.Receipt.ClearMarketClosedPosition closed_positions = 4;
5709
+ */
5710
+ closedPositions: Receipt_ClearMarketClosedPosition[];
5711
+ };
5712
+ /**
5713
+ * @generated from message nord.Receipt.ClearMarketResult
5714
+ */
5715
+ export type Receipt_ClearMarketResultJson = {
5716
+ /**
5717
+ * @generated from field: uint32 market_id = 1;
5718
+ */
5719
+ marketId?: number;
5720
+ /**
5721
+ * @generated from field: uint64 clearance_price = 5;
5722
+ */
5723
+ clearancePrice?: string;
5724
+ /**
5725
+ * @generated from field: repeated nord.Receipt.ClearMarketCancelledOrder cancelled_orders = 3;
5726
+ */
5727
+ cancelledOrders?: Receipt_ClearMarketCancelledOrderJson[];
5728
+ /**
5729
+ * @generated from field: repeated nord.Receipt.ClearMarketClosedPosition closed_positions = 4;
5730
+ */
5731
+ closedPositions?: Receipt_ClearMarketClosedPositionJson[];
5732
+ };
5733
+ /**
5734
+ * Describes the message nord.Receipt.ClearMarketResult.
5735
+ * Use `create(Receipt_ClearMarketResultSchema)` to create a new message.
5736
+ */
5737
+ export declare const Receipt_ClearMarketResultSchema: GenMessage<Receipt_ClearMarketResult, {
5738
+ jsonType: Receipt_ClearMarketResultJson;
5739
+ }>;
5514
5740
  /**
5515
5741
  * @generated from message nord.Receipt.CancelOrderResult
5516
5742
  */
@@ -599,7 +599,7 @@ export interface paths {
599
599
  [name: string]: unknown;
600
600
  };
601
601
  content: {
602
- "application/json": components["schemas"]["OrderbookInfo"];
602
+ "application/json": components["schemas"]["OrderbookL2Info"];
603
603
  };
604
604
  };
605
605
  404: {
@@ -4024,6 +4024,9 @@ export interface components {
4024
4024
  MarketLiveInfo: {
4025
4025
  /** Format: uint32 */
4026
4026
  marketId: number;
4027
+ /** @description Admin can freeze market.
4028
+ * Can happen when there are issues with market setup and need to stop operations.
4029
+ * Or if market permanently delisted (orderbook l2 is zero and perpetuals open interest would be zero in this case). */
4027
4030
  frozen?: boolean;
4028
4031
  /** Format: double */
4029
4032
  indexPrice?: number | null;
@@ -4114,7 +4117,7 @@ export interface components {
4114
4117
  */
4115
4118
  AccountId: number;
4116
4119
  UserNotFound: null;
4117
- OrderbookInfo: {
4120
+ OrderbookL2Info: {
4118
4121
  /** Format: uint64 */
4119
4122
  updateId: number;
4120
4123
  asks: [
@@ -4162,7 +4165,10 @@ export interface components {
4162
4165
  /** Format: double */
4163
4166
  funding_rate: number;
4164
4167
  next_funding_time: string;
4165
- /** Format: double */
4168
+ /**
4169
+ * Format: double
4170
+ * @description Current open interest for this market.
4171
+ */
4166
4172
  open_interest: number;
4167
4173
  };
4168
4174
  TokenStats: {
@@ -24120,6 +24120,9 @@ __export(exports_nord_pb, {
24120
24120
  Receipt_FeeTierAddedSchema: () => Receipt_FeeTierAddedSchema,
24121
24121
  Receipt_DepositResultSchema: () => Receipt_DepositResultSchema,
24122
24122
  Receipt_CreateSessionResultSchema: () => Receipt_CreateSessionResultSchema,
24123
+ Receipt_ClearMarketResultSchema: () => Receipt_ClearMarketResultSchema,
24124
+ Receipt_ClearMarketClosedPositionSchema: () => Receipt_ClearMarketClosedPositionSchema,
24125
+ Receipt_ClearMarketCancelledOrderSchema: () => Receipt_ClearMarketCancelledOrderSchema,
24123
24126
  Receipt_CancelledTriggerSchema: () => Receipt_CancelledTriggerSchema,
24124
24127
  Receipt_CancelOrderResultSchema: () => Receipt_CancelOrderResultSchema,
24125
24128
  Receipt_BackstopAccountSetSchema: () => Receipt_BackstopAccountSetSchema,
@@ -24188,6 +24191,7 @@ __export(exports_nord_pb, {
24188
24191
  Action_CreateTokenSchema: () => Action_CreateTokenSchema,
24189
24192
  Action_CreateSessionSchema: () => Action_CreateSessionSchema,
24190
24193
  Action_CreateMarketSchema: () => Action_CreateMarketSchema,
24194
+ Action_ClearMarketSchema: () => Action_ClearMarketSchema,
24191
24195
  Action_CancelOrderByIdSchema: () => Action_CancelOrderByIdSchema,
24192
24196
  Action_CancelOrderByClientIdSchema: () => Action_CancelOrderByClientIdSchema,
24193
24197
  Action_AddTriggerSchema: () => Action_AddTriggerSchema,
@@ -27432,7 +27436,7 @@ function fileDesc(b64, imports) {
27432
27436
  }
27433
27437
 
27434
27438
  // src/gen/nord_pb.ts
27435
- var file_nord = /* @__PURE__ */ fileDesc("Cgpub3JkLnByb3RvEgRub3JkIh4KBFUxMjgSCgoCbG8YASABKAQSCgoCaGkYAiABKAQiPQoNRmVlVGllckNvbmZpZxIVCg1tYWtlcl9mZWVfcHBtGAEgASgNEhUKDXRha2VyX2ZlZV9wcG0YAiABKA0i0AEKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SFQoNc2l6ZV9kZWNpbWFscxgDIAEoDRIVCg1iYXNlX3Rva2VuX2lkGAQgASgNEiUKC21hcmtldF90eXBlGAUgASgOMhAubm9yZC5NYXJrZXRUeXBlEg8KB2ltZl9icHMYBiABKA0SDwoHY21mX2JwcxgHIAEoDRIPCgdtbWZfYnBzGAggASgNEhMKC3ZpZXdfc3ltYm9sGAogASgJIloKBVRva2VuEhAKCHRva2VuX2lkGAEgASgNEhYKDnRva2VuX2RlY2ltYWxzGAIgASgNEhIKCndlaWdodF9icHMYBCABKA0SEwoLdmlld19zeW1ib2wYBSABKAkitgEKC1ZhdWx0SGVhbHRoEioKEXJhd19hY2NvdW50X3ZhbHVlGAEgASgLMgoubm9yZC5VMTI4SACIAQESKwoSc2FmZV9hY2NvdW50X3ZhbHVlGAIgASgLMgoubm9yZC5VMTI4SAGIAQESIQoGc3RhdHVzGAMgASgOMhEubm9yZC5WYXVsdFN0YXR1c0IUChJfcmF3X2FjY291bnRfdmFsdWVCFQoTX3NhZmVfYWNjb3VudF92YWx1ZSKwAQoLVmF1bHRDb25maWcSHwoLZGVwb3NpdF9jYXAYASABKAsyCi5ub3JkLlUxMjgSIgoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA0SHwoXZHJhd2Rvd25fcHJvdGVjdGlvbl9icHMYAyABKA0SGwoTZHJhd2Rvd25fZnJlZXplX2JwcxgEIAEoDRIeChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNIswCChBWYXVsdENvbmZpZ1BhdGNoEiQKC2RlcG9zaXRfY2FwGAEgASgLMgoubm9yZC5VMTI4SACIAQESJwoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA1IAYgBARIkChdkcmF3ZG93bl9wcm90ZWN0aW9uX2JwcxgDIAEoDUgCiAEBEiAKE2RyYXdkb3duX2ZyZWV6ZV9icHMYBCABKA1IA4gBARIjChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNSASIAQFCDgoMX2RlcG9zaXRfY2FwQh0KG19vcGVuX3Bvc2l0aW9uX2Rpc2NvdW50X2Jwc0IaChhfZHJhd2Rvd25fcHJvdGVjdGlvbl9icHNCFgoUX2RyYXdkb3duX2ZyZWV6ZV9icHNCGQoXX2Vwb2NoX21pbl9kdXJhdGlvbl9zZWMiSAoLQ3JlYXRlVmF1bHQSFgoObWFuYWdlcl9wdWJrZXkYASABKAwSIQoGY29uZmlnGAIgASgLMhEubm9yZC5WYXVsdENvbmZpZyJTChFVcGRhdGVWYXVsdENvbmZpZxIQCgh2YXVsdF9pZBgBIAEoDRIsCgxjb25maWdfcGF0Y2gYAiABKAsyFi5ub3JkLlZhdWx0Q29uZmlnUGF0Y2giOwoPU2V0VmF1bHRNYW5hZ2VyEhAKCHZhdWx0X2lkGAEgASgNEhYKDm1hbmFnZXJfcHVia2V5GAIgASgMIjcKD1ZhdWx0U3luY0Vwb2NocxISCgpzZXNzaW9uX2lkGAEgASgEEhAKCHZhdWx0X2lkGAIgASgNIk4KEVN0YWdlZEFkbWluQWN0aW9uEhQKDGFkbWluX3B1YmtleRgBIAEoDBIjCgRraW5kGAIgASgLMhUubm9yZC5BZG1pbkFjdGlvbktpbmQisAEKD0FkbWluQWN0aW9uS2luZBIpCgxjcmVhdGVfdmF1bHQYASABKAsyES5ub3JkLkNyZWF0ZVZhdWx0SAASNgoTdXBkYXRlX3ZhdWx0X2NvbmZpZxgCIAEoCzIXLm5vcmQuVXBkYXRlVmF1bHRDb25maWdIABIyChFzZXRfdmF1bHRfbWFuYWdlchgDIAEoCzIVLm5vcmQuU2V0VmF1bHRNYW5hZ2VySABCBgoEa2luZCJECgxWYXVsdERlcG9zaXQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQi9QEKDVZhdWx0V2l0aGRyYXcSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIuCgdyZXF1ZXN0GAMgASgLMhsubm9yZC5WYXVsdFdpdGhkcmF3LlJlcXVlc3RIABIqCgVjbGFpbRgEIAEoCzIZLm5vcmQuVmF1bHRXaXRoZHJhdy5DbGFpbUgAGlEKB1JlcXVlc3QSGAoOcXVvdGVfbm90aW9uYWwYASABKARIABIiCgxzaGFyZV9hbW91bnQYAiABKAsyCi5ub3JkLlUxMjhIAEIICgZhbW91bnQaBwoFQ2xhaW1CBgoEa2luZCKeAQoSQ3JlYXRlVmF1bHRSZWNlaXB0EhAKCHZhdWx0X2lkGAEgASgNEhgKEHZhdWx0X2FjY291bnRfaWQYAiABKA0SFgoObWFuYWdlcl9wdWJrZXkYAyABKAwSIQoGc3RhdHVzGAQgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIhCgZjb25maWcYBSABKAsyES5ub3JkLlZhdWx0Q29uZmlnInIKGFVwZGF0ZVZhdWx0Q29uZmlnUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZjb25maWcYAiABKAsyES5ub3JkLlZhdWx0Q29uZmlnEiEKBnN0YXR1cxgDIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMiQgoWU2V0VmF1bHRNYW5hZ2VyUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIWCg5tYW5hZ2VyX3B1YmtleRgCIAEoDCLhAQoWVmF1bHRTeW5jRXBvY2hzUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9jbG9zZWRfZXBvY2hfaWQYAiABKA0SGAoQY2xhaW1hYmxlX2Ftb3VudBgDIAEoBBIhCgZzdGF0dXMYBCABKA4yES5ub3JkLlZhdWx0U3RhdHVzEiEKBmVwb2NocxgFIAEoCzIRLm5vcmQuVmF1bHRFcG9jaHMSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSFQoNcXVvdGVfYmFsYW5jZRgHIAEoAyKPAgoTVmF1bHREZXBvc2l0UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SDgoGYW1vdW50GAMgASgEEiEKDXNoYXJlc19pc3N1ZWQYBCABKAsyCi5ub3JkLlUxMjgSHwoLdXNlcl9zaGFyZXMYBSABKAsyCi5ub3JkLlUxMjgSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSIQoGc3RhdHVzGAcgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIYChB2YXVsdF9hY2NvdW50X2lkGAggASgNEhUKDXF1b3RlX2JhbGFuY2UYCSABKAMiVQoRV2l0aGRyYXdhbEJ1Y2tldHMSFQoNY3VycmVudF9lcG9jaBgBIAEoBBIWCg5wcmV2aW91c19lcG9jaBgCIAEoBBIRCgljbGFpbWFibGUYAyABKAQihQEKC1ZhdWx0UHBzUmVmEhAKCGVwb2NoX2lkGAEgASgNEisKEnNhZmVfYWNjb3VudF92YWx1ZRgCIAEoCzIKLm5vcmQuVTEyOEgAiAEBEiAKDHNoYXJlX3N1cHBseRgDIAEoCzIKLm5vcmQuVTEyOEIVChNfc2FmZV9hY2NvdW50X3ZhbHVlIpYCCgtWYXVsdEVwb2NocxIYChBjdXJyZW50X2Vwb2NoX2lkGAEgASgNEiAKGGN1cnJlbnRfZXBvY2hfc3RhcnRlZF9hdBgCIAEoAxIiChVwYWlkX3Rocm91Z2hfZXBvY2hfaWQYAyABKA1IAIgBARIsCgt3aXRoZHJhd2FscxgEIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSLwoUbGF0ZXN0X2Vwb2NoX3Bwc19yZWYYBSABKAsyES5ub3JkLlZhdWx0UHBzUmVmEi4KE3ByaW9yX2Vwb2NoX3Bwc19yZWYYBiABKAsyES5ub3JkLlZhdWx0UHBzUmVmQhgKFl9wYWlkX3Rocm91Z2hfZXBvY2hfaWQijwEKDlZhdWx0VXNlclN0YXRlEhoKBnNoYXJlcxgBIAEoCzIKLm5vcmQuVTEyOBIsCgt3aXRoZHJhd2FscxgCIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSGAoQY3VycmVudF9lcG9jaF9pZBgDIAEoDRIZChFwcmV2aW91c19lcG9jaF9pZBgEIAEoDSK2AwoUVmF1bHRXaXRoZHJhd1JlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SFQoNdG9fYWNjb3VudF9pZBgCIAEoDRI5CglyZXF1ZXN0ZWQYAyABKAsyJC5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LlJlcXVlc3RlZEgAEjUKB2NsYWltZWQYBCABKAsyIi5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LkNsYWltZWRIABItCg9wb3N0X3VzZXJfc3RhdGUYBSABKAsyFC5ub3JkLlZhdWx0VXNlclN0YXRlEiUKEWxpdmVfc2hhcmVfc3VwcGx5GAYgASgLMgoubm9yZC5VMTI4EiEKBnN0YXR1cxgHIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMSGAoQdmF1bHRfYWNjb3VudF9pZBgIIAEoDRIVCg1xdW90ZV9iYWxhbmNlGAkgASgDGjYKCVJlcXVlc3RlZBINCgVxdW90ZRgBIAEoBBIaCgZidXJuZWQYAiABKAsyCi5ub3JkLlUxMjgaGQoHQ2xhaW1lZBIOCgZhbW91bnQYASABKARCBgoEa2luZCJJCgpPcmRlckxpbWl0Eg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSHgoKcXVvdGVfc2l6ZRgIIAEoCzIKLm5vcmQuVTEyOCK5AQoJUGxhY2VUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YBiABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IAIgBAUIYChZfc2VsZl90cmFkZV9wcmV2ZW50aW9uIskBCgxUcmFkZU9yUGxhY2USEQoJbWFya2V0X2lkGAIgASgNEiMKCnBsYWNlX3R5cGUYAyABKAsyDy5ub3JkLlBsYWNlVHlwZRIfCgVsaW1pdBgGIAEoCzIQLm5vcmQuT3JkZXJMaW1pdBIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAIgBARIhCghyZWZlcnJlchgiIAEoCzIKLm5vcmQuVTEyOEgBiAEBQhIKEF9jbGllbnRfb3JkZXJfaWRCCwoJX3JlZmVycmVyIikKFUF0b21pY0NhbmNlbE9yZGVyQnlJZBIQCghvcmRlcl9pZBgCIAEoBCI2ChtBdG9taWNDYW5jZWxPcmRlckJ5Q2xpZW50SWQSFwoPY2xpZW50X29yZGVyX2lkGAIgASgEIoYBChBBdG9taWNBZGRUcmlnZ2VyEiQKB3RyaWdnZXIYASABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAIgASgOMgwubm9yZC5JbnRlbnQSIQoIcmVmZXJyZXIYAyABKAsyCi5ub3JkLlUxMjhIAIgBAUILCglfcmVmZXJyZXIiUQoRQXRvbWljRWRpdFRyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoBBIoCgtuZXdfdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZCI8ChNBdG9taWNSZW1vdmVUcmlnZ2VyEhEKCW1hcmtldF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEIs8BChVBdG9taWNTdWJhY3Rpb25LaW5kVjESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAA6AhgBQgcKBWlubmVyIrABCghBdG9taWNWMRISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARIsCgdhY3Rpb25zGAYgAygLMhsubm9yZC5BdG9taWNTdWJhY3Rpb25LaW5kVjE6AhgBQg0KC19hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQiVwoWQXRvbWljUGxhY2VtZW50UmVxdWVzdBISCgh2YXVsdF9pZBgBIAEoDUgAEiAKFmxpcXVpZGF0aW9uX2FjY291bnRfaWQYAiABKA1IAEIHCgVpbm5lciKWAwoPQXRvbWljU3ViYWN0aW9uEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSAGIAQESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAASLQoLYWRkX3RyaWdnZXIYCSABKAsyFi5ub3JkLkF0b21pY0FkZFRyaWdnZXJIABIvCgxlZGl0X3RyaWdnZXIYCiABKAsyFy5ub3JkLkF0b21pY0VkaXRUcmlnZ2VySAASMwoOcmVtb3ZlX3RyaWdnZXIYCyABKAsyGS5ub3JkLkF0b21pY1JlbW92ZVRyaWdnZXJIAEIHCgVpbm5lckIXChVfZGVsZWdhdG9yX2FjY291bnRfaWQigQEKEUF0b21pY1N1YmFjdGlvblYyEjQKCXBsYWNlbWVudBgBIAEoCzIcLm5vcmQuQXRvbWljUGxhY2VtZW50UmVxdWVzdEgAiAEBEigKCXN1YmFjdGlvbhgCIAEoCzIVLm5vcmQuQXRvbWljU3ViYWN0aW9uQgwKCl9wbGFjZW1lbnQipAEKBkF0b21pYxISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARImCgdhY3Rpb25zGAYgAygLMhUubm9yZC5BdG9taWNTdWJhY3Rpb25CDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKoAQoIQXRvbWljVjISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCgphY2NvdW50X2lkGAIgASgNSACIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGAMgASgESAGIAQESKAoHYWN0aW9ucxgGIAMoCzIXLm5vcmQuQXRvbWljU3ViYWN0aW9uVjJCDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKWAQoNVHJpZ2dlclJlY29yZBIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIgCgZsaW1pdHMYAyABKAsyEC5ub3JkLk9yZGVyTGltaXQSHwoEa2luZBgEIAEoDjIRLm5vcmQuVHJpZ2dlcktpbmQSGAoEc2lkZRgFIAEoDjIKLm5vcmQuU2lkZSKbAQoHVHJpZ2dlchIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEh8KBGtpbmQYAiABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIAoGbGltaXRzGAQgASgLMhAubm9yZC5PcmRlckxpbWl0EhwKBmludGVudBgFIAEoDjIMLm5vcmQuSW50ZW50IpErCgZBY3Rpb24SGQoRY3VycmVudF90aW1lc3RhbXAYASABKAMSDQoFbm9uY2UYAiABKA0SNAoOY3JlYXRlX3Nlc3Npb24YBCABKAsyGi5ub3JkLkFjdGlvbi5DcmVhdGVTZXNzaW9uSAASMAoMY3JlYXRlX3Rva2VuGAUgASgLMhgubm9yZC5BY3Rpb24uQ3JlYXRlVG9rZW5IABIyCg1jcmVhdGVfbWFya2V0GAYgASgLMhkubm9yZC5BY3Rpb24uQ3JlYXRlTWFya2V0SAASLgoLcGxhY2Vfb3JkZXIYByABKAsyFy5ub3JkLkFjdGlvbi5QbGFjZU9yZGVySAASOgoSY2FuY2VsX29yZGVyX2J5X2lkGAggASgLMhwubm9yZC5BY3Rpb24uQ2FuY2VsT3JkZXJCeUlkSAASJwoHZGVwb3NpdBgJIAEoCzIULm5vcmQuQWN0aW9uLkRlcG9zaXRIABIpCgh3aXRoZHJhdxgKIAEoCzIVLm5vcmQuQWN0aW9uLldpdGhkcmF3SAASTAobcHl0aF9zZXRfd29ybWhvbGVfZ3VhcmRpYW5zGAsgASgLMiUubm9yZC5BY3Rpb24uUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zSAASPgoUcHl0aF9zZXRfc3ltYm9sX2ZlZWQYDCABKAsyHi5ub3JkLkFjdGlvbi5QeXRoU2V0U3ltYm9sRmVlZEgAEkIKFnB5dGhfcHJpY2VfZmVlZF91cGRhdGUYDSABKAsyIC5ub3JkLkFjdGlvbi5QeXRoUHJpY2VGZWVkVXBkYXRlSAASNAoOcmV2b2tlX3Nlc3Npb24YDyABKAsyGi5ub3JkLkFjdGlvbi5SZXZva2VTZXNzaW9uSAASIwoFcGF1c2UYECABKAsyEi5ub3JkLkFjdGlvbi5QYXVzZUgAEicKB3VucGF1c2UYESABKAsyFC5ub3JkLkFjdGlvbi5VbnBhdXNlSAASKQoIdHJhbnNmZXIYEiABKAsyFS5ub3JkLkFjdGlvbi5UcmFuc2ZlckgAEi4KC2FkZF90cmlnZ2VyGCAgASgLMhcubm9yZC5BY3Rpb24uQWRkVHJpZ2dlckgAEjQKDnJlbW92ZV90cmlnZ2VyGCEgASgLMhoubm9yZC5BY3Rpb24uUmVtb3ZlVHJpZ2dlckgAEicKCWF0b21pY192MRgjIAEoCzIOLm5vcmQuQXRvbWljVjFCAhgBSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAASLwoMYWRkX2ZlZV90aWVyGCYgASgLMhcubm9yZC5BY3Rpb24uQWRkRmVlVGllckgAEjUKD3VwZGF0ZV9mZWVfdGllchgnIAEoCzIaLm5vcmQuQWN0aW9uLlVwZGF0ZUZlZVRpZXJIABI/ChR1cGRhdGVfYWNjb3VudHNfdGllchgoIAEoCzIfLm5vcmQuQWN0aW9uLlVwZGF0ZUFjY291bnRzVGllckgAEiwKCnVwZGF0ZV9hY2wYKSABKAsyFi5ub3JkLkFjdGlvbi5VcGRhdGVBY2xIABI7ChJmZWVfdmF1bHRfdHJhbnNmZXIYKiABKAsyHS5ub3JkLkFjdGlvbi5GZWVWYXVsdFRyYW5zZmVySAASOwoSdGFrZV9hbGxfcG9zaXRpb25zGCsgASgLMh0ubm9yZC5BY3Rpb24uVGFrZUFsbFBvc2l0aW9uc0gAEkcKGWNhbmNlbF9vcmRlcl9ieV9jbGllbnRfaWQYLCABKAsyIi5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5Q2xpZW50SWRIABI2Cg9leGVjdXRlX3RyaWdnZXIYLSABKAsyGy5ub3JkLkFjdGlvbi5FeGVjdXRlVHJpZ2dlckgAEj8KFHNldF9iYWNrc3RvcF9hY2NvdW50GC4gASgLMh8ubm9yZC5BY3Rpb24uU2V0QmFja3N0b3BBY2NvdW50SAASMAoMZWRpdF90cmlnZ2VyGC8gASgLMhgubm9yZC5BY3Rpb24uRWRpdFRyaWdnZXJIABIeCgZhdG9taWMYMCABKAsyDC5ub3JkLkF0b21pY0gAEigKBWFkbWluGDEgASgLMhcubm9yZC5TdGFnZWRBZG1pbkFjdGlvbkgAEjIKEXZhdWx0X3N5bmNfZXBvY2hzGDUgASgLMhUubm9yZC5WYXVsdFN5bmNFcG9jaHNIABIrCg12YXVsdF9kZXBvc2l0GDYgASgLMhIubm9yZC5WYXVsdERlcG9zaXRIABItCg52YXVsdF93aXRoZHJhdxg3IAEoCzITLm5vcmQuVmF1bHRXaXRoZHJhd0gAEiMKCWF0b21pY192Mhg4IAEoCzIOLm5vcmQuQXRvbWljVjJIABqvAQoNQ3JlYXRlU2Vzc2lvbhITCgt1c2VyX3B1YmtleRgBIAEoDBIWCg5zZXNzaW9uX3B1YmtleRgCIAEoDBIYChBleHBpcnlfdGltZXN0YW1wGAMgASgDEkEKEXNpZ25hdHVyZV9mcmFtaW5nGAQgASgOMiEubm9yZC5BY3Rpb24uVXNlclNpZ25hdHVyZUZyYW1pbmdIAIgBAUIUChJfc2lnbmF0dXJlX2ZyYW1pbmcaiwEKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBISCgphY2xfcHVia2V5GAcgASgMGu4BCgxDcmVhdGVNYXJrZXQSFQoNc2l6ZV9kZWNpbWFscxgBIAEoDRIWCg5wcmljZV9kZWNpbWFscxgCIAEoDRIPCgdpbWZfYnBzGAMgASgNEg8KB2NtZl9icHMYBCABKA0SDwoHbW1mX2JwcxgFIAEoDRIlCgttYXJrZXRfdHlwZRgGIAEoDjIQLm5vcmQuTWFya2V0VHlwZRITCgt2aWV3X3N5bWJvbBgHIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAggASgJEhUKDWJhc2VfdG9rZW5faWQYCSABKA0SEgoKYWNsX3B1YmtleRgKIAEoDBqqBAoKUGxhY2VPcmRlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIYCgRzaWRlGAMgASgOMgoubm9yZC5TaWRlEiEKCWZpbGxfbW9kZRgEIAEoDjIOLm5vcmQuRmlsbE1vZGUSFgoOaXNfcmVkdWNlX29ubHkYBSABKAgSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIeCgpxdW90ZV9zaXplGAggASgLMgoubm9yZC5VMTI4EiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHAoPY2xpZW50X29yZGVyX2lkGCEgASgESAGIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYIiABKA1IAogBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYIyABKARIA4gBARI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YJCABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IBIgBARIhCghyZWZlcnJlchglIAEoCzIKLm5vcmQuVTEyOEgFiAEBQhcKFV9kZWxlZ2F0b3JfYWNjb3VudF9pZEISChBfY2xpZW50X29yZGVyX2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkQhgKFl9zZWxmX3RyYWRlX3ByZXZlbnRpb25CCwoJX3JlZmVycmVyGqkBCg9DYW5jZWxPcmRlckJ5SWQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCghvcmRlcl9pZBgCIAEoBBIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCEgASgNSAGIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZBp6ChVDYW5jZWxPcmRlckJ5Q2xpZW50SWQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAQSHgoRc2VuZGVyX2FjY291bnRfaWQYAyABKA1IAIgBAUIUChJfc2VuZGVyX2FjY291bnRfaWQabwoHRGVwb3NpdBIUCgxhY3Rpb25fbm9uY2UYASABKAQSEgoKdG9rZW5fYWRkchgCIAEoDBIOCgZhbW91bnQYAyABKAQSEwoLdXNlcl9wdWJrZXkYBCABKAwSFQoNc2VuZGVyX3B1YmtleRgFIAEoDBpqCghXaXRoZHJhdxIQCgh0b2tlbl9pZBgBIAEoDRISCgpzZXNzaW9uX2lkGAIgASgEEg4KBmFtb3VudBgDIAEoBBIYCgtkZXN0X3B1YmtleRgEIAEoDEgAiAEBQg4KDF9kZXN0X3B1YmtleRpdChhQeXRoU2V0V29ybWhvbGVHdWFyZGlhbnMSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBISCgphY2xfcHVia2V5GAMgASgMGlUKEVB5dGhTZXRTeW1ib2xGZWVkEhUKDW9yYWNsZV9zeW1ib2wYASABKAkSFQoNcHJpY2VfZmVlZF9pZBgCIAEoDBISCgphY2xfcHVia2V5GAMgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaGwoFUGF1c2USEgoKYWNsX3B1YmtleRgBIAEoDBodCgdVbnBhdXNlEhIKCmFjbF9wdWJrZXkYASABKAwaPAoSU2V0QmFja3N0b3BBY2NvdW50EhIKCmFjbF9wdWJrZXkYASABKAwSEgoKYWNjb3VudF9pZBgCIAEoDRr5AQoJUmVjaXBpZW50EjEKB3NwZWNpYWwYASABKAsyHi5ub3JkLkFjdGlvbi5SZWNpcGllbnQuU3BlY2lhbEgAEi0KBW93bmVkGAIgASgLMhwubm9yZC5BY3Rpb24uUmVjaXBpZW50Lk93bmVkSAASMQoHdW5vd25lZBgDIAEoCzIeLm5vcmQuQWN0aW9uLlJlY2lwaWVudC5Vbm93bmVkSAAaCQoHU3BlY2lhbBobCgVPd25lZBISCgphY2NvdW50X2lkGAEgASgNGh0KB1Vub3duZWQSEgoKYWNjb3VudF9pZBgBIAEoDUIQCg5yZWNpcGllbnRfdHlwZRqfAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEjIKDXRvX2FjY291bnRfaWQYCCABKAsyFi5ub3JkLkFjdGlvbi5SZWNpcGllbnRIAIgBAUIQCg5fdG9fYWNjb3VudF9pZBpbChBGZWVWYXVsdFRyYW5zZmVyEhIKCmFjbF9wdWJrZXkYASABKAwSEQoJcmVjaXBpZW50GAIgASgNEhAKCHRva2VuX2lkGAMgASgNEg4KBmFtb3VudBgEIAEoBBq8AQoKQWRkVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEiQKB3RyaWdnZXIYAiABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAMgASgOMgwubm9yZC5JbnRlbnQSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBEiEKCHJlZmVycmVyGAsgASgLMgoubm9yZC5VMTI4SAGIAQFCDQoLX2FjY291bnRfaWRCCwoJX3JlZmVycmVyGocBCgtFZGl0VHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhIKCnRyaWdnZXJfaWQYAiABKAQSKAoLbmV3X3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGnIKDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SEgoKdHJpZ2dlcl9pZBgDIAEoBBIXCgphY2NvdW50X2lkGAogASgNSACIAQFCDQoLX2FjY291bnRfaWQaRQoKQWRkRmVlVGllchISCgphY2xfcHVia2V5GAEgASgMEiMKBmNvbmZpZxgCIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxpUCg1VcGRhdGVGZWVUaWVyEgoKAmlkGAEgASgNEiMKBmNvbmZpZxgCIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxISCgphY2xfcHVia2V5GAMgASgMGksKElVwZGF0ZUFjY291bnRzVGllchIPCgd0aWVyX2lkGAEgASgNEhAKCGFjY291bnRzGAIgAygNEhIKCmFjbF9wdWJrZXkYAyABKAwaXwoJVXBkYXRlQWNsEhIKCmFjbF9wdWJrZXkYASABKAwSFQoNdGFyZ2V0X3B1YmtleRgCIAEoDBISCgpyb2xlc19tYXNrGAMgASgNEhMKC3JvbGVzX3ZhbHVlGAQgASgNGjUKDEZyZWV6ZU1hcmtldBISCgphY2xfcHVia2V5GAEgASgMEhEKCW1hcmtldF9pZBgCIAEoDRo3Cg5VbmZyZWV6ZU1hcmtldBISCgphY2xfcHVia2V5GAEgASgMEhEKCW1hcmtldF9pZBgCIAEoDRphCg5FeGVjdXRlVHJpZ2dlchIUCgxleGVjdXRvcl9zaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SEgoKdHJpZ2dlcl9pZBgEIAEoBBpBChBUYWtlQWxsUG9zaXRpb25zEhIKCnNlc3Npb25faWQYASABKAQSGQoRdGFyZ2V0X2FjY291bnRfaWQYAiABKA0iNwoUVXNlclNpZ25hdHVyZUZyYW1pbmcSBwoDSEVYEAASFgoSU09MQU5BX1RSQU5TQUNUSU9OEAFCBgoEa2luZCLMMgoHUmVjZWlwdBIRCglhY3Rpb25faWQYASABKAQSGgoDZXJyGCAgASgOMgsubm9yZC5FcnJvckgAEkIKFWNyZWF0ZV9zZXNzaW9uX3Jlc3VsdBghIAEoCzIhLm5vcmQuUmVjZWlwdC5DcmVhdGVTZXNzaW9uUmVzdWx0SAASOAoOdHJhZGVfb3JfcGxhY2UYIiABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEj4KE2NhbmNlbF9vcmRlcl9yZXN1bHQYIyABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABI1Cg5kZXBvc2l0X3Jlc3VsdBgkIAEoCzIbLm5vcmQuUmVjZWlwdC5EZXBvc2l0UmVzdWx0SAASPgoTaW5zZXJ0X3Rva2VuX3Jlc3VsdBglIAEoCzIfLm5vcmQuUmVjZWlwdC5JbnNlcnRUb2tlblJlc3VsdEgAEkAKFGluc2VydF9tYXJrZXRfcmVzdWx0GCYgASgLMiAubm9yZC5SZWNlaXB0Lkluc2VydE1hcmtldFJlc3VsdEgAEjcKD3dpdGhkcmF3X3Jlc3VsdBgnIAEoCzIcLm5vcmQuUmVjZWlwdC5XaXRoZHJhd1Jlc3VsdEgAEkkKGW9yYWNsZV9zeW1ib2xfZmVlZF9yZXN1bHQYKCABKAsyJC5ub3JkLlJlY2VpcHQuT3JhY2xlU3ltYm9sRmVlZFJlc3VsdEgAEkAKFG9yYWNsZV91cGRhdGVfcmVzdWx0GCkgASgLMiAubm9yZC5SZWNlaXB0Lk9yYWNsZVVwZGF0ZVJlc3VsdEgAEksKGnVwZGF0ZV9ndWFyZGlhbl9zZXRfcmVzdWx0GCogASgLMiUubm9yZC5SZWNlaXB0LlVwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0SAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABJCChVtYXJrZXRfZnJlZXplX3VwZGF0ZWQYRCABKAsyIS5ub3JkLlJlY2VpcHQuTWFya2V0RnJlZXplVXBkYXRlZEgAEjQKDmZlZV90aWVyX2FkZGVkGEUgASgLMhoubm9yZC5SZWNlaXB0LkZlZVRpZXJBZGRlZEgAEjgKEGZlZV90aWVyX3VwZGF0ZWQYRiABKAsyHC5ub3JkLlJlY2VpcHQuRmVlVGllclVwZGF0ZWRIABJCChVhY2NvdW50c190aWVyX3VwZGF0ZWQYRyABKAsyIS5ub3JkLlJlY2VpcHQuQWNjb3VudHNUaWVyVXBkYXRlZEgAEi8KC2FjbF91cGRhdGVkGEggASgLMhgubm9yZC5SZWNlaXB0LkFjbFVwZGF0ZWRIABJCChVmZWVfdmF1bHRfdHJhbnNmZXJyZWQYSSABKAsyIS5ub3JkLlJlY2VpcHQuRmVlVmF1bHRUcmFuc2ZlcnJlZEgAEjkKEHRyaWdnZXJfZXhlY3V0ZWQYSiABKAsyHS5ub3JkLlJlY2VpcHQuVHJpZ2dlckV4ZWN1dGVkSAASSQoZdGFrZV9hbGxfcG9zaXRpb25zX3Jlc3VsdBhLIAEoCzIkLm5vcmQuUmVjZWlwdC5UYWtlQWxsUG9zaXRpb25zUmVzdWx0SAASQAoUYmFja3N0b3BfYWNjb3VudF9zZXQYTCABKAsyIC5ub3JkLlJlY2VpcHQuQmFja3N0b3BBY2NvdW50U2V0SAASNQoOdHJpZ2dlcl9lZGl0ZWQYTSABKAsyGy5ub3JkLlJlY2VpcHQuVHJpZ2dlckVkaXRlZEgAEjEKDXZhdWx0X2NyZWF0ZWQYTiABKAsyGC5ub3JkLkNyZWF0ZVZhdWx0UmVjZWlwdEgAEj4KFHZhdWx0X2NvbmZpZ191cGRhdGVkGE8gASgLMh4ubm9yZC5VcGRhdGVWYXVsdENvbmZpZ1JlY2VpcHRIABI9ChV2YXVsdF9tYW5hZ2VyX3VwZGF0ZWQYUCABKAsyHC5ub3JkLlNldFZhdWx0TWFuYWdlclJlY2VpcHRIABI7ChN2YXVsdF9lcG9jaHNfc3luY2VkGFEgASgLMhwubm9yZC5WYXVsdFN5bmNFcG9jaHNSZWNlaXB0SAASNAoPdmF1bHRfZGVwb3NpdGVkGFIgASgLMhkubm9yZC5WYXVsdERlcG9zaXRSZWNlaXB0SAASNQoPdmF1bHRfd2l0aGRyYXduGFMgASgLMhoubm9yZC5WYXVsdFdpdGhkcmF3UmVjZWlwdEgAGngKBlBvc3RlZBIYCgRzaWRlGAEgASgOMgoubm9yZC5TaWRlEhEKCW1hcmtldF9pZBgCIAEoDRINCgVwcmljZRgDIAEoBBIMCgRzaXplGAQgASgEEhAKCG9yZGVyX2lkGAUgASgEEhIKCmFjY291bnRfaWQYBiABKA0acAoFVHJhZGUSEAoIb3JkZXJfaWQYAiABKAQSDQoFcHJpY2UYBCABKAQSDAoEc2l6ZRgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNEhEKCW1ha2VyX2ZlZRgHIAEoBBIRCgl0YWtlcl9mZWUYCCABKAQaKQoTQ3JlYXRlU2Vzc2lvblJlc3VsdBISCgpzZXNzaW9uX2lkGAEgASgEGkwKEENhbmNlbGxlZFRyaWdnZXISEgoKYWNjb3VudF9pZBgBIAEoDRIkCgd0cmlnZ2VyGAIgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkGtoBCgtPcmRlclVwZGF0ZRIwCgZyZWFzb24YASABKA4yIC5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUuUmVhc29uEhIKCmFjY291bnRfaWQYAiABKA0SEAoIb3JkZXJfaWQYAyABKAQSFgoOcmVtYWluaW5nX3NpemUYBCABKAQSFgoOY2FuY2VsbGVkX3NpemUYBSABKAQSDQoFcHJpY2UYBiABKAQiNAoGUmVhc29uEg8KC1JFRFVDRV9PTkxZEAASGQoVU0VMRl9UUkFERV9QUkVWRU5USU9OEAEa9wIKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBEjoKEmNhbmNlbGxlZF90cmlnZ2VycxgFIAMoCzIeLm5vcmQuUmVjZWlwdC5DYW5jZWxsZWRUcmlnZ2VyEjAKDW9yZGVyX3VwZGF0ZXMYBiADKAsyGS5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUSMQoJcGxhY2VtZW50GAcgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlbWVudFJlY2VpcHRCCQoHX3Bvc3RlZEISChBfY2xpZW50X29yZGVyX2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQarwEKEFBsYWNlbWVudFJlY2VpcHQSIQoEcm9sZRgBIAEoDjITLm5vcmQuUGxhY2VtZW50Um9sZRI4CgdhY2NvdW50GAIgASgLMiUubm9yZC5SZWNlaXB0LkFjY291bnRQbGFjZW1lbnRSZWNlaXB0SAASNAoFdmF1bHQYAyABKAsyIy5ub3JkLlJlY2VpcHQuVmF1bHRQbGFjZW1lbnRSZWNlaXB0SABCCAoGdGFyZ2V0GhkKF0FjY291bnRQbGFjZW1lbnRSZWNlaXB0GkwKFVZhdWx0UGxhY2VtZW50UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZoZWFsdGgYAiABKAsyES5ub3JkLlZhdWx0SGVhbHRoGv4BCg9UcmlnZ2VyRXhlY3V0ZWQSEwoLZXhlY3V0b3JfaWQYASABKA0SEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SHgoHdHJpZ2dlchgEIAEoCzINLm5vcmQuVHJpZ2dlchISCgp0cmlnZ2VyX2lkGAggASgEEjEKB3N1Y2Nlc3MYBSABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEikKB2ZhaWx1cmUYBiABKA4yFi5ub3JkLlRyaWdnZXJFeGVjRXJyb3JIABITCgljYW5jZWxsZWQYByABKAhIAEIICgZzdGF0dXMaMgoOVGFrZUFsbEJhbGFuY2USEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEGncKD1Rha2VBbGxQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEhgKEHNldHRsZW1lbnRfcHJpY2UYAyABKAQSJAoQYmFua3J1cHRjeV9xdW90ZRgEIAEoCzIKLm5vcmQuVTEyOBpTChNUYWtlQWxsT3JkZXJVcGRhdGVzEhEKCW1hcmtldF9pZBgBIAEoDRIpCgZvcmRlcnMYAiADKAsyGS5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUa2gEKFlRha2VBbGxQb3NpdGlvbnNSZXN1bHQSGAoQdGFrZXJfYWNjb3VudF9pZBgBIAEoDRI0Cg50YWtlbl9iYWxhbmNlcxgDIAMoCzIcLm5vcmQuUmVjZWlwdC5UYWtlQWxsQmFsYW5jZRI2Cg90YWtlbl9wb3NpdGlvbnMYBCADKAsyHS5ub3JkLlJlY2VpcHQuVGFrZUFsbFBvc2l0aW9uEjgKDW9yZGVyX3VwZGF0ZXMYBSADKAsyIS5ub3JkLlJlY2VpcHQuVGFrZUFsbE9yZGVyVXBkYXRlcxqeAQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAIgBARIxCglwbGFjZW1lbnQYBCABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VtZW50UmVjZWlwdEISChBfY2xpZW50X29yZGVyX2lkGnAKDURlcG9zaXRSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEhIKCmFjY291bnRfaWQYAyABKA0SFAoMdXNlcl9jcmVhdGVkGAQgASgIEhMKC3VzZXJfcHVia2V5GAUgASgMGkMKEUluc2VydFRva2VuUmVzdWx0EhIKCmNoYWluX2FkZHIYASABKAwSGgoFdG9rZW4YAiABKAsyCy5ub3JkLlRva2VuGjIKEkluc2VydE1hcmtldFJlc3VsdBIcCgZtYXJrZXQYASABKAsyDC5ub3JkLk1hcmtldBp5Cg5XaXRoZHJhd1Jlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSDwoHYmFsYW5jZRgDIAEoBBISCgphY2NvdW50X2lkGAQgASgNEgsKA2ZlZRgFIAEoBBITCgt1c2VyX3B1YmtleRgGIAEoDBpAChZPcmFjbGVTeW1ib2xGZWVkUmVzdWx0EhUKDW9yYWNsZV9zeW1ib2wYASABKAkSDwoHZmVlZF9pZBgCIAEoDBonChJPcmFjbGVVcGRhdGVSZXN1bHQSEQoJdGltZXN0YW1wGAEgASgDGkgKF1VwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0EhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQwoMUGVycFBvc2l0aW9uEhEKCW1hcmtldF9pZBgBIAEoDRIRCgliYXNlX3NpemUYAiABKAMSDQoFcHJpY2UYAyABKAQaEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGigKEkJhY2tzdG9wQWNjb3VudFNldBISCgphY2NvdW50X2lkGAEgASgNGvwBCglSZWNpcGllbnQSMgoHc3BlY2lhbBgBIAEoCzIfLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQuU3BlY2lhbEgAEi4KBW93bmVkGAIgASgLMh0ubm9yZC5SZWNlaXB0LlJlY2lwaWVudC5Pd25lZEgAEjIKB3Vub3duZWQYAyABKAsyHy5ub3JkLlJlY2VpcHQuUmVjaXBpZW50LlVub3duZWRIABoJCgdTcGVjaWFsGhsKBU93bmVkEhIKCmFjY291bnRfaWQYASABKA0aHQoHVW5vd25lZBISCgphY2NvdW50X2lkGAEgASgNQhAKDnJlY2lwaWVudF90eXBlGqMBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SKwoKdG9fYWNjb3VudBgCIAEoCzIXLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQSEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBITCgt1c2VyX3B1YmtleRgGIAEoDBpKChNGZWVWYXVsdFRyYW5zZmVycmVkEhEKCXJlY2lwaWVudBgBIAEoDRIQCgh0b2tlbl9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQaegoMVHJpZ2dlckFkZGVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBIkCgd0cmlnZ2VyGAMgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkEhwKBmludGVudBgEIAEoDjIMLm5vcmQuSW50ZW50GnwKDlRyaWdnZXJSZW1vdmVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBIkCgd0cmlnZ2VyGAMgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkEhwKBmludGVudBgEIAEoDjIMLm5vcmQuSW50ZW50GoABCg1UcmlnZ2VyRWRpdGVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBInChBwcmV2aW91c190cmlnZ2VyGAMgASgLMg0ubm9yZC5UcmlnZ2VyEh4KB3RyaWdnZXIYBCABKAsyDS5ub3JkLlRyaWdnZXIaOAoTTWFya2V0RnJlZXplVXBkYXRlZBIRCgltYXJrZXRfaWQYASABKA0SDgoGZnJvemVuGAIgASgIGj8KDEZlZVRpZXJBZGRlZBIjCgZjb25maWcYASABKAsyEy5ub3JkLkZlZVRpZXJDb25maWcSCgoCaWQYAiABKA0aQQoORmVlVGllclVwZGF0ZWQSCgoCaWQYASABKA0SIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnGjgKE0FjY291bnRzVGllclVwZGF0ZWQSDwoHdGllcl9pZBgBIAEoDRIQCghhY2NvdW50cxgCIAMoDRpgCgpBY2xVcGRhdGVkEhIKCmFjbF9wdWJrZXkYASABKAwSEgoKcm9sZXNfbWFzaxgCIAEoBBIVCg10YXJnZXRfcHVia2V5GAMgASgMEhMKC3JvbGVzX3ZhbHVlGAQgASgEGsACChlBdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgBIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASNwoMY2FuY2VsX29yZGVyGAIgASgLMh8ubm9yZC5SZWNlaXB0LkNhbmNlbE9yZGVyUmVzdWx0SAASMwoNdHJpZ2dlcl9hZGRlZBgDIAEoCzIaLm5vcmQuUmVjZWlwdC5UcmlnZ2VyQWRkZWRIABI3Cg90cmlnZ2VyX3JlbW92ZWQYBCABKAsyHC5ub3JkLlJlY2VpcHQuVHJpZ2dlclJlbW92ZWRIABI1Cg50cmlnZ2VyX2VkaXRlZBgFIAEoCzIbLm5vcmQuUmVjZWlwdC5UcmlnZ2VyRWRpdGVkSABCBwoFaW5uZXIaSAoMQXRvbWljUmVzdWx0EjgKB3Jlc3VsdHMYASADKAsyJy5ub3JkLlJlY2VpcHQuQXRvbWljU3ViYWN0aW9uUmVzdWx0S2luZEIGCgRraW5kKhgKBFNpZGUSBwoDQVNLEAASBwoDQklEEAEqLQoLVHJpZ2dlcktpbmQSDQoJU1RPUF9MT1NTEAASDwoLVEFLRV9QUk9GSVQQASokCgZJbnRlbnQSDAoIREVDUkVBU0UQABIMCghJTkNSRUFTRRABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKq4BCg1QbGFjZW1lbnRSb2xlEiAKHFBMQUNFTUVOVF9ST0xFX0FDQ09VTlRfT1dORVIQABIgChxQTEFDRU1FTlRfUk9MRV9WQVVMVF9NQU5BR0VSEAESHgoaUExBQ0VNRU5UX1JPTEVfU1VQRVJfQURNSU4QAhIaChZQTEFDRU1FTlRfUk9MRV9UUklHR0VSEAMSHQoZUExBQ0VNRU5UX1JPTEVfTElRVUlEQVRPUhAEKjEKE1NlbGZUcmFkZVByZXZlbnRpb24SCAoETk9ORRAAEhAKDEVYUElSRV9NQUtFUhABKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASp9ChBUcmlnZ2VyRXhlY0Vycm9yEg8KC05PX1BPU0lUSU9OEAASEwoPUExBTk5JTkdfRkFJTEVEEAESDgoKQkFOS1JVUFRDWRACEhUKEVJJU0tfQ0hFQ0tfRkFJTEVEEAMSHAoYUkVEVUNFX09OTFlfQ0hFQ0tfRkFJTEVEEAQqHwoOU3BlY2lhbEFjY291bnQSDQoJRkVFX1ZBVUxUEAAqXQoLVmF1bHRTdGF0dXMSFwoTVkFVTFRfU1RBVFVTX0FDVElWRRAAEhwKGFZBVUxUX1NUQVRVU19ERVJJU0tfT05MWRABEhcKE1ZBVUxUX1NUQVRVU19GUk9aRU4QAiqGKAoFRXJyb3ISDQoJRFVQTElDQVRFEAASFQoRSU5WQUxJRF9TSUdOQVRVUkUQAxIUChBNQVJLRVRfTk9UX0ZPVU5EEAQSEwoPVE9LRU5fTk9UX0ZPVU5EEAUSEgoOVVNFUl9OT1RfRk9VTkQQBhIVChFTRVNTSU9OX05PVF9GT1VORBAHEhMKD09SREVSX05PVF9GT1VORBAIEhMKD09SREVSX1NJWkVfWkVSTxAJEg4KCkFSSVRITUVUSUMQCxIXChNBUklUSE1FVElDX09WRVJGTE9XEAwSGAoUQVJJVEhNRVRJQ19VTkRFUkZMT1cQDRIfChtBUklUSE1FVElDX0RJVklTSU9OX0JZX1pFUk8QDhIaChZLRVlfQUxSRUFEWV9SRUdJU1RFUkVEEA8SHAoYVVBEQVRFX1RJTUVTVEFNUF9JTl9QQVNUEBESGAoUVE9PX01BTllfT1BFTl9PUkRFUlMQEhIdChlXSVRIRFJBV19BTU9VTlRfVE9PX1NNQUxMEBUSKQolU09VUkNFX0FORF9UQVJHRVRfU0hPVUxEX05PVF9CRV9FUVVBTBAYEhIKDkRFQ09ERV9GQUlMVVJFECASIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGwSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIICgRUSUVSEHMSGQoVVElFUl9GRUVfT1VUX09GX1JBTkdFEHQSGAoUVElFUl9JRF9PVVRfT0ZfUkFOR0UQdRISCg5USUVSX05PVF9GT1VORBB2EhQKEEZVTkRJTkdfT1ZFUkZMT1cQexI3CjNDQU5fUkVEVUNFX1BPU0lUSU9OX09OTFlfSUZfQUxMX09SREVSU19BUkVfQ0FOQ0VMRUQQfBIXChNVTkVYUEVDVEVEX1RPS0VOX0lEEH8SFgoRUkVQRUFURURfT1JERVJfSUQQgAESHgoZQ0xJRU5UX09SREVSX0lEX1RPT19MQVJHRRCBARIUCg9UT0tFTl9OT1RfUkVBRFkQggESHQoYVE9LRU5fQUxSRUFEWV9SRUdJU1RFUkVEEIMBEiEKHElNTUVESUFURV9PUkRFUl9HT1RfTk9fRklMTFMQhQESGQoURkFJTEVEX1RPX0ZJTExfTElNSVQQhgESMAorUE9TVF9PTkxZX01VU1RfTk9UX0ZJTExfQU5ZX09QUE9TSVRFX09SREVSUxCHARIMCgdJTlZBTElEEIgBEhAKC01BSU5URU5BTkNFEIkBEhoKFU1JTklNVU1fU0laRV9ERUNJTUFMUxCKARIyCi1QQVJBTUVURVJTX1dJTExfQ1JFQVRFX05PTl9PUEVSQVRJT05BTF9NQVJLRVQQiwESIgodT05MWV9JTU1FRElBVEVfT1JERVJTX0FMTE9XRUQQjAESGwoWVE9PX01BTllfVVNFUl9BQ0NPVU5UUxCNARIWChFBQ0NPVU5UX05PVF9GT1VORBCOARIaChVBQ0NPVU5UX0lOVkFMSURfT1dORVIQjwESGwoWU1VCQUNUSU9OX09VVF9PRl9SQU5HRRCQARIRCgxEVVNUX0FDQ09VTlQQkQESDAoHQkFMQU5DRRCgARIdChhCQUxBTkNFX0RFUE9TSVRfT1ZFUkZMT1cQoQESHAoXQkFMQU5DRV9DSEFOR0VfT1ZFUkZMT1cQogESIgodQkFMQU5DRV9DSEFOR0VfTElNSVRfRVhDRUVERUQQowESGQoUQkFMQU5DRV9JTlNVRkZJQ0lFTlQQpAESHgoZVU5BVVRIRU5USUNBVEVEX0wxX0FDVElPThClARIdChhFTkNPREVEX0FDVElPTl9UT09fTEFSR0UQpgESDAoHVFJJR0dFUhCoARIaChVUUklHR0VSX0lOVkFMSURfUFJJQ0UQqQESFgoRVFJJR0dFUl9OT1RfRk9VTkQQqgESKwomVFJJR0dFUl9PTkxZX0RFQ1JFQVNFX09SREVSU19TVVBQT1JURUQQqwESKAojVFJJR0dFUl9NQVhfU0laRV9QTEFDRU1FTlRfRVhDRUVERUQQrAESGAoTVFJJR0dFUl9OT1RfQ0hBTkdFRBCtARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEhwKGEVYUElSWV9USU1FU1RBTVBfSU5fUEFTVBAQEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESGAoTUE9TSVRJT05fU1RBVEVfUEVSUBDPARIkCh9QT1NJVElPTl9TVEFURV9PUkRFUl9ERUxFR0FUSU9OENABEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEjUKMFJJU0tfVU5IRUFMVEhZX01GX0FORF9QT05fQUZURVJfQkVUVEVSX09GX0JFRk9SRRDkARIqCiVSSVNLX1RSQURFX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOUBEhQKD1JJU0tfTk9UX0VOT1VHSBDmARIUCg9PUkRFUl9FWEVDVVRJT04Q8AESGgoVT1JERVJfRVhFQ1VUSU9OX0VNUFRZEPEBEiEKHE9SREVSX0VYRUNVVElPTl9GSUxMX09SX0tJTEwQ8gESIwoeT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfTElNSVRTEPMBEiIKHU9SREVSX0VYRUNVVElPTl9NSVNTSU5HX1BSSUNFEPQBEh8KGk9SREVSX0VYRUNVVElPTl9TSVpFX0xJTUlUEPUBEiAKG09SREVSX0VYRUNVVElPTl9MSU1JVF9QUklDRRD2ARIeChlPUkRFUl9SRURVQ0VfSVNfUE9TVF9PTkxZEPcBEh8KGk9SREVSX0VYRUNVVElPTl9TRUxMX1BSSUNFEPgBEiUKIE9SREVSX1NJWkVfRVhDRUVEU19QT1NJVElPTl9TSVpFEPkBEgwKB0FUT01JQ1MQgAISKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgQISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCCAhIdChhBVE9NSUNTX0RVUExJQ0FURV9DQU5DRUwQgwISJgohQUNUSU9OX1BPU0lUSU9OX1NIT1VMRF9CRV9DT1ZFUkVEEJECEhkKFEFDVElPTl9JTlZBTElEX05PTkNFEJICEikKJEFDVElPTl9QUk9QT1NFRF9QUklDRV9NVVNUX0JFX0hJR0hFUhCTAhIcChdBRE1JTl9ST0xFX0lOU1VGRklDSUVOVBCUAhIUCg9BRE1JTl9OT1RfRk9VTkQQlQISKQokVU5JUVVFX1NVUEVSX0FETUlOX0NBTk5PVF9CRV9SRU1PVkVEEJYCEh8KGlNVUEVSX0FETUlOX0FMUkVBRFlfRVhJU1RTEJcCEhUKEFRSSUdHRVJfQ09ORkxJQ1QQmAISGgoVVFJJR0dFUl9FRElUX0NPTkZMSUNUEJkCEhwKF1RSSUdHRVJfUkVNT1ZFX0NPTkZMSUNUEJoCEg0KCFRSQU5TRkVSEKACEi4KKVRSQU5TRkVSX1RPX1VOT1dORURfQUNDT1VOVF9JU19QUk9ISUJJVEVEEKECEiwKJ1RSQU5TRkVSX1RPX09XTkVEX0FDQ09VTlRfV0FTX1JFUVVFU1RFRBCiAhIKCgVWQVVMVBCoAhIUCg9WQVVMVF9OT1RfRk9VTkQQqQISHQoYVkFVTFRfQUNUSU9OX05PVF9BTExPV0VEEKoCEhkKFFZBVUxUX1NUQVRVU19JTlZBTElEEKsCEiUKIFZBVUxUX1JFRFVDRV9PTkxZX09SREVSX1JFUVVJUkVEEKwCEiYKIVZBVUxUX0FDVElPTl9XT1VMRF9ERUdSQURFX1NUQVRVUxCtAhIZChRWQVVMVF9VU0VSX05PVF9GT1VORBCuAhIdChhWQVVMVF9VU0VSX0hBU19OT19TSEFSRVMQrwISHAoXVkFVTFRfUEVSTUlTU0lPTl9ERU5JRUQQtgISEgoNVkFVTFRfREVQT1NJVBCwAhIxCixWQVVMVF9ERVBPU0lUX0JPT1RTVFJBUF9SRVFVSVJFU19FTVBUWV9WQVVMVBCxAhIfChpWQVVMVF9ERVBPU0lUX0NBUF9FWENFRURFRBCyAhIpCiRWQVVMVF9ERVBPU0lUX1JFUVVJUkVTX0FDVElWRV9TVEFUVVMQswISLwoqVkFVTFRfREVQT1NJVF9DQVBfQkVMT1dfQ1VSUkVOVF9SQVdfRVFVSVRZELQCEhwKF1ZBVUxUX0RFUE9TSVRfVE9PX1NNQUxMELUCEhMKDlZBVUxUX1dJVEhEUkFXELgCEh4KGVZBVUxUX0lOU1VGRklDSUVOVF9TSEFSRVMQuQISLgopVkFVTFRfV0lUSERSQVdfUkVRVUlSRVNfTk9OX0ZST1pFTl9TVEFUVVMQugISIgodVkFVTFRfTk9fQ0xBSU1BQkxFX1dJVEhEUkFXQUwQuwISJQogVkFVTFRfV0lUSERSQVdfUVVPVEVfVU5BVkFJTEFCTEUQvAISLQooVkFVTFRfRFVTVF9FWElUX1JFUVVJUkVTX0ZVTExfU0hBUkVfRVhJVBC9AhI1CjBWQVVMVF9MQVNUX1NIQVJFX1dJVEhEUkFXX1JFUVVJUkVTX0VNUFRZX0FDQ09VTlQQvgISKAojVkFVTFRfV0lUSERSQVdfUkVRVUlSRVNfTElWRV9TSEFSRVMQvwISEgoNVkFVTFRfQ09OVFJPTBDAAhIdChhWQVVMVF9FUE9DSF9OT1RfRUxJR0lCTEUQwQISMQosVkFVTFRfUFJFVklPVVNfRVBPQ0hfV0lUSERSQVdBTFNfTk9UX1BBWUFCTEUQwgISMgotVkFVTFRfRlJFRVpFX1RIUkVTSE9MRF9NVVNUX0VYQ0VFRF9QUk9URUNUSU9OEMMCEh0KGFZBVUxUX0NPTkZJR19QQVRDSF9FTVBUWRDEAhIoCiNWQVVMVF9OT19TVEFUVVNfVFJBTlNJVElPTl9SRVFVSVJFRBDFAhItCihWQVVMVF9GUk9aRU5fU1RBVFVTX1JFUVVJUkVTX1NVUEVSX0FETUlOEMYCEioKJVZBVUxUX05FV19DT05GSUdfV09VTERfREVHUkFERV9TVEFUVVMQxwISFAoPTk9UX0lNUExFTUVOVEVEEPQDEhcKEkFDVElPTl9OT1RfQUxMT1dFRBD1AxIMCgdEUk9QUEVEEOcHYgZwcm90bzM");
27439
+ var file_nord = /* @__PURE__ */ fileDesc("Cgpub3JkLnByb3RvEgRub3JkIh4KBFUxMjgSCgoCbG8YASABKAQSCgoCaGkYAiABKAQiPQoNRmVlVGllckNvbmZpZxIVCg1tYWtlcl9mZWVfcHBtGAEgASgNEhUKDXRha2VyX2ZlZV9wcG0YAiABKA0i0AEKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SFQoNc2l6ZV9kZWNpbWFscxgDIAEoDRIVCg1iYXNlX3Rva2VuX2lkGAQgASgNEiUKC21hcmtldF90eXBlGAUgASgOMhAubm9yZC5NYXJrZXRUeXBlEg8KB2ltZl9icHMYBiABKA0SDwoHY21mX2JwcxgHIAEoDRIPCgdtbWZfYnBzGAggASgNEhMKC3ZpZXdfc3ltYm9sGAogASgJIloKBVRva2VuEhAKCHRva2VuX2lkGAEgASgNEhYKDnRva2VuX2RlY2ltYWxzGAIgASgNEhIKCndlaWdodF9icHMYBCABKA0SEwoLdmlld19zeW1ib2wYBSABKAkitgEKC1ZhdWx0SGVhbHRoEioKEXJhd19hY2NvdW50X3ZhbHVlGAEgASgLMgoubm9yZC5VMTI4SACIAQESKwoSc2FmZV9hY2NvdW50X3ZhbHVlGAIgASgLMgoubm9yZC5VMTI4SAGIAQESIQoGc3RhdHVzGAMgASgOMhEubm9yZC5WYXVsdFN0YXR1c0IUChJfcmF3X2FjY291bnRfdmFsdWVCFQoTX3NhZmVfYWNjb3VudF92YWx1ZSKwAQoLVmF1bHRDb25maWcSHwoLZGVwb3NpdF9jYXAYASABKAsyCi5ub3JkLlUxMjgSIgoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA0SHwoXZHJhd2Rvd25fcHJvdGVjdGlvbl9icHMYAyABKA0SGwoTZHJhd2Rvd25fZnJlZXplX2JwcxgEIAEoDRIeChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNIswCChBWYXVsdENvbmZpZ1BhdGNoEiQKC2RlcG9zaXRfY2FwGAEgASgLMgoubm9yZC5VMTI4SACIAQESJwoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA1IAYgBARIkChdkcmF3ZG93bl9wcm90ZWN0aW9uX2JwcxgDIAEoDUgCiAEBEiAKE2RyYXdkb3duX2ZyZWV6ZV9icHMYBCABKA1IA4gBARIjChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNSASIAQFCDgoMX2RlcG9zaXRfY2FwQh0KG19vcGVuX3Bvc2l0aW9uX2Rpc2NvdW50X2Jwc0IaChhfZHJhd2Rvd25fcHJvdGVjdGlvbl9icHNCFgoUX2RyYXdkb3duX2ZyZWV6ZV9icHNCGQoXX2Vwb2NoX21pbl9kdXJhdGlvbl9zZWMiSAoLQ3JlYXRlVmF1bHQSFgoObWFuYWdlcl9wdWJrZXkYASABKAwSIQoGY29uZmlnGAIgASgLMhEubm9yZC5WYXVsdENvbmZpZyJTChFVcGRhdGVWYXVsdENvbmZpZxIQCgh2YXVsdF9pZBgBIAEoDRIsCgxjb25maWdfcGF0Y2gYAiABKAsyFi5ub3JkLlZhdWx0Q29uZmlnUGF0Y2giOwoPU2V0VmF1bHRNYW5hZ2VyEhAKCHZhdWx0X2lkGAEgASgNEhYKDm1hbmFnZXJfcHVia2V5GAIgASgMIjcKD1ZhdWx0U3luY0Vwb2NocxISCgpzZXNzaW9uX2lkGAEgASgEEhAKCHZhdWx0X2lkGAIgASgNIk4KEVN0YWdlZEFkbWluQWN0aW9uEhQKDGFkbWluX3B1YmtleRgBIAEoDBIjCgRraW5kGAIgASgLMhUubm9yZC5BZG1pbkFjdGlvbktpbmQisAEKD0FkbWluQWN0aW9uS2luZBIpCgxjcmVhdGVfdmF1bHQYASABKAsyES5ub3JkLkNyZWF0ZVZhdWx0SAASNgoTdXBkYXRlX3ZhdWx0X2NvbmZpZxgCIAEoCzIXLm5vcmQuVXBkYXRlVmF1bHRDb25maWdIABIyChFzZXRfdmF1bHRfbWFuYWdlchgDIAEoCzIVLm5vcmQuU2V0VmF1bHRNYW5hZ2VySABCBgoEa2luZCJECgxWYXVsdERlcG9zaXQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQi9QEKDVZhdWx0V2l0aGRyYXcSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIuCgdyZXF1ZXN0GAMgASgLMhsubm9yZC5WYXVsdFdpdGhkcmF3LlJlcXVlc3RIABIqCgVjbGFpbRgEIAEoCzIZLm5vcmQuVmF1bHRXaXRoZHJhdy5DbGFpbUgAGlEKB1JlcXVlc3QSGAoOcXVvdGVfbm90aW9uYWwYASABKARIABIiCgxzaGFyZV9hbW91bnQYAiABKAsyCi5ub3JkLlUxMjhIAEIICgZhbW91bnQaBwoFQ2xhaW1CBgoEa2luZCKeAQoSQ3JlYXRlVmF1bHRSZWNlaXB0EhAKCHZhdWx0X2lkGAEgASgNEhgKEHZhdWx0X2FjY291bnRfaWQYAiABKA0SFgoObWFuYWdlcl9wdWJrZXkYAyABKAwSIQoGc3RhdHVzGAQgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIhCgZjb25maWcYBSABKAsyES5ub3JkLlZhdWx0Q29uZmlnInIKGFVwZGF0ZVZhdWx0Q29uZmlnUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZjb25maWcYAiABKAsyES5ub3JkLlZhdWx0Q29uZmlnEiEKBnN0YXR1cxgDIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMiQgoWU2V0VmF1bHRNYW5hZ2VyUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIWCg5tYW5hZ2VyX3B1YmtleRgCIAEoDCLhAQoWVmF1bHRTeW5jRXBvY2hzUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9jbG9zZWRfZXBvY2hfaWQYAiABKA0SGAoQY2xhaW1hYmxlX2Ftb3VudBgDIAEoBBIhCgZzdGF0dXMYBCABKA4yES5ub3JkLlZhdWx0U3RhdHVzEiEKBmVwb2NocxgFIAEoCzIRLm5vcmQuVmF1bHRFcG9jaHMSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSFQoNcXVvdGVfYmFsYW5jZRgHIAEoAyKPAgoTVmF1bHREZXBvc2l0UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SDgoGYW1vdW50GAMgASgEEiEKDXNoYXJlc19pc3N1ZWQYBCABKAsyCi5ub3JkLlUxMjgSHwoLdXNlcl9zaGFyZXMYBSABKAsyCi5ub3JkLlUxMjgSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSIQoGc3RhdHVzGAcgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIYChB2YXVsdF9hY2NvdW50X2lkGAggASgNEhUKDXF1b3RlX2JhbGFuY2UYCSABKAMiVQoRV2l0aGRyYXdhbEJ1Y2tldHMSFQoNY3VycmVudF9lcG9jaBgBIAEoBBIWCg5wcmV2aW91c19lcG9jaBgCIAEoBBIRCgljbGFpbWFibGUYAyABKAQihQEKC1ZhdWx0UHBzUmVmEhAKCGVwb2NoX2lkGAEgASgNEisKEnNhZmVfYWNjb3VudF92YWx1ZRgCIAEoCzIKLm5vcmQuVTEyOEgAiAEBEiAKDHNoYXJlX3N1cHBseRgDIAEoCzIKLm5vcmQuVTEyOEIVChNfc2FmZV9hY2NvdW50X3ZhbHVlIpYCCgtWYXVsdEVwb2NocxIYChBjdXJyZW50X2Vwb2NoX2lkGAEgASgNEiAKGGN1cnJlbnRfZXBvY2hfc3RhcnRlZF9hdBgCIAEoAxIiChVwYWlkX3Rocm91Z2hfZXBvY2hfaWQYAyABKA1IAIgBARIsCgt3aXRoZHJhd2FscxgEIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSLwoUbGF0ZXN0X2Vwb2NoX3Bwc19yZWYYBSABKAsyES5ub3JkLlZhdWx0UHBzUmVmEi4KE3ByaW9yX2Vwb2NoX3Bwc19yZWYYBiABKAsyES5ub3JkLlZhdWx0UHBzUmVmQhgKFl9wYWlkX3Rocm91Z2hfZXBvY2hfaWQijwEKDlZhdWx0VXNlclN0YXRlEhoKBnNoYXJlcxgBIAEoCzIKLm5vcmQuVTEyOBIsCgt3aXRoZHJhd2FscxgCIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSGAoQY3VycmVudF9lcG9jaF9pZBgDIAEoDRIZChFwcmV2aW91c19lcG9jaF9pZBgEIAEoDSK2AwoUVmF1bHRXaXRoZHJhd1JlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SFQoNdG9fYWNjb3VudF9pZBgCIAEoDRI5CglyZXF1ZXN0ZWQYAyABKAsyJC5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LlJlcXVlc3RlZEgAEjUKB2NsYWltZWQYBCABKAsyIi5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LkNsYWltZWRIABItCg9wb3N0X3VzZXJfc3RhdGUYBSABKAsyFC5ub3JkLlZhdWx0VXNlclN0YXRlEiUKEWxpdmVfc2hhcmVfc3VwcGx5GAYgASgLMgoubm9yZC5VMTI4EiEKBnN0YXR1cxgHIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMSGAoQdmF1bHRfYWNjb3VudF9pZBgIIAEoDRIVCg1xdW90ZV9iYWxhbmNlGAkgASgDGjYKCVJlcXVlc3RlZBINCgVxdW90ZRgBIAEoBBIaCgZidXJuZWQYAiABKAsyCi5ub3JkLlUxMjgaGQoHQ2xhaW1lZBIOCgZhbW91bnQYASABKARCBgoEa2luZCJJCgpPcmRlckxpbWl0Eg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSHgoKcXVvdGVfc2l6ZRgIIAEoCzIKLm5vcmQuVTEyOCK5AQoJUGxhY2VUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YBiABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IAIgBAUIYChZfc2VsZl90cmFkZV9wcmV2ZW50aW9uIskBCgxUcmFkZU9yUGxhY2USEQoJbWFya2V0X2lkGAIgASgNEiMKCnBsYWNlX3R5cGUYAyABKAsyDy5ub3JkLlBsYWNlVHlwZRIfCgVsaW1pdBgGIAEoCzIQLm5vcmQuT3JkZXJMaW1pdBIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAIgBARIhCghyZWZlcnJlchgiIAEoCzIKLm5vcmQuVTEyOEgBiAEBQhIKEF9jbGllbnRfb3JkZXJfaWRCCwoJX3JlZmVycmVyIikKFUF0b21pY0NhbmNlbE9yZGVyQnlJZBIQCghvcmRlcl9pZBgCIAEoBCI2ChtBdG9taWNDYW5jZWxPcmRlckJ5Q2xpZW50SWQSFwoPY2xpZW50X29yZGVyX2lkGAIgASgEIoYBChBBdG9taWNBZGRUcmlnZ2VyEiQKB3RyaWdnZXIYASABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAIgASgOMgwubm9yZC5JbnRlbnQSIQoIcmVmZXJyZXIYAyABKAsyCi5ub3JkLlUxMjhIAIgBAUILCglfcmVmZXJyZXIiUQoRQXRvbWljRWRpdFRyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoBBIoCgtuZXdfdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZCI8ChNBdG9taWNSZW1vdmVUcmlnZ2VyEhEKCW1hcmtldF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEIs8BChVBdG9taWNTdWJhY3Rpb25LaW5kVjESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAA6AhgBQgcKBWlubmVyIrABCghBdG9taWNWMRISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARIsCgdhY3Rpb25zGAYgAygLMhsubm9yZC5BdG9taWNTdWJhY3Rpb25LaW5kVjE6AhgBQg0KC19hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQiVwoWQXRvbWljUGxhY2VtZW50UmVxdWVzdBISCgh2YXVsdF9pZBgBIAEoDUgAEiAKFmxpcXVpZGF0aW9uX2FjY291bnRfaWQYAiABKA1IAEIHCgVpbm5lciKWAwoPQXRvbWljU3ViYWN0aW9uEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSAGIAQESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAASLQoLYWRkX3RyaWdnZXIYCSABKAsyFi5ub3JkLkF0b21pY0FkZFRyaWdnZXJIABIvCgxlZGl0X3RyaWdnZXIYCiABKAsyFy5ub3JkLkF0b21pY0VkaXRUcmlnZ2VySAASMwoOcmVtb3ZlX3RyaWdnZXIYCyABKAsyGS5ub3JkLkF0b21pY1JlbW92ZVRyaWdnZXJIAEIHCgVpbm5lckIXChVfZGVsZWdhdG9yX2FjY291bnRfaWQigQEKEUF0b21pY1N1YmFjdGlvblYyEjQKCXBsYWNlbWVudBgBIAEoCzIcLm5vcmQuQXRvbWljUGxhY2VtZW50UmVxdWVzdEgAiAEBEigKCXN1YmFjdGlvbhgCIAEoCzIVLm5vcmQuQXRvbWljU3ViYWN0aW9uQgwKCl9wbGFjZW1lbnQipAEKBkF0b21pYxISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARImCgdhY3Rpb25zGAYgAygLMhUubm9yZC5BdG9taWNTdWJhY3Rpb25CDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKoAQoIQXRvbWljVjISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCgphY2NvdW50X2lkGAIgASgNSACIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGAMgASgESAGIAQESKAoHYWN0aW9ucxgGIAMoCzIXLm5vcmQuQXRvbWljU3ViYWN0aW9uVjJCDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKWAQoNVHJpZ2dlclJlY29yZBIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIgCgZsaW1pdHMYAyABKAsyEC5ub3JkLk9yZGVyTGltaXQSHwoEa2luZBgEIAEoDjIRLm5vcmQuVHJpZ2dlcktpbmQSGAoEc2lkZRgFIAEoDjIKLm5vcmQuU2lkZSKbAQoHVHJpZ2dlchIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEh8KBGtpbmQYAiABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIAoGbGltaXRzGAQgASgLMhAubm9yZC5PcmRlckxpbWl0EhwKBmludGVudBgFIAEoDjIMLm5vcmQuSW50ZW50IpIsCgZBY3Rpb24SGQoRY3VycmVudF90aW1lc3RhbXAYASABKAMSDQoFbm9uY2UYAiABKA0SNAoOY3JlYXRlX3Nlc3Npb24YBCABKAsyGi5ub3JkLkFjdGlvbi5DcmVhdGVTZXNzaW9uSAASMAoMY3JlYXRlX3Rva2VuGAUgASgLMhgubm9yZC5BY3Rpb24uQ3JlYXRlVG9rZW5IABIyCg1jcmVhdGVfbWFya2V0GAYgASgLMhkubm9yZC5BY3Rpb24uQ3JlYXRlTWFya2V0SAASLgoLcGxhY2Vfb3JkZXIYByABKAsyFy5ub3JkLkFjdGlvbi5QbGFjZU9yZGVySAASOgoSY2FuY2VsX29yZGVyX2J5X2lkGAggASgLMhwubm9yZC5BY3Rpb24uQ2FuY2VsT3JkZXJCeUlkSAASJwoHZGVwb3NpdBgJIAEoCzIULm5vcmQuQWN0aW9uLkRlcG9zaXRIABIpCgh3aXRoZHJhdxgKIAEoCzIVLm5vcmQuQWN0aW9uLldpdGhkcmF3SAASTAobcHl0aF9zZXRfd29ybWhvbGVfZ3VhcmRpYW5zGAsgASgLMiUubm9yZC5BY3Rpb24uUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zSAASPgoUcHl0aF9zZXRfc3ltYm9sX2ZlZWQYDCABKAsyHi5ub3JkLkFjdGlvbi5QeXRoU2V0U3ltYm9sRmVlZEgAEkIKFnB5dGhfcHJpY2VfZmVlZF91cGRhdGUYDSABKAsyIC5ub3JkLkFjdGlvbi5QeXRoUHJpY2VGZWVkVXBkYXRlSAASNAoOcmV2b2tlX3Nlc3Npb24YDyABKAsyGi5ub3JkLkFjdGlvbi5SZXZva2VTZXNzaW9uSAASIwoFcGF1c2UYECABKAsyEi5ub3JkLkFjdGlvbi5QYXVzZUgAEicKB3VucGF1c2UYESABKAsyFC5ub3JkLkFjdGlvbi5VbnBhdXNlSAASKQoIdHJhbnNmZXIYEiABKAsyFS5ub3JkLkFjdGlvbi5UcmFuc2ZlckgAEi4KC2FkZF90cmlnZ2VyGCAgASgLMhcubm9yZC5BY3Rpb24uQWRkVHJpZ2dlckgAEjQKDnJlbW92ZV90cmlnZ2VyGCEgASgLMhoubm9yZC5BY3Rpb24uUmVtb3ZlVHJpZ2dlckgAEicKCWF0b21pY192MRgjIAEoCzIOLm5vcmQuQXRvbWljVjFCAhgBSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAASLwoMYWRkX2ZlZV90aWVyGCYgASgLMhcubm9yZC5BY3Rpb24uQWRkRmVlVGllckgAEjUKD3VwZGF0ZV9mZWVfdGllchgnIAEoCzIaLm5vcmQuQWN0aW9uLlVwZGF0ZUZlZVRpZXJIABI/ChR1cGRhdGVfYWNjb3VudHNfdGllchgoIAEoCzIfLm5vcmQuQWN0aW9uLlVwZGF0ZUFjY291bnRzVGllckgAEiwKCnVwZGF0ZV9hY2wYKSABKAsyFi5ub3JkLkFjdGlvbi5VcGRhdGVBY2xIABI7ChJmZWVfdmF1bHRfdHJhbnNmZXIYKiABKAsyHS5ub3JkLkFjdGlvbi5GZWVWYXVsdFRyYW5zZmVySAASOwoSdGFrZV9hbGxfcG9zaXRpb25zGCsgASgLMh0ubm9yZC5BY3Rpb24uVGFrZUFsbFBvc2l0aW9uc0gAEkcKGWNhbmNlbF9vcmRlcl9ieV9jbGllbnRfaWQYLCABKAsyIi5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5Q2xpZW50SWRIABI2Cg9leGVjdXRlX3RyaWdnZXIYLSABKAsyGy5ub3JkLkFjdGlvbi5FeGVjdXRlVHJpZ2dlckgAEj8KFHNldF9iYWNrc3RvcF9hY2NvdW50GC4gASgLMh8ubm9yZC5BY3Rpb24uU2V0QmFja3N0b3BBY2NvdW50SAASMAoMZWRpdF90cmlnZ2VyGC8gASgLMhgubm9yZC5BY3Rpb24uRWRpdFRyaWdnZXJIABIeCgZhdG9taWMYMCABKAsyDC5ub3JkLkF0b21pY0gAEigKBWFkbWluGDEgASgLMhcubm9yZC5TdGFnZWRBZG1pbkFjdGlvbkgAEjAKDGNsZWFyX21hcmtldBgyIAEoCzIYLm5vcmQuQWN0aW9uLkNsZWFyTWFya2V0SAASMgoRdmF1bHRfc3luY19lcG9jaHMYNSABKAsyFS5ub3JkLlZhdWx0U3luY0Vwb2Noc0gAEisKDXZhdWx0X2RlcG9zaXQYNiABKAsyEi5ub3JkLlZhdWx0RGVwb3NpdEgAEi0KDnZhdWx0X3dpdGhkcmF3GDcgASgLMhMubm9yZC5WYXVsdFdpdGhkcmF3SAASIwoJYXRvbWljX3YyGDggASgLMg4ubm9yZC5BdG9taWNWMkgAGq8BCg1DcmVhdGVTZXNzaW9uEhMKC3VzZXJfcHVia2V5GAEgASgMEhYKDnNlc3Npb25fcHVia2V5GAIgASgMEhgKEGV4cGlyeV90aW1lc3RhbXAYAyABKAMSQQoRc2lnbmF0dXJlX2ZyYW1pbmcYBCABKA4yIS5ub3JkLkFjdGlvbi5Vc2VyU2lnbmF0dXJlRnJhbWluZ0gAiAEBQhQKEl9zaWduYXR1cmVfZnJhbWluZxqLAQoLQ3JlYXRlVG9rZW4SFgoOdG9rZW5fZGVjaW1hbHMYASABKA0SEgoKd2VpZ2h0X2JwcxgDIAEoDRITCgt2aWV3X3N5bWJvbBgEIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAUgASgJEhAKCHNvbF9hZGRyGAYgASgMEhIKCmFjbF9wdWJrZXkYByABKAwa7gEKDENyZWF0ZU1hcmtldBIVCg1zaXplX2RlY2ltYWxzGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEg8KB2ltZl9icHMYAyABKA0SDwoHY21mX2JwcxgEIAEoDRIPCgdtbWZfYnBzGAUgASgNEiUKC21hcmtldF90eXBlGAYgASgOMhAubm9yZC5NYXJrZXRUeXBlEhMKC3ZpZXdfc3ltYm9sGAcgASgJEhUKDW9yYWNsZV9zeW1ib2wYCCABKAkSFQoNYmFzZV90b2tlbl9pZBgJIAEoDRISCgphY2xfcHVia2V5GAogASgMGqoECgpQbGFjZU9yZGVyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBINCgVwcmljZRgGIAEoBBIMCgRzaXplGAcgASgEEh4KCnF1b3RlX3NpemUYCCABKAsyCi5ub3JkLlUxMjgSIQoUZGVsZWdhdG9yX2FjY291bnRfaWQYICABKA1IAIgBARIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAYgBARIeChFzZW5kZXJfYWNjb3VudF9pZBgiIAEoDUgCiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgjIAEoBEgDiAEBEj0KFXNlbGZfdHJhZGVfcHJldmVudGlvbhgkIAEoDjIZLm5vcmQuU2VsZlRyYWRlUHJldmVudGlvbkgEiAEBEiEKCHJlZmVycmVyGCUgASgLMgoubm9yZC5VMTI4SAWIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhIKEF9jbGllbnRfb3JkZXJfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWRCGAoWX3NlbGZfdHJhZGVfcHJldmVudGlvbkILCglfcmVmZXJyZXIaqQEKD0NhbmNlbE9yZGVyQnlJZBISCgpzZXNzaW9uX2lkGAEgASgEEhAKCG9yZGVyX2lkGAIgASgEEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYISABKA1IAYgBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkGnoKFUNhbmNlbE9yZGVyQnlDbGllbnRJZBISCgpzZXNzaW9uX2lkGAEgASgEEhcKD2NsaWVudF9vcmRlcl9pZBgCIAEoBBIeChFzZW5kZXJfYWNjb3VudF9pZBgDIAEoDUgAiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZBpvCgdEZXBvc2l0EhQKDGFjdGlvbl9ub25jZRgBIAEoBBISCgp0b2tlbl9hZGRyGAIgASgMEg4KBmFtb3VudBgDIAEoBBITCgt1c2VyX3B1YmtleRgEIAEoDBIVCg1zZW5kZXJfcHVia2V5GAUgASgMGmoKCFdpdGhkcmF3EhAKCHRva2VuX2lkGAEgASgNEhIKCnNlc3Npb25faWQYAiABKAQSDgoGYW1vdW50GAMgASgEEhgKC2Rlc3RfcHVia2V5GAQgASgMSACIAQFCDgoMX2Rlc3RfcHVia2V5Gl0KGFB5dGhTZXRXb3JtaG9sZUd1YXJkaWFucxIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMEhIKCmFjbF9wdWJrZXkYAyABKAwaVQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMEhIKCmFjbF9wdWJrZXkYAyABKAwaLwoTUHl0aFByaWNlRmVlZFVwZGF0ZRIYChByYXdfcHl0aG5ldF9kYXRhGAEgASgMGiMKDVJldm9rZVNlc3Npb24SEgoKc2Vzc2lvbl9pZBgBIAEoBBobCgVQYXVzZRISCgphY2xfcHVia2V5GAEgASgMGh0KB1VucGF1c2USEgoKYWNsX3B1YmtleRgBIAEoDBo8ChJTZXRCYWNrc3RvcEFjY291bnQSEgoKYWNsX3B1YmtleRgBIAEoDBISCgphY2NvdW50X2lkGAIgASgNGvkBCglSZWNpcGllbnQSMQoHc3BlY2lhbBgBIAEoCzIeLm5vcmQuQWN0aW9uLlJlY2lwaWVudC5TcGVjaWFsSAASLQoFb3duZWQYAiABKAsyHC5ub3JkLkFjdGlvbi5SZWNpcGllbnQuT3duZWRIABIxCgd1bm93bmVkGAMgASgLMh4ubm9yZC5BY3Rpb24uUmVjaXBpZW50LlVub3duZWRIABoJCgdTcGVjaWFsGhsKBU93bmVkEhIKCmFjY291bnRfaWQYASABKA0aHQoHVW5vd25lZBISCgphY2NvdW50X2lkGAEgASgNQhAKDnJlY2lwaWVudF90eXBlGp8BCghUcmFuc2ZlchISCgpzZXNzaW9uX2lkGAEgASgEEhcKD2Zyb21fYWNjb3VudF9pZBgCIAEoDRIQCgh0b2tlbl9pZBgDIAEoDRIOCgZhbW91bnQYBCABKAQSMgoNdG9fYWNjb3VudF9pZBgIIAEoCzIWLm5vcmQuQWN0aW9uLlJlY2lwaWVudEgAiAEBQhAKDl90b19hY2NvdW50X2lkGlsKEEZlZVZhdWx0VHJhbnNmZXISEgoKYWNsX3B1YmtleRgBIAEoDBIRCglyZWNpcGllbnQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEGrwBCgpBZGRUcmlnZ2VyEhIKCnNlc3Npb25faWQYASABKAQSJAoHdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBIcCgZpbnRlbnQYAyABKA4yDC5ub3JkLkludGVudBIXCgphY2NvdW50X2lkGAogASgNSACIAQESIQoIcmVmZXJyZXIYCyABKAsyCi5ub3JkLlUxMjhIAYgBAUINCgtfYWNjb3VudF9pZEILCglfcmVmZXJyZXIahwEKC0VkaXRUcmlnZ2VyEhIKCnNlc3Npb25faWQYASABKAQSEgoKdHJpZ2dlcl9pZBgCIAEoBBIoCgtuZXdfdHJpZ2dlchgDIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBIXCgphY2NvdW50X2lkGAogASgNSACIAQFCDQoLX2FjY291bnRfaWQacgoNUmVtb3ZlVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRISCgp0cmlnZ2VyX2lkGAMgASgEEhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBpFCgpBZGRGZWVUaWVyEhIKCmFjbF9wdWJrZXkYASABKAwSIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnGlQKDVVwZGF0ZUZlZVRpZXISCgoCaWQYASABKA0SIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnEhIKCmFjbF9wdWJrZXkYAyABKAwaSwoSVXBkYXRlQWNjb3VudHNUaWVyEg8KB3RpZXJfaWQYASABKA0SEAoIYWNjb3VudHMYAiADKA0SEgoKYWNsX3B1YmtleRgDIAEoDBpfCglVcGRhdGVBY2wSEgoKYWNsX3B1YmtleRgBIAEoDBIVCg10YXJnZXRfcHVia2V5GAIgASgMEhIKCnJvbGVzX21hc2sYAyABKA0SEwoLcm9sZXNfdmFsdWUYBCABKA0aNQoMRnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGjcKDlVuZnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGk0KC0NsZWFyTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNEhcKD2NsZWFyYW5jZV9wcmljZRgDIAEoBBphCg5FeGVjdXRlVHJpZ2dlchIUCgxleGVjdXRvcl9zaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SEgoKdHJpZ2dlcl9pZBgEIAEoBBpBChBUYWtlQWxsUG9zaXRpb25zEhIKCnNlc3Npb25faWQYASABKAQSGQoRdGFyZ2V0X2FjY291bnRfaWQYAiABKA0iNwoUVXNlclNpZ25hdHVyZUZyYW1pbmcSBwoDSEVYEAASFgoSU09MQU5BX1RSQU5TQUNUSU9OEAFCBgoEa2luZCL5NgoHUmVjZWlwdBIRCglhY3Rpb25faWQYASABKAQSGgoDZXJyGCAgASgOMgsubm9yZC5FcnJvckgAEkIKFWNyZWF0ZV9zZXNzaW9uX3Jlc3VsdBghIAEoCzIhLm5vcmQuUmVjZWlwdC5DcmVhdGVTZXNzaW9uUmVzdWx0SAASOAoOdHJhZGVfb3JfcGxhY2UYIiABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEj4KE2NhbmNlbF9vcmRlcl9yZXN1bHQYIyABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABI1Cg5kZXBvc2l0X3Jlc3VsdBgkIAEoCzIbLm5vcmQuUmVjZWlwdC5EZXBvc2l0UmVzdWx0SAASPgoTaW5zZXJ0X3Rva2VuX3Jlc3VsdBglIAEoCzIfLm5vcmQuUmVjZWlwdC5JbnNlcnRUb2tlblJlc3VsdEgAEkAKFGluc2VydF9tYXJrZXRfcmVzdWx0GCYgASgLMiAubm9yZC5SZWNlaXB0Lkluc2VydE1hcmtldFJlc3VsdEgAEjcKD3dpdGhkcmF3X3Jlc3VsdBgnIAEoCzIcLm5vcmQuUmVjZWlwdC5XaXRoZHJhd1Jlc3VsdEgAEkkKGW9yYWNsZV9zeW1ib2xfZmVlZF9yZXN1bHQYKCABKAsyJC5ub3JkLlJlY2VpcHQuT3JhY2xlU3ltYm9sRmVlZFJlc3VsdEgAEkAKFG9yYWNsZV91cGRhdGVfcmVzdWx0GCkgASgLMiAubm9yZC5SZWNlaXB0Lk9yYWNsZVVwZGF0ZVJlc3VsdEgAEksKGnVwZGF0ZV9ndWFyZGlhbl9zZXRfcmVzdWx0GCogASgLMiUubm9yZC5SZWNlaXB0LlVwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0SAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABJCChVtYXJrZXRfZnJlZXplX3VwZGF0ZWQYRCABKAsyIS5ub3JkLlJlY2VpcHQuTWFya2V0RnJlZXplVXBkYXRlZEgAEjQKDmZlZV90aWVyX2FkZGVkGEUgASgLMhoubm9yZC5SZWNlaXB0LkZlZVRpZXJBZGRlZEgAEjgKEGZlZV90aWVyX3VwZGF0ZWQYRiABKAsyHC5ub3JkLlJlY2VpcHQuRmVlVGllclVwZGF0ZWRIABJCChVhY2NvdW50c190aWVyX3VwZGF0ZWQYRyABKAsyIS5ub3JkLlJlY2VpcHQuQWNjb3VudHNUaWVyVXBkYXRlZEgAEi8KC2FjbF91cGRhdGVkGEggASgLMhgubm9yZC5SZWNlaXB0LkFjbFVwZGF0ZWRIABJCChVmZWVfdmF1bHRfdHJhbnNmZXJyZWQYSSABKAsyIS5ub3JkLlJlY2VpcHQuRmVlVmF1bHRUcmFuc2ZlcnJlZEgAEjkKEHRyaWdnZXJfZXhlY3V0ZWQYSiABKAsyHS5ub3JkLlJlY2VpcHQuVHJpZ2dlckV4ZWN1dGVkSAASSQoZdGFrZV9hbGxfcG9zaXRpb25zX3Jlc3VsdBhLIAEoCzIkLm5vcmQuUmVjZWlwdC5UYWtlQWxsUG9zaXRpb25zUmVzdWx0SAASQAoUYmFja3N0b3BfYWNjb3VudF9zZXQYTCABKAsyIC5ub3JkLlJlY2VpcHQuQmFja3N0b3BBY2NvdW50U2V0SAASNQoOdHJpZ2dlcl9lZGl0ZWQYTSABKAsyGy5ub3JkLlJlY2VpcHQuVHJpZ2dlckVkaXRlZEgAEjEKDXZhdWx0X2NyZWF0ZWQYTiABKAsyGC5ub3JkLkNyZWF0ZVZhdWx0UmVjZWlwdEgAEj4KFHZhdWx0X2NvbmZpZ191cGRhdGVkGE8gASgLMh4ubm9yZC5VcGRhdGVWYXVsdENvbmZpZ1JlY2VpcHRIABI9ChV2YXVsdF9tYW5hZ2VyX3VwZGF0ZWQYUCABKAsyHC5ub3JkLlNldFZhdWx0TWFuYWdlclJlY2VpcHRIABI7ChN2YXVsdF9lcG9jaHNfc3luY2VkGFEgASgLMhwubm9yZC5WYXVsdFN5bmNFcG9jaHNSZWNlaXB0SAASNAoPdmF1bHRfZGVwb3NpdGVkGFIgASgLMhkubm9yZC5WYXVsdERlcG9zaXRSZWNlaXB0SAASNQoPdmF1bHRfd2l0aGRyYXduGFMgASgLMhoubm9yZC5WYXVsdFdpdGhkcmF3UmVjZWlwdEgAEj4KE2NsZWFyX21hcmtldF9yZXN1bHQYVCABKAsyHy5ub3JkLlJlY2VpcHQuQ2xlYXJNYXJrZXRSZXN1bHRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGnAKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRIRCgltYWtlcl9mZWUYByABKAQSEQoJdGFrZXJfZmVlGAggASgEGikKE0NyZWF0ZVNlc3Npb25SZXN1bHQSEgoKc2Vzc2lvbl9pZBgBIAEoBBpMChBDYW5jZWxsZWRUcmlnZ2VyEhIKCmFjY291bnRfaWQYASABKA0SJAoHdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBraAQoLT3JkZXJVcGRhdGUSMAoGcmVhc29uGAEgASgOMiAubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlLlJlYXNvbhISCgphY2NvdW50X2lkGAIgASgNEhAKCG9yZGVyX2lkGAMgASgEEhYKDnJlbWFpbmluZ19zaXplGAQgASgEEhYKDmNhbmNlbGxlZF9zaXplGAUgASgEEg0KBXByaWNlGAYgASgEIjQKBlJlYXNvbhIPCgtSRURVQ0VfT05MWRAAEhkKFVNFTEZfVFJBREVfUFJFVkVOVElPThABGvcCChBQbGFjZU9yZGVyUmVzdWx0EikKBnBvc3RlZBgBIAEoCzIULm5vcmQuUmVjZWlwdC5Qb3N0ZWRIAIgBARIiCgVmaWxscxgCIAMoCzITLm5vcmQuUmVjZWlwdC5UcmFkZRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAYgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYBCABKARIAogBARI6ChJjYW5jZWxsZWRfdHJpZ2dlcnMYBSADKAsyHi5ub3JkLlJlY2VpcHQuQ2FuY2VsbGVkVHJpZ2dlchIwCg1vcmRlcl91cGRhdGVzGAYgAygLMhkubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlEjEKCXBsYWNlbWVudBgHIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZW1lbnRSZWNlaXB0QgkKB19wb3N0ZWRCEgoQX2NsaWVudF9vcmRlcl9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkGq8BChBQbGFjZW1lbnRSZWNlaXB0EiEKBHJvbGUYASABKA4yEy5ub3JkLlBsYWNlbWVudFJvbGUSOAoHYWNjb3VudBgCIAEoCzIlLm5vcmQuUmVjZWlwdC5BY2NvdW50UGxhY2VtZW50UmVjZWlwdEgAEjQKBXZhdWx0GAMgASgLMiMubm9yZC5SZWNlaXB0LlZhdWx0UGxhY2VtZW50UmVjZWlwdEgAQggKBnRhcmdldBoZChdBY2NvdW50UGxhY2VtZW50UmVjZWlwdBpMChVWYXVsdFBsYWNlbWVudFJlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SIQoGaGVhbHRoGAIgASgLMhEubm9yZC5WYXVsdEhlYWx0aBr+AQoPVHJpZ2dlckV4ZWN1dGVkEhMKC2V4ZWN1dG9yX2lkGAEgASgNEhIKCmFjY291bnRfaWQYAiABKA0SEQoJbWFya2V0X2lkGAMgASgNEh4KB3RyaWdnZXIYBCABKAsyDS5ub3JkLlRyaWdnZXISEgoKdHJpZ2dlcl9pZBgIIAEoBBIxCgdzdWNjZXNzGAUgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABIpCgdmYWlsdXJlGAYgASgOMhYubm9yZC5UcmlnZ2VyRXhlY0Vycm9ySAASEwoJY2FuY2VsbGVkGAcgASgISABCCAoGc3RhdHVzGjIKDlRha2VBbGxCYWxhbmNlEhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBp3Cg9UYWtlQWxsUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxIYChBzZXR0bGVtZW50X3ByaWNlGAMgASgEEiQKEGJhbmtydXB0Y3lfcXVvdGUYBCABKAsyCi5ub3JkLlUxMjgaUwoTVGFrZUFsbE9yZGVyVXBkYXRlcxIRCgltYXJrZXRfaWQYASABKA0SKQoGb3JkZXJzGAIgAygLMhkubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlGtoBChZUYWtlQWxsUG9zaXRpb25zUmVzdWx0EhgKEHRha2VyX2FjY291bnRfaWQYASABKA0SNAoOdGFrZW5fYmFsYW5jZXMYAyADKAsyHC5ub3JkLlJlY2VpcHQuVGFrZUFsbEJhbGFuY2USNgoPdGFrZW5fcG9zaXRpb25zGAQgAygLMh0ubm9yZC5SZWNlaXB0LlRha2VBbGxQb3NpdGlvbhI4Cg1vcmRlcl91cGRhdGVzGAUgAygLMiEubm9yZC5SZWNlaXB0LlRha2VBbGxPcmRlclVwZGF0ZXMacwoZQ2xlYXJNYXJrZXRDYW5jZWxsZWRPcmRlchISCgphY2NvdW50X2lkGAEgASgNEhAKCG9yZGVyX2lkGAIgASgEEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgAiAEBQhIKEF9jbGllbnRfb3JkZXJfaWQarQEKGUNsZWFyTWFya2V0Q2xvc2VkUG9zaXRpb24SEgoKYWNjb3VudF9pZBgBIAEoDRIRCgliYXNlX3NpemUYAiABKAMSGAoQc2V0dGxlbWVudF9wcmljZRgDIAEoBBIZCgVxdW90ZRgEIAEoCzIKLm5vcmQuVTEyOBIZChF0cmFkaW5nX3BubF9kZWx0YRgFIAEoAxIZChFmdW5kaW5nX3BubF9kZWx0YRgGIAEoAxrFAQoRQ2xlYXJNYXJrZXRSZXN1bHQSEQoJbWFya2V0X2lkGAEgASgNEhcKD2NsZWFyYW5jZV9wcmljZRgFIAEoBBJBChBjYW5jZWxsZWRfb3JkZXJzGAMgAygLMicubm9yZC5SZWNlaXB0LkNsZWFyTWFya2V0Q2FuY2VsbGVkT3JkZXISQQoQY2xvc2VkX3Bvc2l0aW9ucxgEIAMoCzInLm5vcmQuUmVjZWlwdC5DbGVhck1hcmtldENsb3NlZFBvc2l0aW9uGp4BChFDYW5jZWxPcmRlclJlc3VsdBIQCghvcmRlcl9pZBgBIAEoBBISCgphY2NvdW50X2lkGAIgASgNEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgAiAEBEjEKCXBsYWNlbWVudBgEIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZW1lbnRSZWNlaXB0QhIKEF9jbGllbnRfb3JkZXJfaWQacAoNRGVwb3NpdFJlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSEgoKYWNjb3VudF9pZBgDIAEoDRIUCgx1c2VyX2NyZWF0ZWQYBCABKAgSEwoLdXNlcl9wdWJrZXkYBSABKAwaQwoRSW5zZXJ0VG9rZW5SZXN1bHQSEgoKY2hhaW5fYWRkchgBIAEoDBIaCgV0b2tlbhgCIAEoCzILLm5vcmQuVG9rZW4aMgoSSW5zZXJ0TWFya2V0UmVzdWx0EhwKBm1hcmtldBgBIAEoCzIMLm5vcmQuTWFya2V0GnkKDldpdGhkcmF3UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBIPCgdiYWxhbmNlGAMgASgEEhIKCmFjY291bnRfaWQYBCABKA0SCwoDZmVlGAUgASgEEhMKC3VzZXJfcHVia2V5GAYgASgMGkAKFk9yYWNsZVN5bWJvbEZlZWRSZXN1bHQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIPCgdmZWVkX2lkGAIgASgMGicKEk9yYWNsZVVwZGF0ZVJlc3VsdBIRCgl0aW1lc3RhbXAYASABKAMaSAoXVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHQSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBpDCgxQZXJwUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxINCgVwcmljZRgDIAEoBBoQCg5TZXNzaW9uUmV2b2tlZBoICgZQYXVzZWQaCgoIVW5wYXVzZWQaKAoSQmFja3N0b3BBY2NvdW50U2V0EhIKCmFjY291bnRfaWQYASABKA0a/AEKCVJlY2lwaWVudBIyCgdzcGVjaWFsGAEgASgLMh8ubm9yZC5SZWNlaXB0LlJlY2lwaWVudC5TcGVjaWFsSAASLgoFb3duZWQYAiABKAsyHS5ub3JkLlJlY2VpcHQuUmVjaXBpZW50Lk93bmVkSAASMgoHdW5vd25lZBgDIAEoCzIfLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQuVW5vd25lZEgAGgkKB1NwZWNpYWwaGwoFT3duZWQSEgoKYWNjb3VudF9pZBgBIAEoDRodCgdVbm93bmVkEhIKCmFjY291bnRfaWQYASABKA1CEAoOcmVjaXBpZW50X3R5cGUaowEKC1RyYW5zZmVycmVkEhcKD2Zyb21fYWNjb3VudF9pZBgBIAEoDRIrCgp0b19hY2NvdW50GAIgASgLMhcubm9yZC5SZWNlaXB0LlJlY2lwaWVudBIQCgh0b2tlbl9pZBgDIAEoDRIOCgZhbW91bnQYBCABKAQSFwoPYWNjb3VudF9jcmVhdGVkGAUgASgIEhMKC3VzZXJfcHVia2V5GAYgASgMGkoKE0ZlZVZhdWx0VHJhbnNmZXJyZWQSEQoJcmVjaXBpZW50GAEgASgNEhAKCHRva2VuX2lkGAIgASgNEg4KBmFtb3VudBgDIAEoBBp6CgxUcmlnZ2VyQWRkZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEiQKB3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAQgASgOMgwubm9yZC5JbnRlbnQafAoOVHJpZ2dlclJlbW92ZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEiQKB3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAQgASgOMgwubm9yZC5JbnRlbnQagAEKDVRyaWdnZXJFZGl0ZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEicKEHByZXZpb3VzX3RyaWdnZXIYAyABKAsyDS5ub3JkLlRyaWdnZXISHgoHdHJpZ2dlchgEIAEoCzINLm5vcmQuVHJpZ2dlcho4ChNNYXJrZXRGcmVlemVVcGRhdGVkEhEKCW1hcmtldF9pZBgBIAEoDRIOCgZmcm96ZW4YAiABKAgaPwoMRmVlVGllckFkZGVkEiMKBmNvbmZpZxgBIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxIKCgJpZBgCIAEoDRpBCg5GZWVUaWVyVXBkYXRlZBIKCgJpZBgBIAEoDRIjCgZjb25maWcYAiABKAsyEy5ub3JkLkZlZVRpZXJDb25maWcaOAoTQWNjb3VudHNUaWVyVXBkYXRlZBIPCgd0aWVyX2lkGAEgASgNEhAKCGFjY291bnRzGAIgAygNGmAKCkFjbFVwZGF0ZWQSEgoKYWNsX3B1YmtleRgBIAEoDBISCgpyb2xlc19tYXNrGAIgASgEEhUKDXRhcmdldF9wdWJrZXkYAyABKAwSEwoLcm9sZXNfdmFsdWUYBCABKAQawAIKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABIzCg10cmlnZ2VyX2FkZGVkGAMgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBgEIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEjUKDnRyaWdnZXJfZWRpdGVkGAUgASgLMhsubm9yZC5SZWNlaXB0LlRyaWdnZXJFZGl0ZWRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKiQKBkludGVudBIMCghERUNSRUFTRRAAEgwKCElOQ1JFQVNFEAEqTwoIRmlsbE1vZGUSCQoFTElNSVQQABINCglQT1NUX09OTFkQARIXChNJTU1FRElBVEVfT1JfQ0FOQ0VMEAISEAoMRklMTF9PUl9LSUxMEAMqrgEKDVBsYWNlbWVudFJvbGUSIAocUExBQ0VNRU5UX1JPTEVfQUNDT1VOVF9PV05FUhAAEiAKHFBMQUNFTUVOVF9ST0xFX1ZBVUxUX01BTkFHRVIQARIeChpQTEFDRU1FTlRfUk9MRV9TVVBFUl9BRE1JThACEhoKFlBMQUNFTUVOVF9ST0xFX1RSSUdHRVIQAxIdChlQTEFDRU1FTlRfUk9MRV9MSVFVSURBVE9SEAQqMQoTU2VsZlRyYWRlUHJldmVudGlvbhIICgROT05FEAASEAoMRVhQSVJFX01BS0VSEAEqJgoKTWFya2V0VHlwZRIICgRTUE9UEAASDgoKUEVSUEVUVUFMUxABKn0KEFRyaWdnZXJFeGVjRXJyb3ISDwoLTk9fUE9TSVRJT04QABITCg9QTEFOTklOR19GQUlMRUQQARIOCgpCQU5LUlVQVENZEAISFQoRUklTS19DSEVDS19GQUlMRUQQAxIcChhSRURVQ0VfT05MWV9DSEVDS19GQUlMRUQQBCofCg5TcGVjaWFsQWNjb3VudBINCglGRUVfVkFVTFQQACpdCgtWYXVsdFN0YXR1cxIXChNWQVVMVF9TVEFUVVNfQUNUSVZFEAASHAoYVkFVTFRfU1RBVFVTX0RFUklTS19PTkxZEAESFwoTVkFVTFRfU1RBVFVTX0ZST1pFThACKoYoCgVFcnJvchINCglEVVBMSUNBVEUQABIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIpCiVTT1VSQ0VfQU5EX1RBUkdFVF9TSE9VTERfTk9UX0JFX0VRVUFMEBgSEgoOREVDT0RFX0ZBSUxVUkUQIBIgChxERUNPREVfRkFJTFVSRV9MRU5HVEhfUFJFRklYECESFgoSREVDT0RFX0ZBSUxVUkVfUkFXECISGQoVREVDT0RFX0ZBSUxVUkVfRE9NQUlOECMSHwobVVBEQVRFX1BVQkxJU0hfVElNRV9JTl9QQVNUECQSFwoTUFlUSF9GRUVEX05PVF9BRERFRBBdEhUKEVBZVEhfRkVFRF9NSVNTSU5HEF4SGwoXUFlUSF9GRUVEX0FMUkVBRFlfQURERUQQXxIjCh9QWVRIX0dVQVJESUFOX1NFVF9VTklOSVRJQUxJWkVEEGASHQoZUFlUSF9HVUFSRElBTl9TRVRfSU5WQUxJRBBhEiMKH1BZVEhfRkVFRF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQYhIgChxQWVRIX0ZFRURfUFJJQ0VfT1VUX09GX1JBTkdFEGMSIwofUFlUSF9GRUVEX1ZBUklBTkNFX09VVF9PRl9SQU5HRRBkEjUKMVBZVEhfR1VBUkRJQU5fU0VUX0FORF9QWVRIX1NJR05BVFVSRV9ET19OT1RfTUFUQ0gQZRIcChhJTlZBTElEX1RPS0VOX1BBUkFNRVRFUlMQZhIcChhJTkRFWF9QUklDRV9PVVRfT0ZfUkFOR0UQZxIfChtJTkRFWF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQaBIZChVJTlZBTElEX1NUQVRFX1ZFUlNJT04QaRITCg9JTlZBTElEX01BUkdJTlMQbBIhCh1NQVJLRVRfREVDSU1BTFNfRVhDRUVEX0xJTUlUUxBtEhMKD1RPT19NQU5ZX1RPS0VOUxBuEggKBFRJRVIQcxIZChVUSUVSX0ZFRV9PVVRfT0ZfUkFOR0UQdBIYChRUSUVSX0lEX09VVF9PRl9SQU5HRRB1EhIKDlRJRVJfTk9UX0ZPVU5EEHYSFAoQRlVORElOR19PVkVSRkxPVxB7EjcKM0NBTl9SRURVQ0VfUE9TSVRJT05fT05MWV9JRl9BTExfT1JERVJTX0FSRV9DQU5DRUxFRBB8EhcKE1VORVhQRUNURURfVE9LRU5fSUQQfxIWChFSRVBFQVRFRF9PUkRFUl9JRBCAARIeChlDTElFTlRfT1JERVJfSURfVE9PX0xBUkdFEIEBEhQKD1RPS0VOX05PVF9SRUFEWRCCARIdChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQgwESIQocSU1NRURJQVRFX09SREVSX0dPVF9OT19GSUxMUxCFARIZChRGQUlMRURfVE9fRklMTF9MSU1JVBCGARIwCitQT1NUX09OTFlfTVVTVF9OT1RfRklMTF9BTllfT1BQT1NJVEVfT1JERVJTEIcBEgwKB0lOVkFMSUQQiAESEAoLTUFJTlRFTkFOQ0UQiQESGgoVTUlOSU1VTV9TSVpFX0RFQ0lNQUxTEIoBEjIKLVBBUkFNRVRFUlNfV0lMTF9DUkVBVEVfTk9OX09QRVJBVElPTkFMX01BUktFVBCLARIiCh1PTkxZX0lNTUVESUFURV9PUkRFUlNfQUxMT1dFRBCMARIbChZUT09fTUFOWV9VU0VSX0FDQ09VTlRTEI0BEhYKEUFDQ09VTlRfTk9UX0ZPVU5EEI4BEhoKFUFDQ09VTlRfSU5WQUxJRF9PV05FUhCPARIbChZTVUJBQ1RJT05fT1VUX09GX1JBTkdFEJABEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIrCiZUUklHR0VSX09OTFlfREVDUkVBU0VfT1JERVJTX1NVUFBPUlRFRBCrARIoCiNUUklHR0VSX01BWF9TSVpFX1BMQUNFTUVOVF9FWENFRURFRBCsARIYChNUUklHR0VSX05PVF9DSEFOR0VEEK0BEg4KCVRJTUVTVEFNUBCwARIfChpUSU1FU1RBTVBfT1VUX09GX1RIUkVTSE9MRBCxARIUCg9USU1FU1RBTVBfU1RBTEUQsgESHAoYRVhQSVJZX1RJTUVTVEFNUF9JTl9QQVNUEBASJQogQkFOS1JVUFRDWV9JTlNVRkZJQ0lFTlRfQ09WRVJBR0UQuQESGQoUQkFOS1JVUFRDWV9OT1RfRk9VTkQQugESGwoWQkFOS1JVUFRDWV9OT1RfQUxMT1dFRBC7ARIVChBNQVJLRVRfTk9UX1JFQURZEMABEhIKDU1BUktFVF9GUk9aRU4QwQESEQoMTUFSS0VUX0VNUFRZEMIBEg0KCFBPU0lUSU9OEMgBEhcKElBPU0lUSU9OX05PVF9GT1VORBDJARIZChRQT1NJVElPTl9TVEFURV9PUkRFUhDKARIfChpQT1NJVElPTl9TVEFURV9PUkRFUl9QUklDRRDLARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSVpFEMwBEh4KGVBPU0lUSU9OX1NUQVRFX09SREVSX1NJREUQzQESGAoTUE9TSVRJT05fU0laRV9MSU1JVBDOARIYChNQT1NJVElPTl9TVEFURV9QRVJQEM8BEiQKH1BPU0lUSU9OX1NUQVRFX09SREVSX0RFTEVHQVRJT04Q0AESCgoFUFJJQ0UQ0QESGwoWU0lHTkFUVVJFX1ZFUklGSUNBVElPThDZARIwCitTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX01BTEZPUk1FRF9QVUJMSUNfS0VZENoBEioKJVNJR05BVFVSRV9WRVJJRklDQVRJT05fSU5WQUxJRF9MRU5HVEgQ2wESCQoEUklTSxDgARI0Ci9SSVNLX0RFTEVHQVRJT05fTUZfVE9fQkVfTEVTU19USEFOX09SX0VRVUFMX01NRhDhARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfSU1GEOIBEiQKH1JJU0tfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ4wESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESFAoPUklTS19OT1RfRU5PVUdIEOYBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESJQogT1JERVJfU0laRV9FWENFRURTX1BPU0lUSU9OX1NJWkUQ+QESDAoHQVRPTUlDUxCAAhIoCiNBVE9NSUNTX1RSQURFU19DQU5OT1RfRk9MTE9XX1BMQUNFUxCBAhIwCitBVE9NSUNTX0NBTkNFTFNfQ0FOTk9UX0ZPTExPV19UUkFERVNfUExBQ0VTEIICEh0KGEFUT01JQ1NfRFVQTElDQVRFX0NBTkNFTBCDAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhwKF0FETUlOX1JPTEVfSU5TVUZGSUNJRU5UEJQCEhQKD0FETUlOX05PVF9GT1VORBCVAhIpCiRVTklRVUVfU1VQRVJfQURNSU5fQ0FOTk9UX0JFX1JFTU9WRUQQlgISHwoaU1VQRVJfQURNSU5fQUxSRUFEWV9FWElTVFMQlwISFQoQVFJJR0dFUl9DT05GTElDVBCYAhIaChVUUklHR0VSX0VESVRfQ09ORkxJQ1QQmQISHAoXVFJJR0dFUl9SRU1PVkVfQ09ORkxJQ1QQmgISDQoIVFJBTlNGRVIQoAISLgopVFJBTlNGRVJfVE9fVU5PV05FRF9BQ0NPVU5UX0lTX1BST0hJQklURUQQoQISLAonVFJBTlNGRVJfVE9fT1dORURfQUNDT1VOVF9XQVNfUkVRVUVTVEVEEKICEgoKBVZBVUxUEKgCEhQKD1ZBVUxUX05PVF9GT1VORBCpAhIdChhWQVVMVF9BQ1RJT05fTk9UX0FMTE9XRUQQqgISGQoUVkFVTFRfU1RBVFVTX0lOVkFMSUQQqwISJQogVkFVTFRfUkVEVUNFX09OTFlfT1JERVJfUkVRVUlSRUQQrAISJgohVkFVTFRfQUNUSU9OX1dPVUxEX0RFR1JBREVfU1RBVFVTEK0CEhkKFFZBVUxUX1VTRVJfTk9UX0ZPVU5EEK4CEh0KGFZBVUxUX1VTRVJfSEFTX05PX1NIQVJFUxCvAhIcChdWQVVMVF9QRVJNSVNTSU9OX0RFTklFRBC2AhISCg1WQVVMVF9ERVBPU0lUELACEjEKLFZBVUxUX0RFUE9TSVRfQk9PVFNUUkFQX1JFUVVJUkVTX0VNUFRZX1ZBVUxUELECEh8KGlZBVUxUX0RFUE9TSVRfQ0FQX0VYQ0VFREVEELICEikKJFZBVUxUX0RFUE9TSVRfUkVRVUlSRVNfQUNUSVZFX1NUQVRVUxCzAhIvCipWQVVMVF9ERVBPU0lUX0NBUF9CRUxPV19DVVJSRU5UX1JBV19FUVVJVFkQtAISHAoXVkFVTFRfREVQT1NJVF9UT09fU01BTEwQtQISEwoOVkFVTFRfV0lUSERSQVcQuAISHgoZVkFVTFRfSU5TVUZGSUNJRU5UX1NIQVJFUxC5AhIuCilWQVVMVF9XSVRIRFJBV19SRVFVSVJFU19OT05fRlJPWkVOX1NUQVRVUxC6AhIiCh1WQVVMVF9OT19DTEFJTUFCTEVfV0lUSERSQVdBTBC7AhIlCiBWQVVMVF9XSVRIRFJBV19RVU9URV9VTkFWQUlMQUJMRRC8AhItCihWQVVMVF9EVVNUX0VYSVRfUkVRVUlSRVNfRlVMTF9TSEFSRV9FWElUEL0CEjUKMFZBVUxUX0xBU1RfU0hBUkVfV0lUSERSQVdfUkVRVUlSRVNfRU1QVFlfQUNDT1VOVBC+AhIoCiNWQVVMVF9XSVRIRFJBV19SRVFVSVJFU19MSVZFX1NIQVJFUxC/AhISCg1WQVVMVF9DT05UUk9MEMACEh0KGFZBVUxUX0VQT0NIX05PVF9FTElHSUJMRRDBAhIxCixWQVVMVF9QUkVWSU9VU19FUE9DSF9XSVRIRFJBV0FMU19OT1RfUEFZQUJMRRDCAhIyCi1WQVVMVF9GUkVFWkVfVEhSRVNIT0xEX01VU1RfRVhDRUVEX1BST1RFQ1RJT04QwwISHQoYVkFVTFRfQ09ORklHX1BBVENIX0VNUFRZEMQCEigKI1ZBVUxUX05PX1NUQVRVU19UUkFOU0lUSU9OX1JFUVVJUkVEEMUCEi0KKFZBVUxUX0ZST1pFTl9TVEFUVVNfUkVRVUlSRVNfU1VQRVJfQURNSU4QxgISKgolVkFVTFRfTkVXX0NPTkZJR19XT1VMRF9ERUdSQURFX1NUQVRVUxDHAhIUCg9OT1RfSU1QTEVNRU5URUQQ9AMSFwoSQUNUSU9OX05PVF9BTExPV0VEEPUDEgwKB0RST1BQRUQQ5wdiBnByb3RvMw");
27436
27440
  var U128Schema = /* @__PURE__ */ messageDesc(file_nord, 0);
27437
27441
  var FeeTierConfigSchema = /* @__PURE__ */ messageDesc(file_nord, 1);
27438
27442
  var MarketSchema = /* @__PURE__ */ messageDesc(file_nord, 2);
@@ -27510,8 +27514,9 @@ var Action_UpdateAccountsTierSchema = /* @__PURE__ */ messageDesc(file_nord, 42,
27510
27514
  var Action_UpdateAclSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 24);
27511
27515
  var Action_FreezeMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 25);
27512
27516
  var Action_UnfreezeMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 26);
27513
- var Action_ExecuteTriggerSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 27);
27514
- var Action_TakeAllPositionsSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 28);
27517
+ var Action_ClearMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 27);
27518
+ var Action_ExecuteTriggerSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 28);
27519
+ var Action_TakeAllPositionsSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 29);
27515
27520
  var Action_UserSignatureFraming;
27516
27521
  ((Action_UserSignatureFraming2) => {
27517
27522
  Action_UserSignatureFraming2[Action_UserSignatureFraming2["HEX"] = 0] = "HEX";
@@ -27539,35 +27544,38 @@ var Receipt_TakeAllBalanceSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 10
27539
27544
  var Receipt_TakeAllPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 11);
27540
27545
  var Receipt_TakeAllOrderUpdatesSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 12);
27541
27546
  var Receipt_TakeAllPositionsResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 13);
27542
- var Receipt_CancelOrderResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 14);
27543
- var Receipt_DepositResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 15);
27544
- var Receipt_InsertTokenResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 16);
27545
- var Receipt_InsertMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 17);
27546
- var Receipt_WithdrawResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 18);
27547
- var Receipt_OracleSymbolFeedResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 19);
27548
- var Receipt_OracleUpdateResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 20);
27549
- var Receipt_UpdateGuardianSetResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 21);
27550
- var Receipt_PerpPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 22);
27551
- var Receipt_SessionRevokedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 23);
27552
- var Receipt_PausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 24);
27553
- var Receipt_UnpausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 25);
27554
- var Receipt_BackstopAccountSetSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 26);
27555
- var Receipt_RecipientSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27);
27556
- var Receipt_Recipient_SpecialSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 0);
27557
- var Receipt_Recipient_OwnedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 1);
27558
- var Receipt_Recipient_UnownedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 2);
27559
- var Receipt_TransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 28);
27560
- var Receipt_FeeVaultTransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 29);
27561
- var Receipt_TriggerAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30);
27562
- var Receipt_TriggerRemovedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 31);
27563
- var Receipt_TriggerEditedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 32);
27564
- var Receipt_MarketFreezeUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 33);
27565
- var Receipt_FeeTierAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 34);
27566
- var Receipt_FeeTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 35);
27567
- var Receipt_AccountsTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 36);
27568
- var Receipt_AclUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 37);
27569
- var Receipt_AtomicSubactionResultKindSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 38);
27570
- var Receipt_AtomicResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 39);
27547
+ var Receipt_ClearMarketCancelledOrderSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 14);
27548
+ var Receipt_ClearMarketClosedPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 15);
27549
+ var Receipt_ClearMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 16);
27550
+ var Receipt_CancelOrderResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 17);
27551
+ var Receipt_DepositResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 18);
27552
+ var Receipt_InsertTokenResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 19);
27553
+ var Receipt_InsertMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 20);
27554
+ var Receipt_WithdrawResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 21);
27555
+ var Receipt_OracleSymbolFeedResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 22);
27556
+ var Receipt_OracleUpdateResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 23);
27557
+ var Receipt_UpdateGuardianSetResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 24);
27558
+ var Receipt_PerpPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 25);
27559
+ var Receipt_SessionRevokedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 26);
27560
+ var Receipt_PausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27);
27561
+ var Receipt_UnpausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 28);
27562
+ var Receipt_BackstopAccountSetSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 29);
27563
+ var Receipt_RecipientSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30);
27564
+ var Receipt_Recipient_SpecialSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 0);
27565
+ var Receipt_Recipient_OwnedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 1);
27566
+ var Receipt_Recipient_UnownedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 2);
27567
+ var Receipt_TransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 31);
27568
+ var Receipt_FeeVaultTransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 32);
27569
+ var Receipt_TriggerAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 33);
27570
+ var Receipt_TriggerRemovedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 34);
27571
+ var Receipt_TriggerEditedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 35);
27572
+ var Receipt_MarketFreezeUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 36);
27573
+ var Receipt_FeeTierAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 37);
27574
+ var Receipt_FeeTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 38);
27575
+ var Receipt_AccountsTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 39);
27576
+ var Receipt_AclUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 40);
27577
+ var Receipt_AtomicSubactionResultKindSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 41);
27578
+ var Receipt_AtomicResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 42);
27571
27579
  var Side;
27572
27580
  ((Side2) => {
27573
27581
  Side2[Side2["ASK"] = 0] = "ASK";
@@ -78553,6 +78561,21 @@ class NordAdmin {
78553
78561
  expectReceiptKind(receipt, "marketFreezeUpdated", "unfreeze market");
78554
78562
  return { actionId: receipt.actionId, ...receipt.kind.value };
78555
78563
  }
78564
+ async clearMarket({
78565
+ marketId,
78566
+ clearancePrice
78567
+ }) {
78568
+ const receipt = await this.submitAction({
78569
+ case: "clearMarket",
78570
+ value: create(Action_ClearMarketSchema, {
78571
+ marketId,
78572
+ clearancePrice,
78573
+ aclPubkey: this.admin.toBytes()
78574
+ })
78575
+ });
78576
+ expectReceiptKind(receipt, "clearMarketResult", "clear market");
78577
+ return { actionId: receipt.actionId, ...receipt.kind.value };
78578
+ }
78556
78579
  async addFeeTier({
78557
78580
  config: config2
78558
78581
  }) {
@@ -52688,6 +52688,9 @@ __export(exports_nord_pb, {
52688
52688
  Receipt_FeeTierAddedSchema: () => Receipt_FeeTierAddedSchema,
52689
52689
  Receipt_DepositResultSchema: () => Receipt_DepositResultSchema,
52690
52690
  Receipt_CreateSessionResultSchema: () => Receipt_CreateSessionResultSchema,
52691
+ Receipt_ClearMarketResultSchema: () => Receipt_ClearMarketResultSchema,
52692
+ Receipt_ClearMarketClosedPositionSchema: () => Receipt_ClearMarketClosedPositionSchema,
52693
+ Receipt_ClearMarketCancelledOrderSchema: () => Receipt_ClearMarketCancelledOrderSchema,
52691
52694
  Receipt_CancelledTriggerSchema: () => Receipt_CancelledTriggerSchema,
52692
52695
  Receipt_CancelOrderResultSchema: () => Receipt_CancelOrderResultSchema,
52693
52696
  Receipt_BackstopAccountSetSchema: () => Receipt_BackstopAccountSetSchema,
@@ -52756,6 +52759,7 @@ __export(exports_nord_pb, {
52756
52759
  Action_CreateTokenSchema: () => Action_CreateTokenSchema,
52757
52760
  Action_CreateSessionSchema: () => Action_CreateSessionSchema,
52758
52761
  Action_CreateMarketSchema: () => Action_CreateMarketSchema,
52762
+ Action_ClearMarketSchema: () => Action_ClearMarketSchema,
52759
52763
  Action_CancelOrderByIdSchema: () => Action_CancelOrderByIdSchema,
52760
52764
  Action_CancelOrderByClientIdSchema: () => Action_CancelOrderByClientIdSchema,
52761
52765
  Action_AddTriggerSchema: () => Action_AddTriggerSchema,
@@ -56000,7 +56004,7 @@ function fileDesc(b64, imports) {
56000
56004
  }
56001
56005
 
56002
56006
  // src/gen/nord_pb.ts
56003
- var file_nord = /* @__PURE__ */ fileDesc("Cgpub3JkLnByb3RvEgRub3JkIh4KBFUxMjgSCgoCbG8YASABKAQSCgoCaGkYAiABKAQiPQoNRmVlVGllckNvbmZpZxIVCg1tYWtlcl9mZWVfcHBtGAEgASgNEhUKDXRha2VyX2ZlZV9wcG0YAiABKA0i0AEKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SFQoNc2l6ZV9kZWNpbWFscxgDIAEoDRIVCg1iYXNlX3Rva2VuX2lkGAQgASgNEiUKC21hcmtldF90eXBlGAUgASgOMhAubm9yZC5NYXJrZXRUeXBlEg8KB2ltZl9icHMYBiABKA0SDwoHY21mX2JwcxgHIAEoDRIPCgdtbWZfYnBzGAggASgNEhMKC3ZpZXdfc3ltYm9sGAogASgJIloKBVRva2VuEhAKCHRva2VuX2lkGAEgASgNEhYKDnRva2VuX2RlY2ltYWxzGAIgASgNEhIKCndlaWdodF9icHMYBCABKA0SEwoLdmlld19zeW1ib2wYBSABKAkitgEKC1ZhdWx0SGVhbHRoEioKEXJhd19hY2NvdW50X3ZhbHVlGAEgASgLMgoubm9yZC5VMTI4SACIAQESKwoSc2FmZV9hY2NvdW50X3ZhbHVlGAIgASgLMgoubm9yZC5VMTI4SAGIAQESIQoGc3RhdHVzGAMgASgOMhEubm9yZC5WYXVsdFN0YXR1c0IUChJfcmF3X2FjY291bnRfdmFsdWVCFQoTX3NhZmVfYWNjb3VudF92YWx1ZSKwAQoLVmF1bHRDb25maWcSHwoLZGVwb3NpdF9jYXAYASABKAsyCi5ub3JkLlUxMjgSIgoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA0SHwoXZHJhd2Rvd25fcHJvdGVjdGlvbl9icHMYAyABKA0SGwoTZHJhd2Rvd25fZnJlZXplX2JwcxgEIAEoDRIeChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNIswCChBWYXVsdENvbmZpZ1BhdGNoEiQKC2RlcG9zaXRfY2FwGAEgASgLMgoubm9yZC5VMTI4SACIAQESJwoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA1IAYgBARIkChdkcmF3ZG93bl9wcm90ZWN0aW9uX2JwcxgDIAEoDUgCiAEBEiAKE2RyYXdkb3duX2ZyZWV6ZV9icHMYBCABKA1IA4gBARIjChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNSASIAQFCDgoMX2RlcG9zaXRfY2FwQh0KG19vcGVuX3Bvc2l0aW9uX2Rpc2NvdW50X2Jwc0IaChhfZHJhd2Rvd25fcHJvdGVjdGlvbl9icHNCFgoUX2RyYXdkb3duX2ZyZWV6ZV9icHNCGQoXX2Vwb2NoX21pbl9kdXJhdGlvbl9zZWMiSAoLQ3JlYXRlVmF1bHQSFgoObWFuYWdlcl9wdWJrZXkYASABKAwSIQoGY29uZmlnGAIgASgLMhEubm9yZC5WYXVsdENvbmZpZyJTChFVcGRhdGVWYXVsdENvbmZpZxIQCgh2YXVsdF9pZBgBIAEoDRIsCgxjb25maWdfcGF0Y2gYAiABKAsyFi5ub3JkLlZhdWx0Q29uZmlnUGF0Y2giOwoPU2V0VmF1bHRNYW5hZ2VyEhAKCHZhdWx0X2lkGAEgASgNEhYKDm1hbmFnZXJfcHVia2V5GAIgASgMIjcKD1ZhdWx0U3luY0Vwb2NocxISCgpzZXNzaW9uX2lkGAEgASgEEhAKCHZhdWx0X2lkGAIgASgNIk4KEVN0YWdlZEFkbWluQWN0aW9uEhQKDGFkbWluX3B1YmtleRgBIAEoDBIjCgRraW5kGAIgASgLMhUubm9yZC5BZG1pbkFjdGlvbktpbmQisAEKD0FkbWluQWN0aW9uS2luZBIpCgxjcmVhdGVfdmF1bHQYASABKAsyES5ub3JkLkNyZWF0ZVZhdWx0SAASNgoTdXBkYXRlX3ZhdWx0X2NvbmZpZxgCIAEoCzIXLm5vcmQuVXBkYXRlVmF1bHRDb25maWdIABIyChFzZXRfdmF1bHRfbWFuYWdlchgDIAEoCzIVLm5vcmQuU2V0VmF1bHRNYW5hZ2VySABCBgoEa2luZCJECgxWYXVsdERlcG9zaXQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQi9QEKDVZhdWx0V2l0aGRyYXcSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIuCgdyZXF1ZXN0GAMgASgLMhsubm9yZC5WYXVsdFdpdGhkcmF3LlJlcXVlc3RIABIqCgVjbGFpbRgEIAEoCzIZLm5vcmQuVmF1bHRXaXRoZHJhdy5DbGFpbUgAGlEKB1JlcXVlc3QSGAoOcXVvdGVfbm90aW9uYWwYASABKARIABIiCgxzaGFyZV9hbW91bnQYAiABKAsyCi5ub3JkLlUxMjhIAEIICgZhbW91bnQaBwoFQ2xhaW1CBgoEa2luZCKeAQoSQ3JlYXRlVmF1bHRSZWNlaXB0EhAKCHZhdWx0X2lkGAEgASgNEhgKEHZhdWx0X2FjY291bnRfaWQYAiABKA0SFgoObWFuYWdlcl9wdWJrZXkYAyABKAwSIQoGc3RhdHVzGAQgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIhCgZjb25maWcYBSABKAsyES5ub3JkLlZhdWx0Q29uZmlnInIKGFVwZGF0ZVZhdWx0Q29uZmlnUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZjb25maWcYAiABKAsyES5ub3JkLlZhdWx0Q29uZmlnEiEKBnN0YXR1cxgDIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMiQgoWU2V0VmF1bHRNYW5hZ2VyUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIWCg5tYW5hZ2VyX3B1YmtleRgCIAEoDCLhAQoWVmF1bHRTeW5jRXBvY2hzUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9jbG9zZWRfZXBvY2hfaWQYAiABKA0SGAoQY2xhaW1hYmxlX2Ftb3VudBgDIAEoBBIhCgZzdGF0dXMYBCABKA4yES5ub3JkLlZhdWx0U3RhdHVzEiEKBmVwb2NocxgFIAEoCzIRLm5vcmQuVmF1bHRFcG9jaHMSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSFQoNcXVvdGVfYmFsYW5jZRgHIAEoAyKPAgoTVmF1bHREZXBvc2l0UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SDgoGYW1vdW50GAMgASgEEiEKDXNoYXJlc19pc3N1ZWQYBCABKAsyCi5ub3JkLlUxMjgSHwoLdXNlcl9zaGFyZXMYBSABKAsyCi5ub3JkLlUxMjgSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSIQoGc3RhdHVzGAcgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIYChB2YXVsdF9hY2NvdW50X2lkGAggASgNEhUKDXF1b3RlX2JhbGFuY2UYCSABKAMiVQoRV2l0aGRyYXdhbEJ1Y2tldHMSFQoNY3VycmVudF9lcG9jaBgBIAEoBBIWCg5wcmV2aW91c19lcG9jaBgCIAEoBBIRCgljbGFpbWFibGUYAyABKAQihQEKC1ZhdWx0UHBzUmVmEhAKCGVwb2NoX2lkGAEgASgNEisKEnNhZmVfYWNjb3VudF92YWx1ZRgCIAEoCzIKLm5vcmQuVTEyOEgAiAEBEiAKDHNoYXJlX3N1cHBseRgDIAEoCzIKLm5vcmQuVTEyOEIVChNfc2FmZV9hY2NvdW50X3ZhbHVlIpYCCgtWYXVsdEVwb2NocxIYChBjdXJyZW50X2Vwb2NoX2lkGAEgASgNEiAKGGN1cnJlbnRfZXBvY2hfc3RhcnRlZF9hdBgCIAEoAxIiChVwYWlkX3Rocm91Z2hfZXBvY2hfaWQYAyABKA1IAIgBARIsCgt3aXRoZHJhd2FscxgEIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSLwoUbGF0ZXN0X2Vwb2NoX3Bwc19yZWYYBSABKAsyES5ub3JkLlZhdWx0UHBzUmVmEi4KE3ByaW9yX2Vwb2NoX3Bwc19yZWYYBiABKAsyES5ub3JkLlZhdWx0UHBzUmVmQhgKFl9wYWlkX3Rocm91Z2hfZXBvY2hfaWQijwEKDlZhdWx0VXNlclN0YXRlEhoKBnNoYXJlcxgBIAEoCzIKLm5vcmQuVTEyOBIsCgt3aXRoZHJhd2FscxgCIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSGAoQY3VycmVudF9lcG9jaF9pZBgDIAEoDRIZChFwcmV2aW91c19lcG9jaF9pZBgEIAEoDSK2AwoUVmF1bHRXaXRoZHJhd1JlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SFQoNdG9fYWNjb3VudF9pZBgCIAEoDRI5CglyZXF1ZXN0ZWQYAyABKAsyJC5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LlJlcXVlc3RlZEgAEjUKB2NsYWltZWQYBCABKAsyIi5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LkNsYWltZWRIABItCg9wb3N0X3VzZXJfc3RhdGUYBSABKAsyFC5ub3JkLlZhdWx0VXNlclN0YXRlEiUKEWxpdmVfc2hhcmVfc3VwcGx5GAYgASgLMgoubm9yZC5VMTI4EiEKBnN0YXR1cxgHIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMSGAoQdmF1bHRfYWNjb3VudF9pZBgIIAEoDRIVCg1xdW90ZV9iYWxhbmNlGAkgASgDGjYKCVJlcXVlc3RlZBINCgVxdW90ZRgBIAEoBBIaCgZidXJuZWQYAiABKAsyCi5ub3JkLlUxMjgaGQoHQ2xhaW1lZBIOCgZhbW91bnQYASABKARCBgoEa2luZCJJCgpPcmRlckxpbWl0Eg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSHgoKcXVvdGVfc2l6ZRgIIAEoCzIKLm5vcmQuVTEyOCK5AQoJUGxhY2VUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YBiABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IAIgBAUIYChZfc2VsZl90cmFkZV9wcmV2ZW50aW9uIskBCgxUcmFkZU9yUGxhY2USEQoJbWFya2V0X2lkGAIgASgNEiMKCnBsYWNlX3R5cGUYAyABKAsyDy5ub3JkLlBsYWNlVHlwZRIfCgVsaW1pdBgGIAEoCzIQLm5vcmQuT3JkZXJMaW1pdBIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAIgBARIhCghyZWZlcnJlchgiIAEoCzIKLm5vcmQuVTEyOEgBiAEBQhIKEF9jbGllbnRfb3JkZXJfaWRCCwoJX3JlZmVycmVyIikKFUF0b21pY0NhbmNlbE9yZGVyQnlJZBIQCghvcmRlcl9pZBgCIAEoBCI2ChtBdG9taWNDYW5jZWxPcmRlckJ5Q2xpZW50SWQSFwoPY2xpZW50X29yZGVyX2lkGAIgASgEIoYBChBBdG9taWNBZGRUcmlnZ2VyEiQKB3RyaWdnZXIYASABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAIgASgOMgwubm9yZC5JbnRlbnQSIQoIcmVmZXJyZXIYAyABKAsyCi5ub3JkLlUxMjhIAIgBAUILCglfcmVmZXJyZXIiUQoRQXRvbWljRWRpdFRyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoBBIoCgtuZXdfdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZCI8ChNBdG9taWNSZW1vdmVUcmlnZ2VyEhEKCW1hcmtldF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEIs8BChVBdG9taWNTdWJhY3Rpb25LaW5kVjESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAA6AhgBQgcKBWlubmVyIrABCghBdG9taWNWMRISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARIsCgdhY3Rpb25zGAYgAygLMhsubm9yZC5BdG9taWNTdWJhY3Rpb25LaW5kVjE6AhgBQg0KC19hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQiVwoWQXRvbWljUGxhY2VtZW50UmVxdWVzdBISCgh2YXVsdF9pZBgBIAEoDUgAEiAKFmxpcXVpZGF0aW9uX2FjY291bnRfaWQYAiABKA1IAEIHCgVpbm5lciKWAwoPQXRvbWljU3ViYWN0aW9uEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSAGIAQESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAASLQoLYWRkX3RyaWdnZXIYCSABKAsyFi5ub3JkLkF0b21pY0FkZFRyaWdnZXJIABIvCgxlZGl0X3RyaWdnZXIYCiABKAsyFy5ub3JkLkF0b21pY0VkaXRUcmlnZ2VySAASMwoOcmVtb3ZlX3RyaWdnZXIYCyABKAsyGS5ub3JkLkF0b21pY1JlbW92ZVRyaWdnZXJIAEIHCgVpbm5lckIXChVfZGVsZWdhdG9yX2FjY291bnRfaWQigQEKEUF0b21pY1N1YmFjdGlvblYyEjQKCXBsYWNlbWVudBgBIAEoCzIcLm5vcmQuQXRvbWljUGxhY2VtZW50UmVxdWVzdEgAiAEBEigKCXN1YmFjdGlvbhgCIAEoCzIVLm5vcmQuQXRvbWljU3ViYWN0aW9uQgwKCl9wbGFjZW1lbnQipAEKBkF0b21pYxISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARImCgdhY3Rpb25zGAYgAygLMhUubm9yZC5BdG9taWNTdWJhY3Rpb25CDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKoAQoIQXRvbWljVjISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCgphY2NvdW50X2lkGAIgASgNSACIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGAMgASgESAGIAQESKAoHYWN0aW9ucxgGIAMoCzIXLm5vcmQuQXRvbWljU3ViYWN0aW9uVjJCDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKWAQoNVHJpZ2dlclJlY29yZBIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIgCgZsaW1pdHMYAyABKAsyEC5ub3JkLk9yZGVyTGltaXQSHwoEa2luZBgEIAEoDjIRLm5vcmQuVHJpZ2dlcktpbmQSGAoEc2lkZRgFIAEoDjIKLm5vcmQuU2lkZSKbAQoHVHJpZ2dlchIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEh8KBGtpbmQYAiABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIAoGbGltaXRzGAQgASgLMhAubm9yZC5PcmRlckxpbWl0EhwKBmludGVudBgFIAEoDjIMLm5vcmQuSW50ZW50IpErCgZBY3Rpb24SGQoRY3VycmVudF90aW1lc3RhbXAYASABKAMSDQoFbm9uY2UYAiABKA0SNAoOY3JlYXRlX3Nlc3Npb24YBCABKAsyGi5ub3JkLkFjdGlvbi5DcmVhdGVTZXNzaW9uSAASMAoMY3JlYXRlX3Rva2VuGAUgASgLMhgubm9yZC5BY3Rpb24uQ3JlYXRlVG9rZW5IABIyCg1jcmVhdGVfbWFya2V0GAYgASgLMhkubm9yZC5BY3Rpb24uQ3JlYXRlTWFya2V0SAASLgoLcGxhY2Vfb3JkZXIYByABKAsyFy5ub3JkLkFjdGlvbi5QbGFjZU9yZGVySAASOgoSY2FuY2VsX29yZGVyX2J5X2lkGAggASgLMhwubm9yZC5BY3Rpb24uQ2FuY2VsT3JkZXJCeUlkSAASJwoHZGVwb3NpdBgJIAEoCzIULm5vcmQuQWN0aW9uLkRlcG9zaXRIABIpCgh3aXRoZHJhdxgKIAEoCzIVLm5vcmQuQWN0aW9uLldpdGhkcmF3SAASTAobcHl0aF9zZXRfd29ybWhvbGVfZ3VhcmRpYW5zGAsgASgLMiUubm9yZC5BY3Rpb24uUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zSAASPgoUcHl0aF9zZXRfc3ltYm9sX2ZlZWQYDCABKAsyHi5ub3JkLkFjdGlvbi5QeXRoU2V0U3ltYm9sRmVlZEgAEkIKFnB5dGhfcHJpY2VfZmVlZF91cGRhdGUYDSABKAsyIC5ub3JkLkFjdGlvbi5QeXRoUHJpY2VGZWVkVXBkYXRlSAASNAoOcmV2b2tlX3Nlc3Npb24YDyABKAsyGi5ub3JkLkFjdGlvbi5SZXZva2VTZXNzaW9uSAASIwoFcGF1c2UYECABKAsyEi5ub3JkLkFjdGlvbi5QYXVzZUgAEicKB3VucGF1c2UYESABKAsyFC5ub3JkLkFjdGlvbi5VbnBhdXNlSAASKQoIdHJhbnNmZXIYEiABKAsyFS5ub3JkLkFjdGlvbi5UcmFuc2ZlckgAEi4KC2FkZF90cmlnZ2VyGCAgASgLMhcubm9yZC5BY3Rpb24uQWRkVHJpZ2dlckgAEjQKDnJlbW92ZV90cmlnZ2VyGCEgASgLMhoubm9yZC5BY3Rpb24uUmVtb3ZlVHJpZ2dlckgAEicKCWF0b21pY192MRgjIAEoCzIOLm5vcmQuQXRvbWljVjFCAhgBSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAASLwoMYWRkX2ZlZV90aWVyGCYgASgLMhcubm9yZC5BY3Rpb24uQWRkRmVlVGllckgAEjUKD3VwZGF0ZV9mZWVfdGllchgnIAEoCzIaLm5vcmQuQWN0aW9uLlVwZGF0ZUZlZVRpZXJIABI/ChR1cGRhdGVfYWNjb3VudHNfdGllchgoIAEoCzIfLm5vcmQuQWN0aW9uLlVwZGF0ZUFjY291bnRzVGllckgAEiwKCnVwZGF0ZV9hY2wYKSABKAsyFi5ub3JkLkFjdGlvbi5VcGRhdGVBY2xIABI7ChJmZWVfdmF1bHRfdHJhbnNmZXIYKiABKAsyHS5ub3JkLkFjdGlvbi5GZWVWYXVsdFRyYW5zZmVySAASOwoSdGFrZV9hbGxfcG9zaXRpb25zGCsgASgLMh0ubm9yZC5BY3Rpb24uVGFrZUFsbFBvc2l0aW9uc0gAEkcKGWNhbmNlbF9vcmRlcl9ieV9jbGllbnRfaWQYLCABKAsyIi5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5Q2xpZW50SWRIABI2Cg9leGVjdXRlX3RyaWdnZXIYLSABKAsyGy5ub3JkLkFjdGlvbi5FeGVjdXRlVHJpZ2dlckgAEj8KFHNldF9iYWNrc3RvcF9hY2NvdW50GC4gASgLMh8ubm9yZC5BY3Rpb24uU2V0QmFja3N0b3BBY2NvdW50SAASMAoMZWRpdF90cmlnZ2VyGC8gASgLMhgubm9yZC5BY3Rpb24uRWRpdFRyaWdnZXJIABIeCgZhdG9taWMYMCABKAsyDC5ub3JkLkF0b21pY0gAEigKBWFkbWluGDEgASgLMhcubm9yZC5TdGFnZWRBZG1pbkFjdGlvbkgAEjIKEXZhdWx0X3N5bmNfZXBvY2hzGDUgASgLMhUubm9yZC5WYXVsdFN5bmNFcG9jaHNIABIrCg12YXVsdF9kZXBvc2l0GDYgASgLMhIubm9yZC5WYXVsdERlcG9zaXRIABItCg52YXVsdF93aXRoZHJhdxg3IAEoCzITLm5vcmQuVmF1bHRXaXRoZHJhd0gAEiMKCWF0b21pY192Mhg4IAEoCzIOLm5vcmQuQXRvbWljVjJIABqvAQoNQ3JlYXRlU2Vzc2lvbhITCgt1c2VyX3B1YmtleRgBIAEoDBIWCg5zZXNzaW9uX3B1YmtleRgCIAEoDBIYChBleHBpcnlfdGltZXN0YW1wGAMgASgDEkEKEXNpZ25hdHVyZV9mcmFtaW5nGAQgASgOMiEubm9yZC5BY3Rpb24uVXNlclNpZ25hdHVyZUZyYW1pbmdIAIgBAUIUChJfc2lnbmF0dXJlX2ZyYW1pbmcaiwEKC0NyZWF0ZVRva2VuEhYKDnRva2VuX2RlY2ltYWxzGAEgASgNEhIKCndlaWdodF9icHMYAyABKA0SEwoLdmlld19zeW1ib2wYBCABKAkSFQoNb3JhY2xlX3N5bWJvbBgFIAEoCRIQCghzb2xfYWRkchgGIAEoDBISCgphY2xfcHVia2V5GAcgASgMGu4BCgxDcmVhdGVNYXJrZXQSFQoNc2l6ZV9kZWNpbWFscxgBIAEoDRIWCg5wcmljZV9kZWNpbWFscxgCIAEoDRIPCgdpbWZfYnBzGAMgASgNEg8KB2NtZl9icHMYBCABKA0SDwoHbW1mX2JwcxgFIAEoDRIlCgttYXJrZXRfdHlwZRgGIAEoDjIQLm5vcmQuTWFya2V0VHlwZRITCgt2aWV3X3N5bWJvbBgHIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAggASgJEhUKDWJhc2VfdG9rZW5faWQYCSABKA0SEgoKYWNsX3B1YmtleRgKIAEoDBqqBAoKUGxhY2VPcmRlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIYCgRzaWRlGAMgASgOMgoubm9yZC5TaWRlEiEKCWZpbGxfbW9kZRgEIAEoDjIOLm5vcmQuRmlsbE1vZGUSFgoOaXNfcmVkdWNlX29ubHkYBSABKAgSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIeCgpxdW90ZV9zaXplGAggASgLMgoubm9yZC5VMTI4EiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHAoPY2xpZW50X29yZGVyX2lkGCEgASgESAGIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYIiABKA1IAogBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYIyABKARIA4gBARI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YJCABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IBIgBARIhCghyZWZlcnJlchglIAEoCzIKLm5vcmQuVTEyOEgFiAEBQhcKFV9kZWxlZ2F0b3JfYWNjb3VudF9pZEISChBfY2xpZW50X29yZGVyX2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkQhgKFl9zZWxmX3RyYWRlX3ByZXZlbnRpb25CCwoJX3JlZmVycmVyGqkBCg9DYW5jZWxPcmRlckJ5SWQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCghvcmRlcl9pZBgCIAEoBBIhChRkZWxlZ2F0b3JfYWNjb3VudF9pZBggIAEoDUgAiAEBEh4KEXNlbmRlcl9hY2NvdW50X2lkGCEgASgNSAGIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhQKEl9zZW5kZXJfYWNjb3VudF9pZBp6ChVDYW5jZWxPcmRlckJ5Q2xpZW50SWQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAQSHgoRc2VuZGVyX2FjY291bnRfaWQYAyABKA1IAIgBAUIUChJfc2VuZGVyX2FjY291bnRfaWQabwoHRGVwb3NpdBIUCgxhY3Rpb25fbm9uY2UYASABKAQSEgoKdG9rZW5fYWRkchgCIAEoDBIOCgZhbW91bnQYAyABKAQSEwoLdXNlcl9wdWJrZXkYBCABKAwSFQoNc2VuZGVyX3B1YmtleRgFIAEoDBpqCghXaXRoZHJhdxIQCgh0b2tlbl9pZBgBIAEoDRISCgpzZXNzaW9uX2lkGAIgASgEEg4KBmFtb3VudBgDIAEoBBIYCgtkZXN0X3B1YmtleRgEIAEoDEgAiAEBQg4KDF9kZXN0X3B1YmtleRpdChhQeXRoU2V0V29ybWhvbGVHdWFyZGlhbnMSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBISCgphY2xfcHVia2V5GAMgASgMGlUKEVB5dGhTZXRTeW1ib2xGZWVkEhUKDW9yYWNsZV9zeW1ib2wYASABKAkSFQoNcHJpY2VfZmVlZF9pZBgCIAEoDBISCgphY2xfcHVia2V5GAMgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaGwoFUGF1c2USEgoKYWNsX3B1YmtleRgBIAEoDBodCgdVbnBhdXNlEhIKCmFjbF9wdWJrZXkYASABKAwaPAoSU2V0QmFja3N0b3BBY2NvdW50EhIKCmFjbF9wdWJrZXkYASABKAwSEgoKYWNjb3VudF9pZBgCIAEoDRr5AQoJUmVjaXBpZW50EjEKB3NwZWNpYWwYASABKAsyHi5ub3JkLkFjdGlvbi5SZWNpcGllbnQuU3BlY2lhbEgAEi0KBW93bmVkGAIgASgLMhwubm9yZC5BY3Rpb24uUmVjaXBpZW50Lk93bmVkSAASMQoHdW5vd25lZBgDIAEoCzIeLm5vcmQuQWN0aW9uLlJlY2lwaWVudC5Vbm93bmVkSAAaCQoHU3BlY2lhbBobCgVPd25lZBISCgphY2NvdW50X2lkGAEgASgNGh0KB1Vub3duZWQSEgoKYWNjb3VudF9pZBgBIAEoDUIQCg5yZWNpcGllbnRfdHlwZRqfAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEjIKDXRvX2FjY291bnRfaWQYCCABKAsyFi5ub3JkLkFjdGlvbi5SZWNpcGllbnRIAIgBAUIQCg5fdG9fYWNjb3VudF9pZBpbChBGZWVWYXVsdFRyYW5zZmVyEhIKCmFjbF9wdWJrZXkYASABKAwSEQoJcmVjaXBpZW50GAIgASgNEhAKCHRva2VuX2lkGAMgASgNEg4KBmFtb3VudBgEIAEoBBq8AQoKQWRkVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEiQKB3RyaWdnZXIYAiABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAMgASgOMgwubm9yZC5JbnRlbnQSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBEiEKCHJlZmVycmVyGAsgASgLMgoubm9yZC5VMTI4SAGIAQFCDQoLX2FjY291bnRfaWRCCwoJX3JlZmVycmVyGocBCgtFZGl0VHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhIKCnRyaWdnZXJfaWQYAiABKAQSKAoLbmV3X3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSFwoKYWNjb3VudF9pZBgKIAEoDUgAiAEBQg0KC19hY2NvdW50X2lkGnIKDVJlbW92ZVRyaWdnZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SEgoKdHJpZ2dlcl9pZBgDIAEoBBIXCgphY2NvdW50X2lkGAogASgNSACIAQFCDQoLX2FjY291bnRfaWQaRQoKQWRkRmVlVGllchISCgphY2xfcHVia2V5GAEgASgMEiMKBmNvbmZpZxgCIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxpUCg1VcGRhdGVGZWVUaWVyEgoKAmlkGAEgASgNEiMKBmNvbmZpZxgCIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxISCgphY2xfcHVia2V5GAMgASgMGksKElVwZGF0ZUFjY291bnRzVGllchIPCgd0aWVyX2lkGAEgASgNEhAKCGFjY291bnRzGAIgAygNEhIKCmFjbF9wdWJrZXkYAyABKAwaXwoJVXBkYXRlQWNsEhIKCmFjbF9wdWJrZXkYASABKAwSFQoNdGFyZ2V0X3B1YmtleRgCIAEoDBISCgpyb2xlc19tYXNrGAMgASgNEhMKC3JvbGVzX3ZhbHVlGAQgASgNGjUKDEZyZWV6ZU1hcmtldBISCgphY2xfcHVia2V5GAEgASgMEhEKCW1hcmtldF9pZBgCIAEoDRo3Cg5VbmZyZWV6ZU1hcmtldBISCgphY2xfcHVia2V5GAEgASgMEhEKCW1hcmtldF9pZBgCIAEoDRphCg5FeGVjdXRlVHJpZ2dlchIUCgxleGVjdXRvcl9zaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SEgoKdHJpZ2dlcl9pZBgEIAEoBBpBChBUYWtlQWxsUG9zaXRpb25zEhIKCnNlc3Npb25faWQYASABKAQSGQoRdGFyZ2V0X2FjY291bnRfaWQYAiABKA0iNwoUVXNlclNpZ25hdHVyZUZyYW1pbmcSBwoDSEVYEAASFgoSU09MQU5BX1RSQU5TQUNUSU9OEAFCBgoEa2luZCLMMgoHUmVjZWlwdBIRCglhY3Rpb25faWQYASABKAQSGgoDZXJyGCAgASgOMgsubm9yZC5FcnJvckgAEkIKFWNyZWF0ZV9zZXNzaW9uX3Jlc3VsdBghIAEoCzIhLm5vcmQuUmVjZWlwdC5DcmVhdGVTZXNzaW9uUmVzdWx0SAASOAoOdHJhZGVfb3JfcGxhY2UYIiABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEj4KE2NhbmNlbF9vcmRlcl9yZXN1bHQYIyABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABI1Cg5kZXBvc2l0X3Jlc3VsdBgkIAEoCzIbLm5vcmQuUmVjZWlwdC5EZXBvc2l0UmVzdWx0SAASPgoTaW5zZXJ0X3Rva2VuX3Jlc3VsdBglIAEoCzIfLm5vcmQuUmVjZWlwdC5JbnNlcnRUb2tlblJlc3VsdEgAEkAKFGluc2VydF9tYXJrZXRfcmVzdWx0GCYgASgLMiAubm9yZC5SZWNlaXB0Lkluc2VydE1hcmtldFJlc3VsdEgAEjcKD3dpdGhkcmF3X3Jlc3VsdBgnIAEoCzIcLm5vcmQuUmVjZWlwdC5XaXRoZHJhd1Jlc3VsdEgAEkkKGW9yYWNsZV9zeW1ib2xfZmVlZF9yZXN1bHQYKCABKAsyJC5ub3JkLlJlY2VpcHQuT3JhY2xlU3ltYm9sRmVlZFJlc3VsdEgAEkAKFG9yYWNsZV91cGRhdGVfcmVzdWx0GCkgASgLMiAubm9yZC5SZWNlaXB0Lk9yYWNsZVVwZGF0ZVJlc3VsdEgAEksKGnVwZGF0ZV9ndWFyZGlhbl9zZXRfcmVzdWx0GCogASgLMiUubm9yZC5SZWNlaXB0LlVwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0SAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABJCChVtYXJrZXRfZnJlZXplX3VwZGF0ZWQYRCABKAsyIS5ub3JkLlJlY2VpcHQuTWFya2V0RnJlZXplVXBkYXRlZEgAEjQKDmZlZV90aWVyX2FkZGVkGEUgASgLMhoubm9yZC5SZWNlaXB0LkZlZVRpZXJBZGRlZEgAEjgKEGZlZV90aWVyX3VwZGF0ZWQYRiABKAsyHC5ub3JkLlJlY2VpcHQuRmVlVGllclVwZGF0ZWRIABJCChVhY2NvdW50c190aWVyX3VwZGF0ZWQYRyABKAsyIS5ub3JkLlJlY2VpcHQuQWNjb3VudHNUaWVyVXBkYXRlZEgAEi8KC2FjbF91cGRhdGVkGEggASgLMhgubm9yZC5SZWNlaXB0LkFjbFVwZGF0ZWRIABJCChVmZWVfdmF1bHRfdHJhbnNmZXJyZWQYSSABKAsyIS5ub3JkLlJlY2VpcHQuRmVlVmF1bHRUcmFuc2ZlcnJlZEgAEjkKEHRyaWdnZXJfZXhlY3V0ZWQYSiABKAsyHS5ub3JkLlJlY2VpcHQuVHJpZ2dlckV4ZWN1dGVkSAASSQoZdGFrZV9hbGxfcG9zaXRpb25zX3Jlc3VsdBhLIAEoCzIkLm5vcmQuUmVjZWlwdC5UYWtlQWxsUG9zaXRpb25zUmVzdWx0SAASQAoUYmFja3N0b3BfYWNjb3VudF9zZXQYTCABKAsyIC5ub3JkLlJlY2VpcHQuQmFja3N0b3BBY2NvdW50U2V0SAASNQoOdHJpZ2dlcl9lZGl0ZWQYTSABKAsyGy5ub3JkLlJlY2VpcHQuVHJpZ2dlckVkaXRlZEgAEjEKDXZhdWx0X2NyZWF0ZWQYTiABKAsyGC5ub3JkLkNyZWF0ZVZhdWx0UmVjZWlwdEgAEj4KFHZhdWx0X2NvbmZpZ191cGRhdGVkGE8gASgLMh4ubm9yZC5VcGRhdGVWYXVsdENvbmZpZ1JlY2VpcHRIABI9ChV2YXVsdF9tYW5hZ2VyX3VwZGF0ZWQYUCABKAsyHC5ub3JkLlNldFZhdWx0TWFuYWdlclJlY2VpcHRIABI7ChN2YXVsdF9lcG9jaHNfc3luY2VkGFEgASgLMhwubm9yZC5WYXVsdFN5bmNFcG9jaHNSZWNlaXB0SAASNAoPdmF1bHRfZGVwb3NpdGVkGFIgASgLMhkubm9yZC5WYXVsdERlcG9zaXRSZWNlaXB0SAASNQoPdmF1bHRfd2l0aGRyYXduGFMgASgLMhoubm9yZC5WYXVsdFdpdGhkcmF3UmVjZWlwdEgAGngKBlBvc3RlZBIYCgRzaWRlGAEgASgOMgoubm9yZC5TaWRlEhEKCW1hcmtldF9pZBgCIAEoDRINCgVwcmljZRgDIAEoBBIMCgRzaXplGAQgASgEEhAKCG9yZGVyX2lkGAUgASgEEhIKCmFjY291bnRfaWQYBiABKA0acAoFVHJhZGUSEAoIb3JkZXJfaWQYAiABKAQSDQoFcHJpY2UYBCABKAQSDAoEc2l6ZRgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNEhEKCW1ha2VyX2ZlZRgHIAEoBBIRCgl0YWtlcl9mZWUYCCABKAQaKQoTQ3JlYXRlU2Vzc2lvblJlc3VsdBISCgpzZXNzaW9uX2lkGAEgASgEGkwKEENhbmNlbGxlZFRyaWdnZXISEgoKYWNjb3VudF9pZBgBIAEoDRIkCgd0cmlnZ2VyGAIgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkGtoBCgtPcmRlclVwZGF0ZRIwCgZyZWFzb24YASABKA4yIC5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUuUmVhc29uEhIKCmFjY291bnRfaWQYAiABKA0SEAoIb3JkZXJfaWQYAyABKAQSFgoOcmVtYWluaW5nX3NpemUYBCABKAQSFgoOY2FuY2VsbGVkX3NpemUYBSABKAQSDQoFcHJpY2UYBiABKAQiNAoGUmVhc29uEg8KC1JFRFVDRV9PTkxZEAASGQoVU0VMRl9UUkFERV9QUkVWRU5USU9OEAEa9wIKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBEjoKEmNhbmNlbGxlZF90cmlnZ2VycxgFIAMoCzIeLm5vcmQuUmVjZWlwdC5DYW5jZWxsZWRUcmlnZ2VyEjAKDW9yZGVyX3VwZGF0ZXMYBiADKAsyGS5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUSMQoJcGxhY2VtZW50GAcgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlbWVudFJlY2VpcHRCCQoHX3Bvc3RlZEISChBfY2xpZW50X29yZGVyX2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQarwEKEFBsYWNlbWVudFJlY2VpcHQSIQoEcm9sZRgBIAEoDjITLm5vcmQuUGxhY2VtZW50Um9sZRI4CgdhY2NvdW50GAIgASgLMiUubm9yZC5SZWNlaXB0LkFjY291bnRQbGFjZW1lbnRSZWNlaXB0SAASNAoFdmF1bHQYAyABKAsyIy5ub3JkLlJlY2VpcHQuVmF1bHRQbGFjZW1lbnRSZWNlaXB0SABCCAoGdGFyZ2V0GhkKF0FjY291bnRQbGFjZW1lbnRSZWNlaXB0GkwKFVZhdWx0UGxhY2VtZW50UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZoZWFsdGgYAiABKAsyES5ub3JkLlZhdWx0SGVhbHRoGv4BCg9UcmlnZ2VyRXhlY3V0ZWQSEwoLZXhlY3V0b3JfaWQYASABKA0SEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SHgoHdHJpZ2dlchgEIAEoCzINLm5vcmQuVHJpZ2dlchISCgp0cmlnZ2VyX2lkGAggASgEEjEKB3N1Y2Nlc3MYBSABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEikKB2ZhaWx1cmUYBiABKA4yFi5ub3JkLlRyaWdnZXJFeGVjRXJyb3JIABITCgljYW5jZWxsZWQYByABKAhIAEIICgZzdGF0dXMaMgoOVGFrZUFsbEJhbGFuY2USEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEGncKD1Rha2VBbGxQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEhgKEHNldHRsZW1lbnRfcHJpY2UYAyABKAQSJAoQYmFua3J1cHRjeV9xdW90ZRgEIAEoCzIKLm5vcmQuVTEyOBpTChNUYWtlQWxsT3JkZXJVcGRhdGVzEhEKCW1hcmtldF9pZBgBIAEoDRIpCgZvcmRlcnMYAiADKAsyGS5ub3JkLlJlY2VpcHQuT3JkZXJVcGRhdGUa2gEKFlRha2VBbGxQb3NpdGlvbnNSZXN1bHQSGAoQdGFrZXJfYWNjb3VudF9pZBgBIAEoDRI0Cg50YWtlbl9iYWxhbmNlcxgDIAMoCzIcLm5vcmQuUmVjZWlwdC5UYWtlQWxsQmFsYW5jZRI2Cg90YWtlbl9wb3NpdGlvbnMYBCADKAsyHS5ub3JkLlJlY2VpcHQuVGFrZUFsbFBvc2l0aW9uEjgKDW9yZGVyX3VwZGF0ZXMYBSADKAsyIS5ub3JkLlJlY2VpcHQuVGFrZUFsbE9yZGVyVXBkYXRlcxqeAQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAIgBARIxCglwbGFjZW1lbnQYBCABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VtZW50UmVjZWlwdEISChBfY2xpZW50X29yZGVyX2lkGnAKDURlcG9zaXRSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEhIKCmFjY291bnRfaWQYAyABKA0SFAoMdXNlcl9jcmVhdGVkGAQgASgIEhMKC3VzZXJfcHVia2V5GAUgASgMGkMKEUluc2VydFRva2VuUmVzdWx0EhIKCmNoYWluX2FkZHIYASABKAwSGgoFdG9rZW4YAiABKAsyCy5ub3JkLlRva2VuGjIKEkluc2VydE1hcmtldFJlc3VsdBIcCgZtYXJrZXQYASABKAsyDC5ub3JkLk1hcmtldBp5Cg5XaXRoZHJhd1Jlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSDwoHYmFsYW5jZRgDIAEoBBISCgphY2NvdW50X2lkGAQgASgNEgsKA2ZlZRgFIAEoBBITCgt1c2VyX3B1YmtleRgGIAEoDBpAChZPcmFjbGVTeW1ib2xGZWVkUmVzdWx0EhUKDW9yYWNsZV9zeW1ib2wYASABKAkSDwoHZmVlZF9pZBgCIAEoDBonChJPcmFjbGVVcGRhdGVSZXN1bHQSEQoJdGltZXN0YW1wGAEgASgDGkgKF1VwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0EhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQwoMUGVycFBvc2l0aW9uEhEKCW1hcmtldF9pZBgBIAEoDRIRCgliYXNlX3NpemUYAiABKAMSDQoFcHJpY2UYAyABKAQaEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGigKEkJhY2tzdG9wQWNjb3VudFNldBISCgphY2NvdW50X2lkGAEgASgNGvwBCglSZWNpcGllbnQSMgoHc3BlY2lhbBgBIAEoCzIfLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQuU3BlY2lhbEgAEi4KBW93bmVkGAIgASgLMh0ubm9yZC5SZWNlaXB0LlJlY2lwaWVudC5Pd25lZEgAEjIKB3Vub3duZWQYAyABKAsyHy5ub3JkLlJlY2VpcHQuUmVjaXBpZW50LlVub3duZWRIABoJCgdTcGVjaWFsGhsKBU93bmVkEhIKCmFjY291bnRfaWQYASABKA0aHQoHVW5vd25lZBISCgphY2NvdW50X2lkGAEgASgNQhAKDnJlY2lwaWVudF90eXBlGqMBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SKwoKdG9fYWNjb3VudBgCIAEoCzIXLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQSEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBITCgt1c2VyX3B1YmtleRgGIAEoDBpKChNGZWVWYXVsdFRyYW5zZmVycmVkEhEKCXJlY2lwaWVudBgBIAEoDRIQCgh0b2tlbl9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQaegoMVHJpZ2dlckFkZGVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBIkCgd0cmlnZ2VyGAMgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkEhwKBmludGVudBgEIAEoDjIMLm5vcmQuSW50ZW50GnwKDlRyaWdnZXJSZW1vdmVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBIkCgd0cmlnZ2VyGAMgASgLMhMubm9yZC5UcmlnZ2VyUmVjb3JkEhwKBmludGVudBgEIAEoDjIMLm5vcmQuSW50ZW50GoABCg1UcmlnZ2VyRWRpdGVkEhIKCmFjY291bnRfaWQYASABKA0SEgoKdHJpZ2dlcl9pZBgCIAEoBBInChBwcmV2aW91c190cmlnZ2VyGAMgASgLMg0ubm9yZC5UcmlnZ2VyEh4KB3RyaWdnZXIYBCABKAsyDS5ub3JkLlRyaWdnZXIaOAoTTWFya2V0RnJlZXplVXBkYXRlZBIRCgltYXJrZXRfaWQYASABKA0SDgoGZnJvemVuGAIgASgIGj8KDEZlZVRpZXJBZGRlZBIjCgZjb25maWcYASABKAsyEy5ub3JkLkZlZVRpZXJDb25maWcSCgoCaWQYAiABKA0aQQoORmVlVGllclVwZGF0ZWQSCgoCaWQYASABKA0SIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnGjgKE0FjY291bnRzVGllclVwZGF0ZWQSDwoHdGllcl9pZBgBIAEoDRIQCghhY2NvdW50cxgCIAMoDRpgCgpBY2xVcGRhdGVkEhIKCmFjbF9wdWJrZXkYASABKAwSEgoKcm9sZXNfbWFzaxgCIAEoBBIVCg10YXJnZXRfcHVia2V5GAMgASgMEhMKC3JvbGVzX3ZhbHVlGAQgASgEGsACChlBdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgBIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASNwoMY2FuY2VsX29yZGVyGAIgASgLMh8ubm9yZC5SZWNlaXB0LkNhbmNlbE9yZGVyUmVzdWx0SAASMwoNdHJpZ2dlcl9hZGRlZBgDIAEoCzIaLm5vcmQuUmVjZWlwdC5UcmlnZ2VyQWRkZWRIABI3Cg90cmlnZ2VyX3JlbW92ZWQYBCABKAsyHC5ub3JkLlJlY2VpcHQuVHJpZ2dlclJlbW92ZWRIABI1Cg50cmlnZ2VyX2VkaXRlZBgFIAEoCzIbLm5vcmQuUmVjZWlwdC5UcmlnZ2VyRWRpdGVkSABCBwoFaW5uZXIaSAoMQXRvbWljUmVzdWx0EjgKB3Jlc3VsdHMYASADKAsyJy5ub3JkLlJlY2VpcHQuQXRvbWljU3ViYWN0aW9uUmVzdWx0S2luZEIGCgRraW5kKhgKBFNpZGUSBwoDQVNLEAASBwoDQklEEAEqLQoLVHJpZ2dlcktpbmQSDQoJU1RPUF9MT1NTEAASDwoLVEFLRV9QUk9GSVQQASokCgZJbnRlbnQSDAoIREVDUkVBU0UQABIMCghJTkNSRUFTRRABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKq4BCg1QbGFjZW1lbnRSb2xlEiAKHFBMQUNFTUVOVF9ST0xFX0FDQ09VTlRfT1dORVIQABIgChxQTEFDRU1FTlRfUk9MRV9WQVVMVF9NQU5BR0VSEAESHgoaUExBQ0VNRU5UX1JPTEVfU1VQRVJfQURNSU4QAhIaChZQTEFDRU1FTlRfUk9MRV9UUklHR0VSEAMSHQoZUExBQ0VNRU5UX1JPTEVfTElRVUlEQVRPUhAEKjEKE1NlbGZUcmFkZVByZXZlbnRpb24SCAoETk9ORRAAEhAKDEVYUElSRV9NQUtFUhABKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASp9ChBUcmlnZ2VyRXhlY0Vycm9yEg8KC05PX1BPU0lUSU9OEAASEwoPUExBTk5JTkdfRkFJTEVEEAESDgoKQkFOS1JVUFRDWRACEhUKEVJJU0tfQ0hFQ0tfRkFJTEVEEAMSHAoYUkVEVUNFX09OTFlfQ0hFQ0tfRkFJTEVEEAQqHwoOU3BlY2lhbEFjY291bnQSDQoJRkVFX1ZBVUxUEAAqXQoLVmF1bHRTdGF0dXMSFwoTVkFVTFRfU1RBVFVTX0FDVElWRRAAEhwKGFZBVUxUX1NUQVRVU19ERVJJU0tfT05MWRABEhcKE1ZBVUxUX1NUQVRVU19GUk9aRU4QAiqGKAoFRXJyb3ISDQoJRFVQTElDQVRFEAASFQoRSU5WQUxJRF9TSUdOQVRVUkUQAxIUChBNQVJLRVRfTk9UX0ZPVU5EEAQSEwoPVE9LRU5fTk9UX0ZPVU5EEAUSEgoOVVNFUl9OT1RfRk9VTkQQBhIVChFTRVNTSU9OX05PVF9GT1VORBAHEhMKD09SREVSX05PVF9GT1VORBAIEhMKD09SREVSX1NJWkVfWkVSTxAJEg4KCkFSSVRITUVUSUMQCxIXChNBUklUSE1FVElDX09WRVJGTE9XEAwSGAoUQVJJVEhNRVRJQ19VTkRFUkZMT1cQDRIfChtBUklUSE1FVElDX0RJVklTSU9OX0JZX1pFUk8QDhIaChZLRVlfQUxSRUFEWV9SRUdJU1RFUkVEEA8SHAoYVVBEQVRFX1RJTUVTVEFNUF9JTl9QQVNUEBESGAoUVE9PX01BTllfT1BFTl9PUkRFUlMQEhIdChlXSVRIRFJBV19BTU9VTlRfVE9PX1NNQUxMEBUSKQolU09VUkNFX0FORF9UQVJHRVRfU0hPVUxEX05PVF9CRV9FUVVBTBAYEhIKDkRFQ09ERV9GQUlMVVJFECASIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEh8KG1VQREFURV9QVUJMSVNIX1RJTUVfSU5fUEFTVBAkEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGwSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIICgRUSUVSEHMSGQoVVElFUl9GRUVfT1VUX09GX1JBTkdFEHQSGAoUVElFUl9JRF9PVVRfT0ZfUkFOR0UQdRISCg5USUVSX05PVF9GT1VORBB2EhQKEEZVTkRJTkdfT1ZFUkZMT1cQexI3CjNDQU5fUkVEVUNFX1BPU0lUSU9OX09OTFlfSUZfQUxMX09SREVSU19BUkVfQ0FOQ0VMRUQQfBIXChNVTkVYUEVDVEVEX1RPS0VOX0lEEH8SFgoRUkVQRUFURURfT1JERVJfSUQQgAESHgoZQ0xJRU5UX09SREVSX0lEX1RPT19MQVJHRRCBARIUCg9UT0tFTl9OT1RfUkVBRFkQggESHQoYVE9LRU5fQUxSRUFEWV9SRUdJU1RFUkVEEIMBEiEKHElNTUVESUFURV9PUkRFUl9HT1RfTk9fRklMTFMQhQESGQoURkFJTEVEX1RPX0ZJTExfTElNSVQQhgESMAorUE9TVF9PTkxZX01VU1RfTk9UX0ZJTExfQU5ZX09QUE9TSVRFX09SREVSUxCHARIMCgdJTlZBTElEEIgBEhAKC01BSU5URU5BTkNFEIkBEhoKFU1JTklNVU1fU0laRV9ERUNJTUFMUxCKARIyCi1QQVJBTUVURVJTX1dJTExfQ1JFQVRFX05PTl9PUEVSQVRJT05BTF9NQVJLRVQQiwESIgodT05MWV9JTU1FRElBVEVfT1JERVJTX0FMTE9XRUQQjAESGwoWVE9PX01BTllfVVNFUl9BQ0NPVU5UUxCNARIWChFBQ0NPVU5UX05PVF9GT1VORBCOARIaChVBQ0NPVU5UX0lOVkFMSURfT1dORVIQjwESGwoWU1VCQUNUSU9OX09VVF9PRl9SQU5HRRCQARIRCgxEVVNUX0FDQ09VTlQQkQESDAoHQkFMQU5DRRCgARIdChhCQUxBTkNFX0RFUE9TSVRfT1ZFUkZMT1cQoQESHAoXQkFMQU5DRV9DSEFOR0VfT1ZFUkZMT1cQogESIgodQkFMQU5DRV9DSEFOR0VfTElNSVRfRVhDRUVERUQQowESGQoUQkFMQU5DRV9JTlNVRkZJQ0lFTlQQpAESHgoZVU5BVVRIRU5USUNBVEVEX0wxX0FDVElPThClARIdChhFTkNPREVEX0FDVElPTl9UT09fTEFSR0UQpgESDAoHVFJJR0dFUhCoARIaChVUUklHR0VSX0lOVkFMSURfUFJJQ0UQqQESFgoRVFJJR0dFUl9OT1RfRk9VTkQQqgESKwomVFJJR0dFUl9PTkxZX0RFQ1JFQVNFX09SREVSU19TVVBQT1JURUQQqwESKAojVFJJR0dFUl9NQVhfU0laRV9QTEFDRU1FTlRfRVhDRUVERUQQrAESGAoTVFJJR0dFUl9OT1RfQ0hBTkdFRBCtARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEhwKGEVYUElSWV9USU1FU1RBTVBfSU5fUEFTVBAQEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESGAoTUE9TSVRJT05fU1RBVEVfUEVSUBDPARIkCh9QT1NJVElPTl9TVEFURV9PUkRFUl9ERUxFR0FUSU9OENABEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEjUKMFJJU0tfVU5IRUFMVEhZX01GX0FORF9QT05fQUZURVJfQkVUVEVSX09GX0JFRk9SRRDkARIqCiVSSVNLX1RSQURFX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOUBEhQKD1JJU0tfTk9UX0VOT1VHSBDmARIUCg9PUkRFUl9FWEVDVVRJT04Q8AESGgoVT1JERVJfRVhFQ1VUSU9OX0VNUFRZEPEBEiEKHE9SREVSX0VYRUNVVElPTl9GSUxMX09SX0tJTEwQ8gESIwoeT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfTElNSVRTEPMBEiIKHU9SREVSX0VYRUNVVElPTl9NSVNTSU5HX1BSSUNFEPQBEh8KGk9SREVSX0VYRUNVVElPTl9TSVpFX0xJTUlUEPUBEiAKG09SREVSX0VYRUNVVElPTl9MSU1JVF9QUklDRRD2ARIeChlPUkRFUl9SRURVQ0VfSVNfUE9TVF9PTkxZEPcBEh8KGk9SREVSX0VYRUNVVElPTl9TRUxMX1BSSUNFEPgBEiUKIE9SREVSX1NJWkVfRVhDRUVEU19QT1NJVElPTl9TSVpFEPkBEgwKB0FUT01JQ1MQgAISKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgQISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCCAhIdChhBVE9NSUNTX0RVUExJQ0FURV9DQU5DRUwQgwISJgohQUNUSU9OX1BPU0lUSU9OX1NIT1VMRF9CRV9DT1ZFUkVEEJECEhkKFEFDVElPTl9JTlZBTElEX05PTkNFEJICEikKJEFDVElPTl9QUk9QT1NFRF9QUklDRV9NVVNUX0JFX0hJR0hFUhCTAhIcChdBRE1JTl9ST0xFX0lOU1VGRklDSUVOVBCUAhIUCg9BRE1JTl9OT1RfRk9VTkQQlQISKQokVU5JUVVFX1NVUEVSX0FETUlOX0NBTk5PVF9CRV9SRU1PVkVEEJYCEh8KGlNVUEVSX0FETUlOX0FMUkVBRFlfRVhJU1RTEJcCEhUKEFRSSUdHRVJfQ09ORkxJQ1QQmAISGgoVVFJJR0dFUl9FRElUX0NPTkZMSUNUEJkCEhwKF1RSSUdHRVJfUkVNT1ZFX0NPTkZMSUNUEJoCEg0KCFRSQU5TRkVSEKACEi4KKVRSQU5TRkVSX1RPX1VOT1dORURfQUNDT1VOVF9JU19QUk9ISUJJVEVEEKECEiwKJ1RSQU5TRkVSX1RPX09XTkVEX0FDQ09VTlRfV0FTX1JFUVVFU1RFRBCiAhIKCgVWQVVMVBCoAhIUCg9WQVVMVF9OT1RfRk9VTkQQqQISHQoYVkFVTFRfQUNUSU9OX05PVF9BTExPV0VEEKoCEhkKFFZBVUxUX1NUQVRVU19JTlZBTElEEKsCEiUKIFZBVUxUX1JFRFVDRV9PTkxZX09SREVSX1JFUVVJUkVEEKwCEiYKIVZBVUxUX0FDVElPTl9XT1VMRF9ERUdSQURFX1NUQVRVUxCtAhIZChRWQVVMVF9VU0VSX05PVF9GT1VORBCuAhIdChhWQVVMVF9VU0VSX0hBU19OT19TSEFSRVMQrwISHAoXVkFVTFRfUEVSTUlTU0lPTl9ERU5JRUQQtgISEgoNVkFVTFRfREVQT1NJVBCwAhIxCixWQVVMVF9ERVBPU0lUX0JPT1RTVFJBUF9SRVFVSVJFU19FTVBUWV9WQVVMVBCxAhIfChpWQVVMVF9ERVBPU0lUX0NBUF9FWENFRURFRBCyAhIpCiRWQVVMVF9ERVBPU0lUX1JFUVVJUkVTX0FDVElWRV9TVEFUVVMQswISLwoqVkFVTFRfREVQT1NJVF9DQVBfQkVMT1dfQ1VSUkVOVF9SQVdfRVFVSVRZELQCEhwKF1ZBVUxUX0RFUE9TSVRfVE9PX1NNQUxMELUCEhMKDlZBVUxUX1dJVEhEUkFXELgCEh4KGVZBVUxUX0lOU1VGRklDSUVOVF9TSEFSRVMQuQISLgopVkFVTFRfV0lUSERSQVdfUkVRVUlSRVNfTk9OX0ZST1pFTl9TVEFUVVMQugISIgodVkFVTFRfTk9fQ0xBSU1BQkxFX1dJVEhEUkFXQUwQuwISJQogVkFVTFRfV0lUSERSQVdfUVVPVEVfVU5BVkFJTEFCTEUQvAISLQooVkFVTFRfRFVTVF9FWElUX1JFUVVJUkVTX0ZVTExfU0hBUkVfRVhJVBC9AhI1CjBWQVVMVF9MQVNUX1NIQVJFX1dJVEhEUkFXX1JFUVVJUkVTX0VNUFRZX0FDQ09VTlQQvgISKAojVkFVTFRfV0lUSERSQVdfUkVRVUlSRVNfTElWRV9TSEFSRVMQvwISEgoNVkFVTFRfQ09OVFJPTBDAAhIdChhWQVVMVF9FUE9DSF9OT1RfRUxJR0lCTEUQwQISMQosVkFVTFRfUFJFVklPVVNfRVBPQ0hfV0lUSERSQVdBTFNfTk9UX1BBWUFCTEUQwgISMgotVkFVTFRfRlJFRVpFX1RIUkVTSE9MRF9NVVNUX0VYQ0VFRF9QUk9URUNUSU9OEMMCEh0KGFZBVUxUX0NPTkZJR19QQVRDSF9FTVBUWRDEAhIoCiNWQVVMVF9OT19TVEFUVVNfVFJBTlNJVElPTl9SRVFVSVJFRBDFAhItCihWQVVMVF9GUk9aRU5fU1RBVFVTX1JFUVVJUkVTX1NVUEVSX0FETUlOEMYCEioKJVZBVUxUX05FV19DT05GSUdfV09VTERfREVHUkFERV9TVEFUVVMQxwISFAoPTk9UX0lNUExFTUVOVEVEEPQDEhcKEkFDVElPTl9OT1RfQUxMT1dFRBD1AxIMCgdEUk9QUEVEEOcHYgZwcm90bzM");
56007
+ var file_nord = /* @__PURE__ */ fileDesc("Cgpub3JkLnByb3RvEgRub3JkIh4KBFUxMjgSCgoCbG8YASABKAQSCgoCaGkYAiABKAQiPQoNRmVlVGllckNvbmZpZxIVCg1tYWtlcl9mZWVfcHBtGAEgASgNEhUKDXRha2VyX2ZlZV9wcG0YAiABKA0i0AEKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKA0SFgoOcHJpY2VfZGVjaW1hbHMYAiABKA0SFQoNc2l6ZV9kZWNpbWFscxgDIAEoDRIVCg1iYXNlX3Rva2VuX2lkGAQgASgNEiUKC21hcmtldF90eXBlGAUgASgOMhAubm9yZC5NYXJrZXRUeXBlEg8KB2ltZl9icHMYBiABKA0SDwoHY21mX2JwcxgHIAEoDRIPCgdtbWZfYnBzGAggASgNEhMKC3ZpZXdfc3ltYm9sGAogASgJIloKBVRva2VuEhAKCHRva2VuX2lkGAEgASgNEhYKDnRva2VuX2RlY2ltYWxzGAIgASgNEhIKCndlaWdodF9icHMYBCABKA0SEwoLdmlld19zeW1ib2wYBSABKAkitgEKC1ZhdWx0SGVhbHRoEioKEXJhd19hY2NvdW50X3ZhbHVlGAEgASgLMgoubm9yZC5VMTI4SACIAQESKwoSc2FmZV9hY2NvdW50X3ZhbHVlGAIgASgLMgoubm9yZC5VMTI4SAGIAQESIQoGc3RhdHVzGAMgASgOMhEubm9yZC5WYXVsdFN0YXR1c0IUChJfcmF3X2FjY291bnRfdmFsdWVCFQoTX3NhZmVfYWNjb3VudF92YWx1ZSKwAQoLVmF1bHRDb25maWcSHwoLZGVwb3NpdF9jYXAYASABKAsyCi5ub3JkLlUxMjgSIgoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA0SHwoXZHJhd2Rvd25fcHJvdGVjdGlvbl9icHMYAyABKA0SGwoTZHJhd2Rvd25fZnJlZXplX2JwcxgEIAEoDRIeChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNIswCChBWYXVsdENvbmZpZ1BhdGNoEiQKC2RlcG9zaXRfY2FwGAEgASgLMgoubm9yZC5VMTI4SACIAQESJwoab3Blbl9wb3NpdGlvbl9kaXNjb3VudF9icHMYAiABKA1IAYgBARIkChdkcmF3ZG93bl9wcm90ZWN0aW9uX2JwcxgDIAEoDUgCiAEBEiAKE2RyYXdkb3duX2ZyZWV6ZV9icHMYBCABKA1IA4gBARIjChZlcG9jaF9taW5fZHVyYXRpb25fc2VjGAUgASgNSASIAQFCDgoMX2RlcG9zaXRfY2FwQh0KG19vcGVuX3Bvc2l0aW9uX2Rpc2NvdW50X2Jwc0IaChhfZHJhd2Rvd25fcHJvdGVjdGlvbl9icHNCFgoUX2RyYXdkb3duX2ZyZWV6ZV9icHNCGQoXX2Vwb2NoX21pbl9kdXJhdGlvbl9zZWMiSAoLQ3JlYXRlVmF1bHQSFgoObWFuYWdlcl9wdWJrZXkYASABKAwSIQoGY29uZmlnGAIgASgLMhEubm9yZC5WYXVsdENvbmZpZyJTChFVcGRhdGVWYXVsdENvbmZpZxIQCgh2YXVsdF9pZBgBIAEoDRIsCgxjb25maWdfcGF0Y2gYAiABKAsyFi5ub3JkLlZhdWx0Q29uZmlnUGF0Y2giOwoPU2V0VmF1bHRNYW5hZ2VyEhAKCHZhdWx0X2lkGAEgASgNEhYKDm1hbmFnZXJfcHVia2V5GAIgASgMIjcKD1ZhdWx0U3luY0Vwb2NocxISCgpzZXNzaW9uX2lkGAEgASgEEhAKCHZhdWx0X2lkGAIgASgNIk4KEVN0YWdlZEFkbWluQWN0aW9uEhQKDGFkbWluX3B1YmtleRgBIAEoDBIjCgRraW5kGAIgASgLMhUubm9yZC5BZG1pbkFjdGlvbktpbmQisAEKD0FkbWluQWN0aW9uS2luZBIpCgxjcmVhdGVfdmF1bHQYASABKAsyES5ub3JkLkNyZWF0ZVZhdWx0SAASNgoTdXBkYXRlX3ZhdWx0X2NvbmZpZxgCIAEoCzIXLm5vcmQuVXBkYXRlVmF1bHRDb25maWdIABIyChFzZXRfdmF1bHRfbWFuYWdlchgDIAEoCzIVLm5vcmQuU2V0VmF1bHRNYW5hZ2VySABCBgoEa2luZCJECgxWYXVsdERlcG9zaXQSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAQi9QEKDVZhdWx0V2l0aGRyYXcSEgoKc2Vzc2lvbl9pZBgBIAEoBBIQCgh2YXVsdF9pZBgCIAEoDRIuCgdyZXF1ZXN0GAMgASgLMhsubm9yZC5WYXVsdFdpdGhkcmF3LlJlcXVlc3RIABIqCgVjbGFpbRgEIAEoCzIZLm5vcmQuVmF1bHRXaXRoZHJhdy5DbGFpbUgAGlEKB1JlcXVlc3QSGAoOcXVvdGVfbm90aW9uYWwYASABKARIABIiCgxzaGFyZV9hbW91bnQYAiABKAsyCi5ub3JkLlUxMjhIAEIICgZhbW91bnQaBwoFQ2xhaW1CBgoEa2luZCKeAQoSQ3JlYXRlVmF1bHRSZWNlaXB0EhAKCHZhdWx0X2lkGAEgASgNEhgKEHZhdWx0X2FjY291bnRfaWQYAiABKA0SFgoObWFuYWdlcl9wdWJrZXkYAyABKAwSIQoGc3RhdHVzGAQgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIhCgZjb25maWcYBSABKAsyES5ub3JkLlZhdWx0Q29uZmlnInIKGFVwZGF0ZVZhdWx0Q29uZmlnUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIhCgZjb25maWcYAiABKAsyES5ub3JkLlZhdWx0Q29uZmlnEiEKBnN0YXR1cxgDIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMiQgoWU2V0VmF1bHRNYW5hZ2VyUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIWCg5tYW5hZ2VyX3B1YmtleRgCIAEoDCLhAQoWVmF1bHRTeW5jRXBvY2hzUmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9jbG9zZWRfZXBvY2hfaWQYAiABKA0SGAoQY2xhaW1hYmxlX2Ftb3VudBgDIAEoBBIhCgZzdGF0dXMYBCABKA4yES5ub3JkLlZhdWx0U3RhdHVzEiEKBmVwb2NocxgFIAEoCzIRLm5vcmQuVmF1bHRFcG9jaHMSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSFQoNcXVvdGVfYmFsYW5jZRgHIAEoAyKPAgoTVmF1bHREZXBvc2l0UmVjZWlwdBIQCgh2YXVsdF9pZBgBIAEoDRIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SDgoGYW1vdW50GAMgASgEEiEKDXNoYXJlc19pc3N1ZWQYBCABKAsyCi5ub3JkLlUxMjgSHwoLdXNlcl9zaGFyZXMYBSABKAsyCi5ub3JkLlUxMjgSJQoRbGl2ZV9zaGFyZV9zdXBwbHkYBiABKAsyCi5ub3JkLlUxMjgSIQoGc3RhdHVzGAcgASgOMhEubm9yZC5WYXVsdFN0YXR1cxIYChB2YXVsdF9hY2NvdW50X2lkGAggASgNEhUKDXF1b3RlX2JhbGFuY2UYCSABKAMiVQoRV2l0aGRyYXdhbEJ1Y2tldHMSFQoNY3VycmVudF9lcG9jaBgBIAEoBBIWCg5wcmV2aW91c19lcG9jaBgCIAEoBBIRCgljbGFpbWFibGUYAyABKAQihQEKC1ZhdWx0UHBzUmVmEhAKCGVwb2NoX2lkGAEgASgNEisKEnNhZmVfYWNjb3VudF92YWx1ZRgCIAEoCzIKLm5vcmQuVTEyOEgAiAEBEiAKDHNoYXJlX3N1cHBseRgDIAEoCzIKLm5vcmQuVTEyOEIVChNfc2FmZV9hY2NvdW50X3ZhbHVlIpYCCgtWYXVsdEVwb2NocxIYChBjdXJyZW50X2Vwb2NoX2lkGAEgASgNEiAKGGN1cnJlbnRfZXBvY2hfc3RhcnRlZF9hdBgCIAEoAxIiChVwYWlkX3Rocm91Z2hfZXBvY2hfaWQYAyABKA1IAIgBARIsCgt3aXRoZHJhd2FscxgEIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSLwoUbGF0ZXN0X2Vwb2NoX3Bwc19yZWYYBSABKAsyES5ub3JkLlZhdWx0UHBzUmVmEi4KE3ByaW9yX2Vwb2NoX3Bwc19yZWYYBiABKAsyES5ub3JkLlZhdWx0UHBzUmVmQhgKFl9wYWlkX3Rocm91Z2hfZXBvY2hfaWQijwEKDlZhdWx0VXNlclN0YXRlEhoKBnNoYXJlcxgBIAEoCzIKLm5vcmQuVTEyOBIsCgt3aXRoZHJhd2FscxgCIAEoCzIXLm5vcmQuV2l0aGRyYXdhbEJ1Y2tldHMSGAoQY3VycmVudF9lcG9jaF9pZBgDIAEoDRIZChFwcmV2aW91c19lcG9jaF9pZBgEIAEoDSK2AwoUVmF1bHRXaXRoZHJhd1JlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SFQoNdG9fYWNjb3VudF9pZBgCIAEoDRI5CglyZXF1ZXN0ZWQYAyABKAsyJC5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LlJlcXVlc3RlZEgAEjUKB2NsYWltZWQYBCABKAsyIi5ub3JkLlZhdWx0V2l0aGRyYXdSZWNlaXB0LkNsYWltZWRIABItCg9wb3N0X3VzZXJfc3RhdGUYBSABKAsyFC5ub3JkLlZhdWx0VXNlclN0YXRlEiUKEWxpdmVfc2hhcmVfc3VwcGx5GAYgASgLMgoubm9yZC5VMTI4EiEKBnN0YXR1cxgHIAEoDjIRLm5vcmQuVmF1bHRTdGF0dXMSGAoQdmF1bHRfYWNjb3VudF9pZBgIIAEoDRIVCg1xdW90ZV9iYWxhbmNlGAkgASgDGjYKCVJlcXVlc3RlZBINCgVxdW90ZRgBIAEoBBIaCgZidXJuZWQYAiABKAsyCi5ub3JkLlUxMjgaGQoHQ2xhaW1lZBIOCgZhbW91bnQYASABKARCBgoEa2luZCJJCgpPcmRlckxpbWl0Eg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSHgoKcXVvdGVfc2l6ZRgIIAEoCzIKLm5vcmQuVTEyOCK5AQoJUGxhY2VUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBI9ChVzZWxmX3RyYWRlX3ByZXZlbnRpb24YBiABKA4yGS5ub3JkLlNlbGZUcmFkZVByZXZlbnRpb25IAIgBAUIYChZfc2VsZl90cmFkZV9wcmV2ZW50aW9uIskBCgxUcmFkZU9yUGxhY2USEQoJbWFya2V0X2lkGAIgASgNEiMKCnBsYWNlX3R5cGUYAyABKAsyDy5ub3JkLlBsYWNlVHlwZRIfCgVsaW1pdBgGIAEoCzIQLm5vcmQuT3JkZXJMaW1pdBIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAIgBARIhCghyZWZlcnJlchgiIAEoCzIKLm5vcmQuVTEyOEgBiAEBQhIKEF9jbGllbnRfb3JkZXJfaWRCCwoJX3JlZmVycmVyIikKFUF0b21pY0NhbmNlbE9yZGVyQnlJZBIQCghvcmRlcl9pZBgCIAEoBCI2ChtBdG9taWNDYW5jZWxPcmRlckJ5Q2xpZW50SWQSFwoPY2xpZW50X29yZGVyX2lkGAIgASgEIoYBChBBdG9taWNBZGRUcmlnZ2VyEiQKB3RyaWdnZXIYASABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAIgASgOMgwubm9yZC5JbnRlbnQSIQoIcmVmZXJyZXIYAyABKAsyCi5ub3JkLlUxMjhIAIgBAUILCglfcmVmZXJyZXIiUQoRQXRvbWljRWRpdFRyaWdnZXISEgoKdHJpZ2dlcl9pZBgBIAEoBBIoCgtuZXdfdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZCI8ChNBdG9taWNSZW1vdmVUcmlnZ2VyEhEKCW1hcmtldF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEIs8BChVBdG9taWNTdWJhY3Rpb25LaW5kVjESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAA6AhgBQgcKBWlubmVyIrABCghBdG9taWNWMRISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARIsCgdhY3Rpb25zGAYgAygLMhsubm9yZC5BdG9taWNTdWJhY3Rpb25LaW5kVjE6AhgBQg0KC19hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWQiVwoWQXRvbWljUGxhY2VtZW50UmVxdWVzdBISCgh2YXVsdF9pZBgBIAEoDUgAEiAKFmxpcXVpZGF0aW9uX2FjY291bnRfaWQYAiABKA1IAEIHCgVpbm5lciKWAwoPQXRvbWljU3ViYWN0aW9uEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSAGIAQESLAoOdHJhZGVfb3JfcGxhY2UYBiABKAsyEi5ub3JkLlRyYWRlT3JQbGFjZUgAEjMKDGNhbmNlbF9vcmRlchgHIAEoCzIbLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUlkSAASRgoZY2FuY2VsX29yZGVyX2J5X2NsaWVudF9pZBgIIAEoCzIhLm5vcmQuQXRvbWljQ2FuY2VsT3JkZXJCeUNsaWVudElkSAASLQoLYWRkX3RyaWdnZXIYCSABKAsyFi5ub3JkLkF0b21pY0FkZFRyaWdnZXJIABIvCgxlZGl0X3RyaWdnZXIYCiABKAsyFy5ub3JkLkF0b21pY0VkaXRUcmlnZ2VySAASMwoOcmVtb3ZlX3RyaWdnZXIYCyABKAsyGS5ub3JkLkF0b21pY1JlbW92ZVRyaWdnZXJIAEIHCgVpbm5lckIXChVfZGVsZWdhdG9yX2FjY291bnRfaWQigQEKEUF0b21pY1N1YmFjdGlvblYyEjQKCXBsYWNlbWVudBgBIAEoCzIcLm5vcmQuQXRvbWljUGxhY2VtZW50UmVxdWVzdEgAiAEBEigKCXN1YmFjdGlvbhgCIAEoCzIVLm5vcmQuQXRvbWljU3ViYWN0aW9uQgwKCl9wbGFjZW1lbnQipAEKBkF0b21pYxISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYAyABKARIAYgBARImCgdhY3Rpb25zGAYgAygLMhUubm9yZC5BdG9taWNTdWJhY3Rpb25CDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKoAQoIQXRvbWljVjISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCgphY2NvdW50X2lkGAIgASgNSACIAQESHwoSc2VuZGVyX3RyYWNraW5nX2lkGAMgASgESAGIAQESKAoHYWN0aW9ucxgGIAMoCzIXLm5vcmQuQXRvbWljU3ViYWN0aW9uVjJCDQoLX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZCKWAQoNVHJpZ2dlclJlY29yZBIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIgCgZsaW1pdHMYAyABKAsyEC5ub3JkLk9yZGVyTGltaXQSHwoEa2luZBgEIAEoDjIRLm5vcmQuVHJpZ2dlcktpbmQSGAoEc2lkZRgFIAEoDjIKLm5vcmQuU2lkZSKbAQoHVHJpZ2dlchIVCg10cmlnZ2VyX3ByaWNlGAEgASgEEh8KBGtpbmQYAiABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIAoGbGltaXRzGAQgASgLMhAubm9yZC5PcmRlckxpbWl0EhwKBmludGVudBgFIAEoDjIMLm5vcmQuSW50ZW50IpIsCgZBY3Rpb24SGQoRY3VycmVudF90aW1lc3RhbXAYASABKAMSDQoFbm9uY2UYAiABKA0SNAoOY3JlYXRlX3Nlc3Npb24YBCABKAsyGi5ub3JkLkFjdGlvbi5DcmVhdGVTZXNzaW9uSAASMAoMY3JlYXRlX3Rva2VuGAUgASgLMhgubm9yZC5BY3Rpb24uQ3JlYXRlVG9rZW5IABIyCg1jcmVhdGVfbWFya2V0GAYgASgLMhkubm9yZC5BY3Rpb24uQ3JlYXRlTWFya2V0SAASLgoLcGxhY2Vfb3JkZXIYByABKAsyFy5ub3JkLkFjdGlvbi5QbGFjZU9yZGVySAASOgoSY2FuY2VsX29yZGVyX2J5X2lkGAggASgLMhwubm9yZC5BY3Rpb24uQ2FuY2VsT3JkZXJCeUlkSAASJwoHZGVwb3NpdBgJIAEoCzIULm5vcmQuQWN0aW9uLkRlcG9zaXRIABIpCgh3aXRoZHJhdxgKIAEoCzIVLm5vcmQuQWN0aW9uLldpdGhkcmF3SAASTAobcHl0aF9zZXRfd29ybWhvbGVfZ3VhcmRpYW5zGAsgASgLMiUubm9yZC5BY3Rpb24uUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zSAASPgoUcHl0aF9zZXRfc3ltYm9sX2ZlZWQYDCABKAsyHi5ub3JkLkFjdGlvbi5QeXRoU2V0U3ltYm9sRmVlZEgAEkIKFnB5dGhfcHJpY2VfZmVlZF91cGRhdGUYDSABKAsyIC5ub3JkLkFjdGlvbi5QeXRoUHJpY2VGZWVkVXBkYXRlSAASNAoOcmV2b2tlX3Nlc3Npb24YDyABKAsyGi5ub3JkLkFjdGlvbi5SZXZva2VTZXNzaW9uSAASIwoFcGF1c2UYECABKAsyEi5ub3JkLkFjdGlvbi5QYXVzZUgAEicKB3VucGF1c2UYESABKAsyFC5ub3JkLkFjdGlvbi5VbnBhdXNlSAASKQoIdHJhbnNmZXIYEiABKAsyFS5ub3JkLkFjdGlvbi5UcmFuc2ZlckgAEi4KC2FkZF90cmlnZ2VyGCAgASgLMhcubm9yZC5BY3Rpb24uQWRkVHJpZ2dlckgAEjQKDnJlbW92ZV90cmlnZ2VyGCEgASgLMhoubm9yZC5BY3Rpb24uUmVtb3ZlVHJpZ2dlckgAEicKCWF0b21pY192MRgjIAEoCzIOLm5vcmQuQXRvbWljVjFCAhgBSAASMgoNZnJlZXplX21hcmtldBgkIAEoCzIZLm5vcmQuQWN0aW9uLkZyZWV6ZU1hcmtldEgAEjYKD3VuZnJlZXplX21hcmtldBglIAEoCzIbLm5vcmQuQWN0aW9uLlVuZnJlZXplTWFya2V0SAASLwoMYWRkX2ZlZV90aWVyGCYgASgLMhcubm9yZC5BY3Rpb24uQWRkRmVlVGllckgAEjUKD3VwZGF0ZV9mZWVfdGllchgnIAEoCzIaLm5vcmQuQWN0aW9uLlVwZGF0ZUZlZVRpZXJIABI/ChR1cGRhdGVfYWNjb3VudHNfdGllchgoIAEoCzIfLm5vcmQuQWN0aW9uLlVwZGF0ZUFjY291bnRzVGllckgAEiwKCnVwZGF0ZV9hY2wYKSABKAsyFi5ub3JkLkFjdGlvbi5VcGRhdGVBY2xIABI7ChJmZWVfdmF1bHRfdHJhbnNmZXIYKiABKAsyHS5ub3JkLkFjdGlvbi5GZWVWYXVsdFRyYW5zZmVySAASOwoSdGFrZV9hbGxfcG9zaXRpb25zGCsgASgLMh0ubm9yZC5BY3Rpb24uVGFrZUFsbFBvc2l0aW9uc0gAEkcKGWNhbmNlbF9vcmRlcl9ieV9jbGllbnRfaWQYLCABKAsyIi5ub3JkLkFjdGlvbi5DYW5jZWxPcmRlckJ5Q2xpZW50SWRIABI2Cg9leGVjdXRlX3RyaWdnZXIYLSABKAsyGy5ub3JkLkFjdGlvbi5FeGVjdXRlVHJpZ2dlckgAEj8KFHNldF9iYWNrc3RvcF9hY2NvdW50GC4gASgLMh8ubm9yZC5BY3Rpb24uU2V0QmFja3N0b3BBY2NvdW50SAASMAoMZWRpdF90cmlnZ2VyGC8gASgLMhgubm9yZC5BY3Rpb24uRWRpdFRyaWdnZXJIABIeCgZhdG9taWMYMCABKAsyDC5ub3JkLkF0b21pY0gAEigKBWFkbWluGDEgASgLMhcubm9yZC5TdGFnZWRBZG1pbkFjdGlvbkgAEjAKDGNsZWFyX21hcmtldBgyIAEoCzIYLm5vcmQuQWN0aW9uLkNsZWFyTWFya2V0SAASMgoRdmF1bHRfc3luY19lcG9jaHMYNSABKAsyFS5ub3JkLlZhdWx0U3luY0Vwb2Noc0gAEisKDXZhdWx0X2RlcG9zaXQYNiABKAsyEi5ub3JkLlZhdWx0RGVwb3NpdEgAEi0KDnZhdWx0X3dpdGhkcmF3GDcgASgLMhMubm9yZC5WYXVsdFdpdGhkcmF3SAASIwoJYXRvbWljX3YyGDggASgLMg4ubm9yZC5BdG9taWNWMkgAGq8BCg1DcmVhdGVTZXNzaW9uEhMKC3VzZXJfcHVia2V5GAEgASgMEhYKDnNlc3Npb25fcHVia2V5GAIgASgMEhgKEGV4cGlyeV90aW1lc3RhbXAYAyABKAMSQQoRc2lnbmF0dXJlX2ZyYW1pbmcYBCABKA4yIS5ub3JkLkFjdGlvbi5Vc2VyU2lnbmF0dXJlRnJhbWluZ0gAiAEBQhQKEl9zaWduYXR1cmVfZnJhbWluZxqLAQoLQ3JlYXRlVG9rZW4SFgoOdG9rZW5fZGVjaW1hbHMYASABKA0SEgoKd2VpZ2h0X2JwcxgDIAEoDRITCgt2aWV3X3N5bWJvbBgEIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAUgASgJEhAKCHNvbF9hZGRyGAYgASgMEhIKCmFjbF9wdWJrZXkYByABKAwa7gEKDENyZWF0ZU1hcmtldBIVCg1zaXplX2RlY2ltYWxzGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEg8KB2ltZl9icHMYAyABKA0SDwoHY21mX2JwcxgEIAEoDRIPCgdtbWZfYnBzGAUgASgNEiUKC21hcmtldF90eXBlGAYgASgOMhAubm9yZC5NYXJrZXRUeXBlEhMKC3ZpZXdfc3ltYm9sGAcgASgJEhUKDW9yYWNsZV9zeW1ib2wYCCABKAkSFQoNYmFzZV90b2tlbl9pZBgJIAEoDRISCgphY2xfcHVia2V5GAogASgMGqoECgpQbGFjZU9yZGVyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCBINCgVwcmljZRgGIAEoBBIMCgRzaXplGAcgASgEEh4KCnF1b3RlX3NpemUYCCABKAsyCi5ub3JkLlUxMjgSIQoUZGVsZWdhdG9yX2FjY291bnRfaWQYICABKA1IAIgBARIcCg9jbGllbnRfb3JkZXJfaWQYISABKARIAYgBARIeChFzZW5kZXJfYWNjb3VudF9pZBgiIAEoDUgCiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgjIAEoBEgDiAEBEj0KFXNlbGZfdHJhZGVfcHJldmVudGlvbhgkIAEoDjIZLm5vcmQuU2VsZlRyYWRlUHJldmVudGlvbkgEiAEBEiEKCHJlZmVycmVyGCUgASgLMgoubm9yZC5VMTI4SAWIAQFCFwoVX2RlbGVnYXRvcl9hY2NvdW50X2lkQhIKEF9jbGllbnRfb3JkZXJfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkQhUKE19zZW5kZXJfdHJhY2tpbmdfaWRCGAoWX3NlbGZfdHJhZGVfcHJldmVudGlvbkILCglfcmVmZXJyZXIaqQEKD0NhbmNlbE9yZGVyQnlJZBISCgpzZXNzaW9uX2lkGAEgASgEEhAKCG9yZGVyX2lkGAIgASgEEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYISABKA1IAYgBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCFAoSX3NlbmRlcl9hY2NvdW50X2lkGnoKFUNhbmNlbE9yZGVyQnlDbGllbnRJZBISCgpzZXNzaW9uX2lkGAEgASgEEhcKD2NsaWVudF9vcmRlcl9pZBgCIAEoBBIeChFzZW5kZXJfYWNjb3VudF9pZBgDIAEoDUgAiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZBpvCgdEZXBvc2l0EhQKDGFjdGlvbl9ub25jZRgBIAEoBBISCgp0b2tlbl9hZGRyGAIgASgMEg4KBmFtb3VudBgDIAEoBBITCgt1c2VyX3B1YmtleRgEIAEoDBIVCg1zZW5kZXJfcHVia2V5GAUgASgMGmoKCFdpdGhkcmF3EhAKCHRva2VuX2lkGAEgASgNEhIKCnNlc3Npb25faWQYAiABKAQSDgoGYW1vdW50GAMgASgEEhgKC2Rlc3RfcHVia2V5GAQgASgMSACIAQFCDgoMX2Rlc3RfcHVia2V5Gl0KGFB5dGhTZXRXb3JtaG9sZUd1YXJkaWFucxIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMEhIKCmFjbF9wdWJrZXkYAyABKAwaVQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMEhIKCmFjbF9wdWJrZXkYAyABKAwaLwoTUHl0aFByaWNlRmVlZFVwZGF0ZRIYChByYXdfcHl0aG5ldF9kYXRhGAEgASgMGiMKDVJldm9rZVNlc3Npb24SEgoKc2Vzc2lvbl9pZBgBIAEoBBobCgVQYXVzZRISCgphY2xfcHVia2V5GAEgASgMGh0KB1VucGF1c2USEgoKYWNsX3B1YmtleRgBIAEoDBo8ChJTZXRCYWNrc3RvcEFjY291bnQSEgoKYWNsX3B1YmtleRgBIAEoDBISCgphY2NvdW50X2lkGAIgASgNGvkBCglSZWNpcGllbnQSMQoHc3BlY2lhbBgBIAEoCzIeLm5vcmQuQWN0aW9uLlJlY2lwaWVudC5TcGVjaWFsSAASLQoFb3duZWQYAiABKAsyHC5ub3JkLkFjdGlvbi5SZWNpcGllbnQuT3duZWRIABIxCgd1bm93bmVkGAMgASgLMh4ubm9yZC5BY3Rpb24uUmVjaXBpZW50LlVub3duZWRIABoJCgdTcGVjaWFsGhsKBU93bmVkEhIKCmFjY291bnRfaWQYASABKA0aHQoHVW5vd25lZBISCgphY2NvdW50X2lkGAEgASgNQhAKDnJlY2lwaWVudF90eXBlGp8BCghUcmFuc2ZlchISCgpzZXNzaW9uX2lkGAEgASgEEhcKD2Zyb21fYWNjb3VudF9pZBgCIAEoDRIQCgh0b2tlbl9pZBgDIAEoDRIOCgZhbW91bnQYBCABKAQSMgoNdG9fYWNjb3VudF9pZBgIIAEoCzIWLm5vcmQuQWN0aW9uLlJlY2lwaWVudEgAiAEBQhAKDl90b19hY2NvdW50X2lkGlsKEEZlZVZhdWx0VHJhbnNmZXISEgoKYWNsX3B1YmtleRgBIAEoDBIRCglyZWNpcGllbnQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEGrwBCgpBZGRUcmlnZ2VyEhIKCnNlc3Npb25faWQYASABKAQSJAoHdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBIcCgZpbnRlbnQYAyABKA4yDC5ub3JkLkludGVudBIXCgphY2NvdW50X2lkGAogASgNSACIAQESIQoIcmVmZXJyZXIYCyABKAsyCi5ub3JkLlUxMjhIAYgBAUINCgtfYWNjb3VudF9pZEILCglfcmVmZXJyZXIahwEKC0VkaXRUcmlnZ2VyEhIKCnNlc3Npb25faWQYASABKAQSEgoKdHJpZ2dlcl9pZBgCIAEoBBIoCgtuZXdfdHJpZ2dlchgDIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBIXCgphY2NvdW50X2lkGAogASgNSACIAQFCDQoLX2FjY291bnRfaWQacgoNUmVtb3ZlVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRISCgp0cmlnZ2VyX2lkGAMgASgEEhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBpFCgpBZGRGZWVUaWVyEhIKCmFjbF9wdWJrZXkYASABKAwSIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnGlQKDVVwZGF0ZUZlZVRpZXISCgoCaWQYASABKA0SIwoGY29uZmlnGAIgASgLMhMubm9yZC5GZWVUaWVyQ29uZmlnEhIKCmFjbF9wdWJrZXkYAyABKAwaSwoSVXBkYXRlQWNjb3VudHNUaWVyEg8KB3RpZXJfaWQYASABKA0SEAoIYWNjb3VudHMYAiADKA0SEgoKYWNsX3B1YmtleRgDIAEoDBpfCglVcGRhdGVBY2wSEgoKYWNsX3B1YmtleRgBIAEoDBIVCg10YXJnZXRfcHVia2V5GAIgASgMEhIKCnJvbGVzX21hc2sYAyABKA0SEwoLcm9sZXNfdmFsdWUYBCABKA0aNQoMRnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGjcKDlVuZnJlZXplTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNGk0KC0NsZWFyTWFya2V0EhIKCmFjbF9wdWJrZXkYASABKAwSEQoJbWFya2V0X2lkGAIgASgNEhcKD2NsZWFyYW5jZV9wcmljZRgDIAEoBBphCg5FeGVjdXRlVHJpZ2dlchIUCgxleGVjdXRvcl9zaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRIRCgltYXJrZXRfaWQYAyABKA0SEgoKdHJpZ2dlcl9pZBgEIAEoBBpBChBUYWtlQWxsUG9zaXRpb25zEhIKCnNlc3Npb25faWQYASABKAQSGQoRdGFyZ2V0X2FjY291bnRfaWQYAiABKA0iNwoUVXNlclNpZ25hdHVyZUZyYW1pbmcSBwoDSEVYEAASFgoSU09MQU5BX1RSQU5TQUNUSU9OEAFCBgoEa2luZCL5NgoHUmVjZWlwdBIRCglhY3Rpb25faWQYASABKAQSGgoDZXJyGCAgASgOMgsubm9yZC5FcnJvckgAEkIKFWNyZWF0ZV9zZXNzaW9uX3Jlc3VsdBghIAEoCzIhLm5vcmQuUmVjZWlwdC5DcmVhdGVTZXNzaW9uUmVzdWx0SAASOAoOdHJhZGVfb3JfcGxhY2UYIiABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEj4KE2NhbmNlbF9vcmRlcl9yZXN1bHQYIyABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABI1Cg5kZXBvc2l0X3Jlc3VsdBgkIAEoCzIbLm5vcmQuUmVjZWlwdC5EZXBvc2l0UmVzdWx0SAASPgoTaW5zZXJ0X3Rva2VuX3Jlc3VsdBglIAEoCzIfLm5vcmQuUmVjZWlwdC5JbnNlcnRUb2tlblJlc3VsdEgAEkAKFGluc2VydF9tYXJrZXRfcmVzdWx0GCYgASgLMiAubm9yZC5SZWNlaXB0Lkluc2VydE1hcmtldFJlc3VsdEgAEjcKD3dpdGhkcmF3X3Jlc3VsdBgnIAEoCzIcLm5vcmQuUmVjZWlwdC5XaXRoZHJhd1Jlc3VsdEgAEkkKGW9yYWNsZV9zeW1ib2xfZmVlZF9yZXN1bHQYKCABKAsyJC5ub3JkLlJlY2VpcHQuT3JhY2xlU3ltYm9sRmVlZFJlc3VsdEgAEkAKFG9yYWNsZV91cGRhdGVfcmVzdWx0GCkgASgLMiAubm9yZC5SZWNlaXB0Lk9yYWNsZVVwZGF0ZVJlc3VsdEgAEksKGnVwZGF0ZV9ndWFyZGlhbl9zZXRfcmVzdWx0GCogASgLMiUubm9yZC5SZWNlaXB0LlVwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0SAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABJCChVtYXJrZXRfZnJlZXplX3VwZGF0ZWQYRCABKAsyIS5ub3JkLlJlY2VpcHQuTWFya2V0RnJlZXplVXBkYXRlZEgAEjQKDmZlZV90aWVyX2FkZGVkGEUgASgLMhoubm9yZC5SZWNlaXB0LkZlZVRpZXJBZGRlZEgAEjgKEGZlZV90aWVyX3VwZGF0ZWQYRiABKAsyHC5ub3JkLlJlY2VpcHQuRmVlVGllclVwZGF0ZWRIABJCChVhY2NvdW50c190aWVyX3VwZGF0ZWQYRyABKAsyIS5ub3JkLlJlY2VpcHQuQWNjb3VudHNUaWVyVXBkYXRlZEgAEi8KC2FjbF91cGRhdGVkGEggASgLMhgubm9yZC5SZWNlaXB0LkFjbFVwZGF0ZWRIABJCChVmZWVfdmF1bHRfdHJhbnNmZXJyZWQYSSABKAsyIS5ub3JkLlJlY2VpcHQuRmVlVmF1bHRUcmFuc2ZlcnJlZEgAEjkKEHRyaWdnZXJfZXhlY3V0ZWQYSiABKAsyHS5ub3JkLlJlY2VpcHQuVHJpZ2dlckV4ZWN1dGVkSAASSQoZdGFrZV9hbGxfcG9zaXRpb25zX3Jlc3VsdBhLIAEoCzIkLm5vcmQuUmVjZWlwdC5UYWtlQWxsUG9zaXRpb25zUmVzdWx0SAASQAoUYmFja3N0b3BfYWNjb3VudF9zZXQYTCABKAsyIC5ub3JkLlJlY2VpcHQuQmFja3N0b3BBY2NvdW50U2V0SAASNQoOdHJpZ2dlcl9lZGl0ZWQYTSABKAsyGy5ub3JkLlJlY2VpcHQuVHJpZ2dlckVkaXRlZEgAEjEKDXZhdWx0X2NyZWF0ZWQYTiABKAsyGC5ub3JkLkNyZWF0ZVZhdWx0UmVjZWlwdEgAEj4KFHZhdWx0X2NvbmZpZ191cGRhdGVkGE8gASgLMh4ubm9yZC5VcGRhdGVWYXVsdENvbmZpZ1JlY2VpcHRIABI9ChV2YXVsdF9tYW5hZ2VyX3VwZGF0ZWQYUCABKAsyHC5ub3JkLlNldFZhdWx0TWFuYWdlclJlY2VpcHRIABI7ChN2YXVsdF9lcG9jaHNfc3luY2VkGFEgASgLMhwubm9yZC5WYXVsdFN5bmNFcG9jaHNSZWNlaXB0SAASNAoPdmF1bHRfZGVwb3NpdGVkGFIgASgLMhkubm9yZC5WYXVsdERlcG9zaXRSZWNlaXB0SAASNQoPdmF1bHRfd2l0aGRyYXduGFMgASgLMhoubm9yZC5WYXVsdFdpdGhkcmF3UmVjZWlwdEgAEj4KE2NsZWFyX21hcmtldF9yZXN1bHQYVCABKAsyHy5ub3JkLlJlY2VpcHQuQ2xlYXJNYXJrZXRSZXN1bHRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGnAKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRIRCgltYWtlcl9mZWUYByABKAQSEQoJdGFrZXJfZmVlGAggASgEGikKE0NyZWF0ZVNlc3Npb25SZXN1bHQSEgoKc2Vzc2lvbl9pZBgBIAEoBBpMChBDYW5jZWxsZWRUcmlnZ2VyEhIKCmFjY291bnRfaWQYASABKA0SJAoHdHJpZ2dlchgCIAEoCzITLm5vcmQuVHJpZ2dlclJlY29yZBraAQoLT3JkZXJVcGRhdGUSMAoGcmVhc29uGAEgASgOMiAubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlLlJlYXNvbhISCgphY2NvdW50X2lkGAIgASgNEhAKCG9yZGVyX2lkGAMgASgEEhYKDnJlbWFpbmluZ19zaXplGAQgASgEEhYKDmNhbmNlbGxlZF9zaXplGAUgASgEEg0KBXByaWNlGAYgASgEIjQKBlJlYXNvbhIPCgtSRURVQ0VfT05MWRAAEhkKFVNFTEZfVFJBREVfUFJFVkVOVElPThABGvcCChBQbGFjZU9yZGVyUmVzdWx0EikKBnBvc3RlZBgBIAEoCzIULm5vcmQuUmVjZWlwdC5Qb3N0ZWRIAIgBARIiCgVmaWxscxgCIAMoCzITLm5vcmQuUmVjZWlwdC5UcmFkZRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAYgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYBCABKARIAogBARI6ChJjYW5jZWxsZWRfdHJpZ2dlcnMYBSADKAsyHi5ub3JkLlJlY2VpcHQuQ2FuY2VsbGVkVHJpZ2dlchIwCg1vcmRlcl91cGRhdGVzGAYgAygLMhkubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlEjEKCXBsYWNlbWVudBgHIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZW1lbnRSZWNlaXB0QgkKB19wb3N0ZWRCEgoQX2NsaWVudF9vcmRlcl9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkGq8BChBQbGFjZW1lbnRSZWNlaXB0EiEKBHJvbGUYASABKA4yEy5ub3JkLlBsYWNlbWVudFJvbGUSOAoHYWNjb3VudBgCIAEoCzIlLm5vcmQuUmVjZWlwdC5BY2NvdW50UGxhY2VtZW50UmVjZWlwdEgAEjQKBXZhdWx0GAMgASgLMiMubm9yZC5SZWNlaXB0LlZhdWx0UGxhY2VtZW50UmVjZWlwdEgAQggKBnRhcmdldBoZChdBY2NvdW50UGxhY2VtZW50UmVjZWlwdBpMChVWYXVsdFBsYWNlbWVudFJlY2VpcHQSEAoIdmF1bHRfaWQYASABKA0SIQoGaGVhbHRoGAIgASgLMhEubm9yZC5WYXVsdEhlYWx0aBr+AQoPVHJpZ2dlckV4ZWN1dGVkEhMKC2V4ZWN1dG9yX2lkGAEgASgNEhIKCmFjY291bnRfaWQYAiABKA0SEQoJbWFya2V0X2lkGAMgASgNEh4KB3RyaWdnZXIYBCABKAsyDS5ub3JkLlRyaWdnZXISEgoKdHJpZ2dlcl9pZBgIIAEoBBIxCgdzdWNjZXNzGAUgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABIpCgdmYWlsdXJlGAYgASgOMhYubm9yZC5UcmlnZ2VyRXhlY0Vycm9ySAASEwoJY2FuY2VsbGVkGAcgASgISABCCAoGc3RhdHVzGjIKDlRha2VBbGxCYWxhbmNlEhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBp3Cg9UYWtlQWxsUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxIYChBzZXR0bGVtZW50X3ByaWNlGAMgASgEEiQKEGJhbmtydXB0Y3lfcXVvdGUYBCABKAsyCi5ub3JkLlUxMjgaUwoTVGFrZUFsbE9yZGVyVXBkYXRlcxIRCgltYXJrZXRfaWQYASABKA0SKQoGb3JkZXJzGAIgAygLMhkubm9yZC5SZWNlaXB0Lk9yZGVyVXBkYXRlGtoBChZUYWtlQWxsUG9zaXRpb25zUmVzdWx0EhgKEHRha2VyX2FjY291bnRfaWQYASABKA0SNAoOdGFrZW5fYmFsYW5jZXMYAyADKAsyHC5ub3JkLlJlY2VpcHQuVGFrZUFsbEJhbGFuY2USNgoPdGFrZW5fcG9zaXRpb25zGAQgAygLMh0ubm9yZC5SZWNlaXB0LlRha2VBbGxQb3NpdGlvbhI4Cg1vcmRlcl91cGRhdGVzGAUgAygLMiEubm9yZC5SZWNlaXB0LlRha2VBbGxPcmRlclVwZGF0ZXMacwoZQ2xlYXJNYXJrZXRDYW5jZWxsZWRPcmRlchISCgphY2NvdW50X2lkGAEgASgNEhAKCG9yZGVyX2lkGAIgASgEEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgAiAEBQhIKEF9jbGllbnRfb3JkZXJfaWQarQEKGUNsZWFyTWFya2V0Q2xvc2VkUG9zaXRpb24SEgoKYWNjb3VudF9pZBgBIAEoDRIRCgliYXNlX3NpemUYAiABKAMSGAoQc2V0dGxlbWVudF9wcmljZRgDIAEoBBIZCgVxdW90ZRgEIAEoCzIKLm5vcmQuVTEyOBIZChF0cmFkaW5nX3BubF9kZWx0YRgFIAEoAxIZChFmdW5kaW5nX3BubF9kZWx0YRgGIAEoAxrFAQoRQ2xlYXJNYXJrZXRSZXN1bHQSEQoJbWFya2V0X2lkGAEgASgNEhcKD2NsZWFyYW5jZV9wcmljZRgFIAEoBBJBChBjYW5jZWxsZWRfb3JkZXJzGAMgAygLMicubm9yZC5SZWNlaXB0LkNsZWFyTWFya2V0Q2FuY2VsbGVkT3JkZXISQQoQY2xvc2VkX3Bvc2l0aW9ucxgEIAMoCzInLm5vcmQuUmVjZWlwdC5DbGVhck1hcmtldENsb3NlZFBvc2l0aW9uGp4BChFDYW5jZWxPcmRlclJlc3VsdBIQCghvcmRlcl9pZBgBIAEoBBISCgphY2NvdW50X2lkGAIgASgNEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgAiAEBEjEKCXBsYWNlbWVudBgEIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZW1lbnRSZWNlaXB0QhIKEF9jbGllbnRfb3JkZXJfaWQacAoNRGVwb3NpdFJlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSEgoKYWNjb3VudF9pZBgDIAEoDRIUCgx1c2VyX2NyZWF0ZWQYBCABKAgSEwoLdXNlcl9wdWJrZXkYBSABKAwaQwoRSW5zZXJ0VG9rZW5SZXN1bHQSEgoKY2hhaW5fYWRkchgBIAEoDBIaCgV0b2tlbhgCIAEoCzILLm5vcmQuVG9rZW4aMgoSSW5zZXJ0TWFya2V0UmVzdWx0EhwKBm1hcmtldBgBIAEoCzIMLm5vcmQuTWFya2V0GnkKDldpdGhkcmF3UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBIPCgdiYWxhbmNlGAMgASgEEhIKCmFjY291bnRfaWQYBCABKA0SCwoDZmVlGAUgASgEEhMKC3VzZXJfcHVia2V5GAYgASgMGkAKFk9yYWNsZVN5bWJvbEZlZWRSZXN1bHQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIPCgdmZWVkX2lkGAIgASgMGicKEk9yYWNsZVVwZGF0ZVJlc3VsdBIRCgl0aW1lc3RhbXAYASABKAMaSAoXVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHQSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBpDCgxQZXJwUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxINCgVwcmljZRgDIAEoBBoQCg5TZXNzaW9uUmV2b2tlZBoICgZQYXVzZWQaCgoIVW5wYXVzZWQaKAoSQmFja3N0b3BBY2NvdW50U2V0EhIKCmFjY291bnRfaWQYASABKA0a/AEKCVJlY2lwaWVudBIyCgdzcGVjaWFsGAEgASgLMh8ubm9yZC5SZWNlaXB0LlJlY2lwaWVudC5TcGVjaWFsSAASLgoFb3duZWQYAiABKAsyHS5ub3JkLlJlY2VpcHQuUmVjaXBpZW50Lk93bmVkSAASMgoHdW5vd25lZBgDIAEoCzIfLm5vcmQuUmVjZWlwdC5SZWNpcGllbnQuVW5vd25lZEgAGgkKB1NwZWNpYWwaGwoFT3duZWQSEgoKYWNjb3VudF9pZBgBIAEoDRodCgdVbm93bmVkEhIKCmFjY291bnRfaWQYASABKA1CEAoOcmVjaXBpZW50X3R5cGUaowEKC1RyYW5zZmVycmVkEhcKD2Zyb21fYWNjb3VudF9pZBgBIAEoDRIrCgp0b19hY2NvdW50GAIgASgLMhcubm9yZC5SZWNlaXB0LlJlY2lwaWVudBIQCgh0b2tlbl9pZBgDIAEoDRIOCgZhbW91bnQYBCABKAQSFwoPYWNjb3VudF9jcmVhdGVkGAUgASgIEhMKC3VzZXJfcHVia2V5GAYgASgMGkoKE0ZlZVZhdWx0VHJhbnNmZXJyZWQSEQoJcmVjaXBpZW50GAEgASgNEhAKCHRva2VuX2lkGAIgASgNEg4KBmFtb3VudBgDIAEoBBp6CgxUcmlnZ2VyQWRkZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEiQKB3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAQgASgOMgwubm9yZC5JbnRlbnQafAoOVHJpZ2dlclJlbW92ZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEiQKB3RyaWdnZXIYAyABKAsyEy5ub3JkLlRyaWdnZXJSZWNvcmQSHAoGaW50ZW50GAQgASgOMgwubm9yZC5JbnRlbnQagAEKDVRyaWdnZXJFZGl0ZWQSEgoKYWNjb3VudF9pZBgBIAEoDRISCgp0cmlnZ2VyX2lkGAIgASgEEicKEHByZXZpb3VzX3RyaWdnZXIYAyABKAsyDS5ub3JkLlRyaWdnZXISHgoHdHJpZ2dlchgEIAEoCzINLm5vcmQuVHJpZ2dlcho4ChNNYXJrZXRGcmVlemVVcGRhdGVkEhEKCW1hcmtldF9pZBgBIAEoDRIOCgZmcm96ZW4YAiABKAgaPwoMRmVlVGllckFkZGVkEiMKBmNvbmZpZxgBIAEoCzITLm5vcmQuRmVlVGllckNvbmZpZxIKCgJpZBgCIAEoDRpBCg5GZWVUaWVyVXBkYXRlZBIKCgJpZBgBIAEoDRIjCgZjb25maWcYAiABKAsyEy5ub3JkLkZlZVRpZXJDb25maWcaOAoTQWNjb3VudHNUaWVyVXBkYXRlZBIPCgd0aWVyX2lkGAEgASgNEhAKCGFjY291bnRzGAIgAygNGmAKCkFjbFVwZGF0ZWQSEgoKYWNsX3B1YmtleRgBIAEoDBISCgpyb2xlc19tYXNrGAIgASgEEhUKDXRhcmdldF9wdWJrZXkYAyABKAwSEwoLcm9sZXNfdmFsdWUYBCABKAQawAIKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABIzCg10cmlnZ2VyX2FkZGVkGAMgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBgEIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEjUKDnRyaWdnZXJfZWRpdGVkGAUgASgLMhsubm9yZC5SZWNlaXB0LlRyaWdnZXJFZGl0ZWRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKiQKBkludGVudBIMCghERUNSRUFTRRAAEgwKCElOQ1JFQVNFEAEqTwoIRmlsbE1vZGUSCQoFTElNSVQQABINCglQT1NUX09OTFkQARIXChNJTU1FRElBVEVfT1JfQ0FOQ0VMEAISEAoMRklMTF9PUl9LSUxMEAMqrgEKDVBsYWNlbWVudFJvbGUSIAocUExBQ0VNRU5UX1JPTEVfQUNDT1VOVF9PV05FUhAAEiAKHFBMQUNFTUVOVF9ST0xFX1ZBVUxUX01BTkFHRVIQARIeChpQTEFDRU1FTlRfUk9MRV9TVVBFUl9BRE1JThACEhoKFlBMQUNFTUVOVF9ST0xFX1RSSUdHRVIQAxIdChlQTEFDRU1FTlRfUk9MRV9MSVFVSURBVE9SEAQqMQoTU2VsZlRyYWRlUHJldmVudGlvbhIICgROT05FEAASEAoMRVhQSVJFX01BS0VSEAEqJgoKTWFya2V0VHlwZRIICgRTUE9UEAASDgoKUEVSUEVUVUFMUxABKn0KEFRyaWdnZXJFeGVjRXJyb3ISDwoLTk9fUE9TSVRJT04QABITCg9QTEFOTklOR19GQUlMRUQQARIOCgpCQU5LUlVQVENZEAISFQoRUklTS19DSEVDS19GQUlMRUQQAxIcChhSRURVQ0VfT05MWV9DSEVDS19GQUlMRUQQBCofCg5TcGVjaWFsQWNjb3VudBINCglGRUVfVkFVTFQQACpdCgtWYXVsdFN0YXR1cxIXChNWQVVMVF9TVEFUVVNfQUNUSVZFEAASHAoYVkFVTFRfU1RBVFVTX0RFUklTS19PTkxZEAESFwoTVkFVTFRfU1RBVFVTX0ZST1pFThACKoYoCgVFcnJvchINCglEVVBMSUNBVEUQABIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSDgoKQVJJVEhNRVRJQxALEhcKE0FSSVRITUVUSUNfT1ZFUkZMT1cQDBIYChRBUklUSE1FVElDX1VOREVSRkxPVxANEh8KG0FSSVRITUVUSUNfRElWSVNJT05fQllfWkVSTxAOEhoKFktFWV9BTFJFQURZX1JFR0lTVEVSRUQQDxIcChhVUERBVEVfVElNRVNUQU1QX0lOX1BBU1QQERIYChRUT09fTUFOWV9PUEVOX09SREVSUxASEh0KGVdJVEhEUkFXX0FNT1VOVF9UT09fU01BTEwQFRIpCiVTT1VSQ0VfQU5EX1RBUkdFVF9TSE9VTERfTk9UX0JFX0VRVUFMEBgSEgoOREVDT0RFX0ZBSUxVUkUQIBIgChxERUNPREVfRkFJTFVSRV9MRU5HVEhfUFJFRklYECESFgoSREVDT0RFX0ZBSUxVUkVfUkFXECISGQoVREVDT0RFX0ZBSUxVUkVfRE9NQUlOECMSHwobVVBEQVRFX1BVQkxJU0hfVElNRV9JTl9QQVNUECQSFwoTUFlUSF9GRUVEX05PVF9BRERFRBBdEhUKEVBZVEhfRkVFRF9NSVNTSU5HEF4SGwoXUFlUSF9GRUVEX0FMUkVBRFlfQURERUQQXxIjCh9QWVRIX0dVQVJESUFOX1NFVF9VTklOSVRJQUxJWkVEEGASHQoZUFlUSF9HVUFSRElBTl9TRVRfSU5WQUxJRBBhEiMKH1BZVEhfRkVFRF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQYhIgChxQWVRIX0ZFRURfUFJJQ0VfT1VUX09GX1JBTkdFEGMSIwofUFlUSF9GRUVEX1ZBUklBTkNFX09VVF9PRl9SQU5HRRBkEjUKMVBZVEhfR1VBUkRJQU5fU0VUX0FORF9QWVRIX1NJR05BVFVSRV9ET19OT1RfTUFUQ0gQZRIcChhJTlZBTElEX1RPS0VOX1BBUkFNRVRFUlMQZhIcChhJTkRFWF9QUklDRV9PVVRfT0ZfUkFOR0UQZxIfChtJTkRFWF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQaBIZChVJTlZBTElEX1NUQVRFX1ZFUlNJT04QaRITCg9JTlZBTElEX01BUkdJTlMQbBIhCh1NQVJLRVRfREVDSU1BTFNfRVhDRUVEX0xJTUlUUxBtEhMKD1RPT19NQU5ZX1RPS0VOUxBuEggKBFRJRVIQcxIZChVUSUVSX0ZFRV9PVVRfT0ZfUkFOR0UQdBIYChRUSUVSX0lEX09VVF9PRl9SQU5HRRB1EhIKDlRJRVJfTk9UX0ZPVU5EEHYSFAoQRlVORElOR19PVkVSRkxPVxB7EjcKM0NBTl9SRURVQ0VfUE9TSVRJT05fT05MWV9JRl9BTExfT1JERVJTX0FSRV9DQU5DRUxFRBB8EhcKE1VORVhQRUNURURfVE9LRU5fSUQQfxIWChFSRVBFQVRFRF9PUkRFUl9JRBCAARIeChlDTElFTlRfT1JERVJfSURfVE9PX0xBUkdFEIEBEhQKD1RPS0VOX05PVF9SRUFEWRCCARIdChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQgwESIQocSU1NRURJQVRFX09SREVSX0dPVF9OT19GSUxMUxCFARIZChRGQUlMRURfVE9fRklMTF9MSU1JVBCGARIwCitQT1NUX09OTFlfTVVTVF9OT1RfRklMTF9BTllfT1BQT1NJVEVfT1JERVJTEIcBEgwKB0lOVkFMSUQQiAESEAoLTUFJTlRFTkFOQ0UQiQESGgoVTUlOSU1VTV9TSVpFX0RFQ0lNQUxTEIoBEjIKLVBBUkFNRVRFUlNfV0lMTF9DUkVBVEVfTk9OX09QRVJBVElPTkFMX01BUktFVBCLARIiCh1PTkxZX0lNTUVESUFURV9PUkRFUlNfQUxMT1dFRBCMARIbChZUT09fTUFOWV9VU0VSX0FDQ09VTlRTEI0BEhYKEUFDQ09VTlRfTk9UX0ZPVU5EEI4BEhoKFUFDQ09VTlRfSU5WQUxJRF9PV05FUhCPARIbChZTVUJBQ1RJT05fT1VUX09GX1JBTkdFEJABEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIrCiZUUklHR0VSX09OTFlfREVDUkVBU0VfT1JERVJTX1NVUFBPUlRFRBCrARIoCiNUUklHR0VSX01BWF9TSVpFX1BMQUNFTUVOVF9FWENFRURFRBCsARIYChNUUklHR0VSX05PVF9DSEFOR0VEEK0BEg4KCVRJTUVTVEFNUBCwARIfChpUSU1FU1RBTVBfT1VUX09GX1RIUkVTSE9MRBCxARIUCg9USU1FU1RBTVBfU1RBTEUQsgESHAoYRVhQSVJZX1RJTUVTVEFNUF9JTl9QQVNUEBASJQogQkFOS1JVUFRDWV9JTlNVRkZJQ0lFTlRfQ09WRVJBR0UQuQESGQoUQkFOS1JVUFRDWV9OT1RfRk9VTkQQugESGwoWQkFOS1JVUFRDWV9OT1RfQUxMT1dFRBC7ARIVChBNQVJLRVRfTk9UX1JFQURZEMABEhIKDU1BUktFVF9GUk9aRU4QwQESEQoMTUFSS0VUX0VNUFRZEMIBEg0KCFBPU0lUSU9OEMgBEhcKElBPU0lUSU9OX05PVF9GT1VORBDJARIZChRQT1NJVElPTl9TVEFURV9PUkRFUhDKARIfChpQT1NJVElPTl9TVEFURV9PUkRFUl9QUklDRRDLARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSVpFEMwBEh4KGVBPU0lUSU9OX1NUQVRFX09SREVSX1NJREUQzQESGAoTUE9TSVRJT05fU0laRV9MSU1JVBDOARIYChNQT1NJVElPTl9TVEFURV9QRVJQEM8BEiQKH1BPU0lUSU9OX1NUQVRFX09SREVSX0RFTEVHQVRJT04Q0AESCgoFUFJJQ0UQ0QESGwoWU0lHTkFUVVJFX1ZFUklGSUNBVElPThDZARIwCitTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX01BTEZPUk1FRF9QVUJMSUNfS0VZENoBEioKJVNJR05BVFVSRV9WRVJJRklDQVRJT05fSU5WQUxJRF9MRU5HVEgQ2wESCQoEUklTSxDgARI0Ci9SSVNLX0RFTEVHQVRJT05fTUZfVE9fQkVfTEVTU19USEFOX09SX0VRVUFMX01NRhDhARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfSU1GEOIBEiQKH1JJU0tfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ4wESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESFAoPUklTS19OT1RfRU5PVUdIEOYBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESJQogT1JERVJfU0laRV9FWENFRURTX1BPU0lUSU9OX1NJWkUQ+QESDAoHQVRPTUlDUxCAAhIoCiNBVE9NSUNTX1RSQURFU19DQU5OT1RfRk9MTE9XX1BMQUNFUxCBAhIwCitBVE9NSUNTX0NBTkNFTFNfQ0FOTk9UX0ZPTExPV19UUkFERVNfUExBQ0VTEIICEh0KGEFUT01JQ1NfRFVQTElDQVRFX0NBTkNFTBCDAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhwKF0FETUlOX1JPTEVfSU5TVUZGSUNJRU5UEJQCEhQKD0FETUlOX05PVF9GT1VORBCVAhIpCiRVTklRVUVfU1VQRVJfQURNSU5fQ0FOTk9UX0JFX1JFTU9WRUQQlgISHwoaU1VQRVJfQURNSU5fQUxSRUFEWV9FWElTVFMQlwISFQoQVFJJR0dFUl9DT05GTElDVBCYAhIaChVUUklHR0VSX0VESVRfQ09ORkxJQ1QQmQISHAoXVFJJR0dFUl9SRU1PVkVfQ09ORkxJQ1QQmgISDQoIVFJBTlNGRVIQoAISLgopVFJBTlNGRVJfVE9fVU5PV05FRF9BQ0NPVU5UX0lTX1BST0hJQklURUQQoQISLAonVFJBTlNGRVJfVE9fT1dORURfQUNDT1VOVF9XQVNfUkVRVUVTVEVEEKICEgoKBVZBVUxUEKgCEhQKD1ZBVUxUX05PVF9GT1VORBCpAhIdChhWQVVMVF9BQ1RJT05fTk9UX0FMTE9XRUQQqgISGQoUVkFVTFRfU1RBVFVTX0lOVkFMSUQQqwISJQogVkFVTFRfUkVEVUNFX09OTFlfT1JERVJfUkVRVUlSRUQQrAISJgohVkFVTFRfQUNUSU9OX1dPVUxEX0RFR1JBREVfU1RBVFVTEK0CEhkKFFZBVUxUX1VTRVJfTk9UX0ZPVU5EEK4CEh0KGFZBVUxUX1VTRVJfSEFTX05PX1NIQVJFUxCvAhIcChdWQVVMVF9QRVJNSVNTSU9OX0RFTklFRBC2AhISCg1WQVVMVF9ERVBPU0lUELACEjEKLFZBVUxUX0RFUE9TSVRfQk9PVFNUUkFQX1JFUVVJUkVTX0VNUFRZX1ZBVUxUELECEh8KGlZBVUxUX0RFUE9TSVRfQ0FQX0VYQ0VFREVEELICEikKJFZBVUxUX0RFUE9TSVRfUkVRVUlSRVNfQUNUSVZFX1NUQVRVUxCzAhIvCipWQVVMVF9ERVBPU0lUX0NBUF9CRUxPV19DVVJSRU5UX1JBV19FUVVJVFkQtAISHAoXVkFVTFRfREVQT1NJVF9UT09fU01BTEwQtQISEwoOVkFVTFRfV0lUSERSQVcQuAISHgoZVkFVTFRfSU5TVUZGSUNJRU5UX1NIQVJFUxC5AhIuCilWQVVMVF9XSVRIRFJBV19SRVFVSVJFU19OT05fRlJPWkVOX1NUQVRVUxC6AhIiCh1WQVVMVF9OT19DTEFJTUFCTEVfV0lUSERSQVdBTBC7AhIlCiBWQVVMVF9XSVRIRFJBV19RVU9URV9VTkFWQUlMQUJMRRC8AhItCihWQVVMVF9EVVNUX0VYSVRfUkVRVUlSRVNfRlVMTF9TSEFSRV9FWElUEL0CEjUKMFZBVUxUX0xBU1RfU0hBUkVfV0lUSERSQVdfUkVRVUlSRVNfRU1QVFlfQUNDT1VOVBC+AhIoCiNWQVVMVF9XSVRIRFJBV19SRVFVSVJFU19MSVZFX1NIQVJFUxC/AhISCg1WQVVMVF9DT05UUk9MEMACEh0KGFZBVUxUX0VQT0NIX05PVF9FTElHSUJMRRDBAhIxCixWQVVMVF9QUkVWSU9VU19FUE9DSF9XSVRIRFJBV0FMU19OT1RfUEFZQUJMRRDCAhIyCi1WQVVMVF9GUkVFWkVfVEhSRVNIT0xEX01VU1RfRVhDRUVEX1BST1RFQ1RJT04QwwISHQoYVkFVTFRfQ09ORklHX1BBVENIX0VNUFRZEMQCEigKI1ZBVUxUX05PX1NUQVRVU19UUkFOU0lUSU9OX1JFUVVJUkVEEMUCEi0KKFZBVUxUX0ZST1pFTl9TVEFUVVNfUkVRVUlSRVNfU1VQRVJfQURNSU4QxgISKgolVkFVTFRfTkVXX0NPTkZJR19XT1VMRF9ERUdSQURFX1NUQVRVUxDHAhIUCg9OT1RfSU1QTEVNRU5URUQQ9AMSFwoSQUNUSU9OX05PVF9BTExPV0VEEPUDEgwKB0RST1BQRUQQ5wdiBnByb3RvMw");
56004
56008
  var U128Schema = /* @__PURE__ */ messageDesc(file_nord, 0);
56005
56009
  var FeeTierConfigSchema = /* @__PURE__ */ messageDesc(file_nord, 1);
56006
56010
  var MarketSchema = /* @__PURE__ */ messageDesc(file_nord, 2);
@@ -56078,8 +56082,9 @@ var Action_UpdateAccountsTierSchema = /* @__PURE__ */ messageDesc(file_nord, 42,
56078
56082
  var Action_UpdateAclSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 24);
56079
56083
  var Action_FreezeMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 25);
56080
56084
  var Action_UnfreezeMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 26);
56081
- var Action_ExecuteTriggerSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 27);
56082
- var Action_TakeAllPositionsSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 28);
56085
+ var Action_ClearMarketSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 27);
56086
+ var Action_ExecuteTriggerSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 28);
56087
+ var Action_TakeAllPositionsSchema = /* @__PURE__ */ messageDesc(file_nord, 42, 29);
56083
56088
  var Action_UserSignatureFraming;
56084
56089
  ((Action_UserSignatureFraming2) => {
56085
56090
  Action_UserSignatureFraming2[Action_UserSignatureFraming2["HEX"] = 0] = "HEX";
@@ -56107,35 +56112,38 @@ var Receipt_TakeAllBalanceSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 10
56107
56112
  var Receipt_TakeAllPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 11);
56108
56113
  var Receipt_TakeAllOrderUpdatesSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 12);
56109
56114
  var Receipt_TakeAllPositionsResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 13);
56110
- var Receipt_CancelOrderResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 14);
56111
- var Receipt_DepositResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 15);
56112
- var Receipt_InsertTokenResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 16);
56113
- var Receipt_InsertMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 17);
56114
- var Receipt_WithdrawResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 18);
56115
- var Receipt_OracleSymbolFeedResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 19);
56116
- var Receipt_OracleUpdateResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 20);
56117
- var Receipt_UpdateGuardianSetResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 21);
56118
- var Receipt_PerpPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 22);
56119
- var Receipt_SessionRevokedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 23);
56120
- var Receipt_PausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 24);
56121
- var Receipt_UnpausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 25);
56122
- var Receipt_BackstopAccountSetSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 26);
56123
- var Receipt_RecipientSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27);
56124
- var Receipt_Recipient_SpecialSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 0);
56125
- var Receipt_Recipient_OwnedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 1);
56126
- var Receipt_Recipient_UnownedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27, 2);
56127
- var Receipt_TransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 28);
56128
- var Receipt_FeeVaultTransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 29);
56129
- var Receipt_TriggerAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30);
56130
- var Receipt_TriggerRemovedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 31);
56131
- var Receipt_TriggerEditedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 32);
56132
- var Receipt_MarketFreezeUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 33);
56133
- var Receipt_FeeTierAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 34);
56134
- var Receipt_FeeTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 35);
56135
- var Receipt_AccountsTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 36);
56136
- var Receipt_AclUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 37);
56137
- var Receipt_AtomicSubactionResultKindSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 38);
56138
- var Receipt_AtomicResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 39);
56115
+ var Receipt_ClearMarketCancelledOrderSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 14);
56116
+ var Receipt_ClearMarketClosedPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 15);
56117
+ var Receipt_ClearMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 16);
56118
+ var Receipt_CancelOrderResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 17);
56119
+ var Receipt_DepositResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 18);
56120
+ var Receipt_InsertTokenResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 19);
56121
+ var Receipt_InsertMarketResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 20);
56122
+ var Receipt_WithdrawResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 21);
56123
+ var Receipt_OracleSymbolFeedResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 22);
56124
+ var Receipt_OracleUpdateResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 23);
56125
+ var Receipt_UpdateGuardianSetResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 24);
56126
+ var Receipt_PerpPositionSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 25);
56127
+ var Receipt_SessionRevokedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 26);
56128
+ var Receipt_PausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 27);
56129
+ var Receipt_UnpausedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 28);
56130
+ var Receipt_BackstopAccountSetSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 29);
56131
+ var Receipt_RecipientSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30);
56132
+ var Receipt_Recipient_SpecialSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 0);
56133
+ var Receipt_Recipient_OwnedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 1);
56134
+ var Receipt_Recipient_UnownedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 30, 2);
56135
+ var Receipt_TransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 31);
56136
+ var Receipt_FeeVaultTransferredSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 32);
56137
+ var Receipt_TriggerAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 33);
56138
+ var Receipt_TriggerRemovedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 34);
56139
+ var Receipt_TriggerEditedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 35);
56140
+ var Receipt_MarketFreezeUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 36);
56141
+ var Receipt_FeeTierAddedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 37);
56142
+ var Receipt_FeeTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 38);
56143
+ var Receipt_AccountsTierUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 39);
56144
+ var Receipt_AclUpdatedSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 40);
56145
+ var Receipt_AtomicSubactionResultKindSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 41);
56146
+ var Receipt_AtomicResultSchema = /* @__PURE__ */ messageDesc(file_nord, 43, 42);
56139
56147
  var Side;
56140
56148
  ((Side2) => {
56141
56149
  Side2[Side2["ASK"] = 0] = "ASK";
@@ -89302,6 +89310,21 @@ class NordAdmin {
89302
89310
  expectReceiptKind(receipt, "marketFreezeUpdated", "unfreeze market");
89303
89311
  return { actionId: receipt.actionId, ...receipt.kind.value };
89304
89312
  }
89313
+ async clearMarket({
89314
+ marketId,
89315
+ clearancePrice
89316
+ }) {
89317
+ const receipt = await this.submitAction({
89318
+ case: "clearMarket",
89319
+ value: create(Action_ClearMarketSchema, {
89320
+ marketId,
89321
+ clearancePrice,
89322
+ aclPubkey: this.admin.toBytes()
89323
+ })
89324
+ });
89325
+ expectReceiptKind(receipt, "clearMarketResult", "clear market");
89326
+ return { actionId: receipt.actionId, ...receipt.kind.value };
89327
+ }
89305
89328
  async addFeeTier({
89306
89329
  config: config2
89307
89330
  }) {
package/dist/types.d.ts CHANGED
@@ -35,9 +35,9 @@ export type Token = MarketsInfo["tokens"][number];
35
35
  export type Account = components["schemas"]["Account"];
36
36
  export type TradesResponse = components["schemas"]["PageResult_for_uint64_and_Trade"];
37
37
  export type User = components["schemas"]["User"];
38
- export type OrderbookResponse = components["schemas"]["OrderbookInfo"];
38
+ export type OrderbookResponse = components["schemas"]["OrderbookL2Info"];
39
39
  export type MarketStats = components["schemas"]["MarketStats"];
40
- export type OrderbookInfo = components["schemas"]["OrderbookInfo"];
40
+ export type OrderbookInfo = components["schemas"]["OrderbookL2Info"];
41
41
  export type MarketStatsFromApi = components["schemas"]["MarketStats"];
42
42
  export type TradeFromApi = components["schemas"]["Trade"];
43
43
  export type PageResult<K extends string, V extends string> = K extends "String" ? V extends "OrderInfo" ? components["schemas"]["PageResult_for_uint64_and_OrderInfo"] : V extends "Trade" ? components["schemas"]["PageResult_for_uint64_and_Trade"] : never : never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n1xyz/nord-ts",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Typescript for Nord",
5
5
  "keywords": [],
6
6
  "author": "",