ng-miam 6.4.13 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/bundles/ng-miam.umd.js +8539 -10855
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/event-tracer.component.js +3 -2
  6. package/esm2015/lib/_components/accordion/accordion.component.js +75 -0
  7. package/esm2015/lib/_components/components.module.js +27 -21
  8. package/esm2015/lib/_components/counter-input/counter-input.component.js +86 -76
  9. package/esm2015/lib/_components/icon/icon.component.js +1 -1
  10. package/esm2015/lib/_components/index.js +5 -5
  11. package/esm2015/lib/_components/like-button/like-button.component.js +1 -1
  12. package/esm2015/lib/_components/list-input/list-input.component.js +5 -5
  13. package/esm2015/lib/_components/loader/loader.component.js +1 -1
  14. package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +3 -3
  15. package/esm2015/lib/_components/modal/modal.component.js +155 -137
  16. package/esm2015/lib/_components/product-card/product-card.component.js +333 -0
  17. package/esm2015/lib/_components/products-picker/products-picker.component.js +155 -0
  18. package/esm2015/lib/_components/progress-tracker/progress-tracker.component.js +1 -1
  19. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +166 -217
  20. package/esm2015/lib/_components/recipe-pricing/recipe-pricing.component.js +55 -35
  21. package/esm2015/lib/_components/slider-tabs/slider-tabs.component.js +84 -0
  22. package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +1 -1
  23. package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +1 -1
  24. package/esm2015/lib/_components/tabs/tabs.component.js +48 -88
  25. package/esm2015/lib/_components/toaster/toaster.component.js +48 -84
  26. package/esm2015/lib/_components/tooltipable-content/tooltipable-content.component.js +1 -1
  27. package/esm2015/lib/_models/basket-entry.js +33 -49
  28. package/esm2015/lib/_models/basket-preview-line.js +5 -5
  29. package/esm2015/lib/_models/basket.js +15 -12
  30. package/esm2015/lib/_models/item.js +2 -2
  31. package/esm2015/lib/_models/recipe.js +2 -15
  32. package/esm2015/lib/_models/user.js +1 -1
  33. package/esm2015/lib/_services/analytics.service.js +24 -5
  34. package/esm2015/lib/_services/baskets-synchronizing/baskets-comparator.service.js +1 -10
  35. package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +15 -15
  36. package/esm2015/lib/_services/baskets.service.js +478 -60
  37. package/esm2015/lib/_services/context.service.js +22 -35
  38. package/esm2015/lib/_services/index.js +3 -5
  39. package/esm2015/lib/_services/interceptor.service.js +2 -2
  40. package/esm2015/lib/_services/items.service.js +27 -4
  41. package/esm2015/lib/_services/recipe-details.service.js +198 -0
  42. package/esm2015/lib/_services/recipe-likes.service.js +1 -1
  43. package/esm2015/lib/_services/recipes.service.js +24 -53
  44. package/esm2015/lib/_services/scrolling.service.js +17 -0
  45. package/esm2015/lib/_services/toaster.service.js +4 -5
  46. package/esm2015/lib/_services/user.service.js +2 -2
  47. package/esm2015/lib/_types/basket-action-type.enum.js +11 -0
  48. package/esm2015/lib/_types/basket-action.js +2 -0
  49. package/esm2015/lib/_types/basket-stats.js +2 -0
  50. package/esm2015/lib/_types/builded/miam-interface.js +1 -1
  51. package/esm2015/lib/_types/event-trace.js +5 -0
  52. package/esm2015/lib/_types/items-comparator.js +1 -10
  53. package/esm2015/lib/_types/recipe-filters.js +1 -1
  54. package/esm2015/lib/_types/toaster.js +1 -1
  55. package/esm2015/lib/_utils/directives/index.js +2 -1
  56. package/esm2015/lib/_utils/directives/reach-top.directive.js +33 -0
  57. package/esm2015/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.js +8 -2
  58. package/esm2015/lib/_utils/utils.module.js +12 -8
  59. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +140 -118
  60. package/esm2015/lib/_web-components/basket-preview/basket-preview-disabled/basket-preview-disabled.component.js +2 -2
  61. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +125 -444
  62. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +211 -108
  63. package/esm2015/lib/_web-components/index.js +1 -4
  64. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +11 -14
  65. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +13 -13
  66. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +6 -6
  67. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +10 -10
  68. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +23 -11
  69. package/esm2015/lib/_web-components/meals-planner/meals-planner-basket-confirmation/meals-planner-basket-confirmation.component.js +1 -1
  70. package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
  71. package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +7 -7
  72. package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +5 -5
  73. package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +16 -20
  74. package/esm2015/lib/_web-components/planner-side-menu/planner-side-menu.component.js +4 -53
  75. package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
  76. package/esm2015/lib/_web-components/recipe-cards/index.js +1 -3
  77. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +326 -404
  78. package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +50 -146
  79. package/esm2015/lib/_web-components/recipe-cards/recipe-cards.module.js +3 -15
  80. package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +1 -1
  81. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +35 -29
  82. package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +1 -1
  83. package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +27 -31
  84. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +98 -100
  85. package/esm2015/lib/_web-components/recipe-creation/recipe-form/recipe-form.component.js +2 -2
  86. package/esm2015/lib/_web-components/recipe-creation/recipe-stepper/recipe-stepper.component.js +7 -7
  87. package/esm2015/lib/_web-components/recipe-creation/tags-creator/tags-creator.component.js +4 -4
  88. package/esm2015/lib/_web-components/recipe-creation/tags-selector/tags-selector.component.js +8 -8
  89. package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +7 -3
  90. package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +57 -358
  91. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +59 -122
  92. package/esm2015/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.js +51 -72
  93. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +313 -363
  94. package/esm2015/lib/_web-components/recipe-details/recipe-details.module.js +8 -4
  95. package/esm2015/lib/_web-components/recipe-details/sponsor-storytelling/sponsor-storytelling.component.js +1 -1
  96. package/esm2015/lib/_web-components/recipe-helper/recipe-helper.component.js +89 -113
  97. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +78 -69
  98. package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +5 -5
  99. package/esm2015/lib/_web-components/toaster-stack/toaster-stack.component.js +8 -4
  100. package/esm2015/lib/_web-components/web-components.module.js +3 -19
  101. package/esm2015/lib/ng-miam.module.js +5 -7
  102. package/fesm2015/ng-miam.js +5165 -6973
  103. package/fesm2015/ng-miam.js.map +1 -1
  104. package/lib/_components/abstracts/event-tracer.component.d.ts +2 -1
  105. package/lib/_components/accordion/accordion.component.d.ts +23 -0
  106. package/lib/_components/components.module.d.ts +38 -36
  107. package/lib/_components/counter-input/counter-input.component.d.ts +12 -14
  108. package/lib/_components/index.d.ts +4 -4
  109. package/lib/_components/modal/modal.component.d.ts +18 -18
  110. package/lib/_components/product-card/product-card.component.d.ts +40 -0
  111. package/lib/_components/products-picker/products-picker.component.d.ts +17 -0
  112. package/lib/_components/recipe-pricing/recipe-pricing.component.d.ts +12 -8
  113. package/lib/_components/slider-tabs/slider-tabs.component.d.ts +16 -0
  114. package/lib/_components/tabs/tabs.component.d.ts +11 -11
  115. package/lib/_components/toaster/toaster.component.d.ts +4 -2
  116. package/lib/_models/basket-entry.d.ts +16 -20
  117. package/lib/_models/basket-preview-line.d.ts +1 -0
  118. package/lib/_models/basket.d.ts +12 -5
  119. package/lib/_models/item.d.ts +1 -1
  120. package/lib/_models/recipe.d.ts +0 -5
  121. package/lib/_models/user.d.ts +0 -1
  122. package/lib/_services/analytics.service.d.ts +8 -22
  123. package/lib/_services/baskets-synchronizing/baskets-comparator.service.d.ts +0 -5
  124. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +3 -6
  125. package/lib/_services/baskets.service.d.ts +137 -18
  126. package/lib/_services/context.service.d.ts +2 -4
  127. package/lib/_services/index.d.ts +2 -4
  128. package/lib/_services/items.service.d.ts +9 -2
  129. package/lib/_services/recipe-details.service.d.ts +84 -0
  130. package/lib/_services/recipe-likes.service.d.ts +2 -1
  131. package/lib/_services/recipes.service.d.ts +10 -14
  132. package/lib/_services/scrolling.service.d.ts +8 -0
  133. package/lib/_services/toaster.service.d.ts +1 -1
  134. package/lib/_types/basket-action-type.enum.d.ts +9 -0
  135. package/lib/_types/basket-action.d.ts +14 -0
  136. package/lib/_types/basket-stats.d.ts +5 -0
  137. package/lib/_types/builded/miam-interface.d.ts +16 -25
  138. package/lib/_types/event-trace.d.ts +22 -0
  139. package/lib/_types/items-comparator.d.ts +0 -5
  140. package/lib/_types/recipe-filters.d.ts +0 -2
  141. package/lib/_types/toaster.d.ts +1 -1
  142. package/lib/_utils/directives/index.d.ts +1 -0
  143. package/lib/_utils/directives/reach-top.directive.d.ts +13 -0
  144. package/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.d.ts +1 -1
  145. package/lib/_utils/utils.module.d.ts +2 -2
  146. package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +9 -8
  147. package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +11 -9
  148. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +27 -20
  149. package/lib/_web-components/index.d.ts +0 -3
  150. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +1 -2
  151. package/lib/_web-components/list-scan/files-inputs/files-inputs.component.d.ts +6 -5
  152. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +3 -3
  153. package/lib/_web-components/list-scan/list-scan.component.d.ts +3 -3
  154. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +8 -6
  155. package/lib/_web-components/meals-planner/meals-planner.component.d.ts +2 -3
  156. package/lib/_web-components/recipe-cards/index.d.ts +0 -2
  157. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +58 -17
  158. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +5 -12
  159. package/lib/_web-components/recipe-cards/recipe-cards.module.d.ts +7 -9
  160. package/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.d.ts +8 -6
  161. package/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.d.ts +7 -4
  162. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +2 -3
  163. package/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.d.ts +5 -2
  164. package/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.d.ts +6 -18
  165. package/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.d.ts +6 -13
  166. package/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.d.ts +2 -10
  167. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +29 -36
  168. package/lib/_web-components/recipe-details/recipe-details.module.d.ts +2 -1
  169. package/lib/_web-components/recipe-helper/recipe-helper.component.d.ts +2 -6
  170. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +11 -9
  171. package/lib/_web-components/toaster-stack/toaster-stack.component.d.ts +5 -2
  172. package/lib/_web-components/web-components.module.d.ts +23 -29
  173. package/miam-style.css +1 -1
  174. package/package.json +1 -1
  175. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +0 -130
  176. package/esm2015/lib/_components/skeleton/skeleton.component.js +0 -70
  177. package/esm2015/lib/_components/tabs/tab-body.component.js +0 -30
  178. package/esm2015/lib/_components/tabs/tab-item.component.js +0 -36
  179. package/esm2015/lib/_components/tabs/tab-label.component.js +0 -30
  180. package/esm2015/lib/_models/groceries-entry.js +0 -42
  181. package/esm2015/lib/_models/groceries-list.js +0 -36
  182. package/esm2015/lib/_services/counter.service.js +0 -20
  183. package/esm2015/lib/_services/groceries-entries.service.js +0 -21
  184. package/esm2015/lib/_services/groceries-lists.service.js +0 -240
  185. package/esm2015/lib/_services/recipe-events.service.js +0 -63
  186. package/esm2015/lib/_types/skeleton.enum.js +0 -7
  187. package/esm2015/lib/_web-components/drawer/drawer.component.js +0 -273
  188. package/esm2015/lib/_web-components/pos-card/pos-card.component.js +0 -207
  189. package/esm2015/lib/_web-components/pos-selection/pos-selection.component.js +0 -283
  190. package/esm2015/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.js +0 -632
  191. package/esm2015/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.js +0 -144
  192. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +0 -49
  193. package/lib/_components/skeleton/skeleton.component.d.ts +0 -11
  194. package/lib/_components/tabs/tab-body.component.d.ts +0 -8
  195. package/lib/_components/tabs/tab-item.component.d.ts +0 -11
  196. package/lib/_components/tabs/tab-label.component.d.ts +0 -8
  197. package/lib/_models/groceries-entry.d.ts +0 -20
  198. package/lib/_models/groceries-list.d.ts +0 -30
  199. package/lib/_services/counter.service.d.ts +0 -10
  200. package/lib/_services/groceries-entries.service.d.ts +0 -10
  201. package/lib/_services/groceries-lists.service.d.ts +0 -68
  202. package/lib/_services/recipe-events.service.d.ts +0 -23
  203. package/lib/_types/skeleton.enum.d.ts +0 -5
  204. package/lib/_web-components/drawer/drawer.component.d.ts +0 -37
  205. package/lib/_web-components/pos-card/pos-card.component.d.ts +0 -24
  206. package/lib/_web-components/pos-selection/pos-selection.component.d.ts +0 -38
  207. package/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.d.ts +0 -49
  208. package/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.d.ts +0 -42
@@ -4,7 +4,7 @@ import { combineLatest, forkJoin, of } from "rxjs";
4
4
  import { AnalyticsService } from "../../_services/analytics.service";
5
5
  import { ContextService } from "../../_services/context.service";
6
6
  import { Icon } from "../../_types/icon.enum";
7
- import { BasketsService, GroceriesListsService, PointOfSalesService, RecipesService } from "../../_services";
7
+ import { BasketsService, PointOfSalesService, RecipesService } from "../../_services";
8
8
  import { FormBuilder, FormControl, Validators } from "@angular/forms";
9
9
  import { skipWhile, switchMap, take, tap } from "rxjs/operators";
10
10
  import * as i0 from "@angular/core";
@@ -150,13 +150,12 @@ const recipeSparseFields = {
150
150
  ['recipe-provider']: ['name']
151
151
  };
152
152
  export class MealsPlannerComponent extends EventTracerComponent {
153
- constructor(fb, cdr, analyticsService, contextService, groceriesListsService, recipesService, basketsService, posService) {
153
+ constructor(fb, cdr, analyticsService, contextService, recipesService, basketsService, posService) {
154
154
  super(analyticsService);
155
155
  this.fb = fb;
156
156
  this.cdr = cdr;
157
157
  this.analyticsService = analyticsService;
158
158
  this.contextService = contextService;
159
- this.groceriesListsService = groceriesListsService;
160
159
  this.recipesService = recipesService;
161
160
  this.basketsService = basketsService;
162
161
  this.posService = posService;
@@ -176,13 +175,13 @@ export class MealsPlannerComponent extends EventTracerComponent {
176
175
  this.subscriptions = [];
177
176
  }
178
177
  ngOnInit() {
179
- this.contextService.enableMealsPlanner$.pipe(skipWhile(enabled => !enabled), take(1)).subscribe(() => {
178
+ this.subscriptions.push(this.contextService.enableMealsPlanner$.pipe(skipWhile(enabled => !enabled), take(1)).subscribe(() => {
180
179
  this.cdr.markForCheck();
181
180
  this.featureIsAuthorized = true;
182
181
  this.initForm();
183
182
  this.pageview();
184
183
  this.subscriptions.push(this.initRecipesPricing());
185
- });
184
+ }));
186
185
  }
187
186
  ngOnChanges() {
188
187
  this.cdr.detectChanges();
@@ -200,12 +199,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
200
199
  fetchRecipes(inputs) {
201
200
  this.loading = true;
202
201
  this.cdr.detectChanges();
203
- if (this.contextService.displayIngredientPicturesOnRecipeCards && !recipeIncludes.includes('ingredients')) {
204
- recipeIncludes.push('ingredients');
205
- recipeSparseFields.recipes.push('ingredients');
206
- recipeSparseFields['ingredients'] = ['name', 'quantity', 'unit', 'active', 'forced-eans', 'picture-url', 'position'];
207
- }
208
- this.recipesService.plan(inputs.budget, inputs.guestsCount, inputs.recipesCount, recipeIncludes, recipeSparseFields, false).pipe(switchMap(recipes => {
202
+ this.subscriptions.push(this.recipesService.plan(inputs.budget, inputs.guestsCount, inputs.recipesCount, recipeIncludes, recipeSparseFields, false).pipe(switchMap(recipes => {
209
203
  this.budgettedRecipes = []; // Refresh the result view
210
204
  this.cdr.detectChanges();
211
205
  this.budgettedRecipes = recipes.map(r => {
@@ -221,21 +215,23 @@ export class MealsPlannerComponent extends EventTracerComponent {
221
215
  this.maxBudget = this.form.value.budget;
222
216
  this.cdr.detectChanges();
223
217
  this.scrollToTop();
224
- });
218
+ }));
225
219
  }
226
220
  ngOnDestroy() {
227
221
  this.subscriptions.forEach(s => s.unsubscribe());
228
222
  }
229
223
  currentPath() { return 'miam/recipes/meals-planner'; }
224
+ // TODO: cut into more methods
230
225
  addRecipes() {
231
226
  this.loading = true;
232
227
  this.scrollToTop();
233
228
  this.cdr.detectChanges();
234
229
  const previousUsedBudget = this.usedBudget;
235
230
  let basketInitialized = false;
236
- this.subscriptions.push(this.groceriesListsService.appendRecipesToList(this.budgettedRecipes.filter(r => r === null || r === void 0 ? void 0 : r.id).map(r => ({ id: r.id, guests: r.modifiedGuests })), // remove empty recipes
237
- this.eventTrace()).pipe(take(1), switchMap(() => {
238
- this.addedRecipesIds = this.budgettedRecipes.filter(r => r === null || r === void 0 ? void 0 : r.id).map(r => r.id);
231
+ const recipesToAdd = this.budgettedRecipes.filter(r => r === null || r === void 0 ? void 0 : r.id); // remove empty recipes
232
+ this.basketsService.addRecipesToBasket(recipesToAdd.map(r => (r.id)), recipesToAdd[0].modifiedGuests, this.eventTrace());
233
+ this.subscriptions.push(this.basketsService.recipesWillBeAdded().pipe(skipWhile(recipesWillBeAdded => recipesWillBeAdded), take(1), switchMap(() => {
234
+ this.addedRecipesIds = recipesToAdd.map(r => r.id);
239
235
  return this.basketsService.basketPreview$.pipe(take(2));
240
236
  }), switchMap(basketPreviewLines => {
241
237
  if (basketInitialized) {
@@ -245,7 +241,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
245
241
  }
246
242
  basketInitialized = true;
247
243
  return of(null);
248
- }), switchMap(basketPreviewLines => {
244
+ }), switchMap((basketPreviewLines) => {
249
245
  if (basketPreviewLines !== null) {
250
246
  if (!this.containsSomeAddedRecipe(basketPreviewLines)) {
251
247
  return this.fetchBudgetValues();
@@ -375,7 +371,7 @@ export class MealsPlannerComponent extends EventTracerComponent {
375
371
  return this.budgettedRecipes.filter(recipe => recipe).map(recipe => recipe.id);
376
372
  }
377
373
  }
378
- MealsPlannerComponent.ɵfac = function MealsPlannerComponent_Factory(t) { return new (t || MealsPlannerComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i3.ContextService), i0.ɵɵdirectiveInject(i4.GroceriesListsService), i0.ɵɵdirectiveInject(i4.RecipesService), i0.ɵɵdirectiveInject(i4.BasketsService), i0.ɵɵdirectiveInject(i4.PointOfSalesService)); };
374
+ MealsPlannerComponent.ɵfac = function MealsPlannerComponent_Factory(t) { return new (t || MealsPlannerComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i3.ContextService), i0.ɵɵdirectiveInject(i4.RecipesService), i0.ɵɵdirectiveInject(i4.BasketsService), i0.ɵɵdirectiveInject(i4.PointOfSalesService)); };
379
375
  MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerComponent, selectors: [["ng-miam-meals-planner"]], viewQuery: function MealsPlannerComponent_Query(rf, ctx) { if (rf & 1) {
380
376
  i0.ɵɵviewQuery(_c0, true);
381
377
  } if (rf & 2) {
@@ -405,7 +401,7 @@ MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerCompone
405
401
  } if (rf & 2) {
406
402
  i0.ɵɵadvance(2);
407
403
  i0.ɵɵproperty("ngIf", ctx.featureIsAuthorized);
408
- } }, directives: [i5.NgIf, i5.NgClass, i6.IconComponent, i7.MealsPlannerFormComponent, i8.MealsPlannerResultComponent, i9.MealsPlannerBasketPreviewComponent, i10.MealsPlannerCatalogComponent, i11.MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{border-bottom:1px solid #d9dde1;display:flex;flex-direction:column;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{align-items:center;background:#fff;border-bottom:1px solid #d9dde1;display:flex;padding:24px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{font-size:14px;font-weight:500;line-height:150%;margin:0 4px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{color:var(--m-color-primary);font-weight:900}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:1px solid #d9dde1;max-width:300px}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 80px;width:100%}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:unset;max-width:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}"], encapsulation: 2, changeDetection: 0 });
404
+ } }, directives: [i5.NgIf, i5.NgClass, i6.IconComponent, i7.MealsPlannerFormComponent, i8.MealsPlannerResultComponent, i9.MealsPlannerBasketPreviewComponent, i10.MealsPlannerCatalogComponent, i11.MealsPlannerBasketConfirmationComponent], styles: [".miam-meals-planner{border-bottom:1px solid #d9dde1;display:flex;flex-direction:column;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb{align-items:center;background:#fff;border-bottom:1px solid #d9dde1;display:flex;padding:24px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb.hidden{display:none}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a{font-size:14px;font-weight:500;line-height:150%;margin:0 4px}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.inactive{color:#1f3543}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb a.active{color:var(--m-color-primary);font-weight:900}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right{transform:rotate(-90deg)}.miam-meals-planner .miam-meals-planner__header .miam-meals-planner__header__breadcrumb .chevron-right .icon-container svg path:last-child{fill:#1f3543}.miam-meals-planner .miam-meals-planner__content{display:flex;height:100%;width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:1px solid #d9dde1;max-width:300px}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview,.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-result{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-preview.reduced{width:0}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-catalog{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 80px;width:100%}@media (max-width:1023px){.miam-meals-planner .miam-meals-planner__header{display:none}.miam-meals-planner .miam-meals-planner__content{flex-direction:column}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form{width:100%}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-form.reduced{border-right:unset;max-width:unset}.miam-meals-planner .miam-meals-planner__content ng-miam-meals-planner-basket-confirmation{padding:0 15px}}.miam-meals-planner .miam-meals-planner__catalog{padding:16px}.miam-meals-planner ng-miam-recipe-card .miam-recipe-card{height:var(--m-catalog-card-height);margin:calc(var(--m-catalog-cards-spacing)/2);width:var(--m-catalog-card-width)}"], encapsulation: 2, changeDetection: 0 });
409
405
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MealsPlannerComponent, [{
410
406
  type: Component,
411
407
  args: [{
@@ -415,8 +411,8 @@ MealsPlannerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MealsPlannerCompone
415
411
  encapsulation: ViewEncapsulation.None,
416
412
  changeDetection: ChangeDetectionStrategy.OnPush
417
413
  }]
418
- }], function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.AnalyticsService }, { type: i3.ContextService }, { type: i4.GroceriesListsService }, { type: i4.RecipesService }, { type: i4.BasketsService }, { type: i4.PointOfSalesService }]; }, { topAnchor: [{
414
+ }], function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.AnalyticsService }, { type: i3.ContextService }, { type: i4.RecipesService }, { type: i4.BasketsService }, { type: i4.PointOfSalesService }]; }, { topAnchor: [{
419
415
  type: ViewChild,
420
416
  args: ['miamMealsPlannerTopAnchor']
421
417
  }] }); })();
422
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhbHMtcGxhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxpQkFBaUIsRUFBcUIsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQTRCLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ1czRCxrQ0FDb0Q7OztJQURFLGtEQUE2Qjs7O0lBRW5GLDZCQUNFO0lBQUEsNEJBQVc7SUFBWCxnQkFBVztJ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Q2hEOzBSQUd5QyxTQUFTO2tCQUFoRCxTQUFTO21CQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQsIE9uQ2hhbmdlcywgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEV2ZW50VHJhY2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL19jb21wb25lbnRzL2Fic3RyYWN0cy9ldmVudC10cmFjZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZVwiO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vX3NlcnZpY2VzL2NvbnRleHQuc2VydmljZVwiO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUsIFBvaW50T2ZTYWxlLCBSZWNpcGUgfSBmcm9tIFwiLi4vLi4vX21vZGVsc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi8uLi9fdHlwZXMvaWNvbi5lbnVtXCI7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVzU2VydmljZSB9IGZyb20gXCIuLi8uLi9fc2VydmljZXNcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBza2lwV2hpbGUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBSZWNpcGVQcmljaW5nIH0gZnJvbSBcIi4uLy4uL19tb2RlbHMvcmVjaXBlLXByaWNpbmdcIjtcblxuY29uc3QgcmVjaXBlSW5jbHVkZXMgPSBbJ3JlY2lwZS1wcm92aWRlcicsICdzcG9uc29ycyddO1xuY29uc3QgcmVjaXBlU3BhcnNlRmllbGRzID0ge1xuICByZWNpcGVzOiBbJ3RpdGxlJywgJ251bWJlci1vZi1ndWVzdHMnLCAnbWVkaWEtdXJsJywgJ3ZpZGVvLWlkJywgJ2ZpbGlncmFuZS1sb2dvLXVybCcsICdkaWZmaWN1bHR5JywgJ3ByZXBhcmF0aW9uLXRpbWUnLCAnY29va2luZy10aW1lJyxcbiAgICAgICAgICAgICdyZXN0aW5nLXRpbWUnLCAuLi5yZWNpcGVJbmNsdWRlc10sXG4gIHNwb25zb3JzOiBbJ2xvZ28tdXJsJ10sXG4gIFsncmVjaXBlLXByb3ZpZGVyJ106IFsnbmFtZSddXG59O1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tbWVhbHMtcGxhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWFscy1wbGFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVhbHMtcGxhbm5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIE1lYWxzUGxhbm5lckNvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ21pYW1NZWFsc1BsYW5uZXJUb3BBbmNob3InKSB0b3BBbmNob3I6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGJ1ZGdldHRlZFJlY2lwZXM6IFJlY2lwZVtdID0gW107XG4gIGJ1ZGdldHRlZFJlY2lwZXNQcmljZXM6IHtcbiAgICBbcmVjaXBlSWQ6IHN0cmluZ106IG51bWJlclxuICB9ID0ge307XG4gIGFkZGVkUmVjaXBlc0lkczogc3RyaW5nW10gPSBbXTtcbiAgaWNvbiA9IEljb247XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgY2F0YWxvZ01vZGUgPSBmYWxzZTtcbiAgcmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyO1xuICBiYXNrZXRDb25maXJtZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICBpbmdyZWRpZW50c1JlZ3JvdXBlZCA9IGZhbHNlO1xuICB0aW1lT25TdGFydCA9IERhdGUubm93KCk7XG4gIGZlYXR1cmVJc0F1dGhvcml6ZWQgPSBmYWxzZTtcblxuICAvLyBQcm9ncmVzcyBiYXJcbiAgdXNlZEJ1ZGdldCA9IDA7XG4gIG1heEJ1ZGdldCA9IDA7XG5cbiAgcHJpdmF0ZSBwb3M6IFBvaW50T2ZTYWxlO1xuICBwcml2YXRlIHByaWNlYm9va0tleTogc3RyaW5nO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmVuYWJsZU1lYWxzUGxhbm5lciQucGlwZShcbiAgICAgIHNraXBXaGlsZShlbmFibGVkID0+ICFlbmFibGVkKSxcbiAgICAgIHRha2UoMSlcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuZmVhdHVyZUlzQXV0aG9yaXplZCA9IHRydWU7XG4gICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICB0aGlzLnBhZ2V2aWV3KCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmluaXRSZWNpcGVzUHJpY2luZygpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIGNvbnN0IHN0b3JlZEZvcm0gPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21pYW0tbWVhbHMtcGxhbm5lci1mb3JtJykpO1xuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ21pYW0tbWVhbHMtcGxhbm5lci1mb3JtJyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBidWRnZXQ6IG5ldyBGb3JtQ29udHJvbChzdG9yZWRGb3JtPy5idWRnZXQgfHwgdW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMSldKSxcbiAgICAgIGd1ZXN0c0NvdW50OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8uZ3Vlc3RzQ291bnQgfHwgMCwgVmFsaWRhdG9ycy5taW4oMSkpLFxuICAgICAgcmVjaXBlc0NvdW50OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8ucmVjaXBlc0NvdW50IHx8ICh0aGlzLmNvbnRleHRTZXJ2aWNlLmFudGlJbmZsYXRpb24gPyAwIDogNCksIFZhbGlkYXRvcnMubWluKDEpKVxuICAgIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGZldGNoUmVjaXBlcyhpbnB1dHM6IHsgYnVkZ2V0OiBudW1iZXIsIGd1ZXN0c0NvdW50OiBudW1iZXIsIHJlY2lwZXNDb3VudDogbnVtYmVyIH0pIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5kaXNwbGF5SW5ncmVkaWVudFBpY3R1cmVzT25SZWNpcGVDYXJkcyAmJiAhcmVjaXBlSW5jbHVkZXMuaW5jbHVkZXMoJ2luZ3JlZGllbnRzJykpIHtcbiAgICAgIHJlY2lwZUluY2x1ZGVzLnB1c2goJ2luZ3JlZGllbnRzJyk7XG4gICAgICByZWNpcGVTcGFyc2VGaWVsZHMucmVjaXBlcy5wdXNoKCdpbmdyZWRpZW50cycpO1xuICAgICAgcmVjaXBlU3BhcnNlRmllbGRzWydpbmdyZWRpZW50cyddID0gWyduYW1lJywgJ3F1YW50aXR5JywgJ3VuaXQnLCAnYWN0aXZlJywgJ2ZvcmNlZC1lYW5zJywgJ3BpY3R1cmUtdXJsJywgJ3Bvc2l0aW9uJ107XG4gICAgfVxuICAgIHRoaXMucmVjaXBlc1NlcnZpY2UucGxhbihcbiAgICAgIGlucHV0cy5idWRnZXQsIGlucHV0cy5ndWVzdHNDb3VudCwgaW5wdXRzLnJlY2lwZXNDb3VudCwgcmVjaXBlSW5jbHVkZXMsIHJlY2lwZVNwYXJzZUZpZWxkcywgZmFsc2VcbiAgICApLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocmVjaXBlcyA9PiB7XG4gICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IFtdOyAvLyBSZWZyZXNoIHRoZSByZXN1bHQgdmlld1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IHJlY2lwZXMubWFwKHIgPT4ge1xuICAgICAgICAgIHIubW9kaWZpZWRHdWVzdHMgPSBpbnB1dHMuZ3Vlc3RzQ291bnQ7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlY2lwZXNQcmljaW5nKCk7XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLnJlZHVjZSgoYWNjLCBwcmljaW5nKSA9PiBhY2MgKyBwcmljaW5nLnByaWNlLCAwKTtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IE1hdGgucm91bmQodGhpcy51c2VkQnVkZ2V0ICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMubWF4QnVkZ2V0ID0gdGhpcy5mb3JtLnZhbHVlLmJ1ZGdldDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7IHJldHVybiAnbWlhbS9yZWNpcGVzL21lYWxzLXBsYW5uZXInOyB9XG5cbiAgYWRkUmVjaXBlcygpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgY29uc3QgcHJldmlvdXNVc2VkQnVkZ2V0ID0gdGhpcy51c2VkQnVkZ2V0O1xuICAgIGxldCBiYXNrZXRJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlc1RvTGlzdChcbiAgICAgICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzLmZpbHRlcihyID0+IHI/LmlkKS5tYXAociA9PiAoeyBpZDogci5pZCwgZ3Vlc3RzOiByLm1vZGlmaWVkR3Vlc3RzIH0pKSwgLy8gcmVtb3ZlIGVtcHR5IHJlY2lwZXNcbiAgICAgICAgdGhpcy5ldmVudFRyYWNlKClcbiAgICAgICkucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcyA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5maWx0ZXIociA9PiByPy5pZCkubWFwKHIgPT4gci5pZCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0UHJldmlldyQucGlwZSh0YWtlKDIpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcChiYXNrZXRQcmV2aWV3TGluZXMgPT4ge1xuICAgICAgICAgIGlmIChiYXNrZXRJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5mZXRjaEJhc2tldFByZXZpZXdQcmljaW5nKGJhc2tldFByZXZpZXdMaW5lcylcbiAgICAgICAgICAgIHRoaXMuaW5ncmVkaWVudHNSZWdyb3VwZWQgPSBwcmV2aW91c1VzZWRCdWRnZXQgIT09IHRoaXMudXNlZEJ1ZGdldDtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFByZXZpZXckO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiYXNrZXRJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKGJhc2tldFByZXZpZXdMaW5lcyA9PiB7XG4gICAgICAgICAgaWYgKGJhc2tldFByZXZpZXdMaW5lcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zU29tZUFkZGVkUmVjaXBlKGJhc2tldFByZXZpZXdMaW5lcykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCdWRnZXRWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmZldGNoQmFza2V0UHJldmlld1ByaWNpbmcoYmFza2V0UHJldmlld0xpbmVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNTb21lQWRkZWRSZWNpcGUoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSB7XG4gICAgbGV0IGNvbnRhaW5zU29tZUFkZGVkUmVjaXBlSWQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcy5mb3JFYWNoKHJlY2lwZUlkID0+IHtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZXMuc29tZShsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKSkge1xuICAgICAgICBjb250YWluc1NvbWVBZGRlZFJlY2lwZUlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29udGFpbnNTb21lQWRkZWRSZWNpcGVJZDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXM6IEJhc2tldFByZXZpZXdMaW5lW10pIHtcbiAgICB0aGlzLnVzZWRCdWRnZXQgPSAwO1xuICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzLmZvckVhY2gocmVjaXBlSWQgPT4ge1xuICAgICAgY29uc3QgYmFza2V0UHJldmlld0xpbmUgPSBiYXNrZXRQcmV2aWV3TGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKTtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZSkge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgKz0gK2Jhc2tldFByZXZpZXdMaW5lLnByaWNlO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlY2lwZXNQcmljaW5nKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucG9zU2VydmljZS5wb3MkLCB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldCRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiAhcmVzdWx0WzBdIHx8ICFyZXN1bHRbMV0pXG4gICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMucG9zID0gcmVzdWx0WzBdO1xuICAgICAgdGhpcy5wcmljZWJvb2tLZXkgPSByZXN1bHRbMV0ucHJpY2Vib29rS2V5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJlY2lwZXNQcmljaW5nKCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZ1tdPiB7XG4gICAgaWYgKHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfHwgIXRoaXMucG9zIHx8ICF0aGlzLmZvcm0udmFsdWUuZ3Vlc3RzQ291bnQpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RzOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+W10gPSBbXTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXMgPSB7fTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZm9yRWFjaChyZWNpcGUgPT4ge1xuICAgICAgaWYgKHJlY2lwZSkge1xuICAgICAgICByZXF1ZXN0cy5wdXNoKHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0UHJpY2luZyhyZWNpcGUuaWQsIHRoaXMucG9zLmlkLCB0aGlzLnByaWNlYm9va0tleSwgdGhpcy5mb3JtLnZhbHVlLmd1ZXN0c0NvdW50KS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdD8ucHJpY2UpLFxuICAgICAgICAgIHRhcChwcmljaW5nID0+IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1ByaWNlc1tyZWNpcGUuaWRdID0gcHJpY2luZy5wcmljZSlcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3RzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihyZXF1ZXN0cykgOiBvZihbXSk7XG4gIH1cblxuICB1cGRhdGVCdWRnZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mZXRjaEJ1ZGdldFZhbHVlcygpLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCdWRnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpLnBpcGUodGFwKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLmxlbmd0aCA+IDAgPyBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCkgOiAwO1xuICAgICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pKVxuICB9XG5cbiAgb3BlbkNhdGFsb2cocmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5yZWNpcGVUb0NoYW5nZUluZGV4ID0gcmVjaXBlVG9DaGFuZ2VJbmRleDtcbiAgICB0aGlzLmNhdGFsb2dNb2RlID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xvc2VDYXRhbG9nKCkge1xuICAgIHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jYXRhbG9nTW9kZSA9IGZhbHNlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBlZGl0UmVjaXBlKHJlY2lwZTogUmVjaXBlKSB7XG4gICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzW3RoaXMucmVjaXBlVG9DaGFuZ2VJbmRleF0gPSByZWNpcGU7XG4gICAgdGhpcy51cGRhdGVCdWRnZXRWYWx1ZXMoKTtcbiAgICB0aGlzLmNsb3NlQ2F0YWxvZygpO1xuICB9XG5cbiAgb3BlbkJhc2tldENvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXggPSBudWxsO1xuICAgIHRoaXMuYmFza2V0Q29uZmlybWVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbmRDb25maXJtYXRpb25FdmVudCgpO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZW5kQ29uZmlybWF0aW9uRXZlbnQoKSB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudFdoZW5SZWFkeShcbiAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9NRUFMU19QTEFOTkVSX0NPTkZJUk1FRCxcbiAgICAgIHRoaXMucGF0aCgpLFxuICAgICAge1xuICAgICAgICBidWRnZXRfdXNlcjogdGhpcy5mb3JtLmdldCgnYnVkZ2V0JykudmFsdWUsXG4gICAgICAgIGJ1ZGdldF9wbGFubmVyOiB0aGlzLnVzZWRCdWRnZXQsXG4gICAgICAgIHJlY2lwZXNfY291bnQ6IHRoaXMuZm9ybS5nZXQoJ3JlY2lwZXNDb3VudCcpLnZhbHVlLFxuICAgICAgICBndWVzdHM6IHRoaXMuZm9ybS5nZXQoJ2d1ZXN0c0NvdW50JykudmFsdWUsXG4gICAgICAgIHVzZXNfY291bnQ6IHRoaXMudXBkYXRlVXNlc0NvdW50KCksXG4gICAgICAgIHRpbWVfcGFzc2VkOiAoRGF0ZS5ub3coKSAtIHRoaXMudGltZU9uU3RhcnQpIC8gMTAwMFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVVc2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvbGRDb3VudCA9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcpKTtcbiAgICBjb25zdCBuZXdDb3VudCA9IE51bWJlci5pc05hTihvbGRDb3VudCkgPyAxIDogb2xkQ291bnQgKyAxO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcsIG5ld0NvdW50LnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiBuZXdDb3VudDtcbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIGlmICh0aGlzLnRvcEFuY2hvcikge1xuICAgICAgdGhpcy50b3BBbmNob3IubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZW1haW5pbmdCdWRnZXQoKSB7XG4gICAgY29uc3QgcmVjaXBlVG9DaGFuZ2VJZCA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1t0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXhdPy5pZDtcbiAgICBsZXQgcmVtYWluaW5nQnVkZ2V0ID0gdGhpcy5tYXhCdWRnZXQgLSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgaWYgKHJlY2lwZVRvQ2hhbmdlSWQpIHtcbiAgICAgIHJlbWFpbmluZ0J1ZGdldCArPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXNbcmVjaXBlVG9DaGFuZ2VJZF07XG4gICAgfVxuICAgIGlmIChyZW1haW5pbmdCdWRnZXQgPiAwKSB7XG4gICAgICByZXR1cm4gcmVtYWluaW5nQnVkZ2V0O1xuICAgIH1cbiAgICByZXR1cm4gMFxuICB9XG5cbiAgZ2V0IHJlbWFpbmluZ1JlY2lwZXNOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5yZWR1Y2UoKGFjYywgcmVjaXBlLCBpKSA9PiB7XG4gICAgICAvLyBEb24ndCBjb3VudCBudWxsIHJlY2lwZXMgYW5kIGN1cnJlbnRseSByZXBsYWNpbmcgcmVjaXBlXG4gICAgICByZXR1cm4gcmVjaXBlICYmIGkgIT09IHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA/IGFjYyA6IGFjYyArIDE7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgZXhjbHVkZWRSZWNpcGVzSWRzKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHJlY2lwZSA9PiByZWNpcGUpLm1hcChyZWNpcGUgPT4gcmVjaXBlLmlkKTtcbiAgfVxufVxuIiwiPGRpdiAjbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvciBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lci1hbmNob3JcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJcIiAqbmdJZj1cImZlYXR1cmVJc0F1dGhvcml6ZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyX19icmVhZGNydW1iXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuJzogYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfVwiPlxuICAgICAgPGEgaHJlZj1cIi9cIj5cbiAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhvbWVcIlxuICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCIjMUYzNTQzXCJcbiAgICAgICAgPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgW2hyZWZdPVwiY29udGV4dFNlcnZpY2UuY2F0YWxvZ1VybFwiIGNsYXNzPVwiaW5hY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5JZMOpZXMgcmVwYXM8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCIgY2xhc3M9XCJjaGV2cm9uLXJpZ2h0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJhY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5QbGFuaWZpZXIgbWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImNhdGFsb2dNb2RlICYmICFiYXNrZXRDb25maXJtZWRcIiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgKm5nSWY9XCJjYXRhbG9nTW9kZSAmJiAhYmFza2V0Q29uZmlybWVkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwic3ViQ2F0ZWdvcnlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5Bam91dGVyIHVuZSBpZMOpZSByZXBhczwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJfX2NvbnRlbnRcIiAqbmdJZj1cImZvcm1cIj5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWZvcm1cbiAgICAgICpuZ0lmPVwiYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWR1Y2VkXT1cImJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMFwiIFtmb3JtXT1cImZvcm1cIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChzdWJtaXR0ZWQpPVwiZmV0Y2hSZWNpcGVzKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAncmVkdWNlZCc6IGJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMCB9XCI+PC9uZy1taWFtLW1lYWxzLXBsYW5uZXItZm9ybT5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLXJlc3VsdFxuICAgICAgKm5nSWY9XCJidWRnZXR0ZWRSZWNpcGVzLmxlbmd0aCA+IDAgJiYgYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWNpcGVzXT1cImJ1ZGdldHRlZFJlY2lwZXNcIiBbdXNlZEJ1ZGdldF09XCJ1c2VkQnVkZ2V0XCIgW21heEJ1ZGdldF09XCJtYXhCdWRnZXRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChyZWNpcGVSZW1vdmFsKT1cInVwZGF0ZUJ1ZGdldFZhbHVlcygpXCJcbiAgICAgIChjb25maXJtZWQpPVwiYWRkUmVjaXBlcygpXCIgKG9wZW5DYXRhbG9nKT1cIm9wZW5DYXRhbG9nKCRldmVudClcIj48L25nLW1pYW0tbWVhbHMtcGxhbm5lci1yZXN1bHQ+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlld1xuICAgICAgKm5nSWY9XCJhZGRlZFJlY2lwZXNJZHMubGVuZ3RoID4gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW3VzZWRCdWRnZXRdPVwidXNlZEJ1ZGdldFwiXG4gICAgICBbbWF4QnVkZ2V0XT1cIm1heEJ1ZGdldFwiXG4gICAgICBbaW5ncmVkaWVudHNSZWdyb3VwZWRdPVwiaW5ncmVkaWVudHNSZWdyb3VwZWRcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdyZWR1Y2VkJzogYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZH1cIlxuICAgICAgKGNsb3NlZCk9XCJvcGVuQmFza2V0Q29uZmlybWF0aW9uKClcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlldz5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2dcbiAgICAgICpuZ0lmPVwiY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbbW9kaWZpZWRHdWVzdHNdPVwiZm9ybS52YWx1ZS5ndWVzdHNDb3VudFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZW1haW5pbmdCdWRnZXRdPVwicmVtYWluaW5nQnVkZ2V0XCJcbiAgICAgIFtyZW1haW5pbmdSZWNpcGVzTnVtYmVyXT1cInJlbWFpbmluZ1JlY2lwZXNOdW1iZXJcIlxuICAgICAgW2V4Y2x1ZGVkUmVjaXBlc0lkc109XCJleGNsdWRlZFJlY2lwZXNJZHNcIlxuICAgICAgKGVkaXRSZWNpcGUpPVwiZWRpdFJlY2lwZSgkZXZlbnQpXCJcbiAgICAgIChjYW5jZWxlZCk9XCJjbG9zZUNhdGFsb2coKVwiPlxuICAgIDwvbmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2c+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uXG4gICAgICAqbmdJZj1cImJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbYnVkZ2V0XT1cInVzZWRCdWRnZXRcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
418
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhbHMtcGxhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9tZWFscy1wbGFubmVyL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxpQkFBaUIsRUFBcUIsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQTRCLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ1czRCxrQ0FDb0Q7OztJQURFLGtEQUE2Qjs7O0lBRW5GLDZCQUNFO0lBQUEsNEJBQVc7SUFBWCxnQkFBVztJQUFzQixpQkFBTztJ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QUNyRCwwREFBMEQ7WUFDMUQsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7MEZBMVJVLHFCQUFxQjswREFBckIscUJBQXFCOzs7Ozs7Ozs7O2lCQ2ZmLFVBQUEsNEVBQVc7Ozs7OztpQkFJWCxVQUFBLG1GQUFtQjs7Ozs7O2lCQUtuQixVQUFBLHVGQUFzQjs7UUF2QnpDLDRCQUF3RTtRQUN4RSx3RUFDRTs7UUFEOEIsZUFBMkI7UUFBM0IsOENBQTJCOztrREQ0QjlDLHFCQUFxQjtjQVJqQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsV0FBVyxFQUFFLGdDQUFnQztnQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7Z0JBQzdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzUEFHeUMsU0FBUztrQkFBaEQsU0FBUzttQkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFdmVudFRyYWNlckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gXCIuLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2VcIjtcbmltcG9ydCB7IEJhc2tldFByZXZpZXdMaW5lLCBQb2ludE9mU2FsZSwgUmVjaXBlIH0gZnJvbSBcIi4uLy4uL19tb2RlbHNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiLi4vLi4vX3R5cGVzL2ljb24uZW51bVwiO1xuaW1wb3J0IHsgQmFza2V0c1NlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFJlY2lwZVByaWNpbmcgfSBmcm9tIFwiLi4vLi4vX21vZGVscy9yZWNpcGUtcHJpY2luZ1wiO1xuXG5jb25zdCByZWNpcGVJbmNsdWRlcyA9IFsncmVjaXBlLXByb3ZpZGVyJywgJ3Nwb25zb3JzJ107XG5jb25zdCByZWNpcGVTcGFyc2VGaWVsZHMgPSB7XG4gIHJlY2lwZXM6IFsndGl0bGUnLCAnbnVtYmVyLW9mLWd1ZXN0cycsICdtZWRpYS11cmwnLCAndmlkZW8taWQnLCAnZmlsaWdyYW5lLWxvZ28tdXJsJywgJ2RpZmZpY3VsdHknLCAncHJlcGFyYXRpb24tdGltZScsICdjb29raW5nLXRpbWUnLFxuICAgICAgICAgICAgJ3Jlc3RpbmctdGltZScsIC4uLnJlY2lwZUluY2x1ZGVzXSxcbiAgc3BvbnNvcnM6IFsnbG9nby11cmwnXSxcbiAgWydyZWNpcGUtcHJvdmlkZXInXTogWyduYW1lJ11cbn07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1tZWFscy1wbGFubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lYWxzLXBsYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZWFscy1wbGFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTWVhbHNQbGFubmVyQ29tcG9uZW50IGV4dGVuZHMgRXZlbnRUcmFjZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZCgnbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvcicpIHRvcEFuY2hvcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgYnVkZ2V0dGVkUmVjaXBlczogUmVjaXBlW10gPSBbXTtcbiAgYnVkZ2V0dGVkUmVjaXBlc1ByaWNlczoge1xuICAgIFtyZWNpcGVJZDogc3RyaW5nXTogbnVtYmVyXG4gIH0gPSB7fTtcbiAgYWRkZWRSZWNpcGVzSWRzOiBzdHJpbmdbXSA9IFtdO1xuICBpY29uID0gSWNvbjtcbiAgZm9ybTogRm9ybUdyb3VwO1xuICBjYXRhbG9nTW9kZSA9IGZhbHNlO1xuICByZWNpcGVUb0NoYW5nZUluZGV4OiBudW1iZXI7XG4gIGJhc2tldENvbmZpcm1lZCA9IGZhbHNlO1xuICBsb2FkaW5nID0gZmFsc2U7XG4gIGluZ3JlZGllbnRzUmVncm91cGVkID0gZmFsc2U7XG4gIHRpbWVPblN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgZmVhdHVyZUlzQXV0aG9yaXplZCA9IGZhbHNlO1xuXG4gIC8vIFByb2dyZXNzIGJhclxuICB1c2VkQnVkZ2V0ID0gMDtcbiAgbWF4QnVkZ2V0ID0gMDtcblxuICBwcml2YXRlIHBvczogUG9pbnRPZlNhbGU7XG4gIHByaXZhdGUgcHJpY2Vib29rS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGFuYWx5dGljc1NlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmVuYWJsZU1lYWxzUGxhbm5lciQucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKGVuYWJsZWQgPT4gIWVuYWJsZWQpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLmZlYXR1cmVJc0F1dGhvcml6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIHRoaXMucGFnZXZpZXcoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5pbml0UmVjaXBlc1ByaWNpbmcoKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICBjb25zdCBzdG9yZWRGb3JtID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItZm9ybScpKTtcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItZm9ybScpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgYnVkZ2V0OiBuZXcgRm9ybUNvbnRyb2woc3RvcmVkRm9ybT8uYnVkZ2V0IHx8IHVuZGVmaW5lZCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDEpXSksXG4gICAgICBndWVzdHNDb3VudDogbmV3IEZvcm1Db250cm9sKHN0b3JlZEZvcm0/Lmd1ZXN0c0NvdW50IHx8IDAsIFZhbGlkYXRvcnMubWluKDEpKSxcbiAgICAgIHJlY2lwZXNDb3VudDogbmV3IEZvcm1Db250cm9sKHN0b3JlZEZvcm0/LnJlY2lwZXNDb3VudCB8fCAodGhpcy5jb250ZXh0U2VydmljZS5hbnRpSW5mbGF0aW9uID8gMCA6IDQpLCBWYWxpZGF0b3JzLm1pbigxKSlcbiAgICB9KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmZXRjaFJlY2lwZXMoaW5wdXRzOiB7IGJ1ZGdldDogbnVtYmVyLCBndWVzdHNDb3VudDogbnVtYmVyLCByZWNpcGVzQ291bnQ6IG51bWJlciB9KSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLnBsYW4oXG4gICAgICAgIGlucHV0cy5idWRnZXQsIGlucHV0cy5ndWVzdHNDb3VudCwgaW5wdXRzLnJlY2lwZXNDb3VudCwgcmVjaXBlSW5jbHVkZXMsIHJlY2lwZVNwYXJzZUZpZWxkcywgZmFsc2VcbiAgICAgICkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHJlY2lwZXMgPT4ge1xuICAgICAgICAgIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcyA9IFtdOyAvLyBSZWZyZXNoIHRoZSByZXN1bHQgdmlld1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMgPSByZWNpcGVzLm1hcChyID0+IHtcbiAgICAgICAgICAgIHIubW9kaWZpZWRHdWVzdHMgPSBpbnB1dHMuZ3Vlc3RzQ291bnQ7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpO1xuICAgICAgICB9KVxuICAgICAgKS5zdWJzY3JpYmUocHJpY2luZ3MgPT4ge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgPSBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCk7XG4gICAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IE1hdGgucm91bmQodGhpcy51c2VkQnVkZ2V0ICogMTAwKSAvIDEwMDtcbiAgICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7IHJldHVybiAnbWlhbS9yZWNpcGVzL21lYWxzLXBsYW5uZXInOyB9XG5cbiAgLy8gVE9ETzogY3V0IGludG8gbW9yZSBtZXRob2RzXG4gIGFkZFJlY2lwZXMoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGNvbnN0IHByZXZpb3VzVXNlZEJ1ZGdldCA9IHRoaXMudXNlZEJ1ZGdldDtcbiAgICBsZXQgYmFza2V0SW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBjb25zdCByZWNpcGVzVG9BZGQgPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHIgPT4gcj8uaWQpOyAvLyByZW1vdmUgZW1wdHkgcmVjaXBlc1xuICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuYWRkUmVjaXBlc1RvQmFza2V0KHJlY2lwZXNUb0FkZC5tYXAociA9PiAoci5pZCkpLCByZWNpcGVzVG9BZGRbMF0ubW9kaWZpZWRHdWVzdHMsIHRoaXMuZXZlbnRUcmFjZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlc1dpbGxCZUFkZGVkKCkucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKHJlY2lwZXNXaWxsQmVBZGRlZCA9PiByZWNpcGVzV2lsbEJlQWRkZWQpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzID0gcmVjaXBlc1RvQWRkLm1hcChyID0+IHIuaWQpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldFByZXZpZXckLnBpcGUodGFrZSgyKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoYmFza2V0UHJldmlld0xpbmVzID0+IHtcbiAgICAgICAgICBpZiAoYmFza2V0SW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXMpXG4gICAgICAgICAgICB0aGlzLmluZ3JlZGllbnRzUmVncm91cGVkID0gcHJldmlvdXNVc2VkQnVkZ2V0ICE9PSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXRQcmV2aWV3JDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYmFza2V0SW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSA9PiB7XG4gICAgICAgICAgaWYgKGJhc2tldFByZXZpZXdMaW5lcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zU29tZUFkZGVkUmVjaXBlKGJhc2tldFByZXZpZXdMaW5lcykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCdWRnZXRWYWx1ZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmZldGNoQmFza2V0UHJldmlld1ByaWNpbmcoYmFza2V0UHJldmlld0xpbmVzKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udGFpbnNTb21lQWRkZWRSZWNpcGUoYmFza2V0UHJldmlld0xpbmVzOiBCYXNrZXRQcmV2aWV3TGluZVtdKSB7XG4gICAgbGV0IGNvbnRhaW5zU29tZUFkZGVkUmVjaXBlSWQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZGVkUmVjaXBlc0lkcy5mb3JFYWNoKHJlY2lwZUlkID0+IHtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZXMuc29tZShsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKSkge1xuICAgICAgICBjb250YWluc1NvbWVBZGRlZFJlY2lwZUlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29udGFpbnNTb21lQWRkZWRSZWNpcGVJZDtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCYXNrZXRQcmV2aWV3UHJpY2luZyhiYXNrZXRQcmV2aWV3TGluZXM6IEJhc2tldFByZXZpZXdMaW5lW10pIHtcbiAgICB0aGlzLnVzZWRCdWRnZXQgPSAwO1xuICAgIHRoaXMuYWRkZWRSZWNpcGVzSWRzLmZvckVhY2gocmVjaXBlSWQgPT4ge1xuICAgICAgY29uc3QgYmFza2V0UHJldmlld0xpbmUgPSBiYXNrZXRQcmV2aWV3TGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IHJlY2lwZUlkKTtcbiAgICAgIGlmIChiYXNrZXRQcmV2aWV3TGluZSkge1xuICAgICAgICB0aGlzLnVzZWRCdWRnZXQgKz0gK2Jhc2tldFByZXZpZXdMaW5lLnByaWNlO1xuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFJlY2lwZXNQcmljaW5nKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucG9zU2VydmljZS5wb3MkLCB0aGlzLmJhc2tldHNTZXJ2aWNlLmJhc2tldCRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdCA9PiAhcmVzdWx0WzBdIHx8ICFyZXN1bHRbMV0pXG4gICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMucG9zID0gcmVzdWx0WzBdO1xuICAgICAgdGhpcy5wcmljZWJvb2tLZXkgPSByZXN1bHRbMV0ucHJpY2Vib29rS2V5O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaFJlY2lwZXNQcmljaW5nKCk6IE9ic2VydmFibGU8UmVjaXBlUHJpY2luZ1tdPiB7XG4gICAgaWYgKHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfHwgIXRoaXMucG9zIHx8ICF0aGlzLmZvcm0udmFsdWUuZ3Vlc3RzQ291bnQpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RzOiBPYnNlcnZhYmxlPFJlY2lwZVByaWNpbmc+W10gPSBbXTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXMgPSB7fTtcbiAgICB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZm9yRWFjaChyZWNpcGUgPT4ge1xuICAgICAgaWYgKHJlY2lwZSkge1xuICAgICAgICByZXF1ZXN0cy5wdXNoKHRoaXMucmVjaXBlc1NlcnZpY2UuZ2V0UHJpY2luZyhyZWNpcGUuaWQsIHRoaXMucG9zLmlkLCB0aGlzLnByaWNlYm9va0tleSwgdGhpcy5mb3JtLnZhbHVlLmd1ZXN0c0NvdW50KS5waXBlKFxuICAgICAgICAgIHNraXBXaGlsZShyZXN1bHQgPT4gIXJlc3VsdD8ucHJpY2UpLFxuICAgICAgICAgIHRhcChwcmljaW5nID0+IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1ByaWNlc1tyZWNpcGUuaWRdID0gcHJpY2luZy5wcmljZSlcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3RzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihyZXF1ZXN0cykgOiBvZihbXSk7XG4gIH1cblxuICB1cGRhdGVCdWRnZXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mZXRjaEJ1ZGdldFZhbHVlcygpLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hCdWRnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hSZWNpcGVzUHJpY2luZygpLnBpcGUodGFwKHByaWNpbmdzID0+IHtcbiAgICAgIHRoaXMudXNlZEJ1ZGdldCA9IHByaWNpbmdzLmxlbmd0aCA+IDAgPyBwcmljaW5ncy5yZWR1Y2UoKGFjYywgcHJpY2luZykgPT4gYWNjICsgcHJpY2luZy5wcmljZSwgMCkgOiAwO1xuICAgICAgdGhpcy51c2VkQnVkZ2V0ID0gTWF0aC5yb3VuZCh0aGlzLnVzZWRCdWRnZXQgKiAxMDApIC8gMTAwO1xuICAgICAgdGhpcy5tYXhCdWRnZXQgPSB0aGlzLmZvcm0udmFsdWUuYnVkZ2V0O1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pKVxuICB9XG5cbiAgb3BlbkNhdGFsb2cocmVjaXBlVG9DaGFuZ2VJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5yZWNpcGVUb0NoYW5nZUluZGV4ID0gcmVjaXBlVG9DaGFuZ2VJbmRleDtcbiAgICB0aGlzLmNhdGFsb2dNb2RlID0gdHJ1ZTtcbiAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xvc2VDYXRhbG9nKCkge1xuICAgIHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA9IG51bGw7XG4gICAgdGhpcy5jYXRhbG9nTW9kZSA9IGZhbHNlO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBlZGl0UmVjaXBlKHJlY2lwZTogUmVjaXBlKSB7XG4gICAgdGhpcy5idWRnZXR0ZWRSZWNpcGVzW3RoaXMucmVjaXBlVG9DaGFuZ2VJbmRleF0gPSByZWNpcGU7XG4gICAgdGhpcy51cGRhdGVCdWRnZXRWYWx1ZXMoKTtcbiAgICB0aGlzLmNsb3NlQ2F0YWxvZygpO1xuICB9XG5cbiAgb3BlbkJhc2tldENvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXggPSBudWxsO1xuICAgIHRoaXMuYmFza2V0Q29uZmlybWVkID0gdHJ1ZTtcbiAgICB0aGlzLnNlbmRDb25maXJtYXRpb25FdmVudCgpO1xuICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZW5kQ29uZmlybWF0aW9uRXZlbnQoKSB7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudFdoZW5SZWFkeShcbiAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5FVkVOVF9NRUFMU19QTEFOTkVSX0NPTkZJUk1FRCxcbiAgICAgIHRoaXMucGF0aCgpLFxuICAgICAge1xuICAgICAgICBidWRnZXRfdXNlcjogdGhpcy5mb3JtLmdldCgnYnVkZ2V0JykudmFsdWUsXG4gICAgICAgIGJ1ZGdldF9wbGFubmVyOiB0aGlzLnVzZWRCdWRnZXQsXG4gICAgICAgIHJlY2lwZXNfY291bnQ6IHRoaXMuZm9ybS5nZXQoJ3JlY2lwZXNDb3VudCcpLnZhbHVlLFxuICAgICAgICBndWVzdHM6IHRoaXMuZm9ybS5nZXQoJ2d1ZXN0c0NvdW50JykudmFsdWUsXG4gICAgICAgIHVzZXNfY291bnQ6IHRoaXMudXBkYXRlVXNlc0NvdW50KCksXG4gICAgICAgIHRpbWVfcGFzc2VkOiAoRGF0ZS5ub3coKSAtIHRoaXMudGltZU9uU3RhcnQpIC8gMTAwMFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVVc2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvbGRDb3VudCA9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcpKTtcbiAgICBjb25zdCBuZXdDb3VudCA9IE51bWJlci5pc05hTihvbGRDb3VudCkgPyAxIDogb2xkQ291bnQgKyAxO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdtaWFtLW1lYWxzLXBsYW5uZXItdXNlcy1jb3VudCcsIG5ld0NvdW50LnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiBuZXdDb3VudDtcbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIGlmICh0aGlzLnRvcEFuY2hvcikge1xuICAgICAgdGhpcy50b3BBbmNob3IubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByZW1haW5pbmdCdWRnZXQoKSB7XG4gICAgY29uc3QgcmVjaXBlVG9DaGFuZ2VJZCA9IHRoaXMuYnVkZ2V0dGVkUmVjaXBlc1t0aGlzLnJlY2lwZVRvQ2hhbmdlSW5kZXhdPy5pZDtcbiAgICBsZXQgcmVtYWluaW5nQnVkZ2V0ID0gdGhpcy5tYXhCdWRnZXQgLSB0aGlzLnVzZWRCdWRnZXQ7XG4gICAgaWYgKHJlY2lwZVRvQ2hhbmdlSWQpIHtcbiAgICAgIHJlbWFpbmluZ0J1ZGdldCArPSB0aGlzLmJ1ZGdldHRlZFJlY2lwZXNQcmljZXNbcmVjaXBlVG9DaGFuZ2VJZF07XG4gICAgfVxuICAgIGlmIChyZW1haW5pbmdCdWRnZXQgPiAwKSB7XG4gICAgICByZXR1cm4gcmVtYWluaW5nQnVkZ2V0O1xuICAgIH1cbiAgICByZXR1cm4gMFxuICB9XG5cbiAgZ2V0IHJlbWFpbmluZ1JlY2lwZXNOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVkZ2V0dGVkUmVjaXBlcy5yZWR1Y2UoKGFjYywgcmVjaXBlLCBpKSA9PiB7XG4gICAgICAvLyBEb24ndCBjb3VudCBudWxsIHJlY2lwZXMgYW5kIGN1cnJlbnRseSByZXBsYWNpbmcgcmVjaXBlXG4gICAgICByZXR1cm4gcmVjaXBlICYmIGkgIT09IHRoaXMucmVjaXBlVG9DaGFuZ2VJbmRleCA/IGFjYyA6IGFjYyArIDE7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgZXhjbHVkZWRSZWNpcGVzSWRzKCkge1xuICAgIHJldHVybiB0aGlzLmJ1ZGdldHRlZFJlY2lwZXMuZmlsdGVyKHJlY2lwZSA9PiByZWNpcGUpLm1hcChyZWNpcGUgPT4gcmVjaXBlLmlkKTtcbiAgfVxufVxuIiwiPGRpdiAjbWlhbU1lYWxzUGxhbm5lclRvcEFuY2hvciBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lci1hbmNob3JcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJcIiAqbmdJZj1cImZlYXR1cmVJc0F1dGhvcml6ZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tbWVhbHMtcGxhbm5lcl9faGVhZGVyX19icmVhZGNydW1iXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuJzogYnVkZ2V0dGVkUmVjaXBlcy5sZW5ndGggPT09IDAgfVwiPlxuICAgICAgPGEgaHJlZj1cIi9cIj5cbiAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhvbWVcIlxuICAgICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICBwcmltYXJ5Q29sb3I9XCIjMUYzNTQzXCJcbiAgICAgICAgPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgW2hyZWZdPVwiY29udGV4dFNlcnZpY2UuY2F0YWxvZ1VybFwiIGNsYXNzPVwiaW5hY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5JZMOpZXMgcmVwYXM8L3NwYW4+XG4gICAgICA8L2E+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLkNoZXZyb25Eb3duXCIgY2xhc3M9XCJjaGV2cm9uLXJpZ2h0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJhY3RpdmVcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5QbGFuaWZpZXIgbWVzIHJlcGFzPC9zcGFuPlxuICAgICAgPC9hPlxuICAgICAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImNhdGFsb2dNb2RlICYmICFiYXNrZXRDb25maXJtZWRcIiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiIGNsYXNzPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgPGEgKm5nSWY9XCJjYXRhbG9nTW9kZSAmJiAhYmFza2V0Q29uZmlybWVkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwic3ViQ2F0ZWdvcnlcIj5cbiAgICAgICAgPHNwYW4gaTE4bj5Bam91dGVyIHVuZSBpZMOpZSByZXBhczwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLW1lYWxzLXBsYW5uZXJfX2NvbnRlbnRcIiAqbmdJZj1cImZvcm1cIj5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWZvcm1cbiAgICAgICpuZ0lmPVwiYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWR1Y2VkXT1cImJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMFwiIFtmb3JtXT1cImZvcm1cIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChzdWJtaXR0ZWQpPVwiZmV0Y2hSZWNpcGVzKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAncmVkdWNlZCc6IGJ1ZGdldHRlZFJlY2lwZXMubGVuZ3RoID4gMCB9XCI+PC9uZy1taWFtLW1lYWxzLXBsYW5uZXItZm9ybT5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLXJlc3VsdFxuICAgICAgKm5nSWY9XCJidWRnZXR0ZWRSZWNpcGVzLmxlbmd0aCA+IDAgJiYgYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZWNpcGVzXT1cImJ1ZGdldHRlZFJlY2lwZXNcIiBbdXNlZEJ1ZGdldF09XCJ1c2VkQnVkZ2V0XCIgW21heEJ1ZGdldF09XCJtYXhCdWRnZXRcIiBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgIChyZWNpcGVSZW1vdmFsKT1cInVwZGF0ZUJ1ZGdldFZhbHVlcygpXCJcbiAgICAgIChjb25maXJtZWQpPVwiYWRkUmVjaXBlcygpXCIgKG9wZW5DYXRhbG9nKT1cIm9wZW5DYXRhbG9nKCRldmVudClcIj48L25nLW1pYW0tbWVhbHMtcGxhbm5lci1yZXN1bHQ+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlld1xuICAgICAgKm5nSWY9XCJhZGRlZFJlY2lwZXNJZHMubGVuZ3RoID4gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW3VzZWRCdWRnZXRdPVwidXNlZEJ1ZGdldFwiXG4gICAgICBbbWF4QnVkZ2V0XT1cIm1heEJ1ZGdldFwiXG4gICAgICBbaW5ncmVkaWVudHNSZWdyb3VwZWRdPVwiaW5ncmVkaWVudHNSZWdyb3VwZWRcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdyZWR1Y2VkJzogYWRkZWRSZWNpcGVzSWRzLmxlbmd0aCA9PT0gMCAmJiAhY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZH1cIlxuICAgICAgKGNsb3NlZCk9XCJvcGVuQmFza2V0Q29uZmlybWF0aW9uKClcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtcHJldmlldz5cbiAgICA8bmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2dcbiAgICAgICpuZ0lmPVwiY2F0YWxvZ01vZGUgJiYgIWJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbbW9kaWZpZWRHdWVzdHNdPVwiZm9ybS52YWx1ZS5ndWVzdHNDb3VudFwiXG4gICAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZSgpXCJcbiAgICAgIFtyZW1haW5pbmdCdWRnZXRdPVwicmVtYWluaW5nQnVkZ2V0XCJcbiAgICAgIFtyZW1haW5pbmdSZWNpcGVzTnVtYmVyXT1cInJlbWFpbmluZ1JlY2lwZXNOdW1iZXJcIlxuICAgICAgW2V4Y2x1ZGVkUmVjaXBlc0lkc109XCJleGNsdWRlZFJlY2lwZXNJZHNcIlxuICAgICAgKGVkaXRSZWNpcGUpPVwiZWRpdFJlY2lwZSgkZXZlbnQpXCJcbiAgICAgIChjYW5jZWxlZCk9XCJjbG9zZUNhdGFsb2coKVwiPlxuICAgIDwvbmctbWlhbS1tZWFscy1wbGFubmVyLWNhdGFsb2c+XG4gICAgPG5nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uXG4gICAgICAqbmdJZj1cImJhc2tldENvbmZpcm1lZFwiXG4gICAgICBbcmVjaXBlc0lkc109XCJhZGRlZFJlY2lwZXNJZHNcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICBbYnVkZ2V0XT1cInVzZWRCdWRnZXRcIj5cbiAgICA8L25nLW1pYW0tbWVhbHMtcGxhbm5lci1iYXNrZXQtY29uZmlybWF0aW9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -6,25 +6,6 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../_services";
7
7
  import * as i2 from "../../_services/calendar-events.service";
8
8
  import * as i3 from "../../_components/tabs/tabs.component";
9
- import * as i4 from "../../_components/tabs/tab-item.component";
10
- import * as i5 from "../../_components/tabs/tab-label.component";
11
- import * as i6 from "../../_components/tabs/tab-body.component";
12
- import * as i7 from "@angular/common";
13
- import * as i8 from "angular-draggable-droppable";
14
- const _c0 = function (a0) { return { event: a0 }; };
15
- function PlannerSideMenuComponent_div_7_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementStart(0, "div", 3);
17
- i0.ɵɵelement(1, "img", 4);
18
- i0.ɵɵtext(2);
19
- i0.ɵɵelementEnd();
20
- } if (rf & 2) {
21
- const event_r1 = ctx.$implicit;
22
- i0.ɵɵproperty("dropData", i0.ɵɵpureFunction1(3, _c0, event_r1));
23
- i0.ɵɵadvance(1);
24
- i0.ɵɵproperty("src", event_r1.recipe == null ? null : event_r1.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate1(" ", event_r1.title, " ");
27
- } }
28
9
  export class PlannerSideMenuComponent {
29
10
  constructor(cdr, recipesService, calendarEventsService) {
30
11
  this.cdr = cdr;
@@ -46,41 +27,11 @@ export class PlannerSideMenuComponent {
46
27
  }
47
28
  }
48
29
  PlannerSideMenuComponent.ɵfac = function PlannerSideMenuComponent_Factory(t) { return new (t || PlannerSideMenuComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.CalendarEventsService)); };
49
- PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuComponent, selectors: [["ng-miam-planner-side-menu"]], decls: 18, vars: 1, consts: [[1, "planner-side-menu"], [1, "events-list"], ["class", "event", "mwlDraggable", "", 3, "dropData", 4, "ngFor", "ngForOf"], ["mwlDraggable", "", 1, "event", 3, "dropData"], [3, "src"]], template: function PlannerSideMenuComponent_Template(rf, ctx) { if (rf & 1) {
30
+ PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuComponent, selectors: [["ng-miam-planner-side-menu"]], decls: 2, vars: 0, consts: [[1, "planner-side-menu"]], template: function PlannerSideMenuComponent_Template(rf, ctx) { if (rf & 1) {
50
31
  i0.ɵɵelementStart(0, "div", 0);
51
- i0.ɵɵelementStart(1, "ng-miam-tabs");
52
- i0.ɵɵelementStart(2, "ng-miam-tab-item");
53
- i0.ɵɵelementStart(3, "ng-miam-tab-label");
54
- i0.ɵɵtext(4, "Des recettes");
32
+ i0.ɵɵelement(1, "ng-miam-tabs");
55
33
  i0.ɵɵelementEnd();
56
- i0.ɵɵelementStart(5, "ng-miam-tab-body");
57
- i0.ɵɵelementStart(6, "div", 1);
58
- i0.ɵɵtemplate(7, PlannerSideMenuComponent_div_7_Template, 3, 5, "div", 2);
59
- i0.ɵɵelementEnd();
60
- i0.ɵɵelementEnd();
61
- i0.ɵɵelementEnd();
62
- i0.ɵɵelementStart(8, "ng-miam-tab-item");
63
- i0.ɵɵelementStart(9, "ng-miam-tab-label");
64
- i0.ɵɵtext(10, "Pas des recettes");
65
- i0.ɵɵelementEnd();
66
- i0.ɵɵelementStart(11, "ng-miam-tab-body");
67
- i0.ɵɵtext(12, " Oups... Pas de recettes par ici \u00AF\\_(\u30C4)_/\u00AF ");
68
- i0.ɵɵelementEnd();
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(13, "ng-miam-tab-item");
71
- i0.ɵɵelementStart(14, "ng-miam-tab-label");
72
- i0.ɵɵtext(15, "Rien");
73
- i0.ɵɵelementEnd();
74
- i0.ɵɵelementStart(16, "ng-miam-tab-body");
75
- i0.ɵɵtext(17, " Y a rien ici ");
76
- i0.ɵɵelementEnd();
77
- i0.ɵɵelementEnd();
78
- i0.ɵɵelementEnd();
79
- i0.ɵɵelementEnd();
80
- } if (rf & 2) {
81
- i0.ɵɵadvance(7);
82
- i0.ɵɵproperty("ngForOf", ctx.events);
83
- } }, directives: [i3.TabsComponent, i4.TabItemComponent, i5.TabLabelComponent, i6.TabBodyComponent, i7.NgForOf, i8.ɵb], styles: [".planner-side-menu{background-color:var(--m-color-white);border-right:3px solid var(--m-color-primary-dark);height:100%;width:100%}.events-list .event img{-o-object-fit:contain;max-width:80px;object-fit:contain}"], encapsulation: 2, changeDetection: 0 });
34
+ } }, directives: [i3.TabsComponent], styles: [".planner-side-menu{background-color:var(--m-color-white);border-right:3px solid var(--m-color-primary-dark);height:100%;width:100%}.events-list .event img{-o-object-fit:contain;max-width:80px;object-fit:contain}"], encapsulation: 2, changeDetection: 0 });
84
35
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PlannerSideMenuComponent, [{
85
36
  type: Component,
86
37
  args: [{
@@ -91,4 +42,4 @@ PlannerSideMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PlannerSideMenuC
91
42
  changeDetection: ChangeDetectionStrategy.OnPush
92
43
  }]
93
44
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i2.CalendarEventsService }]; }, null); })();
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcGxhbm5lci1zaWRlLW1lbnUvcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9wbGFubmVyLXNpZGUtbWVudS9wbGFubmVyLXNpZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7OztJQ0d0RSw4QkFLRTtJQUFBLHlCQUNBO0lBQUEsWUFDRjtJQUFBLGlCQUFNOzs7SUFISiwrREFBMkI7SUFDdEIsZUFBNkM7SUFBN0MsZ0hBQTZDO0lBQ2xELGVBQ0Y7SUFERSwrQ0FDRjs7QURDVixNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQ1UsR0FBc0IsRUFDdEIsY0FBOEIsRUFDOUIscUJBQTRDO1FBRjVDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBTHRELFdBQU0sR0FBb0IsRUFBRSxDQUFDO0lBTXpCLENBQUM7SUFFTCxRQUFRO1FBRU4sOEdBQThHO1FBQzlHLCtGQUErRjtRQUMvRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDNUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUNqQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0dBeEJVLHdCQUF3Qjs2REFBeEIsd0JBQXdCO1FDZnJDLDhCQUNFO1FBQUEsb0NBRUU7UUFBQSx3Q0FDRTtRQUFBLHlDQUFtQjtRQUFBLDRCQUFZO1FBQUEsaUJBQW9CO1FBQ25ELHdDQUNFO1FBQUEsOEJBQ0U7UUFBQSx5RUFLRTtRQUdKLGlCQUFNO1FBQ1IsaUJBQW1CO1FBQ3JCLGlCQUFtQjtRQUVuQix3Q0FDRTtRQUFBLHlDQUFtQjtRQUFBLGlDQUFnQjtRQUFBLGlCQUFvQjtRQUN2RCx5Q0FDRTtRQUFBLDRFQUNGO1FBQUEsaUJBQW1CO1FBQ3JCLGlCQUFtQjtRQUVuQix5Q0FDRTtRQUFBLDBDQUFtQjtRQUFBLHFCQUFJO1FBQUEsaUJBQW9CO1FBQzNDLHlDQUNFO1FBQUEsK0JBQ0Y7UUFBQSxpQkFBbUI7UUFDckIsaUJBQW1CO1FBRXJCLGlCQUFlO1FBQ2pCLGlCQUFNOztRQTFCTSxlQUE0QjtRQUE1QixvQ0FBNEI7O2tERE8zQix3QkFBd0I7Y0FQcEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSxvQ0FBb0M7Z0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2dCQUNqRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJy4uLy4uL19tb2RlbHMvY2FsZW5kYXItZXZlbnQnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2NhbGVuZGFyLWV2ZW50cy5zZXJ2aWNlJztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcGxhbm5lci1zaWRlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFubmVyLXNpZGUtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQbGFubmVyU2lkZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGV2ZW50czogQ2FsZW5kYXJFdmVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FsZW5kYXJFdmVudHNTZXJ2aWNlOiBDYWxlbmRhckV2ZW50c1NlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIC8vIFRvIHRlc3QgdGhhdCB3ZSBjYW4gY3JlYXRlIHNvbWUgY3VzdG9tIGV2ZW50cyB3aXRoIGEgcmVjaXBlIHRoYXQgYXJlIGRyYWdnYWJsZSwgd2UgbG9hZCBhIGJ1bmNoIG9mIHJlY2lwZXMsXG4gICAgLy8gdHJhbnNmb3JtIHRoZW0gaW50byBldmVudHMgYW5kIGRpc3BsYXkgdGhlbS4gTGF0ZXIgUFJzIHdpbGwgbm90IGluaXRpYWxpc2UgZXZlbnRzIGxpa2UgdGhpcy5cbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmFsbCgpLnBpcGUoXG4gICAgICBza2lwV2hpbGUocmVzID0+IHJlcy5pc19sb2FkaW5nKVxuICAgICkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAgcmVzdWx0cy5kYXRhLmZvckVhY2gocmVjaXBlID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSB0aGlzLmNhbGVuZGFyRXZlbnRzU2VydmljZS5uZXcoKTtcbiAgICAgICAgZXZlbnQuYWRkUmVsYXRpb25zaGlwKHJlY2lwZSwgJ3JlY2lwZScpO1xuICAgICAgICB0aGlzLmV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGxhbm5lci1zaWRlLW1lbnVcIj5cbiAgPG5nLW1pYW0tdGFicz5cbiAgICBcbiAgICA8bmctbWlhbS10YWItaXRlbT5cbiAgICAgIDxuZy1taWFtLXRhYi1sYWJlbD5EZXMgcmVjZXR0ZXM8L25nLW1pYW0tdGFiLWxhYmVsPlxuICAgICAgPG5nLW1pYW0tdGFiLWJvZHk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHMtbGlzdFwiPlxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZXZlbnQgb2YgZXZlbnRzXCIgXG4gICAgICAgICAgICBjbGFzcz1cImV2ZW50XCIgXG4gICAgICAgICAgICBtd2xEcmFnZ2FibGVcbiAgICAgICAgICAgIFtkcm9wRGF0YV09XCJ7ZXZlbnQ6IGV2ZW50fVwiPlxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImV2ZW50LnJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIj5cbiAgICAgICAgICAgIHt7ZXZlbnQudGl0bGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctbWlhbS10YWItYm9keT5cbiAgICA8L25nLW1pYW0tdGFiLWl0ZW0+XG5cbiAgICA8bmctbWlhbS10YWItaXRlbT5cbiAgICAgIDxuZy1taWFtLXRhYi1sYWJlbD5QYXMgZGVzIHJlY2V0dGVzPC9uZy1taWFtLXRhYi1sYWJlbD5cbiAgICAgIDxuZy1taWFtLXRhYi1ib2R5PlxuICAgICAgICBPdXBzLi4uIFBhcyBkZSByZWNldHRlcyBwYXIgaWNpIMKvXFxfKOODhClfL8KvXG4gICAgICA8L25nLW1pYW0tdGFiLWJvZHk+XG4gICAgPC9uZy1taWFtLXRhYi1pdGVtPlxuXG4gICAgPG5nLW1pYW0tdGFiLWl0ZW0+XG4gICAgICA8bmctbWlhbS10YWItbGFiZWw+UmllbjwvbmctbWlhbS10YWItbGFiZWw+XG4gICAgICA8bmctbWlhbS10YWItYm9keT5cbiAgICAgICAgWSBhIHJpZW4gaWNpXG4gICAgICA8L25nLW1pYW0tdGFiLWJvZHk+XG4gICAgPC9uZy1taWFtLXRhYi1pdGVtPlxuXG4gIDwvbmctbWlhbS10YWJzPlxuPC9kaXY+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcGxhbm5lci1zaWRlLW1lbnUvcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9wbGFubmVyLXNpZGUtbWVudS9wbGFubmVyLXNpZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7O0FBV2hGLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFDVSxHQUFzQixFQUN0QixjQUE4QixFQUM5QixxQkFBNEM7UUFGNUMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFMdEQsV0FBTSxHQUFvQixFQUFFLENBQUM7SUFNekIsQ0FBQztJQUVMLFFBQVE7UUFFTiw4R0FBOEc7UUFDOUcsK0ZBQStGO1FBQy9GLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUM1QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ2pDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnR0F4QlUsd0JBQXdCOzZEQUF4Qix3QkFBd0I7UUNmckMsOEJBQ0U7UUFBQSwrQkFDZTtRQUNqQixpQkFBTTs7a0REWU8sd0JBQXdCO2NBUHBDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxXQUFXLEVBQUUsb0NBQW9DO2dCQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDakQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NhbGVuZGFyLWV2ZW50JztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFyRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9jYWxlbmRhci1ldmVudHMuc2VydmljZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXBsYW5uZXItc2lkZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYW5uZXItc2lkZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhbm5lci1zaWRlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGxhbm5lclNpZGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBldmVudHM6IENhbGVuZGFyRXZlbnRbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNhbGVuZGFyRXZlbnRzU2VydmljZTogQ2FsZW5kYXJFdmVudHNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICAvLyBUbyB0ZXN0IHRoYXQgd2UgY2FuIGNyZWF0ZSBzb21lIGN1c3RvbSBldmVudHMgd2l0aCBhIHJlY2lwZSB0aGF0IGFyZSBkcmFnZ2FibGUsIHdlIGxvYWQgYSBidW5jaCBvZiByZWNpcGVzLFxuICAgIC8vIHRyYW5zZm9ybSB0aGVtIGludG8gZXZlbnRzIGFuZCBkaXNwbGF5IHRoZW0uIExhdGVyIFBScyB3aWxsIG5vdCBpbml0aWFsaXNlIGV2ZW50cyBsaWtlIHRoaXMuXG4gICAgdGhpcy5yZWNpcGVzU2VydmljZS5hbGwoKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlcyA9PiByZXMuaXNfbG9hZGluZylcbiAgICApLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAgICAgIHJlc3VsdHMuZGF0YS5mb3JFYWNoKHJlY2lwZSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gdGhpcy5jYWxlbmRhckV2ZW50c1NlcnZpY2UubmV3KCk7XG4gICAgICAgIGV2ZW50LmFkZFJlbGF0aW9uc2hpcChyZWNpcGUsICdyZWNpcGUnKTtcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChldmVudCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBsYW5uZXItc2lkZS1tZW51XCI+XG4gIDxuZy1taWFtLXRhYnM+XG4gIDwvbmctbWlhbS10YWJzPlxuPC9kaXY+XG4iXX0=
@@ -37,7 +37,7 @@ AddRecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: AddRecipeCardCompo
37
37
  } if (rf & 2) {
38
38
  i0.ɵɵadvance(2);
39
39
  i0.ɵɵproperty("iconName", ctx.icon.Plus);
40
- } }, directives: [i1.IconComponent], styles: [".cal-month-view .cal-header{font-weight:bolder;text-align:center}.cal-month-view .cal-header .cal-cell{display:block;overflow:hidden;padding:5px 0;text-overflow:ellipsis;white-space:nowrap}.cal-month-view .cal-days{border:1px solid;border-bottom:0}.cal-month-view .cal-cell-top{flex:1;min-height:78px}.cal-month-view .cal-cell-row{display:flex}.cal-month-view .cal-cell{align-items:stretch;display:flex;flex:1;flex-direction:column;float:left}.cal-month-view .cal-cell .cal-event{pointer-events:all!important}.cal-month-view .cal-day-cell{min-height:100px}@media (-ms-high-contrast:none){.cal-month-view .cal-day-cell{display:block}}.cal-month-view .cal-day-cell:not(:last-child){border-right:1px solid}.cal-month-view .cal-days .cal-cell-row{border-bottom:1px solid}.cal-month-view .cal-day-badge{border-radius:10px;display:inline-block;font-size:12px;font-weight:700;line-height:1;margin-left:10px;margin-top:18px;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.cal-month-view .cal-day-number{float:right;font-size:1.2em;font-weight:400;margin-bottom:10px;margin-right:15px;margin-top:15px;opacity:.5}.cal-month-view .cal-events{align-items:flex-end;display:flex;flex:1;flex-wrap:wrap;line-height:10px;margin:3px}.cal-month-view .cal-event{border-radius:50%;display:inline-block;height:10px;margin:2px;width:10px}.cal-month-view .cal-day-cell.cal-in-month.cal-has-events{cursor:pointer}.cal-month-view .cal-day-cell.cal-out-month .cal-day-number{cursor:default;opacity:.1}.cal-month-view .cal-day-cell.cal-today .cal-day-number{font-size:1.9em}.cal-month-view .cal-open-day-events{padding:15px}.cal-month-view .cal-open-day-events .cal-event{position:relative;top:2px}.cal-month-view .cal-out-month .cal-day-badge,.cal-month-view .cal-out-month .cal-event{opacity:.3}.cal-month-view .cal-draggable{cursor:move}.cal-month-view .cal-drag-active *{pointer-events:none}.cal-month-view .cal-event-title{cursor:pointer}.cal-month-view .cal-event-title:hover{text-decoration:underline}.cal-month-view{background-color:#fff}.cal-month-view .cal-cell-row:hover{background-color:#fafafa}.cal-month-view .cal-cell-row .cal-cell:hover,.cal-month-view .cal-cell.cal-has-events.cal-open{background-color:#ededed}.cal-month-view .cal-days{border-color:#e1e1e1}.cal-month-view .cal-day-cell:not(:last-child){border-right-color:#e1e1e1}.cal-month-view .cal-days .cal-cell-row{border-bottom-color:#e1e1e1}.cal-month-view .cal-day-badge{background-color:#b94a48;color:#fff}.cal-month-view .cal-event{background-color:#1e90ff;border-color:#d1e8ff;color:#fff}.cal-month-view .cal-day-cell.cal-weekend .cal-day-number{color:#8b0000}.cal-month-view .cal-day-cell.cal-today{background-color:#e8fde7}.cal-month-view .cal-day-cell.cal-drag-over{background-color:#e0e0e0!important}.cal-month-view .cal-open-day-events{background-color:#555;box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5);color:#fff}.cal-week-view *{box-sizing:border-box}.cal-week-view .cal-day-headers{border:1px solid;display:flex;padding-left:70px}.cal-week-view .cal-day-headers .cal-header{flex:1;padding:5px;text-align:center}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right:1px solid}.cal-week-view .cal-day-headers .cal-header:first-child{border-left:1px solid}.cal-week-view .cal-day-headers span{font-weight:400;opacity:.5}.cal-week-view .cal-day-column{border-left:1px solid;flex-grow:1}.cal-week-view .cal-event{border:1px solid;font-size:12px}.cal-week-view .cal-time-label-column{height:100%;width:70px}.cal-week-view .cal-current-time-marker{height:2px;position:absolute;width:100%;z-index:2}.cal-week-view .cal-all-day-events{border-bottom:3px solid;border-left:1px solid;border-right:1px solid;border-top:0;padding-top:3px;position:relative}.cal-week-view .cal-all-day-events .cal-day-columns{display:flex;height:100%;position:absolute;top:0;width:100%;z-index:0}.cal-week-view .cal-all-day-events .cal-events-row{height:31px;margin-left:70px;position:relative}.cal-week-view .cal-all-day-events .cal-event-container{display:inline-block;position:absolute}.cal-week-view .cal-all-day-events .cal-event-container.resize-active{pointer-events:none;z-index:1}.cal-week-view .cal-all-day-events .cal-event{height:28px;line-height:28px;margin-left:2px;margin-right:2px;padding:0 5px}.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event{border-bottom-left-radius:5px;border-top-left-radius:5px}.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event{border-bottom-right-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-all-day-events .cal-time-label-column{align-items:center;display:flex;font-size:14px;justify-content:center}.cal-week-view .cal-all-day-events .cal-resize-handle{cursor:col-resize;height:100%;position:absolute;top:0;width:6px}.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end{right:0}.cal-week-view .cal-event,.cal-week-view .cal-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-view .cal-drag-active{pointer-events:none;z-index:1}.cal-week-view .cal-drag-active *{pointer-events:none}.cal-week-view .cal-time-events{border:1px solid;border-top:0;display:flex;position:relative}.cal-week-view .cal-time-events .cal-day-columns{display:flex;flex-grow:1}.cal-week-view .cal-time-events .cal-day-column,.cal-week-view .cal-time-events .cal-events-container{position:relative}.cal-week-view .cal-time-events .cal-event-container{position:absolute;z-index:1}.cal-week-view .cal-time-events .cal-event{height:calc(100% - 2px);line-height:25px;margin:1px;padding:0 5px;width:calc(100% - 2px)}.cal-week-view .cal-time-events .cal-resize-handle{cursor:row-resize;height:4px;position:absolute;width:100%}.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end{bottom:0}.cal-week-view .cal-hour-segment{position:relative}.cal-week-view .cal-hour-segment:after{content:\"\\00a0\"}.cal-week-view .cal-event-container:not(.cal-draggable){cursor:pointer}.cal-week-view .cal-draggable{cursor:move}.cal-week-view .cal-hour-segment,.cal-week-view mwl-calendar-week-view-hour-segment{display:block}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom:thin dashed}.cal-week-view .cal-time{font-weight:700;padding-top:5px;text-align:center;width:70px}.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}.cal-week-view .cal-starts-within-day .cal-event{border-top-left-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-ends-within-day .cal-event{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.cal-week-view{background-color:#fff;border-top:1px solid #e1e1e1}.cal-week-view .cal-day-headers{border-color:#e1e1e1;border-top:0}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-header:first-child{border-left-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-drag-over,.cal-week-view .cal-day-headers .cal-header:hover{background-color:#ededed}.cal-week-view .cal-day-column{border-left-color:#e1e1e1}.cal-week-view .cal-event{background-color:#d1e8ff;border-color:#1e90ff;color:#1e90ff}.cal-week-view .cal-all-day-events{border-color:#e1e1e1}.cal-week-view .cal-header.cal-today{background-color:#e8fde7}.cal-week-view .cal-header.cal-weekend span{color:#8b0000}.cal-week-view .cal-time-events{border-color:#e1e1e1}.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover{background-color:#ededed}.cal-week-view .cal-hour-odd{background-color:#fafafa}.cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom-color:#e1e1e1}.cal-week-view .cal-current-time-marker{background-color:#ea4334}.cal-day-view mwl-calendar-week-view-header{display:none}.cal-day-view .cal-events-container{margin-left:70px}.cal-day-view .cal-day-column{border-left:0}.cal-day-view .cal-current-time-marker{margin-left:70px;width:calc(100% - 70px)}.cal-tooltip{display:block;font-size:11px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;opacity:.9;position:absolute;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:break-word;z-index:1070}.cal-tooltip.cal-tooltip-top{margin-top:-3px;padding:5px 0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.cal-tooltip.cal-tooltip-right{margin-left:3px;padding:0 5px}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.cal-tooltip.cal-tooltip-bottom{margin-top:3px;padding:5px 0}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.cal-tooltip.cal-tooltip-left{margin-left:-3px;padding:0 5px}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.cal-tooltip-inner{border-radius:.25rem;max-width:200px;padding:3px 8px;text-align:center}.cal-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-top-color:#000}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-right-color:#000}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-bottom-color:#000}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-left-color:#000}.cal-tooltip-inner{background-color:#000;color:#fff}.m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{-moz-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;align-items:center;border-radius:var(--m-button-radius);cursor:pointer;display:flex;font-size:var(--m-button-text-size);font-weight:var(--m-button-text-weight);justify-content:center;line-height:var(--m-button-text-height);outline:0;padding:var(--m-button-padding);user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-input{align-items:center;border:1px solid var(--m-color-grey06);border-radius:5px;display:flex;justify-content:space-between;margin-top:16px;max-width:320px;min-width:200px;outline:none;padding:8px 16px}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.miam-add-recipe-card .miam-catalog-card__attributes,.miam-flex-column{display:flex;flex-direction:column;justify-content:space-around}.miam-flex-row{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:auto}.m-default-card{background-color:var(--m-color-unpure-white);border-radius:8px;box-shadow:var(--m-shadow-small);padding:16px}@media (max-width:1023px){.m-default-card{margin-bottom:8px;padding:8px}}#toast-container>div{opacity:.95!important}@media (min-width:1023px){#toast-container>div:hover{opacity:1!important}}@-webkit-keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}@keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}:root{--m-border-radius:var(--miam-border-radius,8px);--m-border-radius-circle:50%;--m-border-radius-pill:25px;--m-button-gap:var(--miam-button-gap,10px);--m-button-padding:var(--miam-button-padding,9px 20px);--m-button-radius:var(--miam-button-padding,var(--m-border-radius-pill));--m-button-text-height:var(--miam-button-text-height,calc(var(--m-button-text-size)*1.5));--m-button-text-size:var(--miam-button-text-size,14px);--m-button-text-weight:var(--miam-button-text-weight,normal);--m-catalog-alt-button-color:var(--miam-catalog-alt-button-color,rgba(0,0,0,0.3));--m-catalog-alt-button-text-color:var(--miam-catalog-alt-button-text-color,var(--m-color-white));--m-catalog-alt-button-text-color-reverse:var(--miam-catalog-alt-button-text-color-reverse,var(--m-color-black));--m-catalog-card-bg-color:var(--miam-catalog-card-bg-color,var(--m-color-white));--m-catalog-card-details-color:var(--miam-catalog-card-details-color,#575756);--m-catalog-card-details-line-height:var(--miam-catalog-card-details-color,15px);--m-catalog-card-details-size:var(--miam-catalog-card-details-color,11px);--m-catalog-card-height:var(--miam-catalog-card-height,400px);--m-catalog-card-minwidth:var(--miam-catalog-card-minwidth,250px);--m-catalog-card-picture-height:var(--miam-catalog-card-picture-height,240px);--m-catalog-card-title-line-height:var(--miam-catalog-card-title-line-height 16px);--m-catalog-card-title-size:var(--miam-catalog-card-title-size,13px);--m-catalog-cards-spacing:var(--miam-catalog-cards-spacing,16px);--m-catalog-header-reduced-bg-color:var(--miam-catalog-header-reduced-bg-color,var(--m-color-primary));--m-catalog-header-reduced-text-color:var(--miam-catalog-header-reduced-text-color,var(--m-color-white));--m-catalog-header-text-color:var(--miam-catalog-header-text-color,var(--m-color-white));--m-catalog-redpoint-color:var(--miam-catalog-redpoint-color,#dd1219);--m-catalog-redpoint-text-color:var(--miam-catalog-redpoint-color,var(--m-color-white));--m-color-black:var(--miam-color-black,#0e0e2c);--m-color-card-shadow:var(--miam-color-card-shadow,#eaf2fb);--m-color-danger:var(--miam-color-danger,#fbc2aa);--m-color-danger-text:var(--miam-color-danger-text,#9f1628);--m-color-grey:var(--miam-color-grey,#f5f5f5);--m-color-grey-text:var(--miam-color-grey-text,#acb0b9);--m-color-grey-text-dark:var(--miam-color-grey-text-dark,#757575);--m-color-grey01:var(--miam-color-grey01,#505062);--m-color-grey02:var(--miam-color-grey02,#67677e);--m-color-grey03:var(--miam-color-grey03,#818198);--m-color-grey04:var(--miam-color-grey04,#9d9daf);--m-color-grey05:var(--miam-color-grey05,#b9b9c6);--m-color-grey06:var(--miam-color-grey06,#d5d5dd);--m-color-grey07:var(--miam-color-grey07,#e3e3e8);--m-color-hairlines:var(--miam-color-hairlines,#ecf1f4);--m-color-info:var(--miam-color-info,#8cd4eb);--m-color-info-text:var(--miam-color-info-text,#125368);--m-color-light-slate:var(--miam-color-light-slate,#8c8ca1);--m-color-onyx:var(--miam-color-onyx,#0e0e2c);--m-color-primary:var(--miam-color-primary,#006574);--m-color-primary-dark:var(--miam-color-primary-dark,darken(#006574,10%));--m-color-primary-light:var(--miam-color-primary-light,lighten(#006574,10%));--m-color-primary-text:var(--miam-color-primary-text,#fff);--m-color-secondary:var(--miam-color-secondary,#ef760f);--m-color-secondary-dark:var(--miam-color-secondary-dark,#ef7711);--m-color-secondary-light:var(--miam-color-secondary-light,#faebd7);--m-color-secondary-text:var(--miam-color-secondary-text,#fff);--m-color-slate:var(--miam-color-slate,#4a4a68);--m-color-success:var(--miam-color-success,#44d6b3);--m-color-success-text:var(--miam-color-success-text,#135344);--m-color-tag-diet:var(--miam-color-tag-diet,#d3f8dd);--m-color-tag-equipment:var(--miam-color-tag-equipment,#e6e5e5);--m-color-tag-ingredient-category:var(--miam-color-tag-ingredient-category,#d3f5f8);--m-color-tag-meal-type:var(--miam-color-meal-type,#fbe8d0);--m-color-ternary:var(--miam-color-ternary,#1accf8);--m-color-ternary-dark:var(--miam-color-ternary-dark,#057894);--m-color-ternary-light:var(--miam-color-ternary-light,#cef4fd);--m-color-ternary-text:var(--miam-color-ternary-text,#fff);--m-color-unpure-white:var(--miam-color-unpure-white,#fefefe);--m-color-warning:var(--miam-color-warning,#ffdaa3);--m-color-warning-text:var(--miam-color-warning-text,#f90);--m-color-white:var(--miam-color-white,#fafcfe);--m-default-transition:var(--miam-default-transition,all 0.3s ease-in-out);--m-font-size-Xlarge:var(--miam-font-size-Xlarge,24px);--m-font-size-large:var(--miam-font-size-large,20px);--m-font-size-medium:var(--miam-font-size-medium,16px);--m-font-size-small:var(--miam-font-size-small,14px);--m-loader-size:var(--miam-loader-sizes,40px);--m-loader-thickness:var(--miam-loader-thickness,5px);--m-progress-tracker-background-color:var(--miam-progress-tracker-background-color,var(--m-color-grey));--m-progress-tracker-color:var(--miam-progress-tracker-color,var(--m-color-primary));--m-progress-tracker-danger-color:var(--miam-progress-tracker-danger-color,var(--m-color-danger));--m-shadow-small:var(--miam-shadow-small,0px 3px 4px var(--m-color-card-shadow));--m-z-index-drawer-container:var(--miam-z-index-drawer-container,5000002);--m-z-index-drawer-overlay:var(--miam-z-index-drawer-overlay,5000001);--m-z-index-loader:var(--miam-z-index-loader,2);--m-z-index-modal:var(--miam-z-index-modal,6001);--m-z-index-modal-overlay:var(--miam-z-index-modal-overlay,6000);--m-z-index-position-absolute-high:var(--miam-z-index-position-absolute-high,1);--m-z-index-position-absolute-low:var(--miam-z-index-position-absolute-low,0);--m-z-index-toaster:var(--miam-z-index-toaster,6002)}.m-title-text-input:focus-within :root .miam-text-input__label,.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-body-typo,:root .m-h1-typo,:root .m-input,:root .m-input>*,:root .m-small-typo,:root .m-title-text-input:focus-within .miam-text-input__label,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){color:var(--m-color-slate);font-family:Work Sans;font-size:var(--m-font-size-medium);font-style:normal;font-weight:500;line-height:24px}.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-h1-typo,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){font-size:40px;font-weight:700;line-height:48px}:root .m-small-typo{font-size:var(--m-font-size-small);line-height:16px}@media print{:root *{-webkit-animation:none!important;-webkit-transition:none!important;animation:none!important;transition:none!important}:root .miam-not-printable{display:none}:root:last-child{page-break-after:auto}}:root .miam-print-only{display:none}@media print{:root .miam-print-only{display:block}}ng-miam-add-recipe-card{flex-grow:1;margin:calc(var(--m-catalog-cards-spacing)/2);max-width:calc(var(--m-catalog-card-minwidth)*1.1)}.miam-add-recipe-card{align-items:center;background-color:var(--m-catalog-card-bg-color);border:1px solid #ddd;border:1px dashed var(--m-color-primary);border-radius:var(--m-border-radius);box-shadow:var(--m-shadow-small);cursor:pointer;display:flex;flex-direction:column;height:var(--m-catalog-card-height);justify-content:center;min-width:var(--m-catalog-card-minwidth);position:relative;width:100%}@media (min-width:1023px){.miam-add-recipe-card:hover .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{transform:scale(1.05)}}.miam-add-recipe-card .miam-catalog-card__picture{-webkit-tap-highlight-color:transparent;cursor:pointer;height:var(--m-catalog-card-picture-height);position:relative}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient{border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:calc(var(--m-catalog-card-picture-height) + 1px);left:-1px;overflow:hidden;position:absolute;top:-1px;width:calc(100% + 2px)}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{-o-object-fit:cover;border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;height:var(--m-catalog-card-picture-height);object-fit:cover;position:relative;transition:var(--m-default-transition);width:100%;z-index:var(--m-z-index-position-absolute-low)}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor{align-items:flex-start;display:flex;height:48px;justify-content:flex-start;left:16px;order:2;position:absolute;top:16px;width:64px}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane{align-items:flex-end;bottom:16px;display:flex;height:48px;justify-content:flex-end;order:2;position:absolute;right:16px;width:72px}.miam-add-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-add-recipe-card .miam-catalog-card__attributes{align-items:center;flex:1 1;flex-direction:column-reverse;justify-content:flex-start;padding:12px 16px}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos{display:flex;flex-direction:row;justify-content:space-around;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info{align-items:center;display:flex;flex-direction:column;padding:0 16px;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info:first-child{border-right:1px solid #ddd}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label{color:var(--m-catalog-card-details-color);font-size:var(--m-catalog-card-details-size);line-height:var(--m-catalog-card-details-line-height);margin:2px 0 0;text-align:center;width:100%}.miam-add-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label:first-letter{text-transform:capitalize}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{color:var(--m-color-primary);font-size:14px;font-weight:700;line-height:22px;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
40
+ } }, directives: [i1.IconComponent], styles: [".m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{-moz-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;align-items:center;border-radius:var(--m-button-radius);cursor:pointer;display:flex;font-size:var(--m-button-text-size);font-weight:var(--m-button-text-weight);justify-content:center;line-height:var(--m-button-text-height);outline:0;padding:var(--m-button-padding);user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-body-typo,.m-h1-typo,.m-input,.m-input>*,.m-small-typo,.m-title-text-input:focus-within .miam-text-input__label,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){color:var(--m-color-slate);font-family:Work Sans;font-size:var(--m-font-size-medium);font-style:normal;font-weight:500;line-height:24px}.m-h1-typo,.m-title-text-input input,.m-title-text-input label:not(.miam-text-input__label__top){font-size:40px;font-weight:700;line-height:48px}.m-small-typo{font-size:var(--m-font-size-small);line-height:16px}.m-input{align-items:center;border:1px solid var(--m-color-grey06);border-radius:5px;display:flex;justify-content:space-between;margin-top:16px;max-width:320px;min-width:200px;outline:none;padding:8px 16px}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.m-default-card{background-color:var(--m-color-unpure-white);border-radius:8px;box-shadow:var(--m-shadow-small);padding:16px}@media (max-width:1023px){.m-default-card{margin-bottom:8px;padding:8px}}ng-miam-add-recipe-card{flex-grow:1;margin:calc(var(--m-catalog-cards-spacing)/2);max-width:calc(var(--m-catalog-card-minwidth)*1.1)}.miam-add-recipe-card{align-items:center;border:1px dashed var(--m-color-primary);cursor:pointer;display:flex;flex-direction:column;justify-content:center}.miam-add-recipe-card:hover{background-color:var(--m-color-grey)}.miam-add-recipe-card .m-button-primary{border-radius:6px;height:48px;width:48px}.miam-add-recipe-card .m-button-primary:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white)}.miam-add-recipe-card .m-button-primary img{filter:brightness(0) invert(100%)}.miam-add-recipe-card .miam-add-recipe-card__label{color:var(--m-color-primary);font-size:14px;font-weight:700;line-height:22px;margin-top:16px}"], encapsulation: 2, changeDetection: 0 });
41
41
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(AddRecipeCardComponent, [{
42
42
  type: Component,
43
43
  args: [{
@@ -1,7 +1,5 @@
1
1
  export * from './recipe-cards.module';
2
2
  export * from './add-recipe-card/add-recipe-card.component';
3
- export * from './catalog-recipe-card/catalog-recipe-card.component';
4
3
  export * from './recipe-card/recipe-card.component';
5
- export * from './suggestion-card/suggestion-card.component';
6
4
  export * from './recipe-card-cta/recipe-card-cta.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXJkcy5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2FkZC1yZWNpcGUtY2FyZC9hZGQtcmVjaXBlLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZy1yZWNpcGUtY2FyZC9jYXRhbG9nLXJlY2lwZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1jYXJkL3JlY2lwZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N1Z2dlc3Rpb24tY2FyZC9zdWdnZXN0aW9uLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWNhcmQtY3RhL3JlY2lwZS1jYXJkLWN0YS5jb21wb25lbnQnO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVjaXBlLWNhcmRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vYWRkLXJlY2lwZS1jYXJkL2FkZC1yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWNpcGUtY2FyZC1jdGEvcmVjaXBlLWNhcmQtY3RhLmNvbXBvbmVudCc7XG4iXX0=