ng-miam 3.2.2 → 3.4.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 (120) hide show
  1. package/bundles/ng-miam.umd.js +7452 -5975
  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/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +65 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/recipe-type-chooser/recipe-type-chooser.component.js +23 -30
  9. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  10. package/esm2015/lib/_models/article.js +43 -0
  11. package/esm2015/lib/_models/basket.js +2 -2
  12. package/esm2015/lib/_models/groceries-entry.js +23 -2
  13. package/esm2015/lib/_models/groceries-list.js +5 -2
  14. package/esm2015/lib/_models/index.js +4 -1
  15. package/esm2015/lib/_models/package.js +14 -3
  16. package/esm2015/lib/_models/recipe.js +4 -1
  17. package/esm2015/lib/_models/user.js +10 -1
  18. package/esm2015/lib/_services/analytics.service.js +7 -1
  19. package/esm2015/lib/_services/articles.service.js +21 -0
  20. package/esm2015/lib/_services/baskets.service.js +7 -3
  21. package/esm2015/lib/_services/context.service.js +15 -1
  22. package/esm2015/lib/_services/groceries-lists.service.js +23 -6
  23. package/esm2015/lib/_services/index.js +3 -1
  24. package/esm2015/lib/_services/ingredients.service.js +2 -2
  25. package/esm2015/lib/_services/interceptor.service.js +2 -3
  26. package/esm2015/lib/_services/package.service.js +32 -9
  27. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  28. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  29. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  30. package/esm2015/lib/_services/recipes.service.js +2 -2
  31. package/esm2015/lib/_services/suppliers.service.js +2 -2
  32. package/esm2015/lib/_services/toastr.service.js +52 -0
  33. package/esm2015/lib/_services/user.service.js +64 -21
  34. package/esm2015/lib/_types/icon.enum.js +22 -18
  35. package/esm2015/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.js +15 -15
  36. package/esm2015/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.js +3 -3
  37. package/esm2015/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.js +22 -19
  38. package/esm2015/lib/_web-components/basket-preview/basket-preview.module.js +78 -0
  39. package/esm2015/lib/_web-components/basket-preview/index.js +7 -0
  40. package/esm2015/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.js +8 -8
  41. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  42. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  43. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  44. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  45. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  46. package/esm2015/lib/_web-components/drawer/drawer.component.js +1 -1
  47. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  48. package/esm2015/lib/_web-components/index.js +5 -6
  49. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +145 -0
  50. package/esm2015/lib/_web-components/list-scan/index.js +3 -0
  51. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +150 -0
  52. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +87 -0
  53. package/esm2015/lib/_web-components/list-scan/list-scan.module.js +60 -0
  54. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +104 -0
  55. package/esm2015/lib/_web-components/loader/index.js +3 -0
  56. package/esm2015/lib/_web-components/loader/loader.module.js +39 -0
  57. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  58. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  59. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  60. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +307 -270
  61. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  62. package/esm2015/lib/_web-components/recipe-stepper/recipe-stepper.component.js +1 -1
  63. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +1 -1
  64. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  65. package/esm2015/lib/_web-components/web-components.module.js +35 -65
  66. package/esm2015/lib/environments/environment.js +6 -0
  67. package/esm2015/lib/ng-miam.module.js +4 -4
  68. package/fesm2015/ng-miam.js +6540 -5287
  69. package/fesm2015/ng-miam.js.map +1 -1
  70. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  71. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  72. package/lib/_components/recipe-type-chooser/recipe-type-chooser.component.d.ts +2 -2
  73. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  74. package/lib/_models/article.d.ts +23 -0
  75. package/lib/_models/basket.d.ts +1 -2
  76. package/lib/_models/groceries-entry.d.ts +8 -1
  77. package/lib/_models/groceries-list.d.ts +4 -3
  78. package/lib/_models/index.d.ts +3 -0
  79. package/lib/_models/package.d.ts +10 -3
  80. package/lib/_models/recipe.d.ts +1 -0
  81. package/lib/_models/user.d.ts +16 -1
  82. package/lib/_services/articles.service.d.ts +10 -0
  83. package/lib/_services/context.service.d.ts +12 -6
  84. package/lib/_services/groceries-lists.service.d.ts +4 -1
  85. package/lib/_services/index.d.ts +2 -0
  86. package/lib/_services/package.service.d.ts +6 -1
  87. package/lib/_services/toastr.service.d.ts +10 -0
  88. package/lib/_services/user.service.d.ts +12 -6
  89. package/lib/_types/icon.enum.d.ts +21 -17
  90. package/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.d.ts +6 -6
  91. package/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.d.ts +2 -2
  92. package/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.d.ts +7 -7
  93. package/lib/_web-components/basket-preview/basket-preview.module.d.ts +16 -0
  94. package/lib/_web-components/basket-preview/index.d.ts +5 -0
  95. package/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.d.ts +5 -5
  96. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  97. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  98. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  99. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  100. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  101. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  102. package/lib/_web-components/index.d.ts +4 -5
  103. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +25 -0
  104. package/lib/_web-components/list-scan/index.d.ts +2 -0
  105. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +22 -0
  106. package/lib/_web-components/list-scan/list-scan.component.d.ts +17 -0
  107. package/lib/_web-components/list-scan/list-scan.module.d.ts +16 -0
  108. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +19 -0
  109. package/lib/_web-components/loader/index.d.ts +2 -0
  110. package/lib/_web-components/loader/loader.module.d.ts +10 -0
  111. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  112. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  113. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  114. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +8 -3
  115. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  116. package/lib/_web-components/web-components.module.d.ts +38 -65
  117. package/lib/{environment.d.ts → environments/environment.d.ts} +1 -1
  118. package/miam-style.css +1 -1
  119. package/package.json +1 -1
  120. package/esm2015/lib/environment.js +0 -8
@@ -0,0 +1,3 @@
1
+ export * from './loader.module';
2
+ export * from './loader.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9sb2FkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2FkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Injector, NgModule } from '@angular/core';
3
+ import { createCustomElement } from '@angular/elements';
4
+ import { UtilsModule } from '../../_utils/utils.module';
5
+ import { LoaderComponent } from './loader.component';
6
+ import * as i0 from "@angular/core";
7
+ export class LoaderModule {
8
+ // Create custom elements so the WebComponents can be interpreted by the browser regardless of the js framework used
9
+ constructor(injector) {
10
+ // Avoid duplicate error
11
+ if (!customElements.get('webc-miam-loader')) {
12
+ const ngElement = createCustomElement(LoaderComponent, { injector });
13
+ customElements.define('webc-miam-loader', ngElement);
14
+ }
15
+ }
16
+ }
17
+ LoaderModule.ɵmod = i0.ɵɵdefineNgModule({ type: LoaderModule });
18
+ LoaderModule.ɵinj = i0.ɵɵdefineInjector({ factory: function LoaderModule_Factory(t) { return new (t || LoaderModule)(i0.ɵɵinject(i0.Injector)); }, imports: [[
19
+ UtilsModule,
20
+ CommonModule
21
+ ]] });
22
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LoaderModule, { declarations: [LoaderComponent], imports: [UtilsModule,
23
+ CommonModule], exports: [LoaderComponent] }); })();
24
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoaderModule, [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ UtilsModule,
29
+ CommonModule
30
+ ],
31
+ declarations: [
32
+ LoaderComponent
33
+ ],
34
+ exports: [
35
+ LoaderComponent
36
+ ]
37
+ }]
38
+ }], function () { return [{ type: i0.Injector }]; }, null); })();
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL21pYW0vbmctbWlhbS1zZGsvcHJvamVjdHMvbmctbWlhbS9zcmMvIiwic291cmNlcyI6WyJsaWIvX3dlYi1jb21wb25lbnRzL2xvYWRlci9sb2FkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWNyRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixvSEFBb0g7SUFDcEgsWUFDRSxRQUFrQjtRQUVsQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLGNBQWMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOztnREFWVSxZQUFZO3VHQUFaLFlBQVksMENBWGQ7WUFDUCxXQUFXO1lBQ1gsWUFBWTtTQUNiO3dGQVFVLFlBQVksbUJBTnJCLGVBQWUsYUFKZixXQUFXO1FBQ1gsWUFBWSxhQU1aLGVBQWU7a0RBR04sWUFBWTtjQVp4QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFdBQVc7b0JBQ1gsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgVXRpbHNNb2R1bGUgfSBmcm9tICcuLi8uLi9fdXRpbHMvdXRpbHMubW9kdWxlJztcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBVdGlsc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTG9hZGVyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBMb2FkZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJNb2R1bGUge1xuICAvLyBDcmVhdGUgY3VzdG9tIGVsZW1lbnRzIHNvIHRoZSBXZWJDb21wb25lbnRzIGNhbiBiZSBpbnRlcnByZXRlZCBieSB0aGUgYnJvd3NlciByZWdhcmRsZXNzIG9mIHRoZSBqcyBmcmFtZXdvcmsgdXNlZFxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIC8vIEF2b2lkIGR1cGxpY2F0ZSBlcnJvclxuICAgIGlmICghY3VzdG9tRWxlbWVudHMuZ2V0KCd3ZWJjLW1pYW0tbG9hZGVyJykpIHtcbiAgICAgIGNvbnN0IG5nRWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoTG9hZGVyQ29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xuICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd3ZWJjLW1pYW0tbG9hZGVyJywgbmdFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -96,8 +96,7 @@ const CONNECTED_SECOND_LINE = 'Créez en une dès maintenant !';
96
96
  const NOT_CONNECTED_SECOND_LINE = 'Faites vos courses à partir de vos propres recettes !';
97
97
  export class PersonalRecipesComponent extends RecipeCatalogComponent {
98
98
  constructor(cdr, recipeTypesService, sponsorService, supplierService, packageService, recipesService, mediaMatcher, usersService) {
99
- super(cdr, recipeTypesService, sponsorService, supplierService, packageService, recipesService, mediaMatcher);
100
- this.usersService = usersService;
99
+ super(cdr, recipeTypesService, sponsorService, supplierService, packageService, recipesService, mediaMatcher, usersService);
101
100
  this.homePageTitle = 'Mes recettes personnelles';
102
101
  this.noRecipeTextFirstLine = CONNECTED_FIRST_LINE;
103
102
  this.noRecipeTextSecondLine = CONNECTED_SECOND_LINE;
@@ -139,7 +138,7 @@ export class PersonalRecipesComponent extends RecipeCatalogComponent {
139
138
  this.cdr.detectChanges();
140
139
  }
141
140
  }
142
- PersonalRecipesComponent.ɵfac = function PersonalRecipesComponent_Factory(t) { return new (t || PersonalRecipesComponent)(i0.ɵɵdirectiveInject(ChangeDetectorRef), i0.ɵɵdirectiveInject(RecipeTypeService), i0.ɵɵdirectiveInject(SponsorService), i0.ɵɵdirectiveInject(SuppliersService), i0.ɵɵdirectiveInject(PackageService), i0.ɵɵdirectiveInject(RecipesService), i0.ɵɵdirectiveInject(MediaMatcher), i0.ɵɵdirectiveInject(i1.UserService)); };
141
+ PersonalRecipesComponent.ɵfac = function PersonalRecipesComponent_Factory(t) { return new (t || PersonalRecipesComponent)(i0.ɵɵdirectiveInject(ChangeDetectorRef), i0.ɵɵdirectiveInject(RecipeTypeService), i0.ɵɵdirectiveInject(SponsorService), i0.ɵɵdirectiveInject(SuppliersService), i0.ɵɵdirectiveInject(PackageService), i0.ɵɵdirectiveInject(RecipesService), i0.ɵɵdirectiveInject(MediaMatcher), i0.ɵɵdirectiveInject(UserService)); };
143
142
  PersonalRecipesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PersonalRecipesComponent, selectors: [["ng-miam-personal-recipes"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 2, consts: [[1, "miam-catalog-anchor"], ["miamCatalogTopAnchor", ""], ["class", "miam-personal-recipes", 3, "scroll", 4, "ngIf", "ngIfElse"], ["creationPage", ""], [1, "miam-personal-recipes", 3, "scroll"], [3, "filters", "mobileFixed", "filterToRemove", "filterReset", "filterChanged", "filterCollapsed", 4, "ngIf"], [1, "miam-personal-recipes__content", 3, "ngClass"], [3, "displayReturnButton", "forcedPictureUrl", "title", "searchStringChanged"], [1, "miam-personal-recipes__list"], [3, "filters", "noRecipeTextFirstLine", "noRecipeTextSecondLine", "insertCreateCard", "filterRemoved", "retrievedRecipes", "recipeActionTriggered"], ["class", "miam-personal-recipes__list__new", 4, "ngIf"], ["class", "miam-personal-recipes__returnTop", 3, "click", 4, "ngIf"], [3, "filters", "mobileFixed", "filterToRemove", "filterReset", "filterChanged", "filterCollapsed"], [1, "miam-personal-recipes__list__new"], [1, "m-button-primary", 3, "click"], ["primaryColor", "var(--m-color-white)", 3, "width", "height", "iconName"], [1, "miam-personal-recipes__returnTop", 3, "click"], ["height", "32", "width", "32", "primaryColor", "var(--m-color-white)", 3, "iconName"], [3, "recipe", "recipeChange", "canceled"]], template: function PersonalRecipesComponent_Template(rf, ctx) { if (rf & 1) {
144
143
  i0.ɵɵelement(0, "div", 0, 1);
145
144
  i0.ɵɵtemplate(2, PersonalRecipesComponent_div_2_Template, 8, 13, "div", 2);
@@ -179,5 +178,8 @@ PersonalRecipesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PersonalRecipesC
179
178
  }] }, { type: i2.MediaMatcher, decorators: [{
180
179
  type: Inject,
181
180
  args: [MediaMatcher]
182
- }] }, { type: i1.UserService }]; }, null); })();
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtcmVjaXBlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9wZXJzb25hbC1yZWNpcGVzL3BlcnNvbmFsLXJlY2lwZXMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9wZXJzb25hbC1yZWNpcGVzL3BlcnNvbmFsLXJlY2lwZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7Ozs7O0lDRmxGLGtEQVF5QjtJQUh2QixvUEFBOEIsd1BBQUEsc1BBQUE7SUFHaEMsaUJBQXlCOzs7SUFOdkIsd0NBQW1CLHdEQUFBLHlDQUFBOzs7O0lBNEJuQiwrQkFDRTtJQUFBLCtCQUNFO0lBRDRCLHVNQUEwQjtJQUN0RCw0QkFBTTtJQUFBLGdDQUFnQjtJQUFBLGlCQUFPO0lBQzdCLG1DQUEwSDtJQUM1SCxpQkFBTTtJQUNSLGlCQUFNOzs7SUFGWSxlQUFZO0lBQVosMEJBQVksY0FBQSxxQ0FBQTs7OztJQUk5QiwrQkFDRTtJQURxRixvTUFBdUI7SUFDNUcsbUNBQXNIO0lBQ3hILGlCQUFNOzs7SUFEcUUsZUFBNkI7SUFBN0Isa0RBQTZCOzs7OztJQXZDNUcsOEJBQ0U7SUFEMkUscU9B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QzVILElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0I7UUFDZCw2QkFBNkI7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLHFCQUFRLElBQUksQ0FBQyxPQUFPLENBQUUsQ0FBQyxDQUFDLHVDQUF1QztRQUMzRSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dHQTFEVSx3QkFBd0IsdUJBV3pCLGlCQUFpQix3QkFDakIsaUJBQWlCLHdCQUNqQixjQUFjLHdCQUNkLGdCQUFnQix3QkFDaEIsY0FBYyx3QkFDZCxjQUFjLHdCQUNkLFlBQVk7NkRBakJYLHdCQUF3QjtRQ2xCckMsNEJBQTZEO1FBQzdELDBFQUNFO1FBMENGLDBIQUNFOzs7UUE1Q0csZUFBeUM7UUFBekMsMENBQXlDLGlCQUFBOztrRERpQmpDLHdCQUF3QjtjQVBwQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsV0FBVyxFQUFFLG1DQUFtQztnQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7Z0JBQ2hELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs7c0JBWUksTUFBTTt1QkFBQyxpQkFBaUI7O3NCQUN4QixNQUFNO3VCQUFDLGlCQUFpQjs7c0JBQ3hCLE1BQU07dUJBQUMsY0FBYzs7c0JBQ3JCLE1BQU07dUJBQUMsZ0JBQWdCOztzQkFDdkIsTUFBTTt1QkFBQyxjQUFjOztzQkFDckIsTUFBTTt1QkFBQyxjQUFjOztzQkFDckIsTUFBTTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7IFBhY2thZ2VTZXJ2aWNlLCBSZWNpcGVzU2VydmljZSwgUmVjaXBlVHlwZVNlcnZpY2UsIFNwb25zb3JTZXJ2aWNlLCBTdXBwbGllcnNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWNpcGVDYXRhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVjaXBlLWNhdGFsb2cvcmVjaXBlLWNhdGFsb2cuY29tcG9uZW50JztcblxuY29uc3QgQ09OTkVDVEVEX0ZJUlNUX0xJTkUgPSAnRMOpc29sw6kgdm91cyBu4oCZYXZleiBwYXMgZW5jb3JlIGRlIHJlY2V0dGVzIHBlcnNvbm5lbGxlcyc7XG5jb25zdCBOT1RfQ09OTkVDVEVEX0ZJUlNUX0xJTkUgPSAnRMOpc29sw6ksIHZvdXMgZGV2ZXogw6p0cmUgY29ubmVjdMOpIHBvdXIgdmlzdWFsaXNlciB2b3MgcmVjZXR0ZXMgcGVyc29ubmVsbGVzJztcbmNvbnN0IENPTk5FQ1RFRF9TRUNPTkRfTElORSA9ICdDcsOpZXogZW4gdW5lIGTDqHMgbWFpbnRlbmFudCAhJztcbmNvbnN0IE5PVF9DT05ORUNURURfU0VDT05EX0xJTkUgPSAnRmFpdGVzIHZvcyBjb3Vyc2VzIMOgIHBhcnRpciBkZSB2b3MgcHJvcHJlcyByZWNldHRlcyAhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1wZXJzb25hbC1yZWNpcGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcnNvbmFsLXJlY2lwZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZXJzb25hbC1yZWNpcGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBlcnNvbmFsUmVjaXBlc0NvbXBvbmVudCBleHRlbmRzIFJlY2lwZUNhdGFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGhvbWVQYWdlVGl0bGUgPSAnTWVzIHJlY2V0dGVzIHBlcnNvbm5lbGxlcyc7XG4gIG5vUmVjaXBlVGV4dEZpcnN0TGluZSA9IENPTk5FQ1RFRF9GSVJTVF9MSU5FO1xuICBub1JlY2lwZVRleHRTZWNvbmRMaW5lID0gQ09OTkVDVEVEX1NFQ09ORF9MSU5FO1xuICBkaXNwbGF5SG9tZVBhZ2UgPSBmYWxzZTtcbiAgZm9yY2VkUGljdHVyZVVybCA9ICdodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2NhdGFsb2cvcmVjZXR0ZXMlMjBwZXJzb3MuanBnJztcblxuICB1c2VySXNMb2dnZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUmVjaXBlVHlwZVNlcnZpY2UpIHJlY2lwZVR5cGVzU2VydmljZTogUmVjaXBlVHlwZVNlcnZpY2UsXG4gICAgQEluamVjdChTcG9uc29yU2VydmljZSkgc3BvbnNvclNlcnZpY2U6IFNwb25zb3JTZXJ2aWNlLFxuICAgIEBJbmplY3QoU3VwcGxpZXJzU2VydmljZSkgc3VwcGxpZXJTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIEBJbmplY3QoUGFja2FnZVNlcnZpY2UpIHBhY2thZ2VTZXJ2aWNlOiBQYWNrYWdlU2VydmljZSxcbiAgICBASW5qZWN0KFJlY2lwZXNTZXJ2aWNlKSByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgQEluamVjdChNZWRpYU1hdGNoZXIpIG1lZGlhTWF0Y2hlcjogTWVkaWFNYXRjaGVyLFxuICAgIHByaXZhdGUgdXNlcnNTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIHN1cGVyKGNkciwgcmVjaXBlVHlwZXNTZXJ2aWNlLCBzcG9uc29yU2VydmljZSwgc3VwcGxpZXJTZXJ2aWNlLCBwYWNrYWdlU2VydmljZSwgcmVjaXBlc1NlcnZpY2UsIG1lZGlhTWF0Y2hlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc2V0RmlsdGVycygpO1xuICAgIHRoaXMudXNlcnNTZXJ2aWNlLmlzTG9nZ2VkJC5zdWJzY3JpYmUobG9nZ2VkID0+IHtcbiAgICAgIHRoaXMudXNlcklzTG9nZ2VkID0gbG9nZ2VkO1xuICAgICAgdGhpcy5ub1JlY2lwZVRleHRGaXJzdExpbmUgPSBsb2dnZWQgPyBDT05ORUNURURfRklSU1RfTElORSA6IE5PVF9DT05ORUNURURfRklSU1RfTElORTtcbiAgICAgIHRoaXMubm9SZWNpcGVUZXh0U2Vjb25kTGluZSA9IGxvZ2dlZCA/IENPTk5FQ1RFRF9TRUNPTkRfTElORSA6IE5PVF9DT05ORUNURURfU0VDT05EX0xJTkU7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBVc2VkIG9uIGxvYWQgdG8gYnVpbGQgdGhlIGZpbHRlcnMgYXR0cmlidXRlLCBhbmQgb24gY2xpY2sgb24gdGhlIGxpbmsgdG8gcmVzZXQgdGhlIGZpbHRlcnNcbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHN1cGVyLnJlc2V0RmlsdGVycygpO1xuICAgIHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycyA9IHsgZmlsdGVyczogeyBwZXJzb25hbDogdHJ1ZSwgYWN0aXZlOiAndHJ1ZSxmYWxzZScgfSwgdGl0bGU6ICcnIH07XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYXJlRmlsdGVyc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRmllbGRFbXB0eSh0aGlzLmZpbHRlcnMuZGlmZmljdWx0eSkgJiYgdGhpcy5pc0ZpZWxkRW1wdHkodGhpcy5maWx0ZXJzLmNvc3QpICYmIHRoaXMuaXNGaWVsZEVtcHR5KHRoaXMuZmlsdGVycy50aW1lKVxuICAgICAgJiYgdGhpcy5maWx0ZXJzLnNlYXJjaCA9PT0gJyc7XG4gIH1cblxuICAvKipcbiAgICogb3ZlcnJpZGUgZnVuY3Rpb24gZnJvbSByZWNpcGUgY2F0YWxvZyBjb21wb25lbnRcbiAgICovXG4gIHJldHVyblRvSG9tZVBhZ2UoKSB7XG4gICAgLy8gRG8gbm90IHJldHVybiB0byBob21lIHBhZ2VcbiAgfVxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSBmdW5jdGlvbiBmcm9tIHJlY2lwZSBjYXRhbG9nIGNvbXBvbmVudFxuICAgKi9cbiAgcmVsb2FkTGlzdCgpIHtcbiAgICB0aGlzLmZpbHRlcnMgPSB7IC4uLnRoaXMuZmlsdGVycyB9OyAvLyBOZWNlc3NhcnkgdG8gdHJpZ2dlciB0aGUgbmdPbkNoYW5nZXNcbiAgICB0aGlzLmRpc3BsYXlIb21lUGFnZSA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiAjbWlhbUNhdGFsb2dUb3BBbmNob3IgY2xhc3M9XCJtaWFtLWNhdGFsb2ctYW5jaG9yXCI+PC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWNyZWF0aW5nUmVjaXBlIGVsc2UgY3JlYXRpb25QYWdlXCIgY2xhc3M9XCJtaWFtLXBlcnNvbmFsLXJlY2lwZXNcIiAod2luZG93OnNjcm9sbCk9XCJkaXNwbGF5UmV0dXJuVG9wQnV0dG9uKClcIj5cbiAgPG5nLW1pYW0tcmVjaXBlLWZpbHRlcnNcbiAgICAqbmdJZj1cIiEobGlzdElzRW1wdHkgJiYgaXNNb2JpbGUgJiYgYXJlRmlsdGVyc0VtcHR5KCkpXCJcbiAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcbiAgICBbbW9iaWxlRml4ZWRdPVwicmV0dXJuVG9wQnV0dG9uU2hvdWxkQmVEaXNwbGF5ZWRcIlxuICAgIFtmaWx0ZXJUb1JlbW92ZV09XCJmaWx0ZXJUb1JlbW92ZVwiXG4gICAgKGZpbHRlclJlc2V0KT1cInJlc2V0RmlsdGVycygpXCJcbiAgICAoZmlsdGVyQ2hhbmdlZCk9XCJ1cGRhdGVGaWx0ZXJzKCRldmVudClcIlxuICAgIChmaWx0ZXJDb2xsYXBzZWQpPVwib25GaWx0ZXJDb2xsYXBzZWQoKVwiPlxuICA8L25nLW1pYW0tcmVjaXBlLWZpbHRlcnM+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcGVyc29uYWwtcmVjaXBlc19fY29udGVudFwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkfVwiPlxuXG4gICAgPG5nLW1pYW0tY2F0YWxvZy1oZWFkZXIgXG4gICAgICBbZGlzcGxheVJldHVybkJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICBbZm9yY2VkUGljdHVyZVVybF09XCJmb3JjZWRQaWN0dXJlVXJsXCJcbiAgICAgIFt0aXRsZV09XCJob21lUGFnZVRpdGxlXCJcbiAgICAgIChzZWFyY2hTdHJpbmdDaGFuZ2VkKT1cInVwZGF0ZVNlYXJjaCgkZXZlbnQpXCI+XG4gICAgPC9uZy1taWFtLWNhdGFsb2ctaGVhZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcGVyc29uYWwtcmVjaXBlc19fbGlzdFwiPlxuICAgICAgPG5nLW1pYW0tY2F0YWxvZy1saXN0XG4gICAgICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgICAgICBbbm9SZWNpcGVUZXh0Rmlyc3RMaW5lXT1cIm5vUmVjaXBlVGV4dEZpcnN0TGluZVwiXG4gICAgICAgIFtub1JlY2lwZVRleHRTZWNvbmRMaW5lXT1cIm5vUmVjaXBlVGV4dFNlY29uZExpbmVcIlxuICAgICAgICAoZmlsdGVyUmVtb3ZlZCk9XCJyZW1vdmVGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgIFtpbnNlcnRDcmVhdGVDYXJkXT1cInRydWVcIlxuICAgICAgICAocmV0cmlldmVkUmVjaXBlcyk9XCJpc0xpc3RFbXB0eSgkZXZlbnQpXCJcbiAgICAgICAgKHJlY2lwZUFjdGlvblRyaWdnZXJlZCk9XCJtYW5hZ2VSZWNpcGVBY3Rpb24oJGV2ZW50KVwiPlxuICAgICAgPC9uZy1taWFtLWNhdGFsb2ctbGlzdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibGlzdElzRW1wdHkgJiYgdGhpcy51c2VySXNMb2dnZWQgJiYgYXJlRmlsdGVyc0VtcHR5KClcIiBjbGFzcz1cIm1pYW0tcGVyc29uYWwtcmVjaXBlc19fbGlzdF9fbmV3XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1idXR0b24tcHJpbWFyeVwiIChjbGljayk9XCJnb1RvQ3JlYXRlUGFnZSgpXCI+XG4gICAgICAgIDxzcGFuPk5vdXZlbGxlIHJlY2V0dGU8L3NwYW4+XG4gICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci13aGl0ZSknIFtpY29uTmFtZV09XCJpY29uLkNpcmNsZWRQbHVzXCI+PC9uZy1taWFtLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJyZXR1cm5Ub3BCdXR0b25TaG91bGRCZURpc3BsYXllZFwiIGNsYXNzPVwibWlhbS1wZXJzb25hbC1yZWNpcGVzX19yZXR1cm5Ub3BcIiAoY2xpY2spPVwicmV0dXJuVG9Ub3AoKVwiPlxuICAgICAgPG5nLW1pYW0taWNvbiBoZWlnaHQ9JzMyJyB3aWR0aD0nMzInIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3Itd2hpdGUpXCIgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIj48L25nLW1pYW0taWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRpb25QYWdlPlxuICA8bmctbWlhbS1yZWNpcGUtc3RlcHBlciBbcmVjaXBlXT1cInJlY2lwZVRvVXBkYXRlXCIgKHJlY2lwZUNoYW5nZSk9XCJsZWF2ZUNyZWF0ZVBhZ2UoKVwiIChjYW5jZWxlZCk9XCJsZWF2ZUNyZWF0ZVBhZ2UoKVwiPjwvbmctbWlhbS1yZWNpcGUtc3RlcHBlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
181
+ }] }, { type: i1.UserService, decorators: [{
182
+ type: Inject,
183
+ args: [UserService]
184
+ }] }]; }, null); })();
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uYWwtcmVjaXBlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9wZXJzb25hbC1yZWNpcGVzL3BlcnNvbmFsLXJlY2lwZXMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9wZXJzb25hbC1yZWNpcGVzL3BlcnNvbmFsLXJlY2lwZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7Ozs7O0lDRGxGLGtEQVF5QjtJQUh2QixvUEFBOEIsd1BBQUEsc1BBQUE7SUFHaEMsaUJBQXlCOzs7SUFOdkIsd0NBQW1CLHdEQUFBLHlDQUFBOzs7O0lBNEJuQiwrQkFDRTtJQUFBLCtCQUNFO0lBRDRCLHVNQUEwQjtJQUN0RCw0QkFBTTtJQUFBLGdDQUFnQjtJQUFBLGlCQUFPO0lBQzdCLG1DQUEwSDtJQUM1SCxpQkFBTTtJQUNSLGlCQUFNOzs7SUFGWSxlQUFZO0lBQVosMEJBQVksY0FBQSxxQ0FBQTs7OztJQUk5QiwrQkFDRTtJQURxRixvTUFBdUI7SUFDNUcsbUNBQXNIO0lBQ3hILGlCQUFNOzs7SUFEcUUsZUFBNkI7SUFBN0Isa0RBQTZCOzs7OztJQXZDNUcsOEJBQ0U7SUFEMkUscU9B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L2xheW91dCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWNrYWdlU2VydmljZSwgUmVjaXBlc1NlcnZpY2UsIFJlY2lwZVR5cGVTZXJ2aWNlLCBTcG9uc29yU2VydmljZSwgU3VwcGxpZXJzU2VydmljZSwgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgUmVjaXBlQ2F0YWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3JlY2lwZS1jYXRhbG9nL3JlY2lwZS1jYXRhbG9nLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTk5FQ1RFRF9GSVJTVF9MSU5FID0gJ0TDqXNvbMOpIHZvdXMgbuKAmWF2ZXogcGFzIGVuY29yZSBkZSByZWNldHRlcyBwZXJzb25uZWxsZXMnO1xuY29uc3QgTk9UX0NPTk5FQ1RFRF9GSVJTVF9MSU5FID0gJ0TDqXNvbMOpLCB2b3VzIGRldmV6IMOqdHJlIGNvbm5lY3TDqSBwb3VyIHZpc3VhbGlzZXIgdm9zIHJlY2V0dGVzIHBlcnNvbm5lbGxlcyc7XG5jb25zdCBDT05ORUNURURfU0VDT05EX0xJTkUgPSAnQ3LDqWV6IGVuIHVuZSBkw6hzIG1haW50ZW5hbnQgISc7XG5jb25zdCBOT1RfQ09OTkVDVEVEX1NFQ09ORF9MSU5FID0gJ0ZhaXRlcyB2b3MgY291cnNlcyDDoCBwYXJ0aXIgZGUgdm9zIHByb3ByZXMgcmVjZXR0ZXMgISc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcGVyc29uYWwtcmVjaXBlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJzb25hbC1yZWNpcGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGVyc29uYWwtcmVjaXBlcy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZXJzb25hbFJlY2lwZXNDb21wb25lbnQgZXh0ZW5kcyBSZWNpcGVDYXRhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBob21lUGFnZVRpdGxlID0gJ01lcyByZWNldHRlcyBwZXJzb25uZWxsZXMnO1xuICBub1JlY2lwZVRleHRGaXJzdExpbmUgPSBDT05ORUNURURfRklSU1RfTElORTtcbiAgbm9SZWNpcGVUZXh0U2Vjb25kTGluZSA9IENPTk5FQ1RFRF9TRUNPTkRfTElORTtcbiAgZGlzcGxheUhvbWVQYWdlID0gZmFsc2U7XG4gIGZvcmNlZFBpY3R1cmVVcmwgPSAnaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9jYXRhbG9nL3JlY2V0dGVzJTIwcGVyc29zLmpwZyc7XG5cbiAgdXNlcklzTG9nZ2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KFJlY2lwZVR5cGVTZXJ2aWNlKSByZWNpcGVUeXBlc1NlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoU3BvbnNvclNlcnZpY2UpIHNwb25zb3JTZXJ2aWNlOiBTcG9uc29yU2VydmljZSxcbiAgICBASW5qZWN0KFN1cHBsaWVyc1NlcnZpY2UpIHN1cHBsaWVyU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBASW5qZWN0KFBhY2thZ2VTZXJ2aWNlKSBwYWNrYWdlU2VydmljZTogUGFja2FnZVNlcnZpY2UsXG4gICAgQEluamVjdChSZWNpcGVzU2VydmljZSkgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoTWVkaWFNYXRjaGVyKSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBASW5qZWN0KFVzZXJTZXJ2aWNlKSB1c2Vyc1NlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGNkciwgcmVjaXBlVHlwZXNTZXJ2aWNlLCBzcG9uc29yU2VydmljZSwgc3VwcGxpZXJTZXJ2aWNlLCBwYWNrYWdlU2VydmljZSwgcmVjaXBlc1NlcnZpY2UsIG1lZGlhTWF0Y2hlciwgdXNlcnNTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG4gICAgdGhpcy51c2Vyc1NlcnZpY2UuaXNMb2dnZWQkLnN1YnNjcmliZShsb2dnZWQgPT4ge1xuICAgICAgdGhpcy51c2VySXNMb2dnZWQgPSBsb2dnZWQ7XG4gICAgICB0aGlzLm5vUmVjaXBlVGV4dEZpcnN0TGluZSA9IGxvZ2dlZCA/IENPTk5FQ1RFRF9GSVJTVF9MSU5FIDogTk9UX0NPTk5FQ1RFRF9GSVJTVF9MSU5FO1xuICAgICAgdGhpcy5ub1JlY2lwZVRleHRTZWNvbmRMaW5lID0gbG9nZ2VkID8gQ09OTkVDVEVEX1NFQ09ORF9MSU5FIDogTk9UX0NPTk5FQ1RFRF9TRUNPTkRfTElORTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFVzZWQgb24gbG9hZCB0byBidWlsZCB0aGUgZmlsdGVycyBhdHRyaWJ1dGUsIGFuZCBvbiBjbGljayBvbiB0aGUgbGluayB0byByZXNldCB0aGUgZmlsdGVyc1xuICByZXNldEZpbHRlcnMoKSB7XG4gICAgc3VwZXIucmVzZXRGaWx0ZXJzKCk7XG4gICAgdGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzID0geyBmaWx0ZXJzOiB7IHBlcnNvbmFsOiB0cnVlLCBhY3RpdmU6ICd0cnVlLGZhbHNlJyB9LCB0aXRsZTogJycgfTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhcmVGaWx0ZXJzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNGaWVsZEVtcHR5KHRoaXMuZmlsdGVycy5kaWZmaWN1bHR5KSAmJiB0aGlzLmlzRmllbGRFbXB0eSh0aGlzLmZpbHRlcnMuY29zdCkgJiYgdGhpcy5pc0ZpZWxkRW1wdHkodGhpcy5maWx0ZXJzLnRpbWUpXG4gICAgICAmJiB0aGlzLmZpbHRlcnMuc2VhcmNoID09PSAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSBmdW5jdGlvbiBmcm9tIHJlY2lwZSBjYXRhbG9nIGNvbXBvbmVudFxuICAgKi9cbiAgcmV0dXJuVG9Ib21lUGFnZSgpIHtcbiAgICAvLyBEbyBub3QgcmV0dXJuIHRvIGhvbWUgcGFnZVxuICB9XG5cbiAgLyoqXG4gICAqIG92ZXJyaWRlIGZ1bmN0aW9uIGZyb20gcmVjaXBlIGNhdGFsb2cgY29tcG9uZW50XG4gICAqL1xuICByZWxvYWRMaXN0KCkge1xuICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzIH07IC8vIE5lY2Vzc2FyeSB0byB0cmlnZ2VyIHRoZSBuZ09uQ2hhbmdlc1xuICAgIHRoaXMuZGlzcGxheUhvbWVQYWdlID0gZmFsc2U7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2ICNtaWFtQ2F0YWxvZ1RvcEFuY2hvciBjbGFzcz1cIm1pYW0tY2F0YWxvZy1hbmNob3JcIj48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhY3JlYXRpbmdSZWNpcGUgZWxzZSBjcmVhdGlvblBhZ2VcIiBjbGFzcz1cIm1pYW0tcGVyc29uYWwtcmVjaXBlc1wiICh3aW5kb3c6c2Nyb2xsKT1cImRpc3BsYXlSZXR1cm5Ub3BCdXR0b24oKVwiPlxuICA8bmctbWlhbS1yZWNpcGUtZmlsdGVyc1xuICAgICpuZ0lmPVwiIShsaXN0SXNFbXB0eSAmJiBpc01vYmlsZSAmJiBhcmVGaWx0ZXJzRW1wdHkoKSlcIlxuICAgIFtmaWx0ZXJzXT1cImZpbHRlcnNcIlxuICAgIFttb2JpbGVGaXhlZF09XCJyZXR1cm5Ub3BCdXR0b25TaG91bGRCZURpc3BsYXllZFwiXG4gICAgW2ZpbHRlclRvUmVtb3ZlXT1cImZpbHRlclRvUmVtb3ZlXCJcbiAgICAoZmlsdGVyUmVzZXQpPVwicmVzZXRGaWx0ZXJzKClcIlxuICAgIChmaWx0ZXJDaGFuZ2VkKT1cInVwZGF0ZUZpbHRlcnMoJGV2ZW50KVwiXG4gICAgKGZpbHRlckNvbGxhcHNlZCk9XCJvbkZpbHRlckNvbGxhcHNlZCgpXCI+XG4gIDwvbmctbWlhbS1yZWNpcGUtZmlsdGVycz5cblxuICA8ZGl2IGNsYXNzPVwibWlhbS1wZXJzb25hbC1yZWNpcGVzX19jb250ZW50XCIgW25nQ2xhc3NdPVwieydmaWx0ZXItY29sbGFwc2VkJzogaXNGaWx0ZXJDb2xsYXBzZWR9XCI+XG5cbiAgICA8bmctbWlhbS1jYXRhbG9nLWhlYWRlciBcbiAgICAgIFtkaXNwbGF5UmV0dXJuQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgIFtmb3JjZWRQaWN0dXJlVXJsXT1cImZvcmNlZFBpY3R1cmVVcmxcIlxuICAgICAgW3RpdGxlXT1cImhvbWVQYWdlVGl0bGVcIlxuICAgICAgKHNlYXJjaFN0cmluZ0NoYW5nZWQpPVwidXBkYXRlU2VhcmNoKCRldmVudClcIj5cbiAgICA8L25nLW1pYW0tY2F0YWxvZy1oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1wZXJzb25hbC1yZWNpcGVzX19saXN0XCI+XG4gICAgICA8bmctbWlhbS1jYXRhbG9nLWxpc3RcbiAgICAgICAgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiXG4gICAgICAgIFtub1JlY2lwZVRleHRGaXJzdExpbmVdPVwibm9SZWNpcGVUZXh0Rmlyc3RMaW5lXCJcbiAgICAgICAgW25vUmVjaXBlVGV4dFNlY29uZExpbmVdPVwibm9SZWNpcGVUZXh0U2Vjb25kTGluZVwiXG4gICAgICAgIChmaWx0ZXJSZW1vdmVkKT1cInJlbW92ZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgW2luc2VydENyZWF0ZUNhcmRdPVwidHJ1ZVwiXG4gICAgICAgIChyZXRyaWV2ZWRSZWNpcGVzKT1cImlzTGlzdEVtcHR5KCRldmVudClcIlxuICAgICAgICAocmVjaXBlQWN0aW9uVHJpZ2dlcmVkKT1cIm1hbmFnZVJlY2lwZUFjdGlvbigkZXZlbnQpXCI+XG4gICAgICA8L25nLW1pYW0tY2F0YWxvZy1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJsaXN0SXNFbXB0eSAmJiB0aGlzLnVzZXJJc0xvZ2dlZCAmJiBhcmVGaWx0ZXJzRW1wdHkoKVwiIGNsYXNzPVwibWlhbS1wZXJzb25hbC1yZWNpcGVzX19saXN0X19uZXdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWJ1dHRvbi1wcmltYXJ5XCIgKGNsaWNrKT1cImdvVG9DcmVhdGVQYWdlKClcIj5cbiAgICAgICAgPHNwYW4+Tm91dmVsbGUgcmVjZXR0ZTwvc3Bhbj5cbiAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXdoaXRlKScgW2ljb25OYW1lXT1cImljb24uQ2lyY2xlZFBsdXNcIj48L25nLW1pYW0taWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cInJldHVyblRvcEJ1dHRvblNob3VsZEJlRGlzcGxheWVkXCIgY2xhc3M9XCJtaWFtLXBlcnNvbmFsLXJlY2lwZXNfX3JldHVyblRvcFwiIChjbGljayk9XCJyZXR1cm5Ub1RvcCgpXCI+XG4gICAgICA8bmctbWlhbS1pY29uIGhlaWdodD0nMzInIHdpZHRoPSczMicgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci13aGl0ZSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5DaGV2cm9uRG93blwiPjwvbmctbWlhbS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNjcmVhdGlvblBhZ2U+XG4gIDxuZy1taWFtLXJlY2lwZS1zdGVwcGVyIFtyZWNpcGVdPVwicmVjaXBlVG9VcGRhdGVcIiAocmVjaXBlQ2hhbmdlKT1cImxlYXZlQ3JlYXRlUGFnZSgpXCIgKGNhbmNlbGVkKT1cImxlYXZlQ3JlYXRlUGFnZSgpXCI+PC9uZy1taWFtLXJlY2lwZS1zdGVwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -19,41 +19,51 @@ import * as i9 from "../../_components/counter-input/counter-input.component";
19
19
  import * as i10 from "../../_components/cors-overlay/cors-overlay.component";
20
20
  import * as i11 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
21
21
  function RecipeCardComponent_div_0_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 33);
22
+ i0.ɵɵelementStart(0, "div", 34);
23
23
  i0.ɵɵtext(1, "D\u00E9j\u00E0 ajout\u00E9e");
24
24
  i0.ɵɵelementEnd();
25
25
  } }
26
- function RecipeCardComponent_div_0_div_4_ng_miam_like_button_6_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "ng-miam-like-button", 34);
26
+ function RecipeCardComponent_div_0_div_4_div_5_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "div", 35);
28
+ i0.ɵɵelement(1, "ng-miam-icon", 36);
29
+ i0.ɵɵelementEnd();
28
30
  } if (rf & 2) {
29
31
  const ctx_r17 = i0.ɵɵnextContext(3);
30
- i0.ɵɵproperty("recipe", ctx_r17.recipe);
32
+ i0.ɵɵadvance(1);
33
+ i0.ɵɵproperty("iconName", ctx_r17.icon.Video)("width", 100)("height", 100);
31
34
  } }
32
- function RecipeCardComponent_div_0_div_4_img_10_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "img", 35);
35
+ function RecipeCardComponent_div_0_div_4_ng_miam_like_button_7_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelement(0, "ng-miam-like-button", 37);
34
37
  } if (rf & 2) {
35
38
  const ctx_r18 = i0.ɵɵnextContext(3);
36
- i0.ɵɵproperty("src", ctx_r18.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
39
+ i0.ɵɵproperty("recipe", ctx_r18.recipe);
40
+ } }
41
+ function RecipeCardComponent_div_0_div_4_img_11_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelement(0, "img", 38);
43
+ } if (rf & 2) {
44
+ const ctx_r19 = i0.ɵɵnextContext(3);
45
+ i0.ɵɵproperty("src", ctx_r19.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
37
46
  } }
38
47
  function RecipeCardComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
39
- const _r20 = i0.ɵɵgetCurrentView();
48
+ const _r21 = i0.ɵɵgetCurrentView();
40
49
  i0.ɵɵelementStart(0, "div", 25);
41
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return ctx_r19.openRecipe(); });
50
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return ctx_r20.openRecipe(); });
42
51
  i0.ɵɵelement(1, "img", 26);
43
52
  i0.ɵɵelement(2, "div", 27);
44
53
  i0.ɵɵtemplate(3, RecipeCardComponent_div_0_div_4_div_3_Template, 2, 0, "div", 28);
45
54
  i0.ɵɵpipe(4, "async");
46
- i0.ɵɵelementStart(5, "div", 29);
47
- i0.ɵɵtemplate(6, RecipeCardComponent_div_0_div_4_ng_miam_like_button_6_Template, 1, 1, "ng-miam-like-button", 30);
48
- i0.ɵɵpipe(7, "async");
49
- i0.ɵɵelementStart(8, "ng-miam-icon", 31);
50
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_ng_miam_icon_click_8_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.openCalendar($event); });
55
+ i0.ɵɵtemplate(5, RecipeCardComponent_div_0_div_4_div_5_Template, 2, 3, "div", 29);
56
+ i0.ɵɵelementStart(6, "div", 30);
57
+ i0.ɵɵtemplate(7, RecipeCardComponent_div_0_div_4_ng_miam_like_button_7_Template, 1, 1, "ng-miam-like-button", 31);
58
+ i0.ɵɵpipe(8, "async");
59
+ i0.ɵɵelementStart(9, "ng-miam-icon", 32);
60
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_ng_miam_icon_click_9_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r22 = i0.ɵɵnextContext(2); return ctx_r22.openCalendar($event); });
51
61
  i0.ɵɵelementEnd();
52
- i0.ɵɵelementStart(9, "ng-miam-icon", 31);
53
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_ng_miam_icon_click_9_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r22 = i0.ɵɵnextContext(2); return ctx_r22.shareRecipe($event); });
62
+ i0.ɵɵelementStart(10, "ng-miam-icon", 32);
63
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_4_Template_ng_miam_icon_click_10_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r23 = i0.ɵɵnextContext(2); return ctx_r23.shareRecipe($event); });
54
64
  i0.ɵɵelementEnd();
55
65
  i0.ɵɵelementEnd();
56
- i0.ɵɵtemplate(10, RecipeCardComponent_div_0_div_4_img_10_Template, 1, 1, "img", 32);
66
+ i0.ɵɵtemplate(11, RecipeCardComponent_div_0_div_4_img_11_Template, 1, 1, "img", 33);
57
67
  i0.ɵɵelementEnd();
58
68
  } if (rf & 2) {
59
69
  const ctx_r3 = i0.ɵɵnextContext(2);
@@ -61,9 +71,11 @@ function RecipeCardComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
61
71
  i0.ɵɵadvance(1);
62
72
  i0.ɵɵproperty("src", ctx_r3.recipe == null ? null : ctx_r3.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
63
73
  i0.ɵɵadvance(2);
64
- i0.ɵɵproperty("ngIf", (tmp_1_0 = i0.ɵɵpipeBind1(4, 6, ctx_r3.groceriesListsService.list$)) == null ? null : tmp_1_0.hasRecipe(ctx_r3.recipe == null ? null : ctx_r3.recipe.id));
65
- i0.ɵɵadvance(3);
66
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(7, 8, ctx_r3.userService.isLogged$));
74
+ i0.ɵɵproperty("ngIf", (tmp_1_0 = i0.ɵɵpipeBind1(4, 7, ctx_r3.groceriesListsService.list$)) == null ? null : tmp_1_0.hasRecipe(ctx_r3.recipe == null ? null : ctx_r3.recipe.id));
75
+ i0.ɵɵadvance(2);
76
+ i0.ɵɵproperty("ngIf", ctx_r3.contextService.videoRecipesEnabled && (ctx_r3.recipe == null ? null : ctx_r3.recipe.videoId));
77
+ i0.ɵɵadvance(2);
78
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(8, 9, ctx_r3.userService.isLogged$));
67
79
  i0.ɵɵadvance(2);
68
80
  i0.ɵɵproperty("iconName", ctx_r3.icon.Calendar);
69
81
  i0.ɵɵadvance(1);
@@ -72,19 +84,19 @@ function RecipeCardComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
72
84
  i0.ɵɵproperty("ngIf", ctx_r3.recipe.filigraneLogoUrl);
73
85
  } }
74
86
  function RecipeCardComponent_div_0_ng_template_5_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelement(0, "ng-miam-skeleton", 36);
87
+ i0.ɵɵelement(0, "ng-miam-skeleton", 39);
76
88
  } if (rf & 2) {
77
89
  const ctx_r5 = i0.ɵɵnextContext(2);
78
90
  i0.ɵɵproperty("type", ctx_r5.skeleton.Picture);
79
91
  } }
80
92
  function RecipeCardComponent_div_0_div_8_Template(rf, ctx) { if (rf & 1) {
81
- const _r24 = i0.ɵɵgetCurrentView();
93
+ const _r25 = i0.ɵɵgetCurrentView();
82
94
  i0.ɵɵelementStart(0, "div");
83
- i0.ɵɵelementStart(1, "div", 37);
84
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_8_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return ctx_r23.openRecipe(); });
95
+ i0.ɵɵelementStart(1, "div", 40);
96
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_div_8_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return ctx_r24.openRecipe(); });
85
97
  i0.ɵɵtext(2);
86
98
  i0.ɵɵelementEnd();
87
- i0.ɵɵelementStart(3, "div", 38);
99
+ i0.ɵɵelementStart(3, "div", 41);
88
100
  i0.ɵɵtext(4);
89
101
  i0.ɵɵpipe(5, "capitalizeFirstLetter");
90
102
  i0.ɵɵelementEnd();
@@ -97,15 +109,15 @@ function RecipeCardComponent_div_0_div_8_Template(rf, ctx) { if (rf & 1) {
97
109
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 2, ctx_r6.ingredientsConcatName));
98
110
  } }
99
111
  function RecipeCardComponent_div_0_ng_template_9_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵelement(0, "ng-miam-skeleton", 36);
112
+ i0.ɵɵelement(0, "ng-miam-skeleton", 39);
101
113
  } if (rf & 2) {
102
114
  const ctx_r8 = i0.ɵɵnextContext(2);
103
115
  i0.ɵɵproperty("type", ctx_r8.skeleton.Text);
104
116
  } }
105
117
  function RecipeCardComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
106
- i0.ɵɵelementStart(0, "div", 39);
107
- i0.ɵɵelement(1, "ng-miam-icon", 40);
108
- i0.ɵɵelementStart(2, "span", 41);
118
+ i0.ɵɵelementStart(0, "div", 42);
119
+ i0.ɵɵelement(1, "ng-miam-icon", 43);
120
+ i0.ɵɵelementStart(2, "span", 44);
109
121
  i0.ɵɵtext(3);
110
122
  i0.ɵɵelementEnd();
111
123
  i0.ɵɵelementEnd();
@@ -118,43 +130,43 @@ function RecipeCardComponent_div_0_div_12_Template(rf, ctx) { if (rf & 1) {
118
130
  } }
119
131
  function RecipeCardComponent_div_0_div_13_ng_container_2_Template(rf, ctx) { if (rf & 1) {
120
132
  i0.ɵɵelementContainerStart(0);
121
- i0.ɵɵelement(1, "ng-miam-icon", 45);
133
+ i0.ɵɵelement(1, "ng-miam-icon", 48);
122
134
  i0.ɵɵelementContainerEnd();
123
135
  } if (rf & 2) {
124
- const ctx_r25 = i0.ɵɵnextContext(3);
136
+ const ctx_r26 = i0.ɵɵnextContext(3);
125
137
  i0.ɵɵadvance(1);
126
- i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r25.icon.DifficultyLow);
138
+ i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r26.icon.DifficultyLow);
127
139
  } }
128
140
  function RecipeCardComponent_div_0_div_13_ng_container_3_Template(rf, ctx) { if (rf & 1) {
129
141
  i0.ɵɵelementContainerStart(0);
130
- i0.ɵɵelement(1, "ng-miam-icon", 45);
142
+ i0.ɵɵelement(1, "ng-miam-icon", 48);
131
143
  i0.ɵɵelementContainerEnd();
132
144
  } if (rf & 2) {
133
- const ctx_r26 = i0.ɵɵnextContext(3);
145
+ const ctx_r27 = i0.ɵɵnextContext(3);
134
146
  i0.ɵɵadvance(1);
135
- i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r26.icon.DifficultyMedium);
147
+ i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r27.icon.DifficultyMedium);
136
148
  } }
137
149
  function RecipeCardComponent_div_0_div_13_ng_container_4_Template(rf, ctx) { if (rf & 1) {
138
150
  i0.ɵɵelementContainerStart(0);
139
- i0.ɵɵelement(1, "ng-miam-icon", 45);
151
+ i0.ɵɵelement(1, "ng-miam-icon", 48);
140
152
  i0.ɵɵelementContainerEnd();
141
153
  } if (rf & 2) {
142
- const ctx_r27 = i0.ɵɵnextContext(3);
154
+ const ctx_r28 = i0.ɵɵnextContext(3);
143
155
  i0.ɵɵadvance(1);
144
- i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r27.icon.DifficultyHight);
156
+ i0.ɵɵproperty("width", 32)("height", 16)("iconName", ctx_r28.icon.DifficultyHight);
145
157
  } }
146
158
  function RecipeCardComponent_div_0_div_13_ng_container_5_Template(rf, ctx) { if (rf & 1) {
147
159
  i0.ɵɵelementContainer(0);
148
160
  } }
149
161
  function RecipeCardComponent_div_0_div_13_Template(rf, ctx) { if (rf & 1) {
150
- i0.ɵɵelementStart(0, "div", 39);
151
- i0.ɵɵelementContainerStart(1, 42);
152
- i0.ɵɵtemplate(2, RecipeCardComponent_div_0_div_13_ng_container_2_Template, 2, 3, "ng-container", 43);
153
- i0.ɵɵtemplate(3, RecipeCardComponent_div_0_div_13_ng_container_3_Template, 2, 3, "ng-container", 43);
154
- i0.ɵɵtemplate(4, RecipeCardComponent_div_0_div_13_ng_container_4_Template, 2, 3, "ng-container", 43);
155
- i0.ɵɵtemplate(5, RecipeCardComponent_div_0_div_13_ng_container_5_Template, 1, 0, "ng-container", 44);
162
+ i0.ɵɵelementStart(0, "div", 42);
163
+ i0.ɵɵelementContainerStart(1, 45);
164
+ i0.ɵɵtemplate(2, RecipeCardComponent_div_0_div_13_ng_container_2_Template, 2, 3, "ng-container", 46);
165
+ i0.ɵɵtemplate(3, RecipeCardComponent_div_0_div_13_ng_container_3_Template, 2, 3, "ng-container", 46);
166
+ i0.ɵɵtemplate(4, RecipeCardComponent_div_0_div_13_ng_container_4_Template, 2, 3, "ng-container", 46);
167
+ i0.ɵɵtemplate(5, RecipeCardComponent_div_0_div_13_ng_container_5_Template, 1, 0, "ng-container", 47);
156
168
  i0.ɵɵelementContainerEnd();
157
- i0.ɵɵelementStart(6, "span", 41);
169
+ i0.ɵɵelementStart(6, "span", 44);
158
170
  i0.ɵɵtext(7);
159
171
  i0.ɵɵelementEnd();
160
172
  i0.ɵɵelementEnd();
@@ -172,16 +184,16 @@ function RecipeCardComponent_div_0_div_13_Template(rf, ctx) { if (rf & 1) {
172
184
  i0.ɵɵtextInterpolate(ctx_r10.recipe == null ? null : ctx_r10.recipe.difficultyLabel);
173
185
  } }
174
186
  function RecipeCardComponent_div_0_ng_template_14_Template(rf, ctx) { if (rf & 1) {
175
- i0.ɵɵelement(0, "ng-miam-skeleton", 36);
187
+ i0.ɵɵelement(0, "ng-miam-skeleton", 39);
176
188
  } if (rf & 2) {
177
189
  const ctx_r12 = i0.ɵɵnextContext(2);
178
190
  i0.ɵɵproperty("type", ctx_r12.skeleton == null ? null : ctx_r12.skeleton.IconWithInfo);
179
191
  } }
180
192
  function RecipeCardComponent_div_0_div_21_Template(rf, ctx) { if (rf & 1) {
181
- const _r30 = i0.ɵɵgetCurrentView();
182
- i0.ɵɵelementStart(0, "div", 46);
183
- i0.ɵɵelementStart(1, "ng-miam-counter-input", 47);
184
- i0.ɵɵlistener("counterChange", function RecipeCardComponent_div_0_div_21_Template_ng_miam_counter_input_counterChange_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return ctx_r29.updateGuests($event); });
193
+ const _r31 = i0.ɵɵgetCurrentView();
194
+ i0.ɵɵelementStart(0, "div", 49);
195
+ i0.ɵɵelementStart(1, "ng-miam-counter-input", 50);
196
+ i0.ɵɵlistener("counterChange", function RecipeCardComponent_div_0_div_21_Template_ng_miam_counter_input_counterChange_1_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return ctx_r30.updateGuests($event); });
185
197
  i0.ɵɵelementEnd();
186
198
  i0.ɵɵelementEnd();
187
199
  } if (rf & 2) {
@@ -190,20 +202,20 @@ function RecipeCardComponent_div_0_div_21_Template(rf, ctx) { if (rf & 1) {
190
202
  i0.ɵɵproperty("counter", ctx_r13.recipe.modifiedGuests);
191
203
  } }
192
204
  function RecipeCardComponent_div_0_ng_template_22_Template(rf, ctx) { if (rf & 1) {
193
- i0.ɵɵelement(0, "ng-miam-skeleton", 36);
205
+ i0.ɵɵelement(0, "ng-miam-skeleton", 39);
194
206
  } if (rf & 2) {
195
207
  const ctx_r15 = i0.ɵɵnextContext(2);
196
208
  i0.ɵɵproperty("type", ctx_r15.skeleton == null ? null : ctx_r15.skeleton.IconWithInfo);
197
209
  } }
198
210
  function RecipeCardComponent_div_0_Template(rf, ctx) { if (rf & 1) {
199
- const _r32 = i0.ɵɵgetCurrentView();
211
+ const _r33 = i0.ɵɵgetCurrentView();
200
212
  i0.ɵɵelementStart(0, "div", 2);
201
213
  i0.ɵɵelementStart(1, "div", 3);
202
214
  i0.ɵɵelementStart(2, "span");
203
215
  i0.ɵɵtext(3);
204
216
  i0.ɵɵelementEnd();
205
217
  i0.ɵɵelementEnd();
206
- i0.ɵɵtemplate(4, RecipeCardComponent_div_0_div_4_Template, 11, 10, "div", 4);
218
+ i0.ɵɵtemplate(4, RecipeCardComponent_div_0_div_4_Template, 12, 11, "div", 4);
207
219
  i0.ɵɵtemplate(5, RecipeCardComponent_div_0_ng_template_5_Template, 1, 1, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
208
220
  i0.ɵɵelementStart(7, "div", 6);
209
221
  i0.ɵɵtemplate(8, RecipeCardComponent_div_0_div_8_Template, 6, 4, "div", 7);
@@ -217,7 +229,7 @@ function RecipeCardComponent_div_0_Template(rf, ctx) { if (rf & 1) {
217
229
  i0.ɵɵelementStart(17, "div", 14);
218
230
  i0.ɵɵelementStart(18, "div", 15);
219
231
  i0.ɵɵelementStart(19, "div", 16);
220
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return ctx_r31.toggleHelper(); });
232
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return ctx_r32.toggleHelper(); });
221
233
  i0.ɵɵelement(20, "ng-miam-icon", 17);
222
234
  i0.ɵɵelementEnd();
223
235
  i0.ɵɵelementEnd();
@@ -230,7 +242,7 @@ function RecipeCardComponent_div_0_Template(rf, ctx) { if (rf & 1) {
230
242
  i0.ɵɵelementEnd();
231
243
  i0.ɵɵelementStart(27, "div");
232
244
  i0.ɵɵelementStart(28, "button", 23);
233
- i0.ɵɵlistener("click", function RecipeCardComponent_div_0_Template_button_click_28_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.addRecipe(); });
245
+ i0.ɵɵlistener("click", function RecipeCardComponent_div_0_Template_button_click_28_listener() { i0.ɵɵrestoreView(_r33); const ctx_r34 = i0.ɵɵnextContext(); return ctx_r34.addRecipe(); });
234
246
  i0.ɵɵelement(29, "ng-miam-icon", 24);
235
247
  i0.ɵɵpipe(30, "async");
236
248
  i0.ɵɵelementEnd();
@@ -288,6 +300,7 @@ export class RecipeCardComponent extends AbstractRecipeCardComponent {
288
300
  this.displayed = new EventEmitter();
289
301
  this.guestsChanged = new EventEmitter();
290
302
  this.isloaded = false;
303
+ this.cardType = 'suggestion-card';
291
304
  this.subscriptions.push(this.recipeService.displayedRecipeChanged.subscribe(() => this.cdr.detectChanges()));
292
305
  }
293
306
  ngOnChanges() {
@@ -309,6 +322,8 @@ export class RecipeCardComponent extends AbstractRecipeCardComponent {
309
322
  this.removedFromFavorite.emit(this.recipe);
310
323
  }
311
324
  openRecipe() {
325
+ const videoEvent = this.contextService.videoRecipesEnabled && this.recipe.videoId;
326
+ this.analyticsService.sendEvent('display-recipe', videoEvent ? `${this.cardType}/video` : this.cardType);
312
327
  this.recipeService.displayObject(this.recipe, { guests: this.recipe.modifiedGuests });
313
328
  this.displayed.emit();
314
329
  }
@@ -341,12 +356,12 @@ export class RecipeCardComponent extends AbstractRecipeCardComponent {
341
356
  }
342
357
  }
343
358
  RecipeCardComponent.ɵfac = function RecipeCardComponent_Factory(t) { return new (t || RecipeCardComponent)(i0.ɵɵdirectiveInject(ChangeDetectorRef), i0.ɵɵdirectiveInject(RecipesService), i0.ɵɵdirectiveInject(RecipeEventsService), i0.ɵɵdirectiveInject(GroceriesListsService), i0.ɵɵdirectiveInject(UserService), i0.ɵɵdirectiveInject(PointOfSalesService), i0.ɵɵdirectiveInject(ContextService), i0.ɵɵdirectiveInject(i1.AnalyticsService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
344
- RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent, selectors: [["ng-miam-recipe-card"]], inputs: { recipeId: "recipeId", recipe: "recipe" }, outputs: { removedFromFavorite: "removedFromFavorite", displayed: "displayed", guestsChanged: "guestsChanged" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 3, vars: 1, consts: [["class", "miam-recipe-card", 4, "ngIf"], ["cors", ""], [1, "miam-recipe-card"], [1, "miam-recipe-card__header"], ["class", "miam-recipe-card__picture", 3, "click", 4, "ngIf", "ngIfElse"], ["pictSkeleton", ""], [1, "miam-recipe-card__attributes"], [4, "ngIf", "ngIfElse"], ["textSkeleton", ""], [1, "miam-recipe-card__attributes__infos"], ["class", "miam-recipe-card__attributes__info ", 4, "ngIf", "ngIfElse"], ["class", "miam-recipe-card__attributes__info", 4, "ngIf", "ngIfElse"], ["skeletonInfo", ""], [1, "miam-recipe-card__attributes__control"], [1, "miam-recipe-card__control__left__col"], [1, "miam-recipe-card__left__col__custom"], [1, "miam-recipe-card__help", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], ["class", "miam-recipe-card__left__col__counter", 4, "ngIf", "ngIfElse"], ["skeletoncounter", ""], [1, "miam-recipe-card__control__right__col"], [1, "miam-recipe-card__right__col__price"], [3, "recipe", "serves"], [1, "m-button-fab-primary", 3, "disabled", "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [1, "miam-recipe-card__picture", 3, "click"], ["loading", "lazy", 3, "src"], [1, "miam-recipe-card__picture__gradient"], ["class", "miam-recipe-card__picture__tag", 4, "ngIf"], [1, "miam-recipe-card__picture__actions"], ["class", "miam-recipe-card__actions__icon miam-noPadding", 3, "recipe", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-card__actions__icon", 3, "iconName", "click"], ["class", "miam-recipe-card__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-card__picture__tag"], [1, "miam-recipe-card__actions__icon", "miam-noPadding", 3, "recipe"], [1, "miam-recipe-card__picture__sponsor", 3, "src"], [3, "type"], [1, "miam-recipe-card__attributes__title", 3, "click"], [1, "miam-recipe-card__attributes__ingredients"], [1, "miam-recipe-card__attributes__info"], [3, "iconName"], [1, "miam-recipe-card__info__label"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["primaryColor", "var(--m-color-secondary)", 3, "width", "height", "iconName"], [1, "miam-recipe-card__left__col__counter"], [3, "counter", "counterChange"]], template: function RecipeCardComponent_Template(rf, ctx) { if (rf & 1) {
359
+ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent, selectors: [["ng-miam-recipe-card"]], inputs: { recipeId: "recipeId", recipe: "recipe" }, outputs: { removedFromFavorite: "removedFromFavorite", displayed: "displayed", guestsChanged: "guestsChanged" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 3, vars: 1, consts: [["class", "miam-recipe-card", 4, "ngIf"], ["cors", ""], [1, "miam-recipe-card"], [1, "miam-recipe-card__header"], ["class", "miam-recipe-card__picture", 3, "click", 4, "ngIf", "ngIfElse"], ["pictSkeleton", ""], [1, "miam-recipe-card__attributes"], [4, "ngIf", "ngIfElse"], ["textSkeleton", ""], [1, "miam-recipe-card__attributes__infos"], ["class", "miam-recipe-card__attributes__info ", 4, "ngIf", "ngIfElse"], ["class", "miam-recipe-card__attributes__info", 4, "ngIf", "ngIfElse"], ["skeletonInfo", ""], [1, "miam-recipe-card__attributes__control"], [1, "miam-recipe-card__control__left__col"], [1, "miam-recipe-card__left__col__custom"], [1, "miam-recipe-card__help", 3, "click"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], ["class", "miam-recipe-card__left__col__counter", 4, "ngIf", "ngIfElse"], ["skeletoncounter", ""], [1, "miam-recipe-card__control__right__col"], [1, "miam-recipe-card__right__col__price"], [3, "recipe", "serves"], [1, "m-button-fab-primary", 3, "disabled", "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [1, "miam-recipe-card__picture", 3, "click"], ["loading", "lazy", 3, "src"], [1, "miam-recipe-card__picture__gradient"], ["class", "miam-recipe-card__picture__tag", 4, "ngIf"], ["class", "miam-recipe-card__picture__video", 4, "ngIf"], [1, "miam-recipe-card__picture__actions"], ["class", "miam-recipe-card__actions__icon miam-noPadding", 3, "recipe", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-card__actions__icon", 3, "iconName", "click"], ["class", "miam-recipe-card__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-card__picture__tag"], [1, "miam-recipe-card__picture__video"], ["primaryColor", "var(--m-color-primary)", 3, "iconName", "width", "height"], [1, "miam-recipe-card__actions__icon", "miam-noPadding", 3, "recipe"], [1, "miam-recipe-card__picture__sponsor", 3, "src"], [3, "type"], [1, "miam-recipe-card__attributes__title", 3, "click"], [1, "miam-recipe-card__attributes__ingredients"], [1, "miam-recipe-card__attributes__info"], [3, "iconName"], [1, "miam-recipe-card__info__label"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["primaryColor", "var(--m-color-secondary)", 3, "width", "height", "iconName"], [1, "miam-recipe-card__left__col__counter"], [3, "counter", "counterChange"]], template: function RecipeCardComponent_Template(rf, ctx) { if (rf & 1) {
345
360
  i0.ɵɵtemplate(0, RecipeCardComponent_div_0_Template, 31, 22, "div", 0);
346
361
  i0.ɵɵtemplate(1, RecipeCardComponent_ng_template_1_Template, 1, 0, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
347
362
  } if (rf & 2) {
348
363
  i0.ɵɵproperty("ngIf", ctx.isloaded);
349
- } }, directives: [i4.NgIf, i5.IconComponent, i6.RecipePricingComponent, i7.LikeButtonComponent, i8.SkeletonComponent, i4.NgSwitch, i4.NgSwitchCase, i4.NgSwitchDefault, i9.CounterInputComponent, i10.CORSOverlayComponent], pipes: [i4.AsyncPipe, i11.CapitalizeFirstLetterPipe], styles: [".miam-flex-column,.miam-recipe-card .miam-recipe-card__attributes,.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions{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}.miam-recipe-card{background-color:var(--m-color-white);border-radius:var(--m-border-radius);box-shadow:var(--m-shadow-small);display:flex;flex-direction:column;height:100%;min-height:470px;position:relative;width:320px}.miam-recipe-card .miam-recipe-card__header{display:none}.miam-recipe-card .miam-recipe-card__picture{-webkit-tap-highlight-color:transparent;cursor:pointer;height:240px;position:relative}.miam-recipe-card .miam-recipe-card__picture img{-o-object-fit:cover;object-fit:cover;transition:var(--m-default-transition);z-index:var(--m-z-index-position-absolute-low)}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient,.miam-recipe-card .miam-recipe-card__picture img{border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;position:absolute;width:100%}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);content:\"\"}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions{position:absolute;right:16px;top:8px;z-index:var(--m-z-index-position-absolute-high)}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon{-o-object-fit:contain;background-color:var(--m-color-white);border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon .icon-container{margin:0}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon.miam-noPadding{padding:0}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;width:auto}.miam-recipe-card .miam-recipe-card__attributes{flex:1 1;justify-content:space-between;padding:8px 16px 16px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title{-webkit-box-orient:vertical;-webkit-line-clamp:2;-webkit-tap-highlight-color:transparent;color:var(--m-color-slate);cursor:pointer;display:-webkit-box;font-size:20px;font-weight:700;font-weight:500;letter-spacing:normal;line-height:30;line-height:1.5;margin:0 8px 8px 0;overflow:hidden;text-align:left;text-overflow:ellipsis;transition:var(--m-default-transition)}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__ingredients{-webkit-box-orient:vertical;-webkit-line-clamp:1;color:var(--m-color-grey-text);display:-webkit-box;font-size:14px;font-weight:300;overflow:hidden;text-overflow:ellipsis}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos{display:flex;flex-direction:row;padding:8px 0}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos .miam-recipe-card__attributes__info{display:flex;flex-direction:row;margin:0 16px 0 0}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos .miam-recipe-card__attributes__info .miam-recipe-card__info__label{font-size:14px;margin-left:8px;text-transform:capitalize}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control{align-items:center;display:flex;justify-content:space-between}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col{display:flex;flex-direction:column-reverse}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter{align-items:center;display:flex}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:8px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__custom{align-items:flex-end;display:flex;height:48px;justify-content:flex-start}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__custom .icon-container{cursor:pointer}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col{align-items:center;display:flex;flex-direction:column;min-width:60px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col .miam-recipe-card__right__col__price{height:48px}@media (max-width:1023px){.miam-recipe-card{min-height:unset}.miam-recipe-card .miam-recipe-card__picture{height:164px}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient{background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.2))}.miam-recipe-card .miam-recipe-card__attributes{padding:8px 16px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title{color:#fff;font-weight:700;height:72px;margin-left:calc(15% - 16px);position:absolute;text-align:center;top:52px;width:70%}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__ingredients{display:none}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col{flex-direction:row;justify-content:space-between;width:100%}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter{align-items:flex-end;padding-bottom:4px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col{margin-top:12px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col .miam-recipe-card__right__col__price{height:48px;position:absolute;top:172px}}"], encapsulation: 2, changeDetection: 0 });
364
+ } }, directives: [i4.NgIf, i5.IconComponent, i6.RecipePricingComponent, i7.LikeButtonComponent, i8.SkeletonComponent, i4.NgSwitch, i4.NgSwitchCase, i4.NgSwitchDefault, i9.CounterInputComponent, i10.CORSOverlayComponent], pipes: [i4.AsyncPipe, i11.CapitalizeFirstLetterPipe], styles: [".miam-flex-column,.miam-recipe-card .miam-recipe-card__attributes,.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions{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}.miam-recipe-card{background-color:var(--m-color-white);border-radius:var(--m-border-radius);box-shadow:var(--m-shadow-small);display:flex;flex-direction:column;height:100%;min-height:470px;position:relative;width:320px}.miam-recipe-card .miam-recipe-card__header{display:none}.miam-recipe-card .miam-recipe-card__picture{-webkit-tap-highlight-color:transparent;cursor:pointer;height:240px;position:relative}.miam-recipe-card .miam-recipe-card__picture img{-o-object-fit:cover;object-fit:cover;transition:var(--m-default-transition);z-index:var(--m-z-index-position-absolute-low)}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient,.miam-recipe-card .miam-recipe-card__picture img{border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;position:absolute;width:100%}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);content:\"\"}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__video{left:calc(50% - 50px);position:absolute;top:calc(50% - 50px)}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions{position:absolute;right:16px;top:8px;z-index:var(--m-z-index-position-absolute-high)}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon{-o-object-fit:contain;background-color:var(--m-color-white);border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon .icon-container{margin:0}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__actions .miam-recipe-card__actions__icon.miam-noPadding{padding:0}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;width:auto}.miam-recipe-card .miam-recipe-card__attributes{flex:1 1;justify-content:space-between;padding:8px 16px 16px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title{-webkit-box-orient:vertical;-webkit-line-clamp:2;-webkit-tap-highlight-color:transparent;color:var(--m-color-slate);cursor:pointer;display:-webkit-box;font-size:20px;font-weight:700;font-weight:500;letter-spacing:normal;line-height:30;line-height:1.5;margin:0 8px 8px 0;overflow:hidden;text-align:left;text-overflow:ellipsis;transition:var(--m-default-transition)}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__ingredients{-webkit-box-orient:vertical;-webkit-line-clamp:1;color:var(--m-color-grey-text);display:-webkit-box;font-size:14px;font-weight:300;overflow:hidden;text-overflow:ellipsis}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos{display:flex;flex-direction:row;padding:8px 0}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos .miam-recipe-card__attributes__info{display:flex;flex-direction:row;margin:0 16px 0 0}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__infos .miam-recipe-card__attributes__info .miam-recipe-card__info__label{font-size:14px;margin-left:8px;text-transform:capitalize}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control{align-items:center;display:flex;justify-content:space-between}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col{display:flex;flex-direction:column-reverse}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter{align-items:center;display:flex}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:8px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__custom{align-items:flex-end;display:flex;height:48px;justify-content:flex-start}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__custom .icon-container{cursor:pointer}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col{align-items:center;display:flex;flex-direction:column;min-width:60px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col .miam-recipe-card__right__col__price{height:48px}@media (max-width:1023px){.miam-recipe-card{min-height:unset}.miam-recipe-card .miam-recipe-card__picture{height:164px}.miam-recipe-card .miam-recipe-card__picture .miam-recipe-card__picture__gradient{background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.2))}.miam-recipe-card .miam-recipe-card__attributes{padding:8px 16px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__title{color:#fff;font-weight:700;height:72px;margin-left:calc(15% - 16px);position:absolute;text-align:center;top:52px;width:70%}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__ingredients{display:none}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col{flex-direction:row;justify-content:space-between;width:100%}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__left__col .miam-recipe-card__left__col__counter{align-items:flex-end;padding-bottom:4px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col{margin-top:12px}.miam-recipe-card .miam-recipe-card__attributes .miam-recipe-card__attributes__control .miam-recipe-card__control__right__col .miam-recipe-card__right__col__price{height:48px;position:absolute;top:172px}}"], encapsulation: 2, changeDetection: 0 });
350
365
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeCardComponent, [{
351
366
  type: Component,
352
367
  args: [{
@@ -388,4 +403,4 @@ RecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeCardComponent,
388
403
  }], guestsChanged: [{
389
404
  type: Output
390
405
  }] }); })();
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFDL0gsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDRHRCLCtCQUFpSDtJQUFBLDJDQUFhO0lBQUEsaUJBQU07OztJQUVsSSwwQ0FBMEo7OztJQUF4Qyx1Q0FBaUI7OztJQU1ySSwwQkFDRjs7O0lBRGtGLHVFQUE2Qjs7OztJQVgvRywrQkFDRTtJQURzRSw4TEFBc0I7SUFDNUYsMEJBQ0E7SUFB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O2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSw4QkFBOEI7Z0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUMzQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7O3NCQVlJLE1BQU07dUJBQUMsaUJBQWlCOztzQkFDeEIsTUFBTTt1QkFBQyxjQUFjOztzQkFDckIsTUFBTTt1QkFBQyxtQkFBbUI7O3NCQUMxQixNQUFNO3VCQUFDLHFCQUFxQjs7c0JBQzVCLE1BQU07dUJBQUMsV0FBVzs7c0JBQ2xCLE1BQU07dUJBQUMsbUJBQW1COztzQkFDMUIsTUFBTTt1QkFBQyxjQUFjO2dGQWZmLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDSSxtQkFBbUI7a0JBQTVCLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIE9uQ2hhbmdlcywgSW5qZWN0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcixcbiAgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RSZWNpcGVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vX2NvbXBvbmVudHMvYWJzdHJhY3RzL2Fic3RyYWN0LXJlY2lwZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWNpcGVzU2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBDb250ZXh0U2VydmljZSwgUmVjaXBlRXZlbnRzU2VydmljZSwgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9wb2ludC1vZi1zYWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUaGlzIGlzIGFuIGFuZ3VsYXIgY29tcG9uZW50IGRlc2lnbiB0byBiZSBhIHdlYiBjb21wb25lbnRcbiAqIHRoYXQncyB3aHkgd2UgdXNlIG9uUHVzaFN0cmF0ZWdpZSB3aXRoIHRoZSBjaGFuZ2VEZXRldGVjdG9yUmVmXG4gKiB0byBhdm9pZCBjb21tb24gaXNzdWVcbiAqIGd1aWRlIC0+IGh0dHBzOi8vbmV0YmFzYWwuY29tL2EtY29tcHJlaGVuc2l2ZS1ndWlkZS10by1hbmd1bGFyLW9ucHVzaC1jaGFuZ2UtZGV0ZWN0aW9uLXN0cmF0ZWd5LTViYWM0OTMwNzRhNFxuICogYW5kIGFsc293IHdlIHVzZSBTaGFkb3dEb20gdG8gcHJvdGVjdCBzdHlsZSBvZiBvdXIgY29tcG9uZW50XG4gKiBhbmQgYWxzb3cgc3R5bGUgb2YgdGhlIHBhcmVudCBhcGxpY2F0aW9uIHRoYXQgd2lsbCB1c2UgaXRcbiAqIGRvYyAtPiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvVmlld0VuY2Fwc3VsYXRpb25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgUmVjaXBlQ2FyZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0UmVjaXBlQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJlY2lwZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlY2lwZTogUmVjaXBlO1xuICBAT3V0cHV0KCkgcmVtb3ZlZEZyb21GYXZvcml0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkaXNwbGF5ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBndWVzdHNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgaXNsb2FkZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUmVjaXBlc1NlcnZpY2UpIHJlY2lwZVNlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoUmVjaXBlRXZlbnRzU2VydmljZSkgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBASW5qZWN0KEdyb2Nlcmllc0xpc3RzU2VydmljZSkgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgQEluamVjdChVc2VyU2VydmljZSkgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoUG9pbnRPZlNhbGVzU2VydmljZSkgcG9pbnRPZlNhbGVzU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBASW5qZWN0KENvbnRleHRTZXJ2aWNlKSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICBzdXBlcihjZHIsIHJlY2lwZVNlcnZpY2UsIHJlY2lwZUV2ZW50c1NlcnZpY2UsIGdyb2Nlcmllc0xpc3RzU2VydmljZSwgdXNlclNlcnZpY2UsIHBvaW50T2ZTYWxlc1NlcnZpY2UsIGNvbnRleHRTZXJ2aWNlLFxuICAgICAgYW5hbHl0aWNzU2VydmljZSwgZWxlbWVudCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlY2lwZVNlcnZpY2UuZGlzcGxheWVkUmVjaXBlQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMucmVjaXBlV2FzTG9hZGVkKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMucmVjaXBlSWQpIHtcbiAgICAgIHRoaXMubG9hZFJlY2lwZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlY2lwZVdhc0xvYWRlZCgpIHtcbiAgICB0aGlzLmluaXRJbmdyZWRpZW50c1N0cmluZygpO1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzIHx8PSArdGhpcy5yZWNpcGUuZ3Vlc3RzO1xuICAgIHRoaXMuaXNsb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21GYXZvcml0ZSgpIHtcbiAgICB0aGlzLnJlbW92ZWRGcm9tRmF2b3JpdGUuZW1pdCh0aGlzLnJlY2lwZSk7XG4gIH1cblxuICBvcGVuUmVjaXBlKCkge1xuICAgIHRoaXMucmVjaXBlU2VydmljZS5kaXNwbGF5T2JqZWN0KHRoaXMucmVjaXBlLCB7IGd1ZXN0cyA6IHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzIH0pO1xuICAgIHRoaXMuZGlzcGxheWVkLmVtaXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUd1ZXN0cyhjb3VudCkge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gY291bnQ7XG4gICAgaWYgKHRoaXMucmVjaXBlSWQpIHsgdGhpcy5fdXBkYXRlQmFza2V0KCk7IH0gLy8gSWYgcmVjaXBlIHdhcyBsb2FkZWQgaGVyZSwgd2UgbmVlZCB0byBwcm9jZXNzIGJhc2tldCB1cGRhdGVzIGhlcmVcbiAgICB0aGlzLmd1ZXN0c0NoYW5nZWQuZW1pdChjb3VudCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgX3VwZGF0ZUJhc2tldCgpIHtcbiAgICAvLyBJZiByZWNpcGUgYWxyZWFkeSBpbiBiYXNrZXQsIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGd1ZXN0cyBzbyB0aGF0IHRoZSBwcmljaW5nIGdldHMgdXBkYXRlZCBhcyB3ZWxsXG4gICAgLy8gKGRpc3BsYXkgPSBmYWxzZSBzbyB0aGF0IHRoZSByZWNpcGUgZGV0YWlscyBkb24ndCBzaG93IHVwKVxuICAgIGlmICh0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JC52YWx1ZS5oYXNSZWNpcGUodGhpcy5yZWNpcGVJZCkpe1xuICAgICAgdGhpcy5hZGRSZWNpcGUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZFJlY2lwZSgpIHtcbiAgICAgICAgdGhpcy5yZWNpcGVTZXJ2aWNlLmdldCh0aGlzLnJlY2lwZUlkLFxuICAgICAgICAgIHsgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXN0YXR1cycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycycgXSB9XG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgICAgY2F0Y2hFcnJvciggZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgICAgIH0pLFxuICAgICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5yZWNpcGUgPSByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgICAgIHRoaXMucmVjaXBlV2FzTG9hZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9J2lzbG9hZGVkJyBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2hlYWRlclwiPlxuICAgIDxzcGFuPiB7e2hlYWRlclRleHR9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJyZWNpcGUgZWxzZSBwaWN0U2tlbGV0b25cIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVcIiAoY2xpY2spPVwib3BlblJlY2lwZSgpXCI+XG4gICAgPGltZyBbc3JjXT1cInJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIiBsb2FkaW5nPVwibGF6eVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX3RhZ1wiPkTDqWrDoCAgYWpvdXTDqWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZV9fYWN0aW9uc1wiPlxuICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b24gKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYWN0aW9uc19faWNvbiBtaWFtLW5vUGFkZGluZ1wiIFtyZWNpcGVdPSdyZWNpcGUnPjwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCIgKGNsaWNrKT0nb3BlbkNhbGVuZGFyKCRldmVudCknXG4gICAgICAgIFtpY29uTmFtZV09XCJpY29uLkNhbGVuZGFyXCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCIgKGNsaWNrKT0nc2hhcmVSZWNpcGUoJGV2ZW50KSdcbiAgICAgICAgW2ljb25OYW1lXT1cImljb24uU2hhcmVcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxpbWcgKm5nSWY9XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZV9fc3BvbnNvclwiIFtzcmNdPXJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNwaWN0U2tlbGV0b24+XG4gICAgPG5nLW1pYW0tc2tlbGV0b24gW3R5cGVdPSdza2VsZXRvbi5QaWN0dXJlJz48L25nLW1pYW0tc2tlbGV0b24+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzXCI+XG4gICAgPGRpdiAqbmdJZj1cInJlY2lwZSBlbHNlIHRleHRTa2VsZXRvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX3RpdGxlXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmdyZWRpZW50c1wiPnt7aW5ncmVkaWVudHNDb25jYXROYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3RleHRTa2VsZXRvbj5cbiAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24uVGV4dCc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm9zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPSdyZWNpcGUgZWxzZSBza2VsZXRvbkluZm8nIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5mbyAgXCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZm9fX2xhYmVsXCI+e3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uSW5mbycgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eUxhYmVsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY2lsZSdcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjMyXCIgW2hlaWdodF09XCIxNlwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpJ1xuICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21veWVuJ1wiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjE2XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGlmZmljaWxlJ1wiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjE2XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlIaWdodFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb19fbGFiZWxcIj57e3JlY2lwZT8uZGlmZmljdWx0eUxhYmVsfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25JbmZvPlxuICAgICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uPy5JY29uV2l0aEluZm8nPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2NvbnRyb2xcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250cm9sX19sZWZ0X19jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2xlZnRfX2NvbF9fY3VzdG9tXCI+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlSGVscGVyKClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2hlbHBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSdcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhlbHBcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uY291bnRlcicgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19sZWZ0X19jb2xfX2NvdW50ZXJcIj5cbiAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0IFtjb3VudGVyXT1cInJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiIChjb3VudGVyQ2hhbmdlKT1cInVwZGF0ZUd1ZXN0cygkZXZlbnQpXCI+PC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NrZWxldG9uY291bnRlcj5cbiAgICAgICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uPy5JY29uV2l0aEluZm8nPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2NvbnRyb2xfX3JpZ2h0X19jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3JpZ2h0X19jb2xfX3ByaWNlXCI+XG4gICAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIj48L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT0nIXJlY2lwZScgKGNsaWNrKT1cImFkZFJlY2lwZSgpXCIgIGNsYXNzPVwibS1idXR0b24tZmFiLXByaW1hcnlcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZicgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0ICA6aWNvbi5DYXJ0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2NvcnM+XG4gIDxuZy1taWFtLWNvcnMtb3ZlcmxheT48L25nLW1pYW0tY29ycy1vdmVybGF5PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
406
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmQvcmVjaXBlLWNhcmQuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZC9yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNYdEIsK0JBQWlIO0lBQUEsMkNBQWE7SUFBQSxpQkFBTTs7O0lBQ3BJLCtCQUNFO0lBQUEsbUNBQXdIO0lBQzFILGlCQUFNOzs7SUFEVSxlQUF1QjtJQUF2Qiw2Q0FBdUIsY0FBQSxlQUFBOzs7SUFHckMsMENBQTBKOzs7SUFBeEMsdUNB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bkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzRkFyRlUsbUJBQW1CLHVCQVdwQixpQkFBaUIsd0JBQ2pCLGNBQWMsd0JBQ2QsbUJBQW1CLHdCQUNuQixxQkFBcUIsd0JBQ3JCLFdBQVcsd0JBQ1gsbUJBQW1CLHdCQUNuQixjQUFjO3dEQWpCYixtQkFBbUI7UUNyQ2hDLHNFQUNFO1FBdUZGLHFIQUNFOztRQXpGRyxtQ0FBZ0I7O2tERHFDUixtQkFBbUI7Y0FSL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSw4QkFBOEI7Z0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUMzQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7O3NCQWFJLE1BQU07dUJBQUMsaUJBQWlCOztzQkFDeEIsTUFBTTt1QkFBQyxjQUFjOztzQkFDckIsTUFBTTt1QkFBQyxtQkFBbUI7O3NCQUMxQixNQUFNO3VCQUFDLHFCQUFxQjs7c0JBQzVCLE1BQU07dUJBQUMsV0FBVzs7c0JBQ2xCLE1BQU07dUJBQUMsbUJBQW1COztzQkFDMUIsTUFBTTt1QkFBQyxjQUFjO2dGQWhCZixRQUFRO2tCQUFoQixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0ksbUJBQW1CO2tCQUE1QixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTTtZQUNHLGFBQWE7a0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIEluamVjdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlY2lwZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvYWJzdHJhY3QtcmVjaXBlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlLCBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsIENvbnRleHRTZXJ2aWNlLCBSZWNpcGVFdmVudHNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3BvaW50LW9mLXNhbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFRoaXMgaXMgYW4gYW5ndWxhciBjb21wb25lbnQgZGVzaWduIHRvIGJlIGEgd2ViIGNvbXBvbmVudFxuICogdGhhdCdzIHdoeSB3ZSB1c2Ugb25QdXNoU3RyYXRlZ2llIHdpdGggdGhlIGNoYW5nZURldGV0ZWN0b3JSZWZcbiAqIHRvIGF2b2lkIGNvbW1vbiBpc3N1ZVxuICogZ3VpZGUgLT4gaHR0cHM6Ly9uZXRiYXNhbC5jb20vYS1jb21wcmVoZW5zaXZlLWd1aWRlLXRvLWFuZ3VsYXItb25wdXNoLWNoYW5nZS1kZXRlY3Rpb24tc3RyYXRlZ3ktNWJhYzQ5MzA3NGE0XG4gKiBhbmQgYWxzb3cgd2UgdXNlIFNoYWRvd0RvbSB0byBwcm90ZWN0IHN0eWxlIG9mIG91ciBjb21wb25lbnRcbiAqIGFuZCBhbHNvdyBzdHlsZSBvZiB0aGUgcGFyZW50IGFwbGljYXRpb24gdGhhdCB3aWxsIHVzZSBpdFxuICogZG9jIC0+IGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9WaWV3RW5jYXBzdWxhdGlvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBSZWNpcGVDYXJkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RSZWNpcGVDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcmVjaXBlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcmVjaXBlOiBSZWNpcGU7XG4gIEBPdXRwdXQoKSByZW1vdmVkRnJvbUZhdm9yaXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRpc3BsYXllZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGd1ZXN0c0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBpc2xvYWRlZCA9IGZhbHNlO1xuICBjYXJkVHlwZSA9ICdzdWdnZXN0aW9uLWNhcmQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChSZWNpcGVzU2VydmljZSkgcmVjaXBlU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgQEluamVjdChSZWNpcGVFdmVudHNTZXJ2aWNlKSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIEBJbmplY3QoR3JvY2VyaWVzTGlzdHNTZXJ2aWNlKSBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBASW5qZWN0KFVzZXJTZXJ2aWNlKSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgQEluamVjdChQb2ludE9mU2FsZXNTZXJ2aWNlKSBwb2ludE9mU2FsZXNTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoQ29udGV4dFNlcnZpY2UpIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZlxuICAgICkge1xuICAgIHN1cGVyKGNkciwgcmVjaXBlU2VydmljZSwgcmVjaXBlRXZlbnRzU2VydmljZSwgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCB1c2VyU2VydmljZSwgcG9pbnRPZlNhbGVzU2VydmljZSwgY29udGV4dFNlcnZpY2UsXG4gICAgICBhbmFseXRpY3NTZXJ2aWNlLCBlbGVtZW50KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucmVjaXBlU2VydmljZS5kaXNwbGF5ZWRSZWNpcGVDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgdGhpcy5yZWNpcGVXYXNMb2FkZWQoKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy5yZWNpcGVJZCkge1xuICAgICAgdGhpcy5sb2FkUmVjaXBlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVjaXBlV2FzTG9hZGVkKCkge1xuICAgIHRoaXMuaW5pdEluZ3JlZGllbnRzU3RyaW5nKCk7XG4gICAgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMgfHw9ICt0aGlzLnJlY2lwZS5ndWVzdHM7XG4gICAgdGhpcy5pc2xvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUZhdm9yaXRlKCkge1xuICAgIHRoaXMucmVtb3ZlZEZyb21GYXZvcml0ZS5lbWl0KHRoaXMucmVjaXBlKTtcbiAgfVxuXG4gIG9wZW5SZWNpcGUoKSB7XG4gICAgY29uc3QgdmlkZW9FdmVudCA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZS52aWRlb0lkO1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ2Rpc3BsYXktcmVjaXBlJywgdmlkZW9FdmVudCA/IGAke3RoaXMuY2FyZFR5cGV9L3ZpZGVvYCA6IHRoaXMuY2FyZFR5cGUpO1xuICAgIHRoaXMucmVjaXBlU2VydmljZS5kaXNwbGF5T2JqZWN0KHRoaXMucmVjaXBlLCB7IGd1ZXN0cyA6IHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzIH0pO1xuICAgIHRoaXMuZGlzcGxheWVkLmVtaXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUd1ZXN0cyhjb3VudCkge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gY291bnQ7XG4gICAgaWYgKHRoaXMucmVjaXBlSWQpIHsgdGhpcy5fdXBkYXRlQmFza2V0KCk7IH0gLy8gSWYgcmVjaXBlIHdhcyBsb2FkZWQgaGVyZSwgd2UgbmVlZCB0byBwcm9jZXNzIGJhc2tldCB1cGRhdGVzIGhlcmVcbiAgICB0aGlzLmd1ZXN0c0NoYW5nZWQuZW1pdChjb3VudCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgX3VwZGF0ZUJhc2tldCgpIHtcbiAgICAvLyBJZiByZWNpcGUgYWxyZWFkeSBpbiBiYXNrZXQsIHVwZGF0ZSB0aGUgbnVtYmVyIG9mIGd1ZXN0cyBzbyB0aGF0IHRoZSBwcmljaW5nIGdldHMgdXBkYXRlZCBhcyB3ZWxsXG4gICAgLy8gKGRpc3BsYXkgPSBmYWxzZSBzbyB0aGF0IHRoZSByZWNpcGUgZGV0YWlscyBkb24ndCBzaG93IHVwKVxuICAgIGlmICh0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JC52YWx1ZS5oYXNSZWNpcGUodGhpcy5yZWNpcGVJZCkpe1xuICAgICAgdGhpcy5hZGRSZWNpcGUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZFJlY2lwZSgpIHtcbiAgICAgICAgdGhpcy5yZWNpcGVTZXJ2aWNlLmdldCh0aGlzLnJlY2lwZUlkLFxuICAgICAgICAgIHsgaW5jbHVkZTogWydpbmdyZWRpZW50cycsICdyZWNpcGUtc3RlcHMnLCAncmVjaXBlLXN0YXR1cycsICdyZWNpcGUtdHlwZScsICdzcG9uc29ycycgXSB9XG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICBza2lwV2hpbGUocmVzdWx0ID0+IHJlc3VsdC5pc19sb2FkaW5nKSxcbiAgICAgICAgY2F0Y2hFcnJvciggZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmhpZGUuZW1pdCgpO1xuICAgICAgICAgIHJldHVybiBvZihlcnIpO1xuICAgICAgICAgIH0pLFxuICAgICAgKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5yZWNpcGUgPSByZXN1bHQ7XG4gICAgICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgICAgIHRoaXMucmVjaXBlV2FzTG9hZGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9J2lzbG9hZGVkJyBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2hlYWRlclwiPlxuICAgIDxzcGFuPiB7e2hlYWRlclRleHR9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJyZWNpcGUgZWxzZSBwaWN0U2tlbGV0b25cIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVcIiAoY2xpY2spPVwib3BlblJlY2lwZSgpXCI+XG4gICAgPGltZyBbc3JjXT1cInJlY2lwZT8uYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIiBsb2FkaW5nPVwibGF6eVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX3RhZ1wiPkTDqWrDoCAgYWpvdXTDqWU8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiByZWNpcGU/LnZpZGVvSWRcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3BpY3R1cmVfX3ZpZGVvXCI+XG4gICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJpY29uLlZpZGVvXCIgW3dpZHRoXT1cIjEwMFwiIFtoZWlnaHRdPVwiMTAwXCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZV9fYWN0aW9uc1wiPlxuICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b24gKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYWN0aW9uc19faWNvbiBtaWFtLW5vUGFkZGluZ1wiIFtyZWNpcGVdPSdyZWNpcGUnPjwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCIgKGNsaWNrKT0nb3BlbkNhbGVuZGFyKCRldmVudCknXG4gICAgICAgIFtpY29uTmFtZV09XCJpY29uLkNhbGVuZGFyXCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCIgKGNsaWNrKT0nc2hhcmVSZWNpcGUoJGV2ZW50KSdcbiAgICAgICAgW2ljb25OYW1lXT1cImljb24uU2hhcmVcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxpbWcgKm5nSWY9XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fcGljdHVyZV9fc3BvbnNvclwiIFtzcmNdPXJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNwaWN0U2tlbGV0b24+XG4gICAgPG5nLW1pYW0tc2tlbGV0b24gW3R5cGVdPSdza2VsZXRvbi5QaWN0dXJlJz48L25nLW1pYW0tc2tlbGV0b24+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzXCI+XG4gICAgPGRpdiAqbmdJZj1cInJlY2lwZSBlbHNlIHRleHRTa2VsZXRvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX3RpdGxlXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmdyZWRpZW50c1wiPnt7aW5ncmVkaWVudHNDb25jYXROYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3RleHRTa2VsZXRvbj5cbiAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24uVGV4dCc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm9zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPSdyZWNpcGUgZWxzZSBza2VsZXRvbkluZm8nIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9fYXR0cmlidXRlc19faW5mbyAgXCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2luZm9fX2xhYmVsXCI+e3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uSW5mbycgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19pbmZvXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eUxhYmVsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY2lsZSdcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjMyXCIgW2hlaWdodF09XCIxNlwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpJ1xuICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21veWVuJ1wiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjE2XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGlmZmljaWxlJ1wiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjE2XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSknXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlIaWdodFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtY2FyZF9faW5mb19fbGFiZWxcIj57e3JlY2lwZT8uZGlmZmljdWx0eUxhYmVsfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25JbmZvPlxuICAgICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uPy5JY29uV2l0aEluZm8nPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX2NvbnRyb2xcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19jb250cm9sX19sZWZ0X19jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2xlZnRfX2NvbF9fY3VzdG9tXCI+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlSGVscGVyKClcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2hlbHBcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSdcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkhlbHBcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uY291bnRlcicgY2xhc3M9XCJtaWFtLXJlY2lwZS1jYXJkX19sZWZ0X19jb2xfX2NvdW50ZXJcIj5cbiAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0IFtjb3VudGVyXT1cInJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiIChjb3VudGVyQ2hhbmdlKT1cInVwZGF0ZUd1ZXN0cygkZXZlbnQpXCI+PC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NrZWxldG9uY291bnRlcj5cbiAgICAgICAgICA8bmctbWlhbS1za2VsZXRvbiBbdHlwZV09J3NrZWxldG9uPy5JY29uV2l0aEluZm8nPjwvbmctbWlhbS1za2VsZXRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX2NvbnRyb2xfX3JpZ2h0X19jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWNhcmRfX3JpZ2h0X19jb2xfX3ByaWNlXCI+XG4gICAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIj48L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT0nIXJlY2lwZScgKGNsaWNrKT1cImFkZFJlY2lwZSgpXCIgIGNsYXNzPVwibS1idXR0b24tZmFiLXByaW1hcnlcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZicgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0ICA6aWNvbi5DYXJ0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2NvcnM+XG4gIDxuZy1taWFtLWNvcnMtb3ZlcmxheT48L25nLW1pYW0tY29ycy1vdmVybGF5PlxuPC9uZy10ZW1wbGF0ZT4iXX0=