ng-miam 9.2.0 → 9.2.2

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.
Files changed (104) hide show
  1. package/bundles/ng-miam.umd.js +927 -634
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +1 -1
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/accordion/accordion.component.js +2 -2
  6. package/esm2015/lib/_components/addon-link/addon-link.component.js +3 -3
  7. package/esm2015/lib/_components/counter-input/counter-input.component.js +14 -12
  8. package/esm2015/lib/_components/guests-dropdown/guests-dropdown.component.js +8 -5
  9. package/esm2015/lib/_components/icon/icon.component.js +2 -2
  10. package/esm2015/lib/_components/like-button/like-button.component.js +6 -5
  11. package/esm2015/lib/_components/modal/modal.component.js +39 -36
  12. package/esm2015/lib/_components/no-pos-selected/no-pos-selected.component.js +2 -2
  13. package/esm2015/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.js +15 -6
  14. package/esm2015/lib/_components/product-card/product-card-skeleton/product-card-skeleton.component.js +1 -1
  15. package/esm2015/lib/_components/product-card/product-card.component.js +25 -7
  16. package/esm2015/lib/_components/products-picker/products-picker.component.js +2 -2
  17. package/esm2015/lib/_components/recipe-promotion-badge/recipe-promotion-badge.component.js +2 -2
  18. package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +4 -4
  19. package/esm2015/lib/_components/sponsor-blocks/sponsor-logo-block/sponsor-logo-block.component.js +4 -4
  20. package/esm2015/lib/_components/sponsor-blocks/sponsor-picture-block/sponsor-picture-block.component.js +3 -3
  21. package/esm2015/lib/_components/sponsor-blocks/sponsor-small-picture-block/sponsor-small-picture-block.component.js +3 -3
  22. package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +4 -4
  23. package/esm2015/lib/_models/basket-actions/basket-action.js +2 -2
  24. package/esm2015/lib/_services/basket-recipe-cleanup.service.js +62 -0
  25. package/esm2015/lib/_services/basket-transfer.service.js +3 -2
  26. package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +9 -3
  27. package/esm2015/lib/_services/context.service.js +17 -13
  28. package/esm2015/lib/_services/interceptor.service.js +10 -3
  29. package/esm2015/lib/_services/recipe-details.service.js +22 -7
  30. package/esm2015/lib/_services/recipes.service.js +5 -5
  31. package/esm2015/lib/_services/store-locator.service.js +10 -3
  32. package/esm2015/lib/_services/store-out-of-stock.service.js +57 -0
  33. package/esm2015/lib/_services/user.service.js +3 -3
  34. package/esm2015/lib/_types/builded/mealz-interface.js +1 -1
  35. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +3 -2
  36. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +130 -122
  37. package/esm2015/lib/_web-components/basket-preview/basket-preview-product/basket-preview-product.component.js +44 -34
  38. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +14 -7
  39. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +2 -2
  40. package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +13 -13
  41. package/esm2015/lib/_web-components/no-supplier-onboarding/no-supplier-onboarding.component.js +8 -12
  42. package/esm2015/lib/_web-components/preferences/preferences-search/preferences-search.component.js +2 -2
  43. package/esm2015/lib/_web-components/preferences/preferences.component.js +28 -28
  44. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +118 -97
  45. package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +21 -14
  46. package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +9 -8
  47. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +10 -8
  48. package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +3 -3
  49. package/esm2015/lib/_web-components/recipe-catalog/catalog-toolbar/catalog-toolbar.component.js +14 -10
  50. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +42 -37
  51. package/esm2015/lib/_web-components/recipe-details/last-order-modal/last-order-modal.component.js +2 -2
  52. package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +4 -3
  53. package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +16 -13
  54. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +4 -3
  55. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +98 -103
  56. package/esm2015/lib/_web-components/recipe-details/store-locator-link/store-locator-link.component.js +8 -7
  57. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +7 -2
  58. package/esm2015/lib/environments/environment.js +2 -2
  59. package/esm2015/lib/environments/environment.prod.js +2 -2
  60. package/esm2015/lib/environments/version.js +2 -2
  61. package/esm2015/lib/ng-miam.module.js +4 -1
  62. package/fesm2015/ng-miam.js +882 -627
  63. package/fesm2015/ng-miam.js.map +1 -1
  64. package/lib/_components/components.module.d.ts +2 -1
  65. package/lib/_components/components.module.d.ts.map +1 -1
  66. package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts +7 -3
  67. package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts.map +1 -1
  68. package/lib/_components/product-card/product-card.component.d.ts +2 -0
  69. package/lib/_components/product-card/product-card.component.d.ts.map +1 -1
  70. package/lib/_models/basket-actions/basket-action.d.ts.map +1 -1
  71. package/lib/_services/basket-recipe-cleanup.service.d.ts +21 -0
  72. package/lib/_services/basket-recipe-cleanup.service.d.ts.map +1 -0
  73. package/lib/_services/basket-transfer.service.d.ts.map +1 -1
  74. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +1 -1
  75. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts.map +1 -1
  76. package/lib/_services/context.service.d.ts +3 -1
  77. package/lib/_services/context.service.d.ts.map +1 -1
  78. package/lib/_services/interceptor.service.d.ts +1 -0
  79. package/lib/_services/interceptor.service.d.ts.map +1 -1
  80. package/lib/_services/recipe-details.service.d.ts +8 -2
  81. package/lib/_services/recipe-details.service.d.ts.map +1 -1
  82. package/lib/_services/recipes.service.d.ts +2 -6
  83. package/lib/_services/recipes.service.d.ts.map +1 -1
  84. package/lib/_services/store-locator.service.d.ts +1 -0
  85. package/lib/_services/store-locator.service.d.ts.map +1 -1
  86. package/lib/_services/store-out-of-stock.service.d.ts +13 -0
  87. package/lib/_services/store-out-of-stock.service.d.ts.map +1 -0
  88. package/lib/_services/user.service.d.ts +2 -2
  89. package/lib/_services/user.service.d.ts.map +1 -1
  90. package/lib/_types/builded/mealz-interface.d.ts +4 -0
  91. package/lib/_types/builded/mealz-interface.d.ts.map +1 -1
  92. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +1 -0
  93. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts.map +1 -1
  94. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +1 -0
  95. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts.map +1 -1
  96. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +1 -1
  97. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts.map +1 -1
  98. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +1 -1
  99. package/lib/_web-components/recipe-details/recipe-details.component.d.ts.map +1 -1
  100. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts.map +1 -1
  101. package/lib/environments/version.d.ts +1 -1
  102. package/lib/ng-miam.module.d.ts.map +1 -1
  103. package/miam-style.css +1 -1
  104. package/package.json +1 -1
@@ -22,6 +22,9 @@ function ProductCardComponent_div_0_ng_miam_out_of_stock_overlay_1_Template(rf,
22
22
  i0.ɵɵelementStart(0, "ng-miam-out-of-stock-overlay", 10);
23
23
  i0.ɵɵlistener("replacedClicked", function ProductCardComponent_div_0_ng_miam_out_of_stock_overlay_1_Template_ng_miam_out_of_stock_overlay_replacedClicked_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(2); return ctx_r6.replaceProduct(true); });
24
24
  i0.ɵɵelementEnd();
25
+ } if (rf & 2) {
26
+ const ctx_r1 = i0.ɵɵnextContext(2);
27
+ i0.ɵɵproperty("headerHeight", ctx_r1.headerHeight);
25
28
  } }
26
29
  function ProductCardComponent_div_0_ng_container_12_ng_container_16_button_1_Template(rf, ctx) { if (rf & 1) {
27
30
  const _r14 = i0.ɵɵgetCurrentView();
@@ -118,6 +121,7 @@ function ProductCardComponent_div_0_ng_container_12_Template(rf, ctx) { if (rf &
118
121
  i0.ɵɵadvance(1);
119
122
  i0.ɵɵproperty("priceData", ctx_r2.product.price);
120
123
  i0.ɵɵadvance(3);
124
+ i0.ɵɵpropertyInterpolate("alt", ctx_r2.product.basketEntry.selectedItem.attributes.name);
121
125
  i0.ɵɵproperty("src", ctx_r2.product.basketEntry.selectedItem.attributes.image, i0.ɵɵsanitizeUrl);
122
126
  i0.ɵɵadvance(3);
123
127
  i0.ɵɵtextInterpolate1(" ", ctx_r2.product.basketEntry.selectedItem.attributes.brand, " ");
@@ -126,7 +130,7 @@ function ProductCardComponent_div_0_ng_container_12_Template(rf, ctx) { if (rf &
126
130
  i0.ɵɵadvance(1);
127
131
  i0.ɵɵproperty("isSponsored", ctx_r2.isSponsored)("item", ctx_r2.product.basketEntry.selectedItem)("price", ctx_r2.product.price);
128
132
  i0.ɵɵadvance(2);
129
- i0.ɵɵproperty("oldPrice", i0.ɵɵpipeBind2(13, 12, ctx_r2.priceService.getOldPrice(ctx_r2.product.price), ctx_r2.product.basketEntry.selectedItem.attributes.currency))("price", i0.ɵɵpipeBind2(14, 15, ctx_r2.priceService.getCurrentPrice(ctx_r2.product.price), ctx_r2.product.basketEntry.selectedItem.attributes.currency));
133
+ i0.ɵɵproperty("oldPrice", i0.ɵɵpipeBind2(13, 13, ctx_r2.priceService.getOldPrice(ctx_r2.product.price), ctx_r2.product.basketEntry.selectedItem.attributes.currency))("price", i0.ɵɵpipeBind2(14, 16, ctx_r2.priceService.getCurrentPrice(ctx_r2.product.price), ctx_r2.product.basketEntry.selectedItem.attributes.currency));
130
134
  i0.ɵɵadvance(4);
131
135
  i0.ɵɵproperty("ngIf", ctx_r2.product.basketEntry.status === "initial" || ctx_r2.product.basketEntry.status === "out_of_stock");
132
136
  i0.ɵɵadvance(1);
@@ -204,7 +208,7 @@ const _c18 = function (a0) { return { "miam-product-card__disabled-text": a0 };
204
208
  const _c19 = function (a0, a1) { return { "disabled": a0, "unavailable": a1 }; };
205
209
  function ProductCardComponent_div_0_Template(rf, ctx) { if (rf & 1) {
206
210
  i0.ɵɵelementStart(0, "div", 1);
207
- i0.ɵɵtemplate(1, ProductCardComponent_div_0_ng_miam_out_of_stock_overlay_1_Template, 1, 0, "ng-miam-out-of-stock-overlay", 2);
211
+ i0.ɵɵtemplate(1, ProductCardComponent_div_0_ng_miam_out_of_stock_overlay_1_Template, 1, 1, "ng-miam-out-of-stock-overlay", 2);
208
212
  i0.ɵɵelementStart(2, "div", 3);
209
213
  i0.ɵɵelementStart(3, "span", 4);
210
214
  i0.ɵɵtext(4);
@@ -220,7 +224,7 @@ function ProductCardComponent_div_0_Template(rf, ctx) { if (rf & 1) {
220
224
  i0.ɵɵelementEnd();
221
225
  i0.ɵɵelementEnd();
222
226
  i0.ɵɵelementStart(11, "div", 6);
223
- i0.ɵɵtemplate(12, ProductCardComponent_div_0_ng_container_12_Template, 23, 18, "ng-container", 7);
227
+ i0.ɵɵtemplate(12, ProductCardComponent_div_0_ng_container_12_Template, 23, 19, "ng-container", 7);
224
228
  i0.ɵɵelementEnd();
225
229
  i0.ɵɵtemplate(13, ProductCardComponent_div_0_ng_template_13_Template, 2, 2, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
226
230
  i0.ɵɵtemplate(15, ProductCardComponent_div_0_div_15_Template, 8, 1, "div", 9);
@@ -287,6 +291,7 @@ export class ProductCardComponent extends EventTracerComponent {
287
291
  }
288
292
  ngOnInit() {
289
293
  this.subscriptions.push(this.recipeDetailsService.productsByCategory$.subscribe(() => this.isProductSponsored()), this.executeActionFromStorage(), this.loadOnRecipesActions(), this.loadOnIngredientsUpdate(), this.updateIngredientQuantityOnRecipeChange(), this.productIsBeingAdded(), this.scrollBackOnProductReplaced());
294
+ this.getHeaderHeight();
290
295
  }
291
296
  ngOnDestroy() {
292
297
  var _a;
@@ -361,7 +366,13 @@ export class ProductCardComponent extends EventTracerComponent {
361
366
  searchString: this.searchString
362
367
  }, this.basketsService);
363
368
  this.subscriptions.push(merge(addIngredient.onError, addIngredient.onTimeout)
364
- .subscribe(() => this.recipeDetailsService.ingredientToBasketLoading = false));
369
+ .subscribe(() => {
370
+ this.recipeDetailsService.setProductOutOfStockInSession([{
371
+ ingredientId: this.product.ingredient.id,
372
+ entry: this.product.basketEntry
373
+ }]);
374
+ this.recipeDetailsService.ingredientToBasketLoading = false;
375
+ }));
365
376
  this.basketSynchroService.addToActionList([addIngredient]);
366
377
  }
367
378
  }));
@@ -442,6 +453,13 @@ export class ProductCardComponent extends EventTracerComponent {
442
453
  this.product.basketEntry.addRelationship(parsedMethod.arguments.entry.relationships['selected-item'].data, 'selected-item');
443
454
  }
444
455
  }
456
+ getHeaderHeight() {
457
+ const headerElement = this.elementRef.nativeElement.querySelectorAll('.miam-product-card__header');
458
+ if (headerElement.length === 1) {
459
+ this.headerHeight = headerElement[0].offsetHeight;
460
+ this.cdr.detectChanges();
461
+ }
462
+ }
445
463
  }
446
464
  ProductCardComponent.ɵfac = function ProductCardComponent_Factory(t) { return new (t || ProductCardComponent)(i0.ɵɵdirectiveInject(i1.AnalyticsService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.BasketsService), i0.ɵɵdirectiveInject(i1.RecipeDetailsService), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.IgnoredIngredientsService), i0.ɵɵdirectiveInject(i3.PendingBasketMethodsService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.BasketsSynchronizerService), i0.ɵɵdirectiveInject(i1.ContextService), i0.ɵɵdirectiveInject(i1.ProductReplacementService), i0.ɵɵdirectiveInject(i1.PriceService)); };
447
465
  ProductCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ProductCardComponent, selectors: [["ng-miam-product-card"]], inputs: { product: "product" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: function () { let i18n_0; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
@@ -492,11 +510,11 @@ ProductCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ProductCardComponent
492
510
  }
493
511
  else {
494
512
  i18n_14 = $localize `:␟f0ee2f84e20252199737bc9757b04e75979cb9fe␟8253051398336962047: repas`;
495
- } return [["class", "miam-product-card__container", 3, "ngClass", 4, "ngIf"], [1, "miam-product-card__container", 3, "ngClass"], [3, "replacedClicked", 4, "ngIf"], [1, "miam-product-card__header", 3, "ngClass"], [1, "miam-product-card__header-name", "miam-ds-text", "size-l", "weight-xxl", 3, "ngClass"], [1, "miam-product-card__header-quantity", "miam-ds-text", "size-s", "weight-l", 3, "ngClass"], [1, "miam-product-card__content", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["disabledProduct", ""], ["class", "miam-product-card__footer", 4, "ngIf"], [3, "replacedClicked"], [3, "priceData"], [1, "miam-product-card__selected-product"], [1, "miam-product-card__picture-column"], ["alt", "product", 1, "miam-product-card__picture", 3, "src", "error"], [1, "miam-product-card__info-column"], [1, "miam-ds-text", "size-xs", "weight-xl", "miam-product-card__details", "product-brand"], [1, "miam-ds-text", "size-xs", "miam-product-card__details", "product-fullname"], [3, "isSponsored", "item", "price"], [1, "miam-product-card__lower-action"], [1, "miam-product-card__price", "miam-ds-text", "size-m", "weight-xxl", 3, "oldPrice", "price"], [1, "miam-product-card__cta"], [4, "ngIf"], [1, "miam-product-card__footer__actions"], ["class", "miam-ds-button miam-product-card__ignore-product ghost small", 3, "click", 4, "ngIf"], [1, "miam-product-card__replace-product", "miam-ds-button", "ghost", 3, "click"], i18n_0, ["class", "miam-ds-button miam-product-card__add-product square primary", 3, "disabled", "click", 4, "ngIf"], ["class", "miam-ds-button miam-product-card__loading-button square primary", 4, "ngIf"], [1, "miam-ds-button", "miam-product-card__add-product", "square", "primary", 3, "disabled", "click"], ["alt", "basket icon", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"], [1, "miam-ds-button", "miam-product-card__loading-button", "square", "primary"], [1, "miam-ds-loader"], ["minRange", "0", 3, "biColor", "value", "minusLoading", "disable", "debounceTime", "valueChange"], [1, "miam-ds-button", "miam-product-card__ignore-product", "ghost", "small", 3, "click"], [1, "miam-product-card__disabled-text"], i18n_2, [1, "miam-ds-text", "miam-product-card__disabled-text"], i18n_4, [1, "miam-product-card__select-product", "miam-ds-button", "ghost", 3, "click"], i18n_6, ["alt", "ingredient picture", 1, "miam-ds-avatar", 3, "src"], [1, "miam-ds-badge", "warning"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/WarningFill.svg", "alt", "warning"], [1, "miam-ds-text", "size-xs", "weight-l"], i18n_8, [1, "miam-product-card__select-product", "miam-ds-button", "primary", "reverse", "small", 3, "click"], i18n_10, [1, "miam-product-card__footer"], [1, "miam-ds-text", "size-xs", "weight-xl", "light-text"], i18n_12, i18n_14]; }, template: function ProductCardComponent_Template(rf, ctx) { if (rf & 1) {
513
+ } return [["class", "miam-product-card__container", 3, "ngClass", 4, "ngIf"], [1, "miam-product-card__container", 3, "ngClass"], [3, "headerHeight", "replacedClicked", 4, "ngIf"], [1, "miam-product-card__header", 3, "ngClass"], [1, "miam-product-card__header-name", "miam-ds-text", "size-l", "weight-xxl", 3, "ngClass"], [1, "miam-product-card__header-quantity", "miam-ds-text", "size-s", "weight-l", 3, "ngClass"], [1, "miam-product-card__content", 3, "ngClass"], [4, "ngIf", "ngIfElse"], ["disabledProduct", ""], ["class", "miam-product-card__footer", 4, "ngIf"], [3, "headerHeight", "replacedClicked"], [3, "priceData"], [1, "miam-product-card__selected-product"], [1, "miam-product-card__picture-column"], [1, "miam-product-card__picture", 3, "alt", "src", "error"], [1, "miam-product-card__info-column"], [1, "miam-ds-text", "size-xs", "weight-xl", "miam-product-card__details", "product-brand"], [1, "miam-ds-text", "size-xs", "miam-product-card__details", "product-fullname"], [3, "isSponsored", "item", "price"], [1, "miam-product-card__lower-action"], [1, "miam-product-card__price", "miam-ds-text", "size-m", "weight-xxl", 3, "oldPrice", "price"], [1, "miam-product-card__cta"], [4, "ngIf"], [1, "miam-product-card__footer__actions"], ["class", "miam-ds-button miam-product-card__ignore-product ghost small", 3, "click", 4, "ngIf"], [1, "miam-product-card__replace-product", "miam-ds-button", "ghost", 3, "click"], i18n_0, ["class", "miam-ds-button miam-product-card__add-product square primary", "aria-label", "Ajouter au panier", 3, "disabled", "click", 4, "ngIf"], ["class", "miam-ds-button miam-product-card__loading-button square primary", "aria-label", "Chargement", 4, "ngIf"], ["aria-label", "Ajouter au panier", 1, "miam-ds-button", "miam-product-card__add-product", "square", "primary", 3, "disabled", "click"], ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Basket.svg"], ["aria-label", "Chargement", 1, "miam-ds-button", "miam-product-card__loading-button", "square", "primary"], [1, "miam-ds-loader"], ["minRange", "0", 3, "biColor", "value", "minusLoading", "disable", "debounceTime", "valueChange"], [1, "miam-ds-button", "miam-product-card__ignore-product", "ghost", "small", 3, "click"], [1, "miam-product-card__disabled-text"], i18n_2, [1, "miam-ds-text", "miam-product-card__disabled-text"], i18n_4, [1, "miam-product-card__select-product", "miam-ds-button", "ghost", 3, "click"], i18n_6, ["alt", "Image de l'ingr\u00E9dient", 1, "miam-ds-avatar", 3, "src"], [1, "miam-ds-badge", "warning"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/WarningFill.svg", "alt", "", "aria-hidden", "true"], [1, "miam-ds-text", "size-xs", "weight-l"], i18n_8, [1, "miam-product-card__select-product", "miam-ds-button", "primary", "reverse", "small", 3, "click"], i18n_10, [1, "miam-product-card__footer"], [1, "miam-ds-text", "size-xs", "weight-xl", "light-text"], i18n_12, i18n_14]; }, template: function ProductCardComponent_Template(rf, ctx) { if (rf & 1) {
496
514
  i0.ɵɵtemplate(0, ProductCardComponent_div_0_Template, 16, 30, "div", 0);
497
515
  } if (rf & 2) {
498
516
  i0.ɵɵproperty("ngIf", ctx.product.basketEntry);
499
- } }, directives: [i4.NgIf, i4.NgClass, i5.OutOfStockOverlayComponent, i6.PromotionBadgeComponent, i7.ProductBadgesComponent, i8.PriceComponent, i9.CounterInputComponent], pipes: [i10.CapitalizeFirstLetterPipe, i4.CurrencyPipe, i4.AsyncPipe], styles: [".miam-product-card__container{display:flex;flex-direction:column;box-sizing:border-box;height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--miam-ds-color-primary-100,#e4eaec);background:var(--miam-ds-color-primary-text,#fff);transition:all .3s;position:relative}.miam-product-card__container.added{border:1px solid var(--miam-ds-color-primary,#24748f);background:var(--miam-ds-color-primary-text,#fff)}.miam-product-card__container .miam-product-card__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:8px;color:var(--miam-ds-color-neutral-black,#0f191f);background:var(--miam-ds-color-primary-100,#e4eaec);transition:all .3s}.miam-product-card__container .miam-product-card__header.added{background:var(--miam-ds-color-primary,#24748f);color:var(--core-background-background-primary,#fff)}.miam-product-card__container .miam-product-card__header.disabled{background:var(--miam-ds-color-neutral-200,#d9dde1)}.miam-product-card__container .miam-product-card__header.unavailable{background-color:var(--miam-ds-color-neutral-50,#f7f8f9)}.miam-product-card__container .miam-product-card__header .miam-product-card__header-quantity{text-align:right}.miam-product-card__container .miam-product-card__content{padding:12px;height:100%;display:flex;gap:8px;flex-direction:column;background-color:var(--miam-ds-color-neutral-white,#fff);transition:background-color .3s}.miam-product-card__container .miam-product-card__content.disabled,.miam-product-card__container .miam-product-card__content.unavailable{justify-content:center;align-items:center;padding:12px;text-align:center}.miam-product-card__container .miam-product-card__content.disabled{background-color:var(--miam-ds-color-neutral-200,#d9dde1)}.miam-product-card__container .miam-product-card__content.unavailable{background-color:var(--miam-ds-color-neutral-50,#f7f8f9)}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;gap:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__picture{height:120px;width:120px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details{font-size:14px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--miam-ds-color-neutral-black,#0f191f)}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details.product-brand{text-transform:uppercase;line-height:24px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details.product-price-per-unit{font-size:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__link{font-size:14px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action{display:flex;align-items:center;justify-content:space-between;gap:8px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta{display:flex;align-items:center;gap:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-ds-button.square{padding:8px;height:40px;width:40px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-product-card__loading-button{padding:14px}@media (max-width:1024px){.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-ds-button.primary:hover:not(:disabled){background-color:var(--miam-ds-color-primary)}}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__price{color:var(--miam-ds-color-neutral-black,#0f191f);line-height:0}.miam-product-card__container .miam-product-card__content .miam-product-card__footer__actions{display:flex;align-items:center;justify-content:center;gap:28px}.miam-product-card__container .miam-product-card__content .miam-ds-avatar{height:64px;width:64px}.miam-product-card__container .miam-product-card__content .miam-ds-badge.warning{display:inline-flex}.miam-product-card__container .miam-product-card__content .miam-ds-badge.warning img{margin-right:4px}.miam-product-card__container .miam-product-card__disabled-text{color:var(--miam-ds-color-neutral-black,#0f191f)}.miam-product-card__container .miam-product-card__footer{display:flex;flex-direction:column;align-items:center;background:var(--miam-ds-color-primary-50,#f0f3f4);padding:8px}.miam-product-card__container .miam-product-card__footer .light-text{color:var(--miam-ds-color-neutral-black,#0f191f);opacity:.5}"], encapsulation: 2, changeDetection: 0 });
517
+ } }, directives: [i4.NgIf, i4.NgClass, i5.OutOfStockOverlayComponent, i6.PromotionBadgeComponent, i7.ProductBadgesComponent, i8.PriceComponent, i9.CounterInputComponent], pipes: [i10.CapitalizeFirstLetterPipe, i4.CurrencyPipe, i4.AsyncPipe], styles: [".miam-product-card__container{display:flex;flex-direction:column;box-sizing:border-box;height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--miam-ds-color-primary-100,#e4eaec);background:var(--miam-ds-color-primary-text,#fff);transition:all .3s;position:relative}.miam-product-card__container.added{border:1px solid var(--miam-ds-color-primary,#24748f);background:var(--miam-ds-color-primary-text,#fff)}.miam-product-card__container .miam-product-card__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:8px;color:var(--miam-ds-color-neutral-black,#0f191f);background:var(--miam-ds-color-primary-100,#e4eaec);transition:all .3s}.miam-product-card__container .miam-product-card__header.added{background:var(--miam-ds-color-primary,#24748f);color:var(--core-background-background-primary,#fff)}.miam-product-card__container .miam-product-card__header.disabled{background:var(--miam-ds-color-neutral-200,#d9dde1)}.miam-product-card__container .miam-product-card__header.unavailable{background-color:var(--miam-ds-color-neutral-50,#f7f8f9)}.miam-product-card__container .miam-product-card__header .miam-product-card__header-quantity{text-align:right}.miam-product-card__container .miam-product-card__content{padding:12px;height:100%;display:flex;gap:8px;flex-direction:column;background-color:var(--miam-ds-color-neutral-white,#fff);transition:background-color .3s}.miam-product-card__container .miam-product-card__content.disabled,.miam-product-card__container .miam-product-card__content.unavailable{justify-content:center;align-items:center;padding:12px;text-align:center}.miam-product-card__container .miam-product-card__content.disabled{background-color:var(--miam-ds-color-neutral-200,#d9dde1)}.miam-product-card__container .miam-product-card__content.unavailable{background-color:var(--miam-ds-color-neutral-50,#f7f8f9)}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;gap:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__picture{height:120px;width:120px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details{font-size:14px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--miam-ds-color-neutral-black,#0f191f)}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details.product-brand{text-transform:uppercase;line-height:24px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__details.product-price-per-unit{font-size:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__selected-product .miam-product-card__info-column .miam-product-card__link{font-size:14px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta{display:flex;align-items:center;gap:12px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-ds-button.square{padding:8px;height:40px;width:40px}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-product-card__loading-button{padding:14px}@media (max-width:1024px){.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__cta .miam-ds-button.primary:hover:not(:disabled){background-color:var(--miam-ds-color-primary)}}.miam-product-card__container .miam-product-card__content .miam-product-card__lower-action .miam-product-card__price{color:var(--miam-ds-color-neutral-black,#0f191f);line-height:0}.miam-product-card__container .miam-product-card__content .miam-product-card__footer__actions{display:flex;align-items:center;justify-content:center;gap:28px}.miam-product-card__container .miam-product-card__content .miam-ds-avatar{height:64px;width:64px}.miam-product-card__container .miam-product-card__content .miam-ds-badge.warning{display:inline-flex}.miam-product-card__container .miam-product-card__content .miam-ds-badge.warning img{margin-right:4px}.miam-product-card__container .miam-product-card__disabled-text{color:var(--miam-ds-color-neutral-black,#0f191f)}.miam-product-card__container .miam-product-card__footer{display:flex;flex-direction:column;align-items:center;background:var(--miam-ds-color-primary-50,#f0f3f4);padding:8px}.miam-product-card__container .miam-product-card__footer .light-text{color:var(--miam-ds-color-neutral-black,#0f191f);opacity:.5}"], encapsulation: 2, changeDetection: 0 });
500
518
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProductCardComponent, [{
501
519
  type: Component,
502
520
  args: [{
@@ -509,4 +527,4 @@ ProductCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ProductCardComponent
509
527
  }], function () { return [{ type: i1.AnalyticsService }, { type: i0.ChangeDetectorRef }, { type: i1.BasketsService }, { type: i1.RecipeDetailsService }, { type: i1.RecipesService }, { type: i2.IgnoredIngredientsService }, { type: i3.PendingBasketMethodsService }, { type: i0.ElementRef }, { type: i1.BasketsSynchronizerService }, { type: i1.ContextService }, { type: i1.ProductReplacementService }, { type: i1.PriceService }]; }, { product: [{
510
528
  type: Input
511
529
  }] }); })();
512
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvcHJvZHVjdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvcHJvZHVjdC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFDTixnQkFBZ0IsRUFBRSxjQUFjLEVBQy9CLDBCQUEwQixFQUMxQixjQUFjLEVBQUUsWUFBWSxFQUU1Qix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBZ0IsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNkckYsd0RBQTZIO0lBQS9GLGlRQUFrQyxJQUFJLEtBQUU7SUFBdUQsaUJBQStCOzs7O0lBNEVwSixrQ0FF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QyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hHO1lBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDN0g7SUFDSCxDQUFDOzt3RkF0UFUsb0JBQW9CO3lEQUFwQixvQkFBb0I7Ozs7O2lCQ3lGWixVQUFBLDBFQUFTOzs7Ozs7aUJBUGdDLFVBQUEsZ0ZBQWU7Ozs7OztpQkFpQnJFLFVBQUEsbUhBQ0Y7Ozs7OztpQkFFYSxVQUFBLG1GQUFrQjs7Ozs7O2lCQU9vQixVQUFBLDZFQUFZOzs7Ozs7a0JBR2xELFVBQUEsMEVBQVM7Ozs7OztrQkFTWCxVQUFBLDhFQUFhOzs7Ozs7a0JBRVosVUFBQSx1RUFBSzs7UUE3SnZCLHVFQWdLTTs7UUF2SkgsOENBQXlCOzt1RkR5QmYsb0JBQW9CO2NBUGhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxXQUFXLEVBQUUsK0JBQStCO2dCQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDNUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO29iQUdVLE9BQU87a0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdXNpYmxlUHJvcHMgfSBmcm9tICdtZWFsei1zaGFyZWQtYW5hbHl0aWNzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5pbXBvcnQge1xuIEFuYWx5dGljc1NlcnZpY2UsIEJhc2tldHNTZXJ2aWNlLFxuICBCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgQ29udGV4dFNlcnZpY2UsIFByaWNlU2VydmljZSxcbiAgUHJvZHVjdCxcbiAgUHJvZHVjdFJlcGxhY2VtZW50U2VydmljZSxcbiAgUmVjaXBlRGV0YWlsc1NlcnZpY2UsXG4gIFJlY2lwZXNTZXJ2aWNlXG59IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQYXJzZWRNZXRob2QsIFBlbmRpbmdCYXNrZXRNZXRob2RzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9wZW5kaW5nLWJhc2tldC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWdub3JlZEluZ3JlZGllbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9pZ25vcmVkLWluZ3JlZGllbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRJbmdyZWRpZW50QWN0aW9uIH0gZnJvbSAnLi4vLi4vX21vZGVscy9iYXNrZXQtYWN0aW9ucy9hZGQtaW5ncmVkaWVudC1hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXByb2R1Y3QtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdENhcmRDb21wb25lbnQgZXh0ZW5kcyBFdmVudFRyYWNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwcm9kdWN0ITogUHJvZHVjdDtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIG1vZGlmaWVkSW5nUXR5OiBudW1iZXI7XG5cbiAgbG9hZGluZyA9IGZhbHNlO1xuICBsb2FkaW5nQWRkVG9CYXNrZXQgPSBmYWxzZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgdXBkYXRlTG9hZGluZyA9IGZhbHNlO1xuICBpc1Nwb25zb3JlZCA9IGZhbHNlO1xuICBpbmdyZWRpZW50SXNSZW1vdmVkID0gZmFsc2U7XG5cbiAgLy8gQm90aCBiZWxvdyBhcmUgdXNlZCBvbmx5IGZvciBzdG9yZWQgYWN0aW9uc1xuICBwcml2YXRlIHNlYXJjaFN0cmluZyA9ICcnO1xuICBwcml2YXRlIHByZXZpb3VzSXRlbTogSXRlbTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwdWJsaWMgcmVjaXBlRGV0YWlsc1NlcnZpY2U6IFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaWdub3JlZEJhc2tldHNTZXJ2aWNlOiBJZ25vcmVkSW5ncmVkaWVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0Jhc2tldE1ldGhvZHNTZXJ2aWNlOiBQZW5kaW5nQmFza2V0TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYmFza2V0U3luY2hyb1NlcnZpY2U6IEJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlOiBQcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBwcmljZVNlcnZpY2U6IFByaWNlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHByb3BzKCk6IFBsYXVzaWJsZVByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZW50cnlfbmFtZTogdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5Lm5hbWUsXG4gICAgICBpdGVtX2lkOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5pZCxcbiAgICAgIGV4dF9pdGVtX2lkOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5hdHRyaWJ1dGVzWydleHQtaWQnXSxcbiAgICAgIGl0ZW1fZWFuOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5lYW4sXG4gICAgICBwcm9kdWN0X3F1YW50aXR5OiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkucXVhbnRpdHkudG9TdHJpbmcoKSxcbiAgICAgIHJlY2lwZV9pZDogdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUuaWRcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzQnlDYXRlZ29yeSQuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuaXNQcm9kdWN0U3BvbnNvcmVkKClcbiAgICAgICksXG4gICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25Gcm9tU3RvcmFnZSgpLFxuICAgICAgdGhpcy5sb2FkT25SZWNpcGVzQWN0aW9ucygpLFxuICAgICAgdGhpcy5sb2FkT25JbmdyZWRpZW50c1VwZGF0ZSgpLFxuICAgICAgdGhpcy51cGRhdGVJbmdyZWRpZW50UXVhbnRpdHlPblJlY2lwZUNoYW5nZSgpLFxuICAgICAgdGhpcy5wcm9kdWN0SXNCZWluZ0FkZGVkKCksXG4gICAgICB0aGlzLnNjcm9sbEJhY2tPblByb2R1Y3RSZXBsYWNlZCgpLFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnM/LmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHNjcm9sbEJhY2tPblByb2R1Y3RSZXBsYWNlZCgpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzTG9hZGluZyQuc3Vic2NyaWJlKChpc0xvYWRpbmc6IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGlmICghaXNMb2FkaW5nICYmIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuaXNQcm9kdWN0c0J5Q2F0ZWdvcnlTZXQoKSkge1xuICAgICAgICB0aGlzLnNjcm9sbEJhY2tUb1Byb2R1Y3RDYXJkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBleGVjdXRlQWN0aW9uRnJvbVN0b3JhZ2UoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0J5Q2F0ZWdvcnkkLnBpcGUoXG4gICAgICBza2lwV2hpbGUocHJvZHVjdHMgPT4gcHJvZHVjdHMudG9QaWNrUHJvZHVjdHMubGVuZ3RoID09PSAwKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5wZW5kaW5nQmFza2V0TWV0aG9kc1NlcnZpY2Uuc2hvdWxkRXhlY3V0ZUJhc2tldE1ldGhvZC5waXBlKFxuICAgICAgICBza2lwV2hpbGUobWV0aG9kID0+ICFtZXRob2QpXG4gICAgICApKVxuICAgICkuc3Vic2NyaWJlKHBhcnNlZE1ldGhvZCA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlZE1ldGhvZC5tZXRob2QgPT09ICdhZGRJbmdyZWRpZW50VG9CYXNrZXQnICYmXG4gICAgICAgIHBhcnNlZE1ldGhvZC5hcmd1bWVudHMuaW5ncmVkaWVudElkID09PSB0aGlzLnByb2R1Y3QuaW5ncmVkaWVudC5pZCAmJlxuICAgICAgICB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnaW5pdGlhbCdcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJlcGxhY2VJdGVtRm9yU3RvcmVkQWN0aW9uKHBhcnNlZE1ldGhvZCk7XG4gICAgICAgIHRoaXMuYWRkVG9CYXNrZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUluZ3JlZGllbnRRdWFudGl0eU9uUmVjaXBlQ2hhbmdlKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlY2lwZSA9IHRoaXMucmVjaXBlc1NlcnZpY2UuZGlzcGxheWVkUmVjaXBlJC52YWx1ZT8ucmVjaXBlO1xuICAgICAgdGhpcy5pc1Byb2R1Y3RTcG9uc29yZWQoKTtcbiAgICAgIC8vIElmIHRoZSByZWNpcGUtZGV0YWlscyBpcyBkaXNwbGF5ZWQgc29sbywgcmVjaXBlc1NlcnZpY2UuZGlzcGxheWVkUmVjaXBlJCBoYXMgbm8gdmFsdWUsIHNvIG1vZGlmaWVkSW5nUXR5IHdpbGwgYmUgTmFOXG4gICAgICBpZiAocmVjaXBlKSB7XG4gICAgICAgIHRoaXMubW9kaWZpZWRJbmdRdHkgPSArcmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMuZmluZChpID0+IGkubmFtZSA9PT0gdGhpcy5wcm9kdWN0LmluZ3JlZGllbnQuYXR0cmlidXRlcy5uYW1lKT8ucXR5LnRvRml4ZWQoMik7XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcm9kdWN0SXNCZWluZ0FkZGVkKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYmFza2V0U3luY2hyb1NlcnZpY2UuZW50cnlXaWxsQmVBZGRlZCh0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5leHRJZClcbiAgICAgIC5waXBlKG1hcCgoZW50cnlXaWxsQmVBZGRlZCkgPT4gZW50cnlXaWxsQmVBZGRlZCkpXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ0FkZFRvQmFza2V0ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUNvdW50ZXJDaGFuZ2UobmV3Q291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChuZXdDb3VudCA8IDEpIHtcbiAgICAgIHRoaXMuaW5ncmVkaWVudElzUmVtb3ZlZCA9IHRydWU7XG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRSZW1vdmVkKHRoaXMucHJvZHVjdC5pbmdyZWRpZW50LCB0aGlzLmV2ZW50VHJhY2UpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZVByb2R1Y3RRdWFudGl0eSh0aGlzLnByb2R1Y3QuYmFza2V0RW50cnksIG5ld0NvdW50LCB0aGlzLmV2ZW50VHJhY2UpO1xuICAgIH1cbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUluZ3JlZGllbnRGcm9tQmFza2V0TG9hZGluZyA9IHRydWU7XG4gIH1cblxuXG4gIGFkZFRvQmFza2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlY2lwZSA9IHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVjaXBlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5jYW5BZGRQcm9kdWN0VG9CYXNrZXQoXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdhZGRJbmdyZWRpZW50VG9CYXNrZXQnLFxuICAgICAgICAgIGFyZ3VtZW50czoge1xuICAgICAgICAgICAgcmVjaXBlSWQ6IHJlY2lwZS5pZCwgaW5ncmVkaWVudElkOiB0aGlzLnByb2R1Y3QuaW5ncmVkaWVudC5pZCwgZW50cnk6IHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeSwgZXZlbnRUcmFjZTogdGhpcy5ldmVudFRyYWNlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0aGlzLmV2ZW50VHJhY2VcbiAgICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmluZ3JlZGllbnRUb0Jhc2tldExvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICBjb25zdCBhZGRJbmdyZWRpZW50ID0gbmV3IEFkZEluZ3JlZGllbnRBY3Rpb24oXG4gICAgICAgICAgICB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJlY2lwZUlkOiByZWNpcGUuaWQsXG4gICAgICAgICAgICAgIGluZ3JlZGllbnRJZDogdGhpcy5wcm9kdWN0LmluZ3JlZGllbnQuaWQsXG4gICAgICAgICAgICAgIGV2ZW50VHJhY2U6IHRoaXMuZXZlbnRUcmFjZSxcbiAgICAgICAgICAgICAgcHJldmlvdXNJdGVtOiB0aGlzLnByZXZpb3VzSXRlbSxcbiAgICAgICAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgIG1lcmdlKGFkZEluZ3JlZGllbnQub25FcnJvciwgYWRkSW5ncmVkaWVudC5vblRpbWVvdXQpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5pbmdyZWRpZW50VG9CYXNrZXRMb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5iYXNrZXRTeW5jaHJvU2VydmljZS5hZGRUb0FjdGlvbkxpc3QoW2FkZEluZ3JlZGllbnRdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaWdub3JlUHJvZHVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdlbnRyeS5pZ25vcmUnLCB0aGlzLnBhdGgsIHRoaXMucHJvcHMpO1xuICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPSAnaWdub3JlZCc7XG4gICAgdGhpcy5pZ25vcmVkQmFza2V0c1NlcnZpY2UuYWRkSWdub3JlZEluZ3JlZGllbnRzKHRoaXMucHJvZHVjdC5pbmdyZWRpZW50LmlkKTtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZVJlY2lwZVByaWNlKHRoaXMucHJvZHVjdCwgdHJ1ZSk7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5zZW5kRW1pdFRvVXBkYXRlUmVjaXBlUHJpY2UoKTtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUZvb3RlckRpc3BsYXkkLm5leHQoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICByZXBsYWNlUHJvZHVjdChpZ25vcmVTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ2VudHJ5LnJlcGxhY2UnLCB0aGlzLnBhdGgsIHsgLi4udGhpcy5wcm9wcywgc3RhdHVzOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzIH0pO1xuICAgIHRoaXMucHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5zY3JvbGxCYWNrVG9CYXNrZXRFbnRyeUlkID0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LmlkO1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVwbGFjZUJhc2tldEVudHJ5KHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeSwgaWdub3JlU2VsZWN0ZWQpO1xuICB9XG5cbiAgaXNJblhSZWNpcGVzKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgIT09ICdhY3RpdmUnKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5yZWNpcGVzSWRzLmxlbmd0aDtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxCYWNrVG9Qcm9kdWN0Q2FyZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLnNjcm9sbEJhY2tUb0Jhc2tldEVudHJ5SWQgPT09IHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5pZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRJZCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBFbGVtZW50KS5pZDtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkpIHtcbiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgIGJlaGF2aW9yOiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmhhc1JlcGxhY2VkID8gJ3Ntb290aCcgOiAnYXV0bycsXG4gICAgICAgICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICAgICAgICBpbmxpbmU6ICdjZW50ZXInXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMucHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5zY3JvbGxCYWNrVG9CYXNrZXRFbnRyeUlkID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmhhc1JlcGxhY2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZE9uUmVjaXBlc0FjdGlvbnMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZXNXaWxsQmVBZGRlZCgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlUmVtb3ZlZCgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlVXBkYXRlZCgpXG4gICAgXSkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHJlcy5zb21lKGlzQWRkaW5nID0+IGlzQWRkaW5nKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gcmVzWzBdO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE9uSW5ncmVkaWVudHNVcGRhdGUoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5iYXNrZXRTeW5jaHJvU2VydmljZS5lbnRyeVdpbGxCZVVwZGF0ZWQodGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbT8uZXh0SWQpLnN1YnNjcmliZShcbiAgICAgIGlzTG9hZGluZyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTG9hZGluZyA9IGlzTG9hZGluZztcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUHJvZHVjdFNwb25zb3JlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU3BvbnNvcmVkID0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbT8uYXR0cmlidXRlcz8uc3BvbnNvcmVkID09PSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUl0ZW1Gb3JTdG9yZWRBY3Rpb24ocGFyc2VkTWV0aG9kOiBQYXJzZWRNZXRob2QpOiB2b2lkIHtcbiAgICBpZiAocGFyc2VkTWV0aG9kLmFyZ3VtZW50cy5lbnRyeS5yZWxhdGlvbnNoaXBzWydzZWxlY3RlZC1pdGVtJ10uZGF0YS5pZCAhPT0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5pZCkge1xuICAgICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJykge1xuICAgICAgICB0aGlzLmlnbm9yZWRCYXNrZXRzU2VydmljZS5yZW1vdmVJbmdyZWRpZW50RnJvbUlnbm9yZWQodGhpcy5wcm9kdWN0LmluZ3JlZGllbnQuaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5wcmV2aW91c0l0ZW0gPSB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtO1xuICAgICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnJlbW92ZVJlbGF0aW9uc2hpcCgnc2VsZWN0ZWQtaXRlbScsIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBwYXJzZWRNZXRob2QuYXJndW1lbnRzLnNlYXJjaFN0cmluZyB8fCAnJztcbiAgICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5hZGRSZWxhdGlvbnNoaXAocGFyc2VkTWV0aG9kLmFyZ3VtZW50cy5lbnRyeS5yZWxhdGlvbnNoaXBzWydzZWxlY3RlZC1pdGVtJ10uZGF0YSwgJ3NlbGVjdGVkLWl0ZW0nKTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gUFJPRFVDVCBDQVJEIC0tPlxuPGRpdlxuICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICdhZGRlZCc6IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnYWN0aXZlJyxcbiAgJ2Rpc2FibGVkJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnb2Z0ZW5fZGVsZXRlZCcgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICd1bmF2YWlsYWJsZScsXG4gICdvdXRfb2Zfc3RvY2snOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaycsXG4gICd1bmF2YWlsYWJsZSc6IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnXG4gIH1cIlxuICAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnlcIlxuPlxuICAgIDxuZy1taWFtLW91dC1vZi1zdG9jay1vdmVybGF5IChyZXBsYWNlZENsaWNrZWQpPVwicmVwbGFjZVByb2R1Y3QodHJ1ZSlcIiAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnb3V0X29mX3N0b2NrJ1wiPjwvbmctbWlhbS1vdXQtb2Ytc3RvY2stb3ZlcmxheT5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19oZWFkZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAnYWRkZWQnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2FjdGl2ZScsXG4gICAgJ2Rpc2FibGVkJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvZnRlbl9kZWxldGVkJyxcbiAgICAndW5hdmFpbGFibGUnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ3VuYXZhaWxhYmxlJ1xuICAgIH1cIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2hlYWRlci1uYW1lIG1pYW0tZHMtdGV4dCBzaXplLWwgd2VpZ2h0LXh4bFwiXG4gICAgICBbbmdDbGFzc109XCJ7J21pYW0tcHJvZHVjdC1jYXJkX19kaXNhYmxlZC10ZXh0JzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ29mdGVuX2RlbGV0ZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnfVwiXG4gICAgPlxuICAgICAge3sgcHJvZHVjdC5iYXNrZXRFbnRyeS5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19oZWFkZXItcXVhbnRpdHkgbWlhbS1kcy10ZXh0IHNpemUtcyB3ZWlnaHQtbFwiXG4gICAgICBbbmdDbGFzc109XCJ7J21pYW0tcHJvZHVjdC1jYXJkX19kaXNhYmxlZC10ZXh0JzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ29mdGVuX2RlbGV0ZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnfVwiXG4gICAgPlxuICAgICAgPHNwYW4+XG4gICAgICAgIHt7IG1vZGlmaWVkSW5nUXR5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgcHJvZHVjdC5pbmdyZWRpZW50LmF0dHJpYnV0ZXMudW5pdCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDwhLS0gQ09OVEVOVCAtLT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19jb250ZW50XCJcbiAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgJ2Rpc2FibGVkJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICAgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvZnRlbl9kZWxldGVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaycsXG4gICAgICAgJ3VuYXZhaWxhYmxlJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICd1bmF2YWlsYWJsZSdcbiAgICAgICB9XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2luaXRpYWwnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnYWN0aXZlJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jayc7IGVsc2UgZGlzYWJsZWRQcm9kdWN0XCI+XG4gICAgICA8IS0tIFBST0RVQ1QgSU5GTyAtLT5cbiAgICAgIDwhLS0gUFJPTU9USU9OIEJBREdFIC0tPlxuICAgICAgPG5nLW1pYW0tcHJvbW90aW9uLWJhZGdlIFtwcmljZURhdGFdPVwicHJvZHVjdC5wcmljZVwiPjwvbmctbWlhbS1wcm9tb3Rpb24tYmFkZ2U+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3NlbGVjdGVkLXByb2R1Y3RcIj5cbiAgICAgICAgPCEtLSBQSUNUVVJFIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3BpY3R1cmUtY29sdW1uXCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19waWN0dXJlXCIgYWx0PVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICBbc3JjXT1cInByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXMuaW1hZ2VcIlxuICAgICAgICAgICAgICAgKGVycm9yKT1cIiRldmVudC50YXJnZXRbJ3NyYyddID0gY29udGV4dFNlcnZpY2UuZGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlXCJcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIElORk8gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9faW5mby1jb2x1bW5cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCBzaXplLXhzIHdlaWdodC14bCBtaWFtLXByb2R1Y3QtY2FyZF9fZGV0YWlscyBwcm9kdWN0LWJyYW5kXCI+XG4gICAgICAgICAgICB7eyBwcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5hdHRyaWJ1dGVzLmJyYW5kIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHNpemUteHMgbWlhbS1wcm9kdWN0LWNhcmRfX2RldGFpbHMgcHJvZHVjdC1mdWxsbmFtZVwiPlxuICAgICAgICAgICAge3sgcHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uYXR0cmlidXRlcy5uYW1lIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLXByb2R1Y3QtYmFkZ2VzXG4gICAgICAgICAgICBbaXNTcG9uc29yZWRdPVwiaXNTcG9uc29yZWRcIlxuICAgICAgICAgICAgW2l0ZW1dPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAgICAgW3ByaWNlXT1cInByb2R1Y3QucHJpY2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLW1pYW0tcHJvZHVjdC1iYWRnZXM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2xvd2VyLWFjdGlvblwiPlxuICAgICAgICA8bmctbWlhbS1wcmljZVxuICAgICAgICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3ByaWNlIG1pYW0tZHMtdGV4dCBzaXplLW0gd2VpZ2h0LXh4bFwiXG4gICAgICAgICAgW29sZFByaWNlXT1cInByaWNlU2VydmljZS5nZXRPbGRQcmljZShwcm9kdWN0LnByaWNlKSB8IGN1cnJlbmN5OiBwcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5hdHRyaWJ1dGVzLmN1cnJlbmN5XCJcbiAgICAgICAgICBbcHJpY2VdPVwicHJpY2VTZXJ2aWNlLmdldEN1cnJlbnRQcmljZShwcm9kdWN0LnByaWNlKSB8IGN1cnJlbmN5OiBwcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5hdHRyaWJ1dGVzLmN1cnJlbmN5XCI+XG4gICAgICAgIDwvbmctbWlhbS1wcmljZT5cbiAgICAgICAgPCEtLSBDVEEgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fY3RhXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnaW5pdGlhbCcgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvdXRfb2Zfc3RvY2snXCI+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWxvYWRpbmdBZGRUb0Jhc2tldFwiIGNsYXNzPVwibWlhbS1kcy1idXR0b24gbWlhbS1wcm9kdWN0LWNhcmRfX2FkZC1wcm9kdWN0IHNxdWFyZSBwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFRvQmFza2V0KClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKHJlY2lwZURldGFpbHNTZXJ2aWNlLmFsbEluZ3JlZGllbnRzVG9CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKVwiPlxuICAgICAgICAgICAgICA8aW1nIGFsdD1cImJhc2tldCBpY29uXCJcbiAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0Jhc2tldC5zdmdcIi8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJsb2FkaW5nQWRkVG9CYXNrZXRcIiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIG1pYW0tcHJvZHVjdC1jYXJkX19sb2FkaW5nLWJ1dHRvbiBzcXVhcmUgcHJpbWFyeVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy1sb2FkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwhLS0gQ09VTlRFUiBJTlBVVCAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdhY3RpdmUnXCI+XG4gICAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0XG4gICAgICAgICAgICAgIG1pblJhbmdlPVwiMFwiXG4gICAgICAgICAgICAgIFtiaUNvbG9yXT1cInRydWVcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5xdWFudGl0eVwiXG4gICAgICAgICAgICAgIFttaW51c0xvYWRpbmddPVwiaW5ncmVkaWVudElzUmVtb3ZlZCAmJiAocmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlSW5ncmVkaWVudEZyb21CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlXT1cInVwZGF0ZUxvYWRpbmcgfHwgKGluZ3JlZGllbnRJc1JlbW92ZWQgJiYgKHJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUluZ3JlZGllbnRGcm9tQmFza2V0TG9hZGluZyQgfCBhc3luYykpXCJcbiAgICAgICAgICAgICAgW2RlYm91bmNlVGltZV09XCIzMDBcIlxuICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlQ291bnRlckNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRk9PVEVSIEFDVElPTlMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2Zvb3Rlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8IS0tIElHTk9SRSBQUk9EVUNUIEJVVFRPTiAtLT5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnaW5pdGlhbCdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1kcy1idXR0b24gbWlhbS1wcm9kdWN0LWNhcmRfX2lnbm9yZS1wcm9kdWN0IGdob3N0IHNtYWxsXCIgKGNsaWNrKT1cImlnbm9yZVByb2R1Y3QoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2Rpc2FibGVkLXRleHRcIiBpMThuPklnbm9yZXIgcHJvZHVpdDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwhLS0gUkVQTEFDRSBQUk9EVUNUIEJVVFRPTiAtLT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJyZXBsYWNlUHJvZHVjdChwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2luaXRpYWwnKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fcmVwbGFjZS1wcm9kdWN0IG1pYW0tZHMtYnV0dG9uIGdob3N0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGkxOG4+UmVtcGxhY2VyPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSBJR05PUkVEIE9SIFVOQVZBSUxBQkxFIFBST0RVQ1QgQ0FSRCBDT05URU5UIC0tPlxuICA8bmctdGVtcGxhdGUgI2Rpc2FibGVkUHJvZHVjdD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnb2Z0ZW5fZGVsZXRlZCdcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IG1pYW0tcHJvZHVjdC1jYXJkX19kaXNhYmxlZC10ZXh0XCIgaTE4bj5cbiAgICAgICAgQ2V0IGluZ3LDqWRpZW50IG5lIHNlcmEgcGFzIGFqb3V0w6kgw6Agdm90cmUgcGFuaWVyXG4gICAgICA8L3NwYW4+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3NlbGVjdC1wcm9kdWN0IG1pYW0tZHMtYnV0dG9uIGdob3N0XCIgKGNsaWNrKT1cInJlcGxhY2VQcm9kdWN0KHRydWUpXCI+XG4gICAgICAgIDxzcGFuIGkxOG4+Q2hvaXNpciB1biBwcm9kdWl0PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnXCI+XG4gICAgICA8aW1nIGNsYXNzPVwibWlhbS1kcy1hdmF0YXJcIiBbc3JjXT1cInByb2R1Y3QuaW5ncmVkaWVudC5waWN0dXJlIHx8IGNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZVwiIGFsdD1cImluZ3JlZGllbnQgcGljdHVyZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtYmFkZ2Ugd2FybmluZ1wiPlxuICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvV2FybmluZ0ZpbGwuc3ZnXCIgYWx0PVwid2FybmluZ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCBzaXplLXhzIHdlaWdodC1sXCIgaTE4bj5JbmRpc3BvbmlibGU8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fc2VsZWN0LXByb2R1Y3QgbWlhbS1kcy1idXR0b24gcHJpbWFyeSByZXZlcnNlIHNtYWxsXCIgKGNsaWNrKT1cInJlcGxhY2VQcm9kdWN0KHRydWUpXCI+XG4gICAgICAgIDxzcGFuIGkxOG4+UmVtcGxhY2VyPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDwhLS0gRk9PVEVSIC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJpc0luWFJlY2lwZXMoKSA+IDEgJiYgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdhY3RpdmUnXCJcbiAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19mb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy10ZXh0IHNpemUteHMgd2VpZ2h0LXhsIGxpZ2h0LXRleHRcIj5cbiAgICAgIDxzcGFuIGkxOG4+Q2FsY3Vsw6kgcG91ciA8L3NwYW4+XG4gICAgICA8c3Bhbj57eyBpc0luWFJlY2lwZXMoKSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGkxOG4+IHJlcGFzPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
530
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvcHJvZHVjdC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0LWNhcmQvcHJvZHVjdC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQixjQUFjLEVBQ2QsWUFBWSxFQUVaLHlCQUF5QixFQUN6QixvQkFBb0IsRUFDcEIsY0FBYyxFQUNmLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFnQiwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7Ozs7Ozs7OztJQ2hCckYsd0RBR3dEO0lBRHRELGlRQUFrQyxJQUFJLEtBQUU7SUFFMUMsaUJBQStCOzs7SUFIN0Isa0RBQTZC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QSw2RUFBWTs7Ozs7O2tCQUdsRCxVQUFBLDBFQUFTOzs7Ozs7a0JBU1gsVUFBQSw4RUFBYTs7Ozs7O2tCQUVaLFVBQUEsdUVBQUs7O1FBbkt2Qix1RUFzS007O1FBN0pILDhDQUF5Qjs7dUZEMkJmLG9CQUFvQjtjQVBoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtvYkFHVSxPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXVzaWJsZVByb3BzIH0gZnJvbSAnbWVhbHotc2hhcmVkLWFuYWx5dGljcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQW5hbHl0aWNzU2VydmljZSxcbiAgQmFza2V0c1NlcnZpY2UsXG4gIEJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgUHJpY2VTZXJ2aWNlLFxuICBQcm9kdWN0LFxuICBQcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLFxuICBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgUmVjaXBlc1NlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFBhcnNlZE1ldGhvZCwgUGVuZGluZ0Jhc2tldE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3BlbmRpbmctYmFza2V0LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBJZ25vcmVkSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2lnbm9yZWQtaW5ncmVkaWVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudFRyYWNlckNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0cy9ldmVudC10cmFjZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZEluZ3JlZGllbnRBY3Rpb24gfSBmcm9tICcuLi8uLi9fbW9kZWxzL2Jhc2tldC1hY3Rpb25zL2FkZC1pbmdyZWRpZW50LWFjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcHJvZHVjdC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtY2FyZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q2FyZENvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHByb2R1Y3QhOiBQcm9kdWN0O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgbW9kaWZpZWRJbmdRdHk6IG51bWJlcjtcblxuICBsb2FkaW5nID0gZmFsc2U7XG4gIGxvYWRpbmdBZGRUb0Jhc2tldCA9IGZhbHNlO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuICB1cGRhdGVMb2FkaW5nID0gZmFsc2U7XG4gIGlzU3BvbnNvcmVkID0gZmFsc2U7XG4gIGluZ3JlZGllbnRJc1JlbW92ZWQgPSBmYWxzZTtcbiAgaGVhZGVySGVpZ2h0OiBudW1iZXI7XG5cbiAgLy8gQm90aCBiZWxvdyBhcmUgdXNlZCBvbmx5IGZvciBzdG9yZWQgYWN0aW9uc1xuICBwcml2YXRlIHNlYXJjaFN0cmluZyA9ICcnO1xuICBwcml2YXRlIHByZXZpb3VzSXRlbTogSXRlbTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwdWJsaWMgcmVjaXBlRGV0YWlsc1NlcnZpY2U6IFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaWdub3JlZEJhc2tldHNTZXJ2aWNlOiBJZ25vcmVkSW5ncmVkaWVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0Jhc2tldE1ldGhvZHNTZXJ2aWNlOiBQZW5kaW5nQmFza2V0TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgYmFza2V0U3luY2hyb1NlcnZpY2U6IEJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlOiBQcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBwcmljZVNlcnZpY2U6IFByaWNlU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHByb3BzKCk6IFBsYXVzaWJsZVByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZW50cnlfbmFtZTogdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5Lm5hbWUsXG4gICAgICBpdGVtX2lkOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5pZCxcbiAgICAgIGV4dF9pdGVtX2lkOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5hdHRyaWJ1dGVzWydleHQtaWQnXSxcbiAgICAgIGl0ZW1fZWFuOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtPy5lYW4sXG4gICAgICBwcm9kdWN0X3F1YW50aXR5OiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkucXVhbnRpdHkudG9TdHJpbmcoKSxcbiAgICAgIHJlY2lwZV9pZDogdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUuaWRcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzQnlDYXRlZ29yeSQuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuaXNQcm9kdWN0U3BvbnNvcmVkKClcbiAgICAgICksXG4gICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25Gcm9tU3RvcmFnZSgpLFxuICAgICAgdGhpcy5sb2FkT25SZWNpcGVzQWN0aW9ucygpLFxuICAgICAgdGhpcy5sb2FkT25JbmdyZWRpZW50c1VwZGF0ZSgpLFxuICAgICAgdGhpcy51cGRhdGVJbmdyZWRpZW50UXVhbnRpdHlPblJlY2lwZUNoYW5nZSgpLFxuICAgICAgdGhpcy5wcm9kdWN0SXNCZWluZ0FkZGVkKCksXG4gICAgICB0aGlzLnNjcm9sbEJhY2tPblByb2R1Y3RSZXBsYWNlZCgpLFxuICAgICk7XG4gICAgdGhpcy5nZXRIZWFkZXJIZWlnaHQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgc2Nyb2xsQmFja09uUHJvZHVjdFJlcGxhY2VkKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNMb2FkaW5nJC5zdWJzY3JpYmUoKGlzTG9hZGluZzogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgaWYgKCFpc0xvYWRpbmcgJiYgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5pc1Byb2R1Y3RzQnlDYXRlZ29yeVNldCgpKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsQmFja1RvUHJvZHVjdENhcmQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGV4ZWN1dGVBY3Rpb25Gcm9tU3RvcmFnZSgpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzQnlDYXRlZ29yeSQucGlwZShcbiAgICAgIHNraXBXaGlsZShwcm9kdWN0cyA9PiBwcm9kdWN0cy50b1BpY2tQcm9kdWN0cy5sZW5ndGggPT09IDApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnBlbmRpbmdCYXNrZXRNZXRob2RzU2VydmljZS5zaG91bGRFeGVjdXRlQmFza2V0TWV0aG9kLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShtZXRob2QgPT4gIW1ldGhvZClcbiAgICAgICkpXG4gICAgKS5zdWJzY3JpYmUocGFyc2VkTWV0aG9kID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgcGFyc2VkTWV0aG9kLm1ldGhvZCA9PT0gJ2FkZEluZ3JlZGllbnRUb0Jhc2tldCcgJiZcbiAgICAgICAgcGFyc2VkTWV0aG9kLmFyZ3VtZW50cy5pbmdyZWRpZW50SWQgPT09IHRoaXMucHJvZHVjdC5pbmdyZWRpZW50LmlkICYmXG4gICAgICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpbml0aWFsJ1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmVwbGFjZUl0ZW1Gb3JTdG9yZWRBY3Rpb24ocGFyc2VkTWV0aG9kKTtcbiAgICAgICAgdGhpcy5hZGRUb0Jhc2tldCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlSW5ncmVkaWVudFF1YW50aXR5T25SZWNpcGVDaGFuZ2UoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5ZWRSZWNpcGUkLnZhbHVlPy5yZWNpcGU7XG4gICAgICB0aGlzLmlzUHJvZHVjdFNwb25zb3JlZCgpO1xuICAgICAgLy8gSWYgdGhlIHJlY2lwZS1kZXRhaWxzIGlzIGRpc3BsYXllZCBzb2xvLCByZWNpcGVzU2VydmljZS5kaXNwbGF5ZWRSZWNpcGUkIGhhcyBubyB2YWx1ZSwgc28gbW9kaWZpZWRJbmdRdHkgd2lsbCBiZSBOYU5cbiAgICAgIGlmIChyZWNpcGUpIHtcbiAgICAgICAgdGhpcy5tb2RpZmllZEluZ1F0eSA9ICtyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5maW5kKGkgPT4gaS5uYW1lID09PSB0aGlzLnByb2R1Y3QuaW5ncmVkaWVudC5hdHRyaWJ1dGVzLm5hbWUpPy5xdHkudG9GaXhlZCgyKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2R1Y3RJc0JlaW5nQWRkZWQoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5iYXNrZXRTeW5jaHJvU2VydmljZS5lbnRyeVdpbGxCZUFkZGVkKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0/LmV4dElkKVxuICAgICAgLnBpcGUobWFwKChlbnRyeVdpbGxCZUFkZGVkKSA9PiBlbnRyeVdpbGxCZUFkZGVkKSlcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nQWRkVG9CYXNrZXQgPSByZXN1bHQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlQ291bnRlckNoYW5nZShuZXdDb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKG5ld0NvdW50IDwgMSkge1xuICAgICAgdGhpcy5pbmdyZWRpZW50SXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuaW5ncmVkaWVudFJlbW92ZWQodGhpcy5wcm9kdWN0LmluZ3JlZGllbnQsIHRoaXMuZXZlbnRUcmFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlUHJvZHVjdFF1YW50aXR5KHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeSwgbmV3Q291bnQsIHRoaXMuZXZlbnRUcmFjZSk7XG4gICAgfVxuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlSW5ncmVkaWVudEZyb21CYXNrZXRMb2FkaW5nID0gdHJ1ZTtcbiAgfVxuXG5cbiAgYWRkVG9CYXNrZXQoKTogdm9pZCB7XG4gICAgY29uc3QgcmVjaXBlID0gdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGU7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmNhbkFkZFByb2R1Y3RUb0Jhc2tldChcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ2FkZEluZ3JlZGllbnRUb0Jhc2tldCcsXG4gICAgICAgICAgYXJndW1lbnRzOiB7XG4gICAgICAgICAgICByZWNpcGVJZDogcmVjaXBlLmlkLCBpbmdyZWRpZW50SWQ6IHRoaXMucHJvZHVjdC5pbmdyZWRpZW50LmlkLCBlbnRyeTogdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LCBldmVudFRyYWNlOiB0aGlzLmV2ZW50VHJhY2VcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMuZXZlbnRUcmFjZVxuICAgICAgKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UuaW5ncmVkaWVudFRvQmFza2V0TG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIGNvbnN0IGFkZEluZ3JlZGllbnQgPSBuZXcgQWRkSW5ncmVkaWVudEFjdGlvbihcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmVjaXBlSWQ6IHJlY2lwZS5pZCxcbiAgICAgICAgICAgICAgaW5ncmVkaWVudElkOiB0aGlzLnByb2R1Y3QuaW5ncmVkaWVudC5pZCxcbiAgICAgICAgICAgICAgZXZlbnRUcmFjZTogdGhpcy5ldmVudFRyYWNlLFxuICAgICAgICAgICAgICBwcmV2aW91c0l0ZW06IHRoaXMucHJldmlvdXNJdGVtLFxuICAgICAgICAgICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5iYXNrZXRzU2VydmljZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgbWVyZ2UoYWRkSW5ncmVkaWVudC5vbkVycm9yLCBhZGRJbmdyZWRpZW50Lm9uVGltZW91dClcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5zZXRQcm9kdWN0T3V0T2ZTdG9ja0luU2Vzc2lvbihbe1xuICAgICAgICAgICAgICAgICAgaW5ncmVkaWVudElkOiB0aGlzLnByb2R1Y3QuaW5ncmVkaWVudC5pZCxcbiAgICAgICAgICAgICAgICAgIGVudHJ5OiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnlcbiAgICAgICAgICAgICAgICB9XSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5pbmdyZWRpZW50VG9CYXNrZXRMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5iYXNrZXRTeW5jaHJvU2VydmljZS5hZGRUb0FjdGlvbkxpc3QoW2FkZEluZ3JlZGllbnRdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaWdub3JlUHJvZHVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdlbnRyeS5pZ25vcmUnLCB0aGlzLnBhdGgsIHRoaXMucHJvcHMpO1xuICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPSAnaWdub3JlZCc7XG4gICAgdGhpcy5pZ25vcmVkQmFza2V0c1NlcnZpY2UuYWRkSWdub3JlZEluZ3JlZGllbnRzKHRoaXMucHJvZHVjdC5pbmdyZWRpZW50LmlkKTtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZVJlY2lwZVByaWNlKHRoaXMucHJvZHVjdCwgdHJ1ZSk7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5zZW5kRW1pdFRvVXBkYXRlUmVjaXBlUHJpY2UoKTtcbiAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnVwZGF0ZUZvb3RlckRpc3BsYXkkLm5leHQoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICByZXBsYWNlUHJvZHVjdChpZ25vcmVTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ2VudHJ5LnJlcGxhY2UnLCB0aGlzLnBhdGgsIHsgLi4udGhpcy5wcm9wcywgc3RhdHVzOiB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzIH0pO1xuICAgIHRoaXMucHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5zY3JvbGxCYWNrVG9CYXNrZXRFbnRyeUlkID0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LmlkO1xuICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucmVwbGFjZUJhc2tldEVudHJ5KHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeSwgaWdub3JlU2VsZWN0ZWQpO1xuICB9XG5cbiAgaXNJblhSZWNpcGVzKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgIT09ICdhY3RpdmUnKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5yZWNpcGVzSWRzLmxlbmd0aDtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxCYWNrVG9Qcm9kdWN0Q2FyZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLnNjcm9sbEJhY2tUb0Jhc2tldEVudHJ5SWQgPT09IHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5pZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRJZCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBFbGVtZW50KS5pZDtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkpIHtcbiAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgIGJlaGF2aW9yOiB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmhhc1JlcGxhY2VkID8gJ3Ntb290aCcgOiAnYXV0bycsXG4gICAgICAgICAgICBibG9jazogJ2NlbnRlcicsXG4gICAgICAgICAgICBpbmxpbmU6ICdjZW50ZXInXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMucHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5zY3JvbGxCYWNrVG9CYXNrZXRFbnRyeUlkID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLmhhc1JlcGxhY2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZE9uUmVjaXBlc0FjdGlvbnMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZXNXaWxsQmVBZGRlZCgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlUmVtb3ZlZCgpLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlVXBkYXRlZCgpXG4gICAgXSkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHJlcy5zb21lKGlzQWRkaW5nID0+IGlzQWRkaW5nKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gcmVzWzBdO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE9uSW5ncmVkaWVudHNVcGRhdGUoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5iYXNrZXRTeW5jaHJvU2VydmljZS5lbnRyeVdpbGxCZVVwZGF0ZWQodGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbT8uZXh0SWQpLnN1YnNjcmliZShcbiAgICAgIGlzTG9hZGluZyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTG9hZGluZyA9IGlzTG9hZGluZztcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUHJvZHVjdFNwb25zb3JlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU3BvbnNvcmVkID0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbT8uYXR0cmlidXRlcz8uc3BvbnNvcmVkID09PSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUl0ZW1Gb3JTdG9yZWRBY3Rpb24ocGFyc2VkTWV0aG9kOiBQYXJzZWRNZXRob2QpOiB2b2lkIHtcbiAgICBpZiAocGFyc2VkTWV0aG9kLmFyZ3VtZW50cy5lbnRyeS5yZWxhdGlvbnNoaXBzWydzZWxlY3RlZC1pdGVtJ10uZGF0YS5pZCAhPT0gdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5pZCkge1xuICAgICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJykge1xuICAgICAgICB0aGlzLmlnbm9yZWRCYXNrZXRzU2VydmljZS5yZW1vdmVJbmdyZWRpZW50RnJvbUlnbm9yZWQodGhpcy5wcm9kdWN0LmluZ3JlZGllbnQuaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5wcmV2aW91c0l0ZW0gPSB0aGlzLnByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtO1xuICAgICAgaWYgKHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0LmJhc2tldEVudHJ5LnJlbW92ZVJlbGF0aW9uc2hpcCgnc2VsZWN0ZWQtaXRlbScsIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBwYXJzZWRNZXRob2QuYXJndW1lbnRzLnNlYXJjaFN0cmluZyB8fCAnJztcbiAgICAgIHRoaXMucHJvZHVjdC5iYXNrZXRFbnRyeS5hZGRSZWxhdGlvbnNoaXAocGFyc2VkTWV0aG9kLmFyZ3VtZW50cy5lbnRyeS5yZWxhdGlvbnNoaXBzWydzZWxlY3RlZC1pdGVtJ10uZGF0YSwgJ3NlbGVjdGVkLWl0ZW0nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhlYWRlckhlaWdodCgpIHtcbiAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1pYW0tcHJvZHVjdC1jYXJkX19oZWFkZXInKTtcbiAgICBpZiAoaGVhZGVyRWxlbWVudC5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gaGVhZGVyRWxlbWVudFswXS5vZmZzZXRIZWlnaHQ7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIFBST0RVQ1QgQ0FSRCAtLT5cbjxkaXZcbiAgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwie1xuICAnYWRkZWQnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2FjdGl2ZScsXG4gICdkaXNhYmxlZCc6IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnaWdub3JlZCcgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdkZWxldGVkJ1xuICAgICAgICAgICAgICB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ29mdGVuX2RlbGV0ZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnLFxuICAnb3V0X29mX3N0b2NrJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvdXRfb2Zfc3RvY2snLFxuICAndW5hdmFpbGFibGUnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ3VuYXZhaWxhYmxlJ1xuICB9XCJcbiAgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5XCJcbj5cbiAgICA8bmctbWlhbS1vdXQtb2Ytc3RvY2stb3ZlcmxheVxuICAgICAgW2hlYWRlckhlaWdodF09XCJoZWFkZXJIZWlnaHRcIlxuICAgICAgKHJlcGxhY2VkQ2xpY2tlZCk9XCJyZXBsYWNlUHJvZHVjdCh0cnVlKVwiXG4gICAgICAqbmdJZj1cInByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnb3V0X29mX3N0b2NrJ1wiPlxuICAgIDwvbmctbWlhbS1vdXQtb2Ytc3RvY2stb3ZlcmxheT5cbiAgPCEtLSBIRUFERVIgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19oZWFkZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAnYWRkZWQnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2FjdGl2ZScsXG4gICAgJ2Rpc2FibGVkJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvZnRlbl9kZWxldGVkJyxcbiAgICAndW5hdmFpbGFibGUnOiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ3VuYXZhaWxhYmxlJ1xuICAgIH1cIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2hlYWRlci1uYW1lIG1pYW0tZHMtdGV4dCBzaXplLWwgd2VpZ2h0LXh4bFwiXG4gICAgICBbbmdDbGFzc109XCJ7J21pYW0tcHJvZHVjdC1jYXJkX19kaXNhYmxlZC10ZXh0JzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ29mdGVuX2RlbGV0ZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnfVwiXG4gICAgPlxuICAgICAge3sgcHJvZHVjdC5iYXNrZXRFbnRyeS5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19oZWFkZXItcXVhbnRpdHkgbWlhbS1kcy10ZXh0IHNpemUtcyB3ZWlnaHQtbFwiXG4gICAgICBbbmdDbGFzc109XCJ7J21pYW0tcHJvZHVjdC1jYXJkX19kaXNhYmxlZC10ZXh0JzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ29mdGVuX2RlbGV0ZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAndW5hdmFpbGFibGUnfVwiXG4gICAgPlxuICAgICAgPHNwYW4+XG4gICAgICAgIHt7IG1vZGlmaWVkSW5nUXR5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgcHJvZHVjdC5pbmdyZWRpZW50LmF0dHJpYnV0ZXMudW5pdCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDwhLS0gQ09OVEVOVCAtLT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19jb250ZW50XCJcbiAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgJ2Rpc2FibGVkJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpZ25vcmVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2RlbGV0ZWQnXG4gICAgICAgICAgICAgICAgICAgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvZnRlbl9kZWxldGVkJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaycsXG4gICAgICAgJ3VuYXZhaWxhYmxlJzogcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICd1bmF2YWlsYWJsZSdcbiAgICAgICB9XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2luaXRpYWwnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnYWN0aXZlJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jayc7IGVsc2UgZGlzYWJsZWRQcm9kdWN0XCI+XG4gICAgICA8IS0tIFBST0RVQ1QgSU5GTyAtLT5cbiAgICAgIDwhLS0gUFJPTU9USU9OIEJBREdFIC0tPlxuICAgICAgPG5nLW1pYW0tcHJvbW90aW9uLWJhZGdlIFtwcmljZURhdGFdPVwicHJvZHVjdC5wcmljZVwiPjwvbmctbWlhbS1wcm9tb3Rpb24tYmFkZ2U+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3NlbGVjdGVkLXByb2R1Y3RcIj5cbiAgICAgICAgPCEtLSBQSUNUVVJFIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX3BpY3R1cmUtY29sdW1uXCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19waWN0dXJlXCIgYWx0PVwie3sgcHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uYXR0cmlidXRlcy5uYW1lIH19XCJcbiAgICAgICAgICAgICAgIFtzcmNdPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zZWxlY3RlZEl0ZW0uYXR0cmlidXRlcy5pbWFnZVwiXG4gICAgICAgICAgICAgICAoZXJyb3IpPVwiJGV2ZW50LnRhcmdldFsnc3JjJ10gPSBjb250ZXh0U2VydmljZS5kZWZhdWx0SW5ncmVkaWVudFBpY3R1cmVcIlxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gSU5GTyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19pbmZvLWNvbHVtblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHNpemUteHMgd2VpZ2h0LXhsIG1pYW0tcHJvZHVjdC1jYXJkX19kZXRhaWxzIHByb2R1Y3QtYnJhbmRcIj5cbiAgICAgICAgICAgIHt7IHByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXMuYnJhbmQgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS14cyBtaWFtLXByb2R1Y3QtY2FyZF9fZGV0YWlscyBwcm9kdWN0LWZ1bGxuYW1lXCI+XG4gICAgICAgICAgICB7eyBwcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbS5hdHRyaWJ1dGVzLm5hbWUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG5nLW1pYW0tcHJvZHVjdC1iYWRnZXNcbiAgICAgICAgICAgIFtpc1Nwb25zb3JlZF09XCJpc1Nwb25zb3JlZFwiXG4gICAgICAgICAgICBbaXRlbV09XCJwcm9kdWN0LmJhc2tldEVudHJ5LnNlbGVjdGVkSXRlbVwiXG4gICAgICAgICAgICBbcHJpY2VdPVwicHJvZHVjdC5wcmljZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctbWlhbS1wcm9kdWN0LWJhZGdlcz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fbG93ZXItYWN0aW9uXCI+XG4gICAgICAgIDxuZy1taWFtLXByaWNlXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fcHJpY2UgbWlhbS1kcy10ZXh0IHNpemUtbSB3ZWlnaHQteHhsXCJcbiAgICAgICAgICBbb2xkUHJpY2VdPVwicHJpY2VTZXJ2aWNlLmdldE9sZFByaWNlKHByb2R1Y3QucHJpY2UpIHwgY3VycmVuY3k6IHByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXMuY3VycmVuY3lcIlxuICAgICAgICAgIFtwcmljZV09XCJwcmljZVNlcnZpY2UuZ2V0Q3VycmVudFByaWNlKHByb2R1Y3QucHJpY2UpIHwgY3VycmVuY3k6IHByb2R1Y3QuYmFza2V0RW50cnkuc2VsZWN0ZWRJdGVtLmF0dHJpYnV0ZXMuY3VycmVuY3lcIj5cbiAgICAgICAgPC9uZy1taWFtLXByaWNlPlxuICAgICAgICA8IS0tIENUQSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19jdGFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpbml0aWFsJyB8fCBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaydcIj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbG9hZGluZ0FkZFRvQmFza2V0XCIgY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBtaWFtLXByb2R1Y3QtY2FyZF9fYWRkLXByb2R1Y3Qgc3F1YXJlIHByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkVG9CYXNrZXQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIocmVjaXBlRGV0YWlsc1NlcnZpY2UuYWxsSW5ncmVkaWVudHNUb0Jhc2tldExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkFqb3V0ZXIgYXUgcGFuaWVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0Jhc2tldC5zdmdcIi8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJsb2FkaW5nQWRkVG9CYXNrZXRcIiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIG1pYW0tcHJvZHVjdC1jYXJkX19sb2FkaW5nLWJ1dHRvbiBzcXVhcmUgcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJDaGFyZ2VtZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLWxvYWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPCEtLSBDT1VOVEVSIElOUFVUIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2FjdGl2ZSdcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXRcbiAgICAgICAgICAgICAgbWluUmFuZ2U9XCIwXCJcbiAgICAgICAgICAgICAgW2JpQ29sb3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9kdWN0LmJhc2tldEVudHJ5LnF1YW50aXR5XCJcbiAgICAgICAgICAgICAgW21pbnVzTG9hZGluZ109XCJpbmdyZWRpZW50SXNSZW1vdmVkICYmIChyZWNpcGVEZXRhaWxzU2VydmljZS51cGRhdGVJbmdyZWRpZW50RnJvbUJhc2tldExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVdPVwidXBkYXRlTG9hZGluZyB8fCAoaW5ncmVkaWVudElzUmVtb3ZlZCAmJiAocmVjaXBlRGV0YWlsc1NlcnZpY2UudXBkYXRlSW5ncmVkaWVudEZyb21CYXNrZXRMb2FkaW5nJCB8IGFzeW5jKSlcIlxuICAgICAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjMwMFwiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVDb3VudGVyQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBGT09URVIgQUNUSU9OUyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fZm9vdGVyX19hY3Rpb25zXCI+XG4gICAgICAgIDwhLS0gSUdOT1JFIFBST0RVQ1QgQlVUVE9OIC0tPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdpbml0aWFsJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBtaWFtLXByb2R1Y3QtY2FyZF9faWdub3JlLXByb2R1Y3QgZ2hvc3Qgc21hbGxcIiAoY2xpY2spPVwiaWdub3JlUHJvZHVjdCgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fZGlzYWJsZWQtdGV4dFwiIGkxOG4+SWdub3JlciBwcm9kdWl0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPCEtLSBSRVBMQUNFIFBST0RVQ1QgQlVUVE9OIC0tPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKGNsaWNrKT1cInJlcGxhY2VQcm9kdWN0KHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnaW5pdGlhbCcpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19yZXBsYWNlLXByb2R1Y3QgbWlhbS1kcy1idXR0b24gZ2hvc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gaTE4bj5SZW1wbGFjZXI8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8IS0tIElHTk9SRUQgT1IgVU5BVkFJTEFCTEUgUFJPRFVDVCBDQVJEIENPTlRFTlQgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjZGlzYWJsZWRQcm9kdWN0PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2lnbm9yZWQnIHx8IHByb2R1Y3QuYmFza2V0RW50cnkuc3RhdHVzID09PSAnZGVsZXRlZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICdvZnRlbl9kZWxldGVkJ1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgbWlhbS1wcm9kdWN0LWNhcmRfX2Rpc2FibGVkLXRleHRcIiBpMThuPlxuICAgICAgICBDZXQgaW5ncsOpZGllbnQgbmUgc2VyYSBwYXMgYWpvdXTDqSDDoCB2b3RyZSBwYW5pZXJcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXByb2R1Y3QtY2FyZF9fc2VsZWN0LXByb2R1Y3QgbWlhbS1kcy1idXR0b24gZ2hvc3RcIiAoY2xpY2spPVwicmVwbGFjZVByb2R1Y3QodHJ1ZSlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5DaG9pc2lyIHVuIHByb2R1aXQ8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdC5iYXNrZXRFbnRyeS5zdGF0dXMgPT09ICd1bmF2YWlsYWJsZSdcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLWRzLWF2YXRhclwiIFtzcmNdPVwicHJvZHVjdC5pbmdyZWRpZW50LnBpY3R1cmUgfHwgY29udGV4dFNlcnZpY2UuZGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlXCIgYWx0PVwiSW1hZ2UgZGUgbCdpbmdyw6lkaWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtYmFkZ2Ugd2FybmluZ1wiPlxuICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvV2FybmluZ0ZpbGwuc3ZnXCIgYWx0PVwiXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHNpemUteHMgd2VpZ2h0LWxcIiBpMThuPkluZGlzcG9uaWJsZTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tcHJvZHVjdC1jYXJkX19zZWxlY3QtcHJvZHVjdCBtaWFtLWRzLWJ1dHRvbiBwcmltYXJ5IHJldmVyc2Ugc21hbGxcIiAoY2xpY2spPVwicmVwbGFjZVByb2R1Y3QodHJ1ZSlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5SZW1wbGFjZXI8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBGT09URVIgLS0+XG4gIDxkaXZcbiAgICAqbmdJZj1cImlzSW5YUmVjaXBlcygpID4gMSAmJiBwcm9kdWN0LmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ2FjdGl2ZSdcIlxuICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0LWNhcmRfX2Zvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS14cyB3ZWlnaHQteGwgbGlnaHQtdGV4dFwiPlxuICAgICAgPHNwYW4gaTE4bj5DYWxjdWzDqSBwb3VyIDwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7IGlzSW5YUmVjaXBlcygpIH19PC9zcGFuPlxuICAgICAgPHNwYW4gaTE4bj4gcmVwYXM8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -273,7 +273,7 @@ ProductsPickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ProductsPickerCom
273
273
  }
274
274
  else {
275
275
  i18n_12 = $localize `:␟f363139a8ec757d4ac80573845002c3e462c4bca␟2791054456946858131:L'abus d'alcool est dangereux pour la santé. A consommer avec modération. Vente interdite aux mineurs.`;
276
- } return [[1, "miam-products-picker__container"], [1, "miam-products-picker__header"], [1, "miam-products-picker__header-text", "miam-ds-text", "weight-xxl"], [4, "ngIf"], ["class", "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "debounceTime", "valueChange", 4, "ngIf"], ["class", "miam-products-picker__list", 4, "ngIf"], [1, "miam-products-picker__secondary-list"], [1, "miam-products-picker__more"], ["class", "miam-products-picker__more-anchor", 3, "href", "click", 4, "ngIf", "ngIfElse"], ["noAnchor", ""], ["class", "miam-products-picker__legal-notices", 4, "ngIf"], [3, "numberUnavailable", "clicked", 4, "ngIf"], i18n_0, i18n_2, [3, "numberUnavailable", "clicked"], [1, "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "debounceTime", "valueChange"], [1, "miam-products-picker__list"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "miam-products-picker__items", 3, "id", "product", "originTrace", 4, "ngIf"], [1, "miam-products-picker__items", 3, "id", "product", "originTrace"], [1, "miam-products-picker__often-ignored-list", 3, "isCollapsed", "isCollapsedChange"], [1, "miam-ds-text", "weight-xxl"], i18n_4, ["class", "miam-products-picker__items", 3, "id", "product", "originTrace", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "miam-products-picker__more-anchor", 3, "href", "click"], [1, "miam-products-picker__go-to-catalog-button", "miam-ds-button", "secondary"], i18n_6, [1, "miam-products-picker__close-modal-button", "miam-ds-button", "secondary", 3, "click"], i18n_8, [1, "miam-products-picker__legal-notices"], [1, "miam-ds-text", "weight-xxl", "miam-products-picker__legal-notices-header"], i18n_10, [1, "miam-products-picker__legal-notices-content"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-legal-notices.svg"], i18n_12]; }, template: function ProductsPickerComponent_Template(rf, ctx) { if (rf & 1) {
276
+ } return [[1, "miam-products-picker__container"], [1, "miam-products-picker__header"], [1, "miam-products-picker__header-text", "miam-ds-text", "weight-xxl"], [4, "ngIf"], ["class", "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "debounceTime", "valueChange", 4, "ngIf"], ["class", "miam-products-picker__list", 4, "ngIf"], [1, "miam-products-picker__secondary-list"], [1, "miam-products-picker__more"], ["class", "miam-products-picker__more-anchor", 3, "href", "click", 4, "ngIf", "ngIfElse"], ["noAnchor", ""], ["class", "miam-products-picker__legal-notices", 4, "ngIf"], [3, "numberUnavailable", "clicked", 4, "ngIf"], i18n_0, i18n_2, [3, "numberUnavailable", "clicked"], [1, "miam-recipe-details__guest-counter", 3, "floating", "value", "minRange", "debounceTime", "valueChange"], [1, "miam-products-picker__list"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "miam-products-picker__items", 3, "id", "product", "originTrace", 4, "ngIf"], [1, "miam-products-picker__items", 3, "id", "product", "originTrace"], [1, "miam-products-picker__often-ignored-list", 3, "isCollapsed", "isCollapsedChange"], [1, "miam-ds-text", "weight-xxl"], i18n_4, ["class", "miam-products-picker__items", 3, "id", "product", "originTrace", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "miam-products-picker__more-anchor", 3, "href", "click"], [1, "miam-products-picker__go-to-catalog-button", "miam-ds-button", "secondary"], i18n_6, [1, "miam-products-picker__close-modal-button", "miam-ds-button", "secondary", 3, "click"], i18n_8, [1, "miam-products-picker__legal-notices"], [1, "miam-ds-text", "weight-xxl", "miam-products-picker__legal-notices-header"], i18n_10, [1, "miam-products-picker__legal-notices-content"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/recipe-details/recipe-details-legal-notices.svg", "alt", "", "aria-hidden", "true"], i18n_12]; }, template: function ProductsPickerComponent_Template(rf, ctx) { if (rf & 1) {
277
277
  i0.ɵɵelementStart(0, "div", 0);
278
278
  i0.ɵɵelementStart(1, "div", 1);
279
279
  i0.ɵɵelementStart(2, "div", 2);
@@ -325,4 +325,4 @@ ProductsPickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ProductsPickerCom
325
325
  }], guestsChange: [{
326
326
  type: Output
327
327
  }] }); })();
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0cy1waWNrZXIvcHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0cy1waWNrZXIvcHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUE0QixvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0lDTm5FLDRCQUFxQztJQUFyQyxnQkFBcUM7SUFBWSxpQkFBTzs7O0lBQ3hELDRCQUFzQztJQUF0QyxnQkFBc0M7SUFBVyxpQkFBTzs7OztJQUN4RCxxREFJQztJQURDLHlRQUFzQztJQUN2QyxpQkFBNEI7OztJQUYzQixxRUFBK0M7OztJQU5uRCw2QkFBd0M7SUFDdEMsNEJBQU07SUFBQSxZQUFtQjtJQUFBLGlCQUFPO0lBQ2hDLHlGQUF3RDtJQUN4RCx5RkFBd0Q7SUFDeEQsb0lBSTZCO0lBQy9CLDBCQUFlOzs7SUFSUCxlQUFtQjtJQUFuQiwwQ0FBbUI7SUFDbEIsZUFBdUI7SUFBdkIsK0NBQXVCO0lBQ3ZCLGVBQXdCO0lBQXhCLGdEQUF3QjtJQUU1QixlQUFtQztJQUFuQywyREFBbUM7Ozs7SUFPMUMsaURBUUc7SUFERCx5TkFBZSxpQ0FBeUIsSUFBQztJ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QUF2Qiw0Q0FBdUI7UUFhckMsZUFBK0I7UUFBL0Isb0RBQStCO1FBa0I5QixlQUFtRDtRQUFuRCxzRkFBbUQ7UUFJbkQsZUFBc0Q7UUFBdEQsd0ZBQXNEO1FBYzNDLGVBQTZFO1FBQTdFLGtHQUE2RTtRQXdCOUMsZUFBaUM7UUFBakMsb0RBQWlDLGlCQUFBO1FBWTNFLGVBQXFCO1FBQXJCLDBDQUFxQjs7dUZEbkVoQix1QkFBdUI7Y0FQbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7bUtBR1csVUFBVTtrQkFBbkIsTUFBTTtZQUNHLFlBQVk7a0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFByb2R1Y3QsIFByb2R1Y3RDYXRlZ29yeSwgUmVjaXBlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcHJvZHVjdHMtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3RzLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c1BpY2tlckNvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZ3Vlc3RzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICB0b3RhbFByb2R1Y3RzID0gMDtcbiAgY29udGFpbnNBbGNvaG9sID0gZmFsc2U7XG4gIG51bWJlclVuYXZhaWxhYmxlUHJvZHVjdHM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZURldGFpbHNTZXJ2aWNlOiBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihhbmFseXRpY3NTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9Qcm9kdWN0cygpO1xuICAgIHRoaXMubGlzdGVuVG9Ub3RhbFByb2R1Y3RzKCk7XG4gICAgdGhpcy5yZWNpcGVDb250YWluc0FsY29ob2woKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdHJhY2tCeUl0ZW1GbihpbmRleDogbnVtYmVyLCBpdGVtOiBQcm9kdWN0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5iYXNrZXRFbnRyeS5uYW1lO1xuICB9XG5cbiAgdHJhY2tCeUluZ3JlZGllbnRGbihpbmRleDogbnVtYmVyLCBpbmdyZWRpZW50OiBJbmdyZWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5ncmVkaWVudC5pZDtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9Qcm9kdWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5JC5zdWJzY3JpYmUoKHByb2R1Y3RzOiBQcm9kdWN0Q2F0ZWdvcnkpID0+IHtcbiAgICAgICAgdGhpcy5udW1iZXJVbmF2YWlsYWJsZVByb2R1Y3RzID0gWy4uLnByb2R1Y3RzLm9mdGVuSWdub3JlZFByb2R1Y3RzLCAuLi5wcm9kdWN0cy50b1BpY2tQcm9kdWN0c11cbiAgICAgICAgICAuZmlsdGVyKChwOiBQcm9kdWN0KSA9PiBwLmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaycpLmxlbmd0aDtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzTG9hZGluZyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1RvdGFsUHJvZHVjdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS50b3RhbFByb2R1Y3RzJC5zdWJzY3JpYmUoKHRvdGFsOiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy50b3RhbFByb2R1Y3RzID0gdG90YWw7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICApKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVjaXBlQ29udGFpbnNBbGNvaG9sKCk6IHZvaWQge1xuICAgIHRoaXMuY29udGFpbnNBbGNvaG9sID0gdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5jb250YWluc0FsY29ob2w7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2Nyb2xsVG9GaXJzdFVuYXZhaWxhYmxlKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5taWFtLXByb2R1Y3RzLXBpY2tlcl9fY29udGFpbmVyJyk7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29uc3QgZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLm1pYW0tcHJvZHVjdC1jYXJkX19jb250YWluZXIub3V0X29mX3N0b2NrJyk7XG4gICAgICBpZiAoZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0FscmVhZHlPbkNhdGFsb2dQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmNsdWRlcyh0aGlzLmNvbnRleHRTZXJ2aWNlLmNhdGFsb2dVcmwpO1xuICB9XG5cbiAgY2xvc2VSZWNpcGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRIb21lRGlzcGxheUV2ZW50KCk7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgc2VuZEhvbWVEaXNwbGF5RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnaG9tZS5kaXNwbGF5JywgdGhpcy5wYXRoLCB7fSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fY29udGFpbmVyXCI+XG4gIDwhLS0gTlVNQkVSIElOR1JFRElFTlQgKyBQUk9EVUNUIFRZUEUgU0VMRUNUT1IgLS0+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19oZWFkZXItdGV4dCBtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsUHJvZHVjdHMgPiAwXCI+XG4gICAgICAgIDxzcGFuPnt7IHRvdGFsUHJvZHVjdHMgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQcm9kdWN0cyA+IDFcIiBpMThuPiBpbmdyw6lkaWVudHM8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQcm9kdWN0cyA8PSAxXCIgaTE4bj4gaW5ncsOpZGllbnQ8L3NwYW4+XG4gICAgICAgIDxuZy1taWFtLXVuYXZhaWxhYmxlLWJhZGdlXG4gICAgICAgICAgKm5nSWY9XCJudW1iZXJVbmF2YWlsYWJsZVByb2R1Y3RzID4gMFwiXG4gICAgICAgICAgW251bWJlclVuYXZhaWxhYmxlXT1cIm51bWJlclVuYXZhaWxhYmxlUHJvZHVjdHNcIlxuICAgICAgICAgIChjbGlja2VkKT1cInNjcm9sbFRvRmlyc3RVbmF2YWlsYWJsZSgpXCJcbiAgICAgICAgPjwvbmctbWlhbS11bmF2YWlsYWJsZS1iYWRnZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gR1VFU1QgQ09VTlRFUiBGT1IgTk8gU1VQUExJRVIgTU9ERS0tPlxuICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXRcbiAgICAgICpuZ0lmPVwiY29udGV4dFNlcnZpY2Uubm9TdXBwbGllclwiXG4gICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2d1ZXN0LWNvdW50ZXJcIlxuICAgICAgW2Zsb2F0aW5nXT1cInRydWVcIlxuICAgICAgW3ZhbHVlXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiXG4gICAgICBbbWluUmFuZ2VdPVwiMVwiXG4gICAgICBbZGVib3VuY2VUaW1lXT1cIjMwMFwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiZ3Vlc3RzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwibWlhbS1kcy1kcm9wZG93blwiPlxuICAgICA8c2VsZWN0PlxuICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9kdWN0c1R5cGVPcHRpb25cIj5cbiAgICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgIDwvb3B0aW9uPlxuICAgICA8L3NlbGVjdD5cbiAgIDwvZGl2PiAtLT5cbiAgPC9kaXY+XG4gIDwhLS0gU0tFTEVUT04gQ0FSRCBMSVNUIC0tPlxuICA8ZGl2ICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNMb2FkaW5nJCB8IGFzeW5jXCIgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgIDxuZy1taWFtLXByb2R1Y3QtY2FyZC1za2VsZXRvbiAqbmdGb3I9XCJsZXQgXyBvZiByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUucmVsYXRpb25zaGlwcy5pbmdyZWRpZW50cy5kYXRhOyB0cmFja0J5OiB0cmFja0J5SW5ncmVkaWVudEZuXCI+PC9uZy1taWFtLXByb2R1Y3QtY2FyZC1za2VsZXRvbj5cbiAgPC9kaXY+XG4gIDwhLS0gUFJPRFVDVFMgQ0FSRCBMSVNUIC0tPlxuICA8ZGl2ICpuZ0lmPVwiIShyZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0xvYWRpbmckIHwgYXN5bmMpXCIgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgcmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5LnRvUGlja1Byb2R1Y3RzOyB0cmFja0J5OiB0cmFja0J5SXRlbUZuXCI+XG4gICAgICA8bmctbWlhbS1wcm9kdWN0LWNhcmRcbiAgICAgICAgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5XCJcbiAgICAgICAgW2lkXT1cIidtaWFtXycgKyBwcm9kdWN0LmJhc2tldEVudHJ5Lm5hbWVJZCArICdfcHJvZHVjdF9jYXJkJ1wiXG4gICAgICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2l0ZW1zXCJcbiAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgICAgID5cbiAgICAgIDwvbmctbWlhbS1wcm9kdWN0LWNhcmQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX3NlY29uZGFyeS1saXN0XCI+XG4gICAgPCEtLSBPRlRFTiBERUxFVEVEIFBST0RVQ1RTIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0J5Q2F0ZWdvcnkub2Z0ZW5JZ25vcmVkUHJvZHVjdHMubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX29mdGVuLWlnbm9yZWQtbGlzdFwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiIChpc0NvbGxhcHNlZENoYW5nZSk9XCJjZHIuZGV0ZWN0Q2hhbmdlcygpXCI+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi10aXRsZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bFwiIGkxOG4+XG4gICAgICAgICAgRMOpasOgIGRhbnMgbGUgcGxhY2FyZFxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tdGl0bGU+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi1jb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgICAgICAgICAgPG5nLW1pYW0tcHJvZHVjdC1jYXJkXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzQnlDYXRlZ29yeS5vZnRlbklnbm9yZWRQcm9kdWN0czsgdHJhY2tCeTogdHJhY2tCeUl0ZW1GblwiXG4gICAgICAgICAgICAgIFtpZF09XCInbWlhbV8nICsgcHJvZHVjdC5iYXNrZXRFbnRyeS5uYW1lSWQgKyAnX3Byb2R1Y3RfY2FyZCdcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19pdGVtc1wiXG4gICAgICAgICAgICAgIFtwcm9kdWN0XT1cInByb2R1Y3RcIlxuICAgICAgICAgICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLW1pYW0tcHJvZHVjdC1jYXJkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLWNvbnRlbnQ+XG4gICAgICA8L25nLW1pYW0tYWNjb3JkaW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSBNT1JFIFJFQ0lQRSBJREVBUyAtLT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19tb3JlXCI+XG4gICAgPGEgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbW9yZS1hbmNob3JcIiAqbmdJZj1cIiFpc0FscmVhZHlPbkNhdGFsb2dQYWdlKCk7IGVsc2Ugbm9BbmNob3JcIiBbaHJlZl09XCJjb250ZXh0U2VydmljZS5jYXRhbG9nVXJsXCIgKGNsaWNrKT1cInNlbmRIb21lRGlzcGxheUV2ZW50KClcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fZ28tdG8tY2F0YWxvZy1idXR0b24gbWlhbS1kcy1idXR0b24gc2Vjb25kYXJ5XCI+XG4gICAgICAgIDxzcGFuIGkxOG4+Vm9pciBwbHVzIGQnaWTDqWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9BbmNob3I+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2Nsb3NlLW1vZGFsLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2VSZWNpcGVNb2RhbCgpXCI+XG4gICAgICAgIDxzcGFuIGkxOG4+Vm9pciBwbHVzIGQnaWTDqWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDwhLS0gTEVHQUwgTk9USUNFUyAtLT5cbiAgPGRpdiAqbmdJZj1cImNvbnRhaW5zQWxjb2hvbFwiIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2xlZ2FsLW5vdGljZXNcIj5cbiAgICA8c3BhbiBpMThuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14eGwgbWlhbS1wcm9kdWN0cy1waWNrZXJfX2xlZ2FsLW5vdGljZXMtaGVhZGVyXCI+TWVudGlvbnMgbMOpZ2FsZXM8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19sZWdhbC1ub3RpY2VzLWNvbnRlbnRcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1sZWdhbC1ub3RpY2VzLnN2Z1wiPlxuICAgICAgPHNwYW4gaTE4bj5MJ2FidXMgZCdhbGNvb2wgZXN0IGRhbmdlcmV1eCBwb3VyIGxhIHNhbnTDqS4gQSBjb25zb21tZXIgYXZlYyBtb2TDqXJhdGlvbi4gVmVudGUgaW50ZXJkaXRlIGF1eCBtaW5ldXJzLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
328
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0cy1waWNrZXIvcHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9wcm9kdWN0cy1waWNrZXIvcHJvZHVjdHMtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUE0QixvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7O0lDTm5FLDRCQUFxQztJQUFyQyxnQkFBcUM7SUFBWSxpQkFBTzs7O0lBQ3hELDRCQUFzQztJQUF0QyxnQkFBc0M7SUFBVyxpQkFBTzs7OztJQUN4RCxxREFJQztJQURDLHlRQUFzQztJQUN2QyxpQkFBNEI7OztJQUYzQixxRUFBK0M7OztJQU5uRCw2QkFBd0M7SUFDdEMsNEJBQU07SUFBQSxZQUFtQjtJQUFBLGlCQUFPO0lBQ2hDLHlGQUF3RDtJQUN4RCx5RkFBd0Q7SUFDeEQsb0lBSTZCO0lBQy9CLDBCQUFlOzs7SUFSUCxlQUFtQjtJQUFuQiwwQ0FBbUI7SUFDbEIsZUFBdUI7SUFBdkIsK0NBQXVCO0lBQ3ZCLGVBQXdCO0lBQXhCLGdEQUF3QjtJQUU1QixlQUFtQztJQUFuQywyREFBbUM7Ozs7SUFPMUMsaURBUUc7SUFERCx5TkFBZSxpQ0FBeUIsSUFBQztJ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QUF2Qiw0Q0FBdUI7UUFhckMsZUFBK0I7UUFBL0Isb0RBQStCO1FBa0I5QixlQUFtRDtRQUFuRCxzRkFBbUQ7UUFJbkQsZUFBc0Q7UUFBdEQsd0ZBQXNEO1FBYzNDLGVBQTZFO1FBQTdFLGtHQUE2RTtRQXdCOUMsZUFBaUM7UUFBakMsb0RBQWlDLGlCQUFBO1FBWTNFLGVBQXFCO1FBQXJCLDBDQUFxQjs7dUZEbkVoQix1QkFBdUI7Y0FQbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7bUtBR1csVUFBVTtrQkFBbkIsTUFBTTtZQUNHLFlBQVk7a0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFByb2R1Y3QsIFByb2R1Y3RDYXRlZ29yeSwgUmVjaXBlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcHJvZHVjdHMtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3RzLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c1BpY2tlckNvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgZ3Vlc3RzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICB0b3RhbFByb2R1Y3RzID0gMDtcbiAgY29udGFpbnNBbGNvaG9sID0gZmFsc2U7XG4gIG51bWJlclVuYXZhaWxhYmxlUHJvZHVjdHM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZURldGFpbHNTZXJ2aWNlOiBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihhbmFseXRpY3NTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9Qcm9kdWN0cygpO1xuICAgIHRoaXMubGlzdGVuVG9Ub3RhbFByb2R1Y3RzKCk7XG4gICAgdGhpcy5yZWNpcGVDb250YWluc0FsY29ob2woKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucz8uZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdHJhY2tCeUl0ZW1GbihpbmRleDogbnVtYmVyLCBpdGVtOiBQcm9kdWN0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5iYXNrZXRFbnRyeS5uYW1lO1xuICB9XG5cbiAgdHJhY2tCeUluZ3JlZGllbnRGbihpbmRleDogbnVtYmVyLCBpbmdyZWRpZW50OiBJbmdyZWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5ncmVkaWVudC5pZDtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9Qcm9kdWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5JC5zdWJzY3JpYmUoKHByb2R1Y3RzOiBQcm9kdWN0Q2F0ZWdvcnkpID0+IHtcbiAgICAgICAgdGhpcy5udW1iZXJVbmF2YWlsYWJsZVByb2R1Y3RzID0gWy4uLnByb2R1Y3RzLm9mdGVuSWdub3JlZFByb2R1Y3RzLCAuLi5wcm9kdWN0cy50b1BpY2tQcm9kdWN0c11cbiAgICAgICAgICAuZmlsdGVyKChwOiBQcm9kdWN0KSA9PiBwLmJhc2tldEVudHJ5LnN0YXR1cyA9PT0gJ291dF9vZl9zdG9jaycpLmxlbmd0aDtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLnJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzTG9hZGluZyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1RvdGFsUHJvZHVjdHMoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS50b3RhbFByb2R1Y3RzJC5zdWJzY3JpYmUoKHRvdGFsOiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy50b3RhbFByb2R1Y3RzID0gdG90YWw7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICApKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVjaXBlQ29udGFpbnNBbGNvaG9sKCk6IHZvaWQge1xuICAgIHRoaXMuY29udGFpbnNBbGNvaG9sID0gdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5jb250YWluc0FsY29ob2w7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2Nyb2xsVG9GaXJzdFVuYXZhaWxhYmxlKCkge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5taWFtLXByb2R1Y3RzLXBpY2tlcl9fY29udGFpbmVyJyk7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29uc3QgZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLm1pYW0tcHJvZHVjdC1jYXJkX19jb250YWluZXIub3V0X29mX3N0b2NrJyk7XG4gICAgICBpZiAoZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgZmlyc3RVbmF2YWlsYWJsZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0FscmVhZHlPbkNhdGFsb2dQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmNsdWRlcyh0aGlzLmNvbnRleHRTZXJ2aWNlLmNhdGFsb2dVcmwpO1xuICB9XG5cbiAgY2xvc2VSZWNpcGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbmRIb21lRGlzcGxheUV2ZW50KCk7XG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgc2VuZEhvbWVEaXNwbGF5RXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnaG9tZS5kaXNwbGF5JywgdGhpcy5wYXRoLCB7fSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fY29udGFpbmVyXCI+XG4gIDwhLS0gTlVNQkVSIElOR1JFRElFTlQgKyBQUk9EVUNUIFRZUEUgU0VMRUNUT1IgLS0+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19oZWFkZXItdGV4dCBtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdGFsUHJvZHVjdHMgPiAwXCI+XG4gICAgICAgIDxzcGFuPnt7IHRvdGFsUHJvZHVjdHMgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQcm9kdWN0cyA+IDFcIiBpMThuPiBpbmdyw6lkaWVudHM8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQcm9kdWN0cyA8PSAxXCIgaTE4bj4gaW5ncsOpZGllbnQ8L3NwYW4+XG4gICAgICAgIDxuZy1taWFtLXVuYXZhaWxhYmxlLWJhZGdlXG4gICAgICAgICAgKm5nSWY9XCJudW1iZXJVbmF2YWlsYWJsZVByb2R1Y3RzID4gMFwiXG4gICAgICAgICAgW251bWJlclVuYXZhaWxhYmxlXT1cIm51bWJlclVuYXZhaWxhYmxlUHJvZHVjdHNcIlxuICAgICAgICAgIChjbGlja2VkKT1cInNjcm9sbFRvRmlyc3RVbmF2YWlsYWJsZSgpXCJcbiAgICAgICAgPjwvbmctbWlhbS11bmF2YWlsYWJsZS1iYWRnZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gR1VFU1QgQ09VTlRFUiBGT1IgTk8gU1VQUExJRVIgTU9ERS0tPlxuICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXRcbiAgICAgICpuZ0lmPVwiY29udGV4dFNlcnZpY2Uubm9TdXBwbGllclwiXG4gICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2d1ZXN0LWNvdW50ZXJcIlxuICAgICAgW2Zsb2F0aW5nXT1cInRydWVcIlxuICAgICAgW3ZhbHVlXT1cInJlY2lwZURldGFpbHNTZXJ2aWNlLnJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiXG4gICAgICBbbWluUmFuZ2VdPVwiMVwiXG4gICAgICBbZGVib3VuY2VUaW1lXT1cIjMwMFwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiZ3Vlc3RzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwibWlhbS1kcy1kcm9wZG93blwiPlxuICAgICA8c2VsZWN0PlxuICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9kdWN0c1R5cGVPcHRpb25cIj5cbiAgICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgIDwvb3B0aW9uPlxuICAgICA8L3NlbGVjdD5cbiAgIDwvZGl2PiAtLT5cbiAgPC9kaXY+XG4gIDwhLS0gU0tFTEVUT04gQ0FSRCBMSVNUIC0tPlxuICA8ZGl2ICpuZ0lmPVwicmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNMb2FkaW5nJCB8IGFzeW5jXCIgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgIDxuZy1taWFtLXByb2R1Y3QtY2FyZC1za2VsZXRvbiAqbmdGb3I9XCJsZXQgXyBvZiByZWNpcGVEZXRhaWxzU2VydmljZS5yZWNpcGUucmVsYXRpb25zaGlwcy5pbmdyZWRpZW50cy5kYXRhOyB0cmFja0J5OiB0cmFja0J5SW5ncmVkaWVudEZuXCI+PC9uZy1taWFtLXByb2R1Y3QtY2FyZC1za2VsZXRvbj5cbiAgPC9kaXY+XG4gIDwhLS0gUFJPRFVDVFMgQ0FSRCBMSVNUIC0tPlxuICA8ZGl2ICpuZ0lmPVwiIShyZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0xvYWRpbmckIHwgYXN5bmMpXCIgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgcmVjaXBlRGV0YWlsc1NlcnZpY2UucHJvZHVjdHNCeUNhdGVnb3J5LnRvUGlja1Byb2R1Y3RzOyB0cmFja0J5OiB0cmFja0J5SXRlbUZuXCI+XG4gICAgICA8bmctbWlhbS1wcm9kdWN0LWNhcmRcbiAgICAgICAgKm5nSWY9XCJwcm9kdWN0LmJhc2tldEVudHJ5XCJcbiAgICAgICAgW2lkXT1cIidtaWFtXycgKyBwcm9kdWN0LmJhc2tldEVudHJ5Lm5hbWVJZCArICdfcHJvZHVjdF9jYXJkJ1wiXG4gICAgICAgIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2l0ZW1zXCJcbiAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgICAgID5cbiAgICAgIDwvbmctbWlhbS1wcm9kdWN0LWNhcmQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX3NlY29uZGFyeS1saXN0XCI+XG4gICAgPCEtLSBPRlRFTiBERUxFVEVEIFBST0RVQ1RTIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZWNpcGVEZXRhaWxzU2VydmljZS5wcm9kdWN0c0J5Q2F0ZWdvcnkub2Z0ZW5JZ25vcmVkUHJvZHVjdHMubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX29mdGVuLWlnbm9yZWQtbGlzdFwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiIChpc0NvbGxhcHNlZENoYW5nZSk9XCJjZHIuZGV0ZWN0Q2hhbmdlcygpXCI+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi10aXRsZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgd2VpZ2h0LXh4bFwiIGkxOG4+XG4gICAgICAgICAgRMOpasOgIGRhbnMgbGUgcGxhY2FyZFxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tdGl0bGU+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi1jb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbGlzdFwiPlxuICAgICAgICAgICAgPG5nLW1pYW0tcHJvZHVjdC1jYXJkXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHJlY2lwZURldGFpbHNTZXJ2aWNlLnByb2R1Y3RzQnlDYXRlZ29yeS5vZnRlbklnbm9yZWRQcm9kdWN0czsgdHJhY2tCeTogdHJhY2tCeUl0ZW1GblwiXG4gICAgICAgICAgICAgIFtpZF09XCInbWlhbV8nICsgcHJvZHVjdC5iYXNrZXRFbnRyeS5uYW1lSWQgKyAnX3Byb2R1Y3RfY2FyZCdcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19pdGVtc1wiXG4gICAgICAgICAgICAgIFtwcm9kdWN0XT1cInByb2R1Y3RcIlxuICAgICAgICAgICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLW1pYW0tcHJvZHVjdC1jYXJkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLWNvbnRlbnQ+XG4gICAgICA8L25nLW1pYW0tYWNjb3JkaW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSBNT1JFIFJFQ0lQRSBJREVBUyAtLT5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19tb3JlXCI+XG4gICAgPGEgY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fbW9yZS1hbmNob3JcIiAqbmdJZj1cIiFpc0FscmVhZHlPbkNhdGFsb2dQYWdlKCk7IGVsc2Ugbm9BbmNob3JcIiBbaHJlZl09XCJjb250ZXh0U2VydmljZS5jYXRhbG9nVXJsXCIgKGNsaWNrKT1cInNlbmRIb21lRGlzcGxheUV2ZW50KClcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLXByb2R1Y3RzLXBpY2tlcl9fZ28tdG8tY2F0YWxvZy1idXR0b24gbWlhbS1kcy1idXR0b24gc2Vjb25kYXJ5XCI+XG4gICAgICAgIDxzcGFuIGkxOG4+Vm9pciBwbHVzIGQnaWTDqWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9BbmNob3I+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2Nsb3NlLW1vZGFsLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2VSZWNpcGVNb2RhbCgpXCI+XG4gICAgICAgIDxzcGFuIGkxOG4+Vm9pciBwbHVzIGQnaWTDqWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDwhLS0gTEVHQUwgTk9USUNFUyAtLT5cbiAgPGRpdiAqbmdJZj1cImNvbnRhaW5zQWxjb2hvbFwiIGNsYXNzPVwibWlhbS1wcm9kdWN0cy1waWNrZXJfX2xlZ2FsLW5vdGljZXNcIj5cbiAgICA8c3BhbiBpMThuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14eGwgbWlhbS1wcm9kdWN0cy1waWNrZXJfX2xlZ2FsLW5vdGljZXMtaGVhZGVyXCI+TWVudGlvbnMgbMOpZ2FsZXM8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJvZHVjdHMtcGlja2VyX19sZWdhbC1ub3RpY2VzLWNvbnRlbnRcIj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy1sZWdhbC1ub3RpY2VzLnN2Z1wiIGFsdD1cIlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgPHNwYW4gaTE4bj5MJ2FidXMgZCdhbGNvb2wgZXN0IGRhbmdlcmV1eCBwb3VyIGxhIHNhbnTDqS4gQSBjb25zb21tZXIgYXZlYyBtb2TDqXJhdGlvbi4gVmVudGUgaW50ZXJkaXRlIGF1eCBtaW5ldXJzLjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -9,7 +9,7 @@ RecipePromotionBadgeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipePromo
9
9
  }
10
10
  else {
11
11
  i18n_0 = $localize `:␟a95b83d06c5cde80a506c7e649b862c065ebc393␟7879917059977078945:Promo'`;
12
- } return [[1, "miam-recipe-promotion-badge"], ["alt", "promotion badge", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe_discount.svg", 1, "miam-recipe-promotion-badge__icon"], [1, "miam-ds-text", "weight-xl"], i18n_0]; }, template: function RecipePromotionBadgeComponent_Template(rf, ctx) { if (rf & 1) {
12
+ } return [[1, "miam-recipe-promotion-badge"], ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/9.0/recipe_discount.svg", 1, "miam-recipe-promotion-badge__icon"], [1, "miam-ds-text", "weight-xl"], i18n_0]; }, template: function RecipePromotionBadgeComponent_Template(rf, ctx) { if (rf & 1) {
13
13
  i0.ɵɵelementStart(0, "div", 0);
14
14
  i0.ɵɵelement(1, "img", 1);
15
15
  i0.ɵɵelementStart(2, "span", 2);
@@ -27,4 +27,4 @@ RecipePromotionBadgeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipePromo
27
27
  changeDetection: ChangeDetectionStrategy.OnPush
28
28
  }]
29
29
  }], null, null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXByb21vdGlvbi1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX2NvbXBvbmVudHMvcmVjaXBlLXByb21vdGlvbi1iYWRnZS9yZWNpcGUtcHJvbW90aW9uLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9yZWNpcGUtcHJvbW90aW9uLWJhZGdlL3JlY2lwZS1wcm9tb3Rpb24tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTOUYsTUFBTSxPQUFPLDZCQUE2Qjs7MEdBQTdCLDZCQUE2QjtrRUFBN0IsNkJBQTZCOzs7OztpQkNQRSxVQUFBLHVFQUFNOztRQUZsRCw4QkFBeUM7UUFDdkMseUJBQWlLO1FBQ2pLLCtCQUEwQztRQUExQyxlQUEwQztRQUFNLGlCQUFPO1FBQ3pELGlCQUFNOzt1RkRNTyw2QkFBNkI7Y0FQekMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELFNBQVMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDO2dCQUN0RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLXByb21vdGlvbi1iYWRnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtcHJvbW90aW9uLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLXByb21vdGlvbi1iYWRnZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVQcm9tb3Rpb25CYWRnZUNvbXBvbmVudCB7XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlXCI+XG4gIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1wcm9tb3Rpb24tYmFkZ2VfX2ljb25cIiBhbHQ9XCJwcm9tb3Rpb24gYmFkZ2VcIiBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zLzkuMC9yZWNpcGVfZGlzY291bnQuc3ZnXCI+XG4gIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14bFwiIGkxOG4+UHJvbW8nPC9zcGFuPlxuPC9kaXY+XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXByb21vdGlvbi1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX2NvbXBvbmVudHMvcmVjaXBlLXByb21vdGlvbi1iYWRnZS9yZWNpcGUtcHJvbW90aW9uLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9yZWNpcGUtcHJvbW90aW9uLWJhZGdlL3JlY2lwZS1wcm9tb3Rpb24tYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTOUYsTUFBTSxPQUFPLDZCQUE2Qjs7MEdBQTdCLDZCQUE2QjtrRUFBN0IsNkJBQTZCOzs7OztpQkNQRSxVQUFBLHVFQUFNOztRQUZsRCw4QkFBeUM7UUFDdkMseUJBQXFLO1FBQ3JLLCtCQUEwQztRQUExQyxlQUEwQztRQUFNLGlCQUFPO1FBQ3pELGlCQUFNOzt1RkRNTyw2QkFBNkI7Y0FQekMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELFNBQVMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDO2dCQUN0RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLXByb21vdGlvbi1iYWRnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtcHJvbW90aW9uLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLXByb21vdGlvbi1iYWRnZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVQcm9tb3Rpb25CYWRnZUNvbXBvbmVudCB7XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtcHJvbW90aW9uLWJhZGdlXCI+XG4gIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1wcm9tb3Rpb24tYmFkZ2VfX2ljb25cIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zLzkuMC9yZWNpcGVfZGlzY291bnQuc3ZnXCI+XG4gIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14bFwiIGkxOG4+UHJvbW8nPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -7,7 +7,7 @@ export class SponsorImageAndTextBlockComponent {
7
7
  constructor() { }
8
8
  }
9
9
  SponsorImageAndTextBlockComponent.ɵfac = function SponsorImageAndTextBlockComponent_Factory(t) { return new (t || SponsorImageAndTextBlockComponent)(); };
10
- SponsorImageAndTextBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorImageAndTextBlockComponent, selectors: [["ng-miam-sponsor-image-and-text-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 4, vars: 7, consts: [[1, "sponsor-image-and-text-block"], [1, "sponsor-image-and-text-block__image", 3, "src"], [1, "sponsor-image-and-text-block__text", 3, "ngStyle"]], template: function SponsorImageAndTextBlockComponent_Template(rf, ctx) { if (rf & 1) {
10
+ SponsorImageAndTextBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorImageAndTextBlockComponent, selectors: [["ng-miam-sponsor-image-and-text-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 4, vars: 8, consts: [[1, "sponsor-image-and-text-block"], [1, "sponsor-image-and-text-block__image", 3, "src", "alt"], [1, "sponsor-image-and-text-block__text", 3, "ngStyle"]], template: function SponsorImageAndTextBlockComponent_Template(rf, ctx) { if (rf & 1) {
11
11
  i0.ɵɵelementStart(0, "div", 0);
12
12
  i0.ɵɵelement(1, "img", 1);
13
13
  i0.ɵɵelementStart(2, "span", 2);
@@ -16,9 +16,9 @@ SponsorImageAndTextBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: Sponsor
16
16
  i0.ɵɵelementEnd();
17
17
  } if (rf & 2) {
18
18
  i0.ɵɵadvance(1);
19
- i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl);
19
+ i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl)("alt", ctx.sponsorBlock.content || "Image sponsor");
20
20
  i0.ɵɵadvance(1);
21
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(3, _c0, ctx.sponsorBlock.backgroundColor || "#FFFFFF", ctx.sponsorBlock.fontSize || 16, ctx.sponsorBlock.fontColor || "#000000"));
21
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(4, _c0, ctx.sponsorBlock.backgroundColor || "#FFFFFF", ctx.sponsorBlock.fontSize || 16, ctx.sponsorBlock.fontColor || "#000000"));
22
22
  i0.ɵɵadvance(1);
23
23
  i0.ɵɵtextInterpolate1(" ", ctx.sponsorBlock.content, " ");
24
24
  } }, directives: [i1.NgStyle], styles: [".sponsor-image-and-text-block[_ngcontent-%COMP%]{width:100%;aspect-ratio:21/9;display:flex;justify-content:center;align-items:center}.sponsor-image-and-text-block[_ngcontent-%COMP%] .sponsor-image-and-text-block__image[_ngcontent-%COMP%]{width:60%;height:100%;-o-object-fit:cover;object-fit:cover}.sponsor-image-and-text-block[_ngcontent-%COMP%] .sponsor-image-and-text-block__text[_ngcontent-%COMP%]{margin-left:-10%;right:0;width:50%;max-width:50%;max-height:75%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;background-color:#fff;padding:12px;text-align:center;font-size:16px;line-height:150%}@media (max-width:1023px){.sponsor-image-and-text-block[_ngcontent-%COMP%]{width:100%;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center}.sponsor-image-and-text-block[_ngcontent-%COMP%] .sponsor-image-and-text-block__image[_ngcontent-%COMP%]{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover}.sponsor-image-and-text-block[_ngcontent-%COMP%] .sponsor-image-and-text-block__text[_ngcontent-%COMP%]{width:100%;max-width:100%;max-height:unset;padding:12px;text-align:justify;font-size:16px;line-height:150%;margin-left:unset}}"] });
@@ -32,4 +32,4 @@ SponsorImageAndTextBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: Sponsor
32
32
  }], function () { return []; }, { sponsorBlock: [{
33
33
  type: Input
34
34
  }] }); })();
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX2NvbXBvbmVudHMvc3BvbnNvci1ibG9ja3Mvc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrL3Nwb25zb3ItaW1hZ2UtYW5kLXRleHQtYmxvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxpQ0FBaUM7SUFHNUMsZ0JBQWdCLENBQUM7O2tIQUhOLGlDQUFpQztzRUFBakMsaUNBQWlDO1FDUjlDLDhCQUEwQztRQUN4Qyx5QkFBaUY7UUFDakYsK0JBS0s7UUFDSCxZQUNGO1FBQUEsaUJBQU87UUFDVCxpQkFBTTs7UUFUNkMsZUFBK0I7UUFBL0IsbUVBQStCO1FBRTlFLGVBSUU7UUFKRiw2S0FJRTtRQUNGLGVBQ0Y7UUFERSx5REFDRjs7dUZERFcsaUNBQWlDO2NBTDdDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0NBQXNDO2dCQUNoRCxXQUFXLEVBQUUsK0NBQStDO2dCQUM1RCxTQUFTLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQzthQUM3RDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JJbWFnZUFuZFRleHRCbG9ja0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNwb25zb3JCbG9jazogU3BvbnNvckJsb2NrO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrXCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrX19pbWFnZVwiIFtzcmNdPVwic3BvbnNvckJsb2NrLnBpY3R1cmVVcmxcIj5cbiAgPHNwYW4gY2xhc3M9XCJzcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrX190ZXh0XCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHNwb25zb3JCbG9jay5iYWNrZ3JvdW5kQ29sb3IgfHwgJyNGRkZGRkYnLFxuICAgICAgJ2ZvbnQtc2l6ZS5weCc6IHNwb25zb3JCbG9jay5mb250U2l6ZSB8fCAxNixcbiAgICAgICdjb2xvcic6IHNwb25zb3JCbG9jay5mb250Q29sb3IgfHwgJyMwMDAwMDAnXG4gICAgfVwiPlxuICAgIHt7IHNwb25zb3JCbG9jay5jb250ZW50IH19XG4gIDwvc3Bhbj5cbjwvZGl2PlxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX2NvbXBvbmVudHMvc3BvbnNvci1ibG9ja3Mvc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrL3Nwb25zb3ItaW1hZ2UtYW5kLXRleHQtYmxvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxpQ0FBaUM7SUFHNUMsZ0JBQWdCLENBQUM7O2tIQUhOLGlDQUFpQztzRUFBakMsaUNBQWlDO1FDUjlDLDhCQUEwQztRQUN4Qyx5QkFBaUk7UUFDakksK0JBS0s7UUFDSCxZQUNGO1FBQUEsaUJBQU87UUFDVCxpQkFBTTs7UUFUNkMsZUFBK0I7UUFBL0IsbUVBQStCLG9EQUFBO1FBRTlFLGVBSUU7UUFKRiw2S0FJRTtRQUNGLGVBQ0Y7UUFERSx5REFDRjs7dUZERFcsaUNBQWlDO2NBTDdDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsc0NBQXNDO2dCQUNoRCxXQUFXLEVBQUUsK0NBQStDO2dCQUM1RCxTQUFTLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQzthQUM3RDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3BvbnNvci1pbWFnZS1hbmQtdGV4dC1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JJbWFnZUFuZFRleHRCbG9ja0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNwb25zb3JCbG9jazogU3BvbnNvckJsb2NrO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrXCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLWltYWdlLWFuZC10ZXh0LWJsb2NrX19pbWFnZVwiIFtzcmNdPVwic3BvbnNvckJsb2NrLnBpY3R1cmVVcmxcIiBbYWx0XT1cInNwb25zb3JCbG9jay5jb250ZW50IHx8ICdJbWFnZSBzcG9uc29yJ1wiPlxuICA8c3BhbiBjbGFzcz1cInNwb25zb3ItaW1hZ2UtYW5kLXRleHQtYmxvY2tfX3RleHRcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogc3BvbnNvckJsb2NrLmJhY2tncm91bmRDb2xvciB8fCAnI0ZGRkZGRicsXG4gICAgICAnZm9udC1zaXplLnB4Jzogc3BvbnNvckJsb2NrLmZvbnRTaXplIHx8IDE2LFxuICAgICAgJ2NvbG9yJzogc3BvbnNvckJsb2NrLmZvbnRDb2xvciB8fCAnIzAwMDAwMCdcbiAgICB9XCI+XG4gICAge3sgc3BvbnNvckJsb2NrLmNvbnRlbnQgfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -7,14 +7,14 @@ export class SponsorLogoBlockComponent {
7
7
  constructor() { }
8
8
  }
9
9
  SponsorLogoBlockComponent.ɵfac = function SponsorLogoBlockComponent_Factory(t) { return new (t || SponsorLogoBlockComponent)(); };
10
- SponsorLogoBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorLogoBlockComponent, selectors: [["ng-miam-sponsor-logo-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 2, vars: 4, consts: [[1, "sponsor-logo-block", 3, "ngStyle"], [1, "sponsor-logo-block__logo", 3, "src"]], template: function SponsorLogoBlockComponent_Template(rf, ctx) { if (rf & 1) {
10
+ SponsorLogoBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorLogoBlockComponent, selectors: [["ng-miam-sponsor-logo-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 2, vars: 5, consts: [[1, "sponsor-logo-block", 3, "ngStyle"], [1, "sponsor-logo-block__logo", 3, "src", "alt"]], template: function SponsorLogoBlockComponent_Template(rf, ctx) { if (rf & 1) {
11
11
  i0.ɵɵelementStart(0, "div", 0);
12
12
  i0.ɵɵelement(1, "img", 1);
13
13
  i0.ɵɵelementEnd();
14
14
  } if (rf & 2) {
15
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c0, ctx.sponsorBlock.backgroundColor || "#FFFFFF"));
15
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(3, _c0, ctx.sponsorBlock.backgroundColor || "#FFFFFF"));
16
16
  i0.ɵɵadvance(1);
17
- i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl);
17
+ i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl)("alt", ctx.sponsorBlock.content || "Logo sponsor");
18
18
  } }, directives: [i1.NgStyle], styles: [".sponsor-logo-block[_ngcontent-%COMP%]{width:100%;aspect-ratio:10/1;display:flex;align-items:center;justify-content:center}.sponsor-logo-block[_ngcontent-%COMP%] .sponsor-logo-block__logo[_ngcontent-%COMP%]{width:100%;height:100%;box-sizing:border-box;padding:4px;-o-object-fit:contain;object-fit:contain}"] });
19
19
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SponsorLogoBlockComponent, [{
20
20
  type: Component,
@@ -26,4 +26,4 @@ SponsorLogoBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorLogoBloc
26
26
  }], function () { return []; }, { sponsorBlock: [{
27
27
  type: Input
28
28
  }] }); })();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWxvZ28tYmxvY2svc3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWxvZ28tYmxvY2svc3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLGdCQUFnQixDQUFDOztrR0FITix5QkFBeUI7OERBQXpCLHlCQUF5QjtRQ1J0Qyw4QkFBNEc7UUFDMUcseUJBQXVFO1FBQ3pFLGlCQUFNOztRQUYwQixtR0FBMkU7UUFDbkUsZUFBK0I7UUFBL0IsbUVBQStCOzt1RkRPMUQseUJBQXlCO2NBTHJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1sb2dvLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Nwb25zb3ItbG9nby1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nwb25zb3ItbG9nby1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JMb2dvQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBzcG9uc29yQmxvY2s6IFNwb25zb3JCbG9jaztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BvbnNvci1sb2dvLWJsb2NrXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogc3BvbnNvckJsb2NrLmJhY2tncm91bmRDb2xvciB8fCAnI0ZGRkZGRid9XCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLWxvZ28tYmxvY2tfX2xvZ29cIiBbc3JjXT1cInNwb25zb3JCbG9jay5waWN0dXJlVXJsXCIvPlxuPC9kaXY+XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWxvZ28tYmxvY2svc3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLWxvZ28tYmxvY2svc3BvbnNvci1sb2dvLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLGdCQUFnQixDQUFDOztrR0FITix5QkFBeUI7OERBQXpCLHlCQUF5QjtRQ1J0Qyw4QkFBNEc7UUFDMUcseUJBQXNIO1FBQ3hILGlCQUFNOztRQUYwQixtR0FBMkU7UUFDbkUsZUFBK0I7UUFBL0IsbUVBQStCLG1EQUFBOzt1RkRPMUQseUJBQXlCO2NBTHJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1sb2dvLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Nwb25zb3ItbG9nby1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nwb25zb3ItbG9nby1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JMb2dvQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBzcG9uc29yQmxvY2s6IFNwb25zb3JCbG9jaztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BvbnNvci1sb2dvLWJsb2NrXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogc3BvbnNvckJsb2NrLmJhY2tncm91bmRDb2xvciB8fCAnI0ZGRkZGRid9XCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLWxvZ28tYmxvY2tfX2xvZ29cIiBbc3JjXT1cInNwb25zb3JCbG9jay5waWN0dXJlVXJsXCIgW2FsdF09XCJzcG9uc29yQmxvY2suY29udGVudCB8fCAnTG9nbyBzcG9uc29yJ1wiLz5cbjwvZGl2PlxuIl19
@@ -5,13 +5,13 @@ export class SponsorPictureBlockComponent {
5
5
  constructor() { }
6
6
  }
7
7
  SponsorPictureBlockComponent.ɵfac = function SponsorPictureBlockComponent_Factory(t) { return new (t || SponsorPictureBlockComponent)(); };
8
- SponsorPictureBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorPictureBlockComponent, selectors: [["ng-miam-sponsor-picture-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 2, vars: 1, consts: [[1, "sponsor-picture-block"], [1, "sponsor-picture-block__picture", 3, "src"]], template: function SponsorPictureBlockComponent_Template(rf, ctx) { if (rf & 1) {
8
+ SponsorPictureBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorPictureBlockComponent, selectors: [["ng-miam-sponsor-picture-block"]], inputs: { sponsorBlock: "sponsorBlock" }, decls: 2, vars: 2, consts: [[1, "sponsor-picture-block"], [1, "sponsor-picture-block__picture", 3, "src", "alt"]], template: function SponsorPictureBlockComponent_Template(rf, ctx) { if (rf & 1) {
9
9
  i0.ɵɵelementStart(0, "div", 0);
10
10
  i0.ɵɵelement(1, "img", 1);
11
11
  i0.ɵɵelementEnd();
12
12
  } if (rf & 2) {
13
13
  i0.ɵɵadvance(1);
14
- i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl);
14
+ i0.ɵɵproperty("src", ctx.sponsorBlock.pictureUrl, i0.ɵɵsanitizeUrl)("alt", ctx.sponsorBlock.content || "Image sponsor");
15
15
  } }, styles: [".sponsor-picture-block[_ngcontent-%COMP%]{width:100%;aspect-ratio:16/9}.sponsor-picture-block[_ngcontent-%COMP%] .sponsor-picture-block__picture[_ngcontent-%COMP%]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}"] });
16
16
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SponsorPictureBlockComponent, [{
17
17
  type: Component,
@@ -23,4 +23,4 @@ SponsorPictureBlockComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SponsorPictu
23
23
  }], function () { return []; }, { sponsorBlock: [{
24
24
  type: Input
25
25
  }] }); })();
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLXBpY3R1cmUtYmxvY2svc3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLXBpY3R1cmUtYmxvY2svc3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLDRCQUE0QjtJQUd2QyxnQkFBZ0IsQ0FBQzs7d0dBSE4sNEJBQTRCO2lFQUE1Qiw0QkFBNEI7UUNSekMsOEJBQW1DO1FBQ2pDLHlCQUE2RTtRQUMvRSxpQkFBTTs7UUFEd0MsZUFBK0I7UUFBL0IsbUVBQStCOzt1RkRPaEUsNEJBQTRCO2NBTHhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQzthQUN0RDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1waWN0dXJlLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Nwb25zb3ItcGljdHVyZS1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nwb25zb3ItcGljdHVyZS1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JQaWN0dXJlQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBzcG9uc29yQmxvY2s6IFNwb25zb3JCbG9jaztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BvbnNvci1waWN0dXJlLWJsb2NrXCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLXBpY3R1cmUtYmxvY2tfX3BpY3R1cmVcIiBbc3JjXT1cInNwb25zb3JCbG9jay5waWN0dXJlVXJsXCIvPlxuPC9kaXY+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLXBpY3R1cmUtYmxvY2svc3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fY29tcG9uZW50cy9zcG9uc29yLWJsb2Nrcy9zcG9uc29yLXBpY3R1cmUtYmxvY2svc3BvbnNvci1waWN0dXJlLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLDRCQUE0QjtJQUd2QyxnQkFBZ0IsQ0FBQzs7d0dBSE4sNEJBQTRCO2lFQUE1Qiw0QkFBNEI7UUNSekMsOEJBQW1DO1FBQ2pDLHlCQUE2SDtRQUMvSCxpQkFBTTs7UUFEd0MsZUFBK0I7UUFBL0IsbUVBQStCLG9EQUFBOzt1RkRPaEUsNEJBQTRCO2NBTHhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxXQUFXLEVBQUUsd0NBQXdDO2dCQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQzthQUN0RDtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3BvbnNvckJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3BvbnNvci1waWN0dXJlLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Nwb25zb3ItcGljdHVyZS1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nwb25zb3ItcGljdHVyZS1ibG9jay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwb25zb3JQaWN0dXJlQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBzcG9uc29yQmxvY2s6IFNwb25zb3JCbG9jaztcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic3BvbnNvci1waWN0dXJlLWJsb2NrXCI+XG4gIDxpbWcgY2xhc3M9XCJzcG9uc29yLXBpY3R1cmUtYmxvY2tfX3BpY3R1cmVcIiBbc3JjXT1cInNwb25zb3JCbG9jay5waWN0dXJlVXJsXCIgW2FsdF09XCJzcG9uc29yQmxvY2suY29udGVudCB8fCAnSW1hZ2Ugc3BvbnNvcidcIi8+XG48L2Rpdj5cbiJdfQ==